⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.10
Server IP:
157.245.101.34
Server:
Linux skvinfotech-website 5.4.0-131-generic #147-Ubuntu SMP Fri Oct 14 17:07:22 UTC 2022 x86_64
Server Software:
Apache/2.4.41 (Ubuntu)
PHP Version:
7.4.33
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
share
/
doc
/
libgtk-3-doc
/
gtk3
/
View File Name :
GtkTreeSortable.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>GtkTreeSortable: GTK+ 3 Reference Manual</title> <meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> <link rel="home" href="index.html" title="GTK+ 3 Reference Manual"> <link rel="up" href="TreeWidgetObjects.html" title="Tree, List and Icon Grid Widgets"> <link rel="prev" href="GtkIconView.html" title="GtkIconView"> <link rel="next" href="GtkTreeModelSort.html" title="GtkTreeModelSort"> <meta name="generator" content="GTK-Doc V1.32 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> <td width="100%" align="left" class="shortcuts"> <a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> <a href="#GtkTreeSortable.description" class="shortcut">Description</a></span><span id="nav_hierarchy"> <span class="dim">|</span> <a href="#GtkTreeSortable.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_prerequisites"> <span class="dim">|</span> <a href="#GtkTreeSortable.prerequisites" class="shortcut">Prerequisites</a></span><span id="nav_implementations"> <span class="dim">|</span> <a href="#GtkTreeSortable.implementations" class="shortcut">Known Implementations</a></span><span id="nav_signals"> <span class="dim">|</span> <a href="#GtkTreeSortable.signals" class="shortcut">Signals</a></span> </td> <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> <td><a accesskey="u" href="TreeWidgetObjects.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> <td><a accesskey="p" href="GtkIconView.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> <td><a accesskey="n" href="GtkTreeModelSort.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> </tr></table> <div class="refentry"> <a name="GtkTreeSortable"></a><div class="titlepage"></div> <div class="refnamediv"><table width="100%"><tr> <td valign="top"> <h2><span class="refentrytitle"><a name="GtkTreeSortable.top_of_page"></a>GtkTreeSortable</span></h2> <p>GtkTreeSortable — The interface for sortable models used by GtkTreeView</p> </td> <td class="gallery_image" valign="top" align="right"></td> </tr></table></div> <div class="refsect1"> <a name="GtkTreeSortable.functions"></a><h2>Functions</h2> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="functions_proto_type"> <col class="functions_proto_name"> </colgroup> <tbody> <tr> <td class="function_type"> <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a> </td> <td class="function_name"> <span class="c_punctuation">(</span><a class="link" href="GtkTreeSortable.html#GtkTreeIterCompareFunc" title="GtkTreeIterCompareFunc ()">*GtkTreeIterCompareFunc</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkTreeSortable.html#gtk-tree-sortable-sort-column-changed" title="gtk_tree_sortable_sort_column_changed ()">gtk_tree_sortable_sort_column_changed</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> </td> <td class="function_name"> <a class="link" href="GtkTreeSortable.html#gtk-tree-sortable-get-sort-column-id" title="gtk_tree_sortable_get_sort_column_id ()">gtk_tree_sortable_get_sort_column_id</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkTreeSortable.html#gtk-tree-sortable-set-sort-column-id" title="gtk_tree_sortable_set_sort_column_id ()">gtk_tree_sortable_set_sort_column_id</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkTreeSortable.html#gtk-tree-sortable-set-sort-func" title="gtk_tree_sortable_set_sort_func ()">gtk_tree_sortable_set_sort_func</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GtkTreeSortable.html#gtk-tree-sortable-set-default-sort-func" title="gtk_tree_sortable_set_default_sort_func ()">gtk_tree_sortable_set_default_sort_func</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> </td> <td class="function_name"> <a class="link" href="GtkTreeSortable.html#gtk-tree-sortable-has-default-sort-func" title="gtk_tree_sortable_has_default_sort_func ()">gtk_tree_sortable_has_default_sort_func</a> <span class="c_punctuation">()</span> </td> </tr> </tbody> </table></div> </div> <div class="refsect1"> <a name="GtkTreeSortable.signals"></a><h2>Signals</h2> <div class="informaltable"><table class="informaltable" border="0"> <colgroup> <col width="150px" class="signal_proto_type"> <col width="300px" class="signal_proto_name"> <col width="200px" class="signal_proto_flags"> </colgroup> <tbody><tr> <td class="signal_type"><span class="returnvalue">void</span></td> <td class="signal_name"><a class="link" href="GtkTreeSortable.html#GtkTreeSortable-sort-column-changed" title="The “sort-column-changed” signal">sort-column-changed</a></td> <td class="signal_flags"><a href="/usr/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td> </tr></tbody> </table></div> </div> <div class="refsect1"> <a name="GtkTreeSortable.other"></a><h2>Types and Values</h2> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="other_proto_type"> <col class="other_proto_name"> </colgroup> <tbody> <tr> <td class="datatype_keyword"> </td> <td class="function_name"><a class="link" href="GtkTreeSortable.html#GtkTreeSortable-struct" title="GtkTreeSortable">GtkTreeSortable</a></td> </tr> <tr> <td class="datatype_keyword">struct</td> <td class="function_name"><a class="link" href="GtkTreeSortable.html#GtkTreeSortableIface" title="struct GtkTreeSortableIface">GtkTreeSortableIface</a></td> </tr> <tr> <td class="define_keyword">#define</td> <td class="function_name"><a class="link" href="GtkTreeSortable.html#GTK-TREE-SORTABLE-DEFAULT-SORT-COLUMN-ID:CAPS" title="GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID">GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID</a></td> </tr> <tr> <td class="define_keyword">#define</td> <td class="function_name"><a class="link" href="GtkTreeSortable.html#GTK-TREE-SORTABLE-UNSORTED-SORT-COLUMN-ID:CAPS" title="GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID">GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID</a></td> </tr> </tbody> </table></div> </div> <div class="refsect1"> <a name="GtkTreeSortable.object-hierarchy"></a><h2>Object Hierarchy</h2> <pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/GTypeModule.html">GInterface</a> <span class="lineart">╰──</span> GtkTreeSortable </pre> </div> <div class="refsect1"> <a name="GtkTreeSortable.prerequisites"></a><h2>Prerequisites</h2> <p> GtkTreeSortable requires <a class="link" href="GtkTreeModel.html" title="GtkTreeModel">GtkTreeModel</a> and <a href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>.</p> </div> <div class="refsect1"> <a name="GtkTreeSortable.implementations"></a><h2>Known Implementations</h2> <p> GtkTreeSortable is implemented by <a class="link" href="GtkListStore.html" title="GtkListStore">GtkListStore</a>, <a class="link" href="GtkTreeModelSort.html" title="GtkTreeModelSort">GtkTreeModelSort</a> and <a class="link" href="GtkTreeStore.html" title="GtkTreeStore">GtkTreeStore</a>.</p> </div> <div class="refsect1"> <a name="GtkTreeSortable.includes"></a><h2>Includes</h2> <pre class="synopsis">#include <gtk/gtk.h> </pre> </div> <div class="refsect1"> <a name="GtkTreeSortable.description"></a><h2>Description</h2> <p><a class="link" href="GtkTreeSortable.html" title="GtkTreeSortable"><span class="type">GtkTreeSortable</span></a> is an interface to be implemented by tree models which support sorting. The <a class="link" href="GtkTreeView.html" title="GtkTreeView"><span class="type">GtkTreeView</span></a> uses the methods provided by this interface to sort the model.</p> </div> <div class="refsect1"> <a name="GtkTreeSortable.functions_details"></a><h2>Functions</h2> <div class="refsect2"> <a name="GtkTreeIterCompareFunc"></a><h3>GtkTreeIterCompareFunc ()</h3> <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a> <span class="c_punctuation">(</span>*GtkTreeIterCompareFunc<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="GtkTreeModel.html" title="GtkTreeModel"><span class="type">GtkTreeModel</span></a> *model</code></em>, <em class="parameter"><code><a class="link" href="GtkTreeModel.html#GtkTreeIter"><span class="type">GtkTreeIter</span></a> *a</code></em>, <em class="parameter"><code><a class="link" href="GtkTreeModel.html#GtkTreeIter"><span class="type">GtkTreeIter</span></a> *b</code></em>, <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre> <p>A GtkTreeIterCompareFunc should return a negative integer, zero, or a positive integer if <em class="parameter"><code>a</code></em> sorts before <em class="parameter"><code>b</code></em> , <em class="parameter"><code>a</code></em> sorts with <em class="parameter"><code>b</code></em> , or <em class="parameter"><code>a</code></em> sorts after <em class="parameter"><code>b</code></em> respectively. If two iters compare as equal, their order in the sorted model is undefined. In order to ensure that the <a class="link" href="GtkTreeSortable.html" title="GtkTreeSortable"><span class="type">GtkTreeSortable</span></a> behaves as expected, the GtkTreeIterCompareFunc must define a partial order on the model, i.e. it must be reflexive, antisymmetric and transitive.</p> <p>For example, if <em class="parameter"><code>model</code></em> is a product catalogue, then a compare function for the “price” column could be one which returns <code class="literal">price_of(@a) - price_of(@b)</code>.</p> <div class="refsect3"> <a name="GtkTreeIterCompareFunc.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>model</p></td> <td class="parameter_description"><p>The <a class="link" href="GtkTreeModel.html" title="GtkTreeModel"><span class="type">GtkTreeModel</span></a> the comparison is within</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>a</p></td> <td class="parameter_description"><p>A <a class="link" href="GtkTreeModel.html#GtkTreeIter"><span class="type">GtkTreeIter</span></a> in <em class="parameter"><code>model</code></em> </p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>b</p></td> <td class="parameter_description"><p>Another <a class="link" href="GtkTreeModel.html#GtkTreeIter"><span class="type">GtkTreeIter</span></a> in <em class="parameter"><code>model</code></em> </p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>Data passed when the compare func is assigned e.g. by <a class="link" href="GtkTreeSortable.html#gtk-tree-sortable-set-sort-func" title="gtk_tree_sortable_set_sort_func ()"><code class="function">gtk_tree_sortable_set_sort_func()</code></a></p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="GtkTreeIterCompareFunc.returns"></a><h4>Returns</h4> <p> a negative integer, zero or a positive integer depending on whether <em class="parameter"><code>a</code></em> sorts before, with or after <em class="parameter"><code>b</code></em> </p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-tree-sortable-sort-column-changed"></a><h3>gtk_tree_sortable_sort_column_changed ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_tree_sortable_sort_column_changed (<em class="parameter"><code><a class="link" href="GtkTreeSortable.html" title="GtkTreeSortable"><span class="type">GtkTreeSortable</span></a> *sortable</code></em>);</pre> <p>Emits a <a class="link" href="GtkTreeSortable.html#GtkTreeSortable-sort-column-changed" title="The “sort-column-changed” signal"><span class="type">“sort-column-changed”</span></a> signal on <em class="parameter"><code>sortable</code></em> .</p> <div class="refsect3"> <a name="gtk-tree-sortable-sort-column-changed.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>sortable</p></td> <td class="parameter_description"><p>A <a class="link" href="GtkTreeSortable.html" title="GtkTreeSortable"><span class="type">GtkTreeSortable</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-tree-sortable-get-sort-column-id"></a><h3>gtk_tree_sortable_get_sort_column_id ()</h3> <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gtk_tree_sortable_get_sort_column_id (<em class="parameter"><code><a class="link" href="GtkTreeSortable.html" title="GtkTreeSortable"><span class="type">GtkTreeSortable</span></a> *sortable</code></em>, <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *sort_column_id</code></em>, <em class="parameter"><code><a class="link" href="gtk3-Standard-Enumerations.html#GtkSortType" title="enum GtkSortType"><span class="type">GtkSortType</span></a> *order</code></em>);</pre> <p>Fills in <em class="parameter"><code>sort_column_id</code></em> and <em class="parameter"><code>order</code></em> with the current sort column and the order. It returns <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> unless the <em class="parameter"><code>sort_column_id</code></em> is <a class="link" href="GtkTreeSortable.html#GTK-TREE-SORTABLE-DEFAULT-SORT-COLUMN-ID:CAPS" title="GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID"><code class="literal">GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID</code></a> or <a class="link" href="GtkTreeSortable.html#GTK-TREE-SORTABLE-UNSORTED-SORT-COLUMN-ID:CAPS" title="GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID"><code class="literal">GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID</code></a>.</p> <div class="refsect3"> <a name="gtk-tree-sortable-get-sort-column-id.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>sortable</p></td> <td class="parameter_description"><p>A <a class="link" href="GtkTreeSortable.html" title="GtkTreeSortable"><span class="type">GtkTreeSortable</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>sort_column_id</p></td> <td class="parameter_description"><p>The sort column id to be filled in. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>order</p></td> <td class="parameter_description"><p>The <a class="link" href="gtk3-Standard-Enumerations.html#GtkSortType" title="enum GtkSortType"><span class="type">GtkSortType</span></a> to be filled in. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-tree-sortable-get-sort-column-id.returns"></a><h4>Returns</h4> <p> <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the sort column is not one of the special sort column ids.</p> </div> </div> <hr> <div class="refsect2"> <a name="gtk-tree-sortable-set-sort-column-id"></a><h3>gtk_tree_sortable_set_sort_column_id ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_tree_sortable_set_sort_column_id (<em class="parameter"><code><a class="link" href="GtkTreeSortable.html" title="GtkTreeSortable"><span class="type">GtkTreeSortable</span></a> *sortable</code></em>, <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> sort_column_id</code></em>, <em class="parameter"><code><a class="link" href="gtk3-Standard-Enumerations.html#GtkSortType" title="enum GtkSortType"><span class="type">GtkSortType</span></a> order</code></em>);</pre> <p>Sets the current sort column to be <em class="parameter"><code>sort_column_id</code></em> . The <em class="parameter"><code>sortable</code></em> will resort itself to reflect this change, after emitting a <a class="link" href="GtkTreeSortable.html#GtkTreeSortable-sort-column-changed" title="The “sort-column-changed” signal"><span class="type">“sort-column-changed”</span></a> signal. <em class="parameter"><code>sort_column_id</code></em> may either be a regular column id, or one of the following special values:</p> <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> <li class="listitem"><p><a class="link" href="GtkTreeSortable.html#GTK-TREE-SORTABLE-DEFAULT-SORT-COLUMN-ID:CAPS" title="GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID"><code class="literal">GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID</code></a>: the default sort function will be used, if it is set</p></li> <li class="listitem"><p><a class="link" href="GtkTreeSortable.html#GTK-TREE-SORTABLE-UNSORTED-SORT-COLUMN-ID:CAPS" title="GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID"><code class="literal">GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID</code></a>: no sorting will occur</p></li> </ul></div> <div class="refsect3"> <a name="gtk-tree-sortable-set-sort-column-id.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>sortable</p></td> <td class="parameter_description"><p>A <a class="link" href="GtkTreeSortable.html" title="GtkTreeSortable"><span class="type">GtkTreeSortable</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>sort_column_id</p></td> <td class="parameter_description"><p>the sort column id to set</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>order</p></td> <td class="parameter_description"><p>The sort order of the column</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-tree-sortable-set-sort-func"></a><h3>gtk_tree_sortable_set_sort_func ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_tree_sortable_set_sort_func (<em class="parameter"><code><a class="link" href="GtkTreeSortable.html" title="GtkTreeSortable"><span class="type">GtkTreeSortable</span></a> *sortable</code></em>, <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> sort_column_id</code></em>, <em class="parameter"><code><a class="link" href="GtkTreeSortable.html#GtkTreeIterCompareFunc" title="GtkTreeIterCompareFunc ()"><span class="type">GtkTreeIterCompareFunc</span></a> sort_func</code></em>, <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>, <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> destroy</code></em>);</pre> <p>Sets the comparison function used when sorting to be <em class="parameter"><code>sort_func</code></em> . If the current sort column id of <em class="parameter"><code>sortable</code></em> is the same as <em class="parameter"><code>sort_column_id</code></em> , then the model will sort using this function.</p> <div class="refsect3"> <a name="gtk-tree-sortable-set-sort-func.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>sortable</p></td> <td class="parameter_description"><p>A <a class="link" href="GtkTreeSortable.html" title="GtkTreeSortable"><span class="type">GtkTreeSortable</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>sort_column_id</p></td> <td class="parameter_description"><p>the sort column id to set the function for</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>sort_func</p></td> <td class="parameter_description"><p>The comparison function</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>User data to pass to <em class="parameter"><code>sort_func</code></em> , or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>destroy</p></td> <td class="parameter_description"><p>Destroy notifier of <em class="parameter"><code>user_data</code></em> , or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-tree-sortable-set-default-sort-func"></a><h3>gtk_tree_sortable_set_default_sort_func ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> gtk_tree_sortable_set_default_sort_func (<em class="parameter"><code><a class="link" href="GtkTreeSortable.html" title="GtkTreeSortable"><span class="type">GtkTreeSortable</span></a> *sortable</code></em>, <em class="parameter"><code><a class="link" href="GtkTreeSortable.html#GtkTreeIterCompareFunc" title="GtkTreeIterCompareFunc ()"><span class="type">GtkTreeIterCompareFunc</span></a> sort_func</code></em>, <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>, <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> destroy</code></em>);</pre> <p>Sets the default comparison function used when sorting to be <em class="parameter"><code>sort_func</code></em> . If the current sort column id of <em class="parameter"><code>sortable</code></em> is <a class="link" href="GtkTreeSortable.html#GTK-TREE-SORTABLE-DEFAULT-SORT-COLUMN-ID:CAPS" title="GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID"><code class="literal">GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID</code></a>, then the model will sort using this function.</p> <p>If <em class="parameter"><code>sort_func</code></em> is <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, then there will be no default comparison function. This means that once the model has been sorted, it can’t go back to the default state. In this case, when the current sort column id of <em class="parameter"><code>sortable</code></em> is <a class="link" href="GtkTreeSortable.html#GTK-TREE-SORTABLE-DEFAULT-SORT-COLUMN-ID:CAPS" title="GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID"><code class="literal">GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID</code></a>, the model will be unsorted.</p> <div class="refsect3"> <a name="gtk-tree-sortable-set-default-sort-func.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>sortable</p></td> <td class="parameter_description"><p>A <a class="link" href="GtkTreeSortable.html" title="GtkTreeSortable"><span class="type">GtkTreeSortable</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>sort_func</p></td> <td class="parameter_description"><p>The comparison function</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>User data to pass to <em class="parameter"><code>sort_func</code></em> , or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>destroy</p></td> <td class="parameter_description"><p>Destroy notifier of <em class="parameter"><code>user_data</code></em> , or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="gtk-tree-sortable-has-default-sort-func"></a><h3>gtk_tree_sortable_has_default_sort_func ()</h3> <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gtk_tree_sortable_has_default_sort_func (<em class="parameter"><code><a class="link" href="GtkTreeSortable.html" title="GtkTreeSortable"><span class="type">GtkTreeSortable</span></a> *sortable</code></em>);</pre> <p>Returns <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the model has a default sort function. This is used primarily by GtkTreeViewColumns in order to determine if a model can go back to the default state, or not.</p> <div class="refsect3"> <a name="gtk-tree-sortable-has-default-sort-func.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>sortable</p></td> <td class="parameter_description"><p>A <a class="link" href="GtkTreeSortable.html" title="GtkTreeSortable"><span class="type">GtkTreeSortable</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="gtk-tree-sortable-has-default-sort-func.returns"></a><h4>Returns</h4> <p> <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, if the model has a default sort function</p> </div> </div> </div> <div class="refsect1"> <a name="GtkTreeSortable.other_details"></a><h2>Types and Values</h2> <div class="refsect2"> <a name="GtkTreeSortable-struct"></a><h3>GtkTreeSortable</h3> <pre class="programlisting">typedef struct _GtkTreeSortable GtkTreeSortable;</pre> </div> <hr> <div class="refsect2"> <a name="GtkTreeSortableIface"></a><h3>struct GtkTreeSortableIface</h3> <pre class="programlisting">struct GtkTreeSortableIface { /* signals */ void (* sort_column_changed) (GtkTreeSortable *sortable); /* virtual table */ gboolean (* get_sort_column_id) (GtkTreeSortable *sortable, gint *sort_column_id, GtkSortType *order); void (* set_sort_column_id) (GtkTreeSortable *sortable, gint sort_column_id, GtkSortType order); void (* set_sort_func) (GtkTreeSortable *sortable, gint sort_column_id, GtkTreeIterCompareFunc sort_func, gpointer user_data, GDestroyNotify destroy); void (* set_default_sort_func) (GtkTreeSortable *sortable, GtkTreeIterCompareFunc sort_func, gpointer user_data, GDestroyNotify destroy); gboolean (* has_default_sort_func) (GtkTreeSortable *sortable); }; </pre> <div class="refsect3"> <a name="GtkTreeSortableIface.members"></a><h4>Members</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="300px" class="struct_members_name"> <col class="struct_members_description"> <col width="200px" class="struct_members_annotations"> </colgroup> <tbody> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkTreeSortableIface.sort-column-changed"></a>sort_column_changed</code></em> ()</p></td> <td class="struct_member_description"><p>Signal emitted when the sort column or sort order of sortable is changed.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkTreeSortableIface.get-sort-column-id"></a>get_sort_column_id</code></em> ()</p></td> <td class="struct_member_description"><p>Fills in sort_column_id and order with the current sort column and the order.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkTreeSortableIface.set-sort-column-id"></a>set_sort_column_id</code></em> ()</p></td> <td class="struct_member_description"><p>Sets the current sort column to be sort_column_id.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkTreeSortableIface.set-sort-func"></a>set_sort_func</code></em> ()</p></td> <td class="struct_member_description"><p>Sets the comparison function used when sorting to be sort_func.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkTreeSortableIface.set-default-sort-func"></a>set_default_sort_func</code></em> ()</p></td> <td class="struct_member_description"><p>Sets the default comparison function used when sorting to be sort_func.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GtkTreeSortableIface.has-default-sort-func"></a>has_default_sort_func</code></em> ()</p></td> <td class="struct_member_description"><p><a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the model has a default sort function.</p></td> <td class="struct_member_annotations"> </td> </tr> </tbody> </table></div> </div> </div> <hr> <div class="refsect2"> <a name="GTK-TREE-SORTABLE-DEFAULT-SORT-COLUMN-ID:CAPS"></a><h3>GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID</h3> <pre class="programlisting">#define GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID (-1) </pre> <p>The GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID can be used to make a <a class="link" href="GtkTreeSortable.html" title="GtkTreeSortable"><span class="type">GtkTreeSortable</span></a> use the default sort function.</p> <p>See also <a class="link" href="GtkTreeSortable.html#gtk-tree-sortable-set-sort-column-id" title="gtk_tree_sortable_set_sort_column_id ()"><code class="function">gtk_tree_sortable_set_sort_column_id()</code></a></p> </div> <hr> <div class="refsect2"> <a name="GTK-TREE-SORTABLE-UNSORTED-SORT-COLUMN-ID:CAPS"></a><h3>GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID</h3> <pre class="programlisting">#define GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID (-2) </pre> <p>The GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID can be used to make a <a class="link" href="GtkTreeSortable.html" title="GtkTreeSortable"><span class="type">GtkTreeSortable</span></a> use no sorting.</p> <p>See also <a class="link" href="GtkTreeSortable.html#gtk-tree-sortable-set-sort-column-id" title="gtk_tree_sortable_set_sort_column_id ()"><code class="function">gtk_tree_sortable_set_sort_column_id()</code></a></p> </div> </div> <div class="refsect1"> <a name="GtkTreeSortable.signal-details"></a><h2>Signal Details</h2> <div class="refsect2"> <a name="GtkTreeSortable-sort-column-changed"></a><h3>The <code class="literal">“sort-column-changed”</code> signal</h3> <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="GtkTreeSortable.html" title="GtkTreeSortable"><span class="type">GtkTreeSortable</span></a> *sortable, <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre> <p>The ::sort-column-changed signal is emitted when the sort column or sort order of <em class="parameter"><code>sortable</code></em> is changed. The signal is emitted before the contents of <em class="parameter"><code>sortable</code></em> are resorted.</p> <div class="refsect3"> <a name="GtkTreeSortable-sort-column-changed.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>sortable</p></td> <td class="parameter_description"><p>the object on which the signal is emitted</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p>Flags: <a href="/usr/share/gtk-doc/html/gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p> </div> </div> <div class="refsect1"> <a name="GtkTreeSortable.see-also"></a><h2>See Also</h2> <p><a class="link" href="GtkTreeModel.html" title="GtkTreeModel"><span class="type">GtkTreeModel</span></a>, <a class="link" href="GtkTreeView.html" title="GtkTreeView"><span class="type">GtkTreeView</span></a></p> </div> </div> <div class="footer"> <hr>Generated by GTK-Doc V1.32</div> </body> </html>