1
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
4
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5
<title>GtkTreeSortable</title>
6
<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
7
<link rel="home" href="index.html" title="GTK+ 2 Reference Manual">
8
<link rel="up" href="TreeWidgetObjects.html" title="Tree, List and Icon Grid Widgets">
9
<link rel="prev" href="GtkIconView.html" title="GtkIconView">
10
<link rel="next" href="GtkTreeModelSort.html" title="GtkTreeModelSort">
11
<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
12
<link rel="stylesheet" href="style.css" type="text/css">
14
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
17
<td><a accesskey="p" href="GtkIconView.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
18
<td><a accesskey="u" href="TreeWidgetObjects.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
19
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
20
<th width="100%" align="center">GTK+ 2 Reference Manual</th>
21
<td><a accesskey="n" href="GtkTreeModelSort.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
23
<tr><td colspan="5" class="shortcuts">
24
<a href="#GtkTreeSortable.synopsis" class="shortcut">Top</a>
26
<a href="#GtkTreeSortable.description" class="shortcut">Description</a>
28
<a href="#GtkTreeSortable.object-hierarchy" class="shortcut">Object Hierarchy</a>
30
<a href="#GtkTreeSortable.prerequisites" class="shortcut">Prerequisites</a>
32
<a href="#GtkTreeSortable.implementations" class="shortcut">Known Implementations</a>
34
<a href="#GtkTreeSortable.signals" class="shortcut">Signals</a>
37
<div class="refentry">
38
<a name="GtkTreeSortable"></a><div class="titlepage"></div>
39
<div class="refnamediv"><table width="100%"><tr>
41
<h2><span class="refentrytitle"><a name="GtkTreeSortable.top_of_page"></a>GtkTreeSortable</span></h2>
42
<p>GtkTreeSortable — The interface for sortable models used by GtkTreeView</p>
44
<td valign="top" align="right"></td>
46
<div class="refsynopsisdiv">
47
<a name="GtkTreeSortable.synopsis"></a><h2>Synopsis</h2>
48
<pre class="synopsis">
49
#include <gtk/gtk.h>
51
<a class="link" href="GtkTreeSortable.html#GtkTreeSortable-struct" title="GtkTreeSortable">GtkTreeSortable</a>;
52
struct <a class="link" href="GtkTreeSortable.html#GtkTreeSortableIface" title="struct GtkTreeSortableIface">GtkTreeSortableIface</a>;
53
<span class="returnvalue">gint</span> (<a class="link" href="GtkTreeSortable.html#GtkTreeIterCompareFunc" title="GtkTreeIterCompareFunc ()">*GtkTreeIterCompareFunc</a>) (<em class="parameter"><code><a class="link" href="GtkTreeModel.html" title="GtkTreeModel"><span class="type">GtkTreeModel</span></a> *model</code></em>,
54
<em class="parameter"><code><a class="link" href="GtkTreeModel.html#GtkTreeIter"><span class="type">GtkTreeIter</span></a> *a</code></em>,
55
<em class="parameter"><code><a class="link" href="GtkTreeModel.html#GtkTreeIter"><span class="type">GtkTreeIter</span></a> *b</code></em>,
56
<em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);
57
<span class="returnvalue">void</span> <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>
58
(<em class="parameter"><code><a class="link" href="GtkTreeSortable.html" title="GtkTreeSortable"><span class="type">GtkTreeSortable</span></a> *sortable</code></em>);
59
<span class="returnvalue">gboolean</span> <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>
60
(<em class="parameter"><code><a class="link" href="GtkTreeSortable.html" title="GtkTreeSortable"><span class="type">GtkTreeSortable</span></a> *sortable</code></em>,
61
<em class="parameter"><code><span class="type">gint</span> *sort_column_id</code></em>,
62
<em class="parameter"><code><a class="link" href="gtk2-Standard-Enumerations.html#GtkSortType" title="enum GtkSortType"><span class="type">GtkSortType</span></a> *order</code></em>);
63
<span class="returnvalue">void</span> <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>
64
(<em class="parameter"><code><a class="link" href="GtkTreeSortable.html" title="GtkTreeSortable"><span class="type">GtkTreeSortable</span></a> *sortable</code></em>,
65
<em class="parameter"><code><span class="type">gint</span> sort_column_id</code></em>,
66
<em class="parameter"><code><a class="link" href="gtk2-Standard-Enumerations.html#GtkSortType" title="enum GtkSortType"><span class="type">GtkSortType</span></a> order</code></em>);
67
<span class="returnvalue">void</span> <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> (<em class="parameter"><code><a class="link" href="GtkTreeSortable.html" title="GtkTreeSortable"><span class="type">GtkTreeSortable</span></a> *sortable</code></em>,
68
<em class="parameter"><code><span class="type">gint</span> sort_column_id</code></em>,
69
<em class="parameter"><code><a class="link" href="GtkTreeSortable.html#GtkTreeIterCompareFunc" title="GtkTreeIterCompareFunc ()"><span class="type">GtkTreeIterCompareFunc</span></a> sort_func</code></em>,
70
<em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>,
71
<em class="parameter"><code><span class="type">GDestroyNotify</span> destroy</code></em>);
72
<span class="returnvalue">void</span> <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>
73
(<em class="parameter"><code><a class="link" href="GtkTreeSortable.html" title="GtkTreeSortable"><span class="type">GtkTreeSortable</span></a> *sortable</code></em>,
74
<em class="parameter"><code><a class="link" href="GtkTreeSortable.html#GtkTreeIterCompareFunc" title="GtkTreeIterCompareFunc ()"><span class="type">GtkTreeIterCompareFunc</span></a> sort_func</code></em>,
75
<em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>,
76
<em class="parameter"><code><span class="type">GDestroyNotify</span> destroy</code></em>);
77
<span class="returnvalue">gboolean</span> <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>
78
(<em class="parameter"><code><a class="link" href="GtkTreeSortable.html" title="GtkTreeSortable"><span class="type">GtkTreeSortable</span></a> *sortable</code></em>);
81
<div class="refsect1">
82
<a name="GtkTreeSortable.object-hierarchy"></a><h2>Object Hierarchy</h2>
83
<pre class="synopsis">
88
<div class="refsect1">
89
<a name="GtkTreeSortable.prerequisites"></a><h2>Prerequisites</h2>
91
GtkTreeSortable requires
92
<a class="link" href="GtkTreeModel.html" title="GtkTreeModel">GtkTreeModel</a> and GObject.</p>
94
<div class="refsect1">
95
<a name="GtkTreeSortable.implementations"></a><h2>Known Implementations</h2>
97
GtkTreeSortable is implemented by
98
<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>
100
<div class="refsect1">
101
<a name="GtkTreeSortable.signals"></a><h2>Signals</h2>
102
<pre class="synopsis">
103
"<a class="link" href="GtkTreeSortable.html#GtkTreeSortable-sort-column-changed" title='The "sort-column-changed" signal'>sort-column-changed</a>" : <code class="literal">Run Last</code>
106
<div class="refsect1">
107
<a name="GtkTreeSortable.description"></a><h2>Description</h2>
109
<a class="link" href="GtkTreeSortable.html" title="GtkTreeSortable"><span class="type">GtkTreeSortable</span></a> is an interface to be implemented by tree models which
110
support sorting. The <a class="link" href="GtkTreeView.html" title="GtkTreeView"><span class="type">GtkTreeView</span></a> uses the methods provided by this interface
114
<div class="refsect1">
115
<a name="GtkTreeSortable.details"></a><h2>Details</h2>
116
<div class="refsect2">
117
<a name="GtkTreeSortable-struct"></a><h3>GtkTreeSortable</h3>
118
<pre class="programlisting">typedef struct _GtkTreeSortable GtkTreeSortable;</pre>
123
<div class="refsect2">
124
<a name="GtkTreeSortableIface"></a><h3>struct GtkTreeSortableIface</h3>
125
<pre class="programlisting">struct GtkTreeSortableIface {
126
GTypeInterface g_iface;
129
void (* sort_column_changed) (GtkTreeSortable *sortable);
132
gboolean (* get_sort_column_id) (GtkTreeSortable *sortable,
133
gint *sort_column_id,
135
void (* set_sort_column_id) (GtkTreeSortable *sortable,
138
void (* set_sort_func) (GtkTreeSortable *sortable,
140
GtkTreeIterCompareFunc func,
142
GDestroyNotify destroy);
143
void (* set_default_sort_func) (GtkTreeSortable *sortable,
144
GtkTreeIterCompareFunc func,
146
GDestroyNotify destroy);
147
gboolean (* has_default_sort_func) (GtkTreeSortable *sortable);
154
<div class="refsect2">
155
<a name="GtkTreeIterCompareFunc"></a><h3>GtkTreeIterCompareFunc ()</h3>
156
<pre class="programlisting"><span class="returnvalue">gint</span> (*GtkTreeIterCompareFunc) (<em class="parameter"><code><a class="link" href="GtkTreeModel.html" title="GtkTreeModel"><span class="type">GtkTreeModel</span></a> *model</code></em>,
157
<em class="parameter"><code><a class="link" href="GtkTreeModel.html#GtkTreeIter"><span class="type">GtkTreeIter</span></a> *a</code></em>,
158
<em class="parameter"><code><a class="link" href="GtkTreeModel.html#GtkTreeIter"><span class="type">GtkTreeIter</span></a> *b</code></em>,
159
<em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);</pre>
161
A GtkTreeIterCompareFunc should return a negative integer, zero, or a positive
162
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>
163
respectively. If two iters compare as equal, their order in the sorted model
164
is undefined. In order to ensure that the <a class="link" href="GtkTreeSortable.html" title="GtkTreeSortable"><span class="type">GtkTreeSortable</span></a> behaves as
165
expected, the GtkTreeIterCompareFunc must define a partial order on
166
the model, i.e. it must be reflexive, antisymmetric and transitive.
169
For example, if <em class="parameter"><code>model</code></em> is a product catalogue, then a compare function
170
for the "price" column could be one which returns
171
<code class="literal">price_of(<em class="parameter"><code>a</code></em>) - price_of(<em class="parameter"><code>b</code></em>)</code>.
173
<div class="variablelist"><table border="0" class="variablelist">
175
<col align="left" valign="top">
180
<td><p><span class="term"><em class="parameter"><code>model</code></em> :</span></p></td>
181
<td>The <a class="link" href="GtkTreeModel.html" title="GtkTreeModel"><span class="type">GtkTreeModel</span></a> the comparison is within</td>
184
<td><p><span class="term"><em class="parameter"><code>a</code></em> :</span></p></td>
185
<td>A <a class="link" href="GtkTreeModel.html#GtkTreeIter"><span class="type">GtkTreeIter</span></a> in <em class="parameter"><code>model</code></em>
189
<td><p><span class="term"><em class="parameter"><code>b</code></em> :</span></p></td>
190
<td>Another <a class="link" href="GtkTreeModel.html#GtkTreeIter"><span class="type">GtkTreeIter</span></a> in <em class="parameter"><code>model</code></em>
194
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
195
<td>Data passed when the compare func is assigned e.g. by
196
<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>
200
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
201
<td>a negative integer, zero or a positive integer depending on whether
202
<em class="parameter"><code>a</code></em> sorts before, with or after <em class="parameter"><code>b</code></em>
209
<div class="refsect2">
210
<a name="gtk-tree-sortable-sort-column-changed"></a><h3>gtk_tree_sortable_sort_column_changed ()</h3>
211
<pre class="programlisting"><span class="returnvalue">void</span> gtk_tree_sortable_sort_column_changed
212
(<em class="parameter"><code><a class="link" href="GtkTreeSortable.html" title="GtkTreeSortable"><span class="type">GtkTreeSortable</span></a> *sortable</code></em>);</pre>
214
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>.
216
<div class="variablelist"><table border="0" class="variablelist">
218
<col align="left" valign="top">
222
<td><p><span class="term"><em class="parameter"><code>sortable</code></em> :</span></p></td>
223
<td>A <a class="link" href="GtkTreeSortable.html" title="GtkTreeSortable"><span class="type">GtkTreeSortable</span></a>
229
<div class="refsect2">
230
<a name="gtk-tree-sortable-get-sort-column-id"></a><h3>gtk_tree_sortable_get_sort_column_id ()</h3>
231
<pre class="programlisting"><span class="returnvalue">gboolean</span> gtk_tree_sortable_get_sort_column_id
232
(<em class="parameter"><code><a class="link" href="GtkTreeSortable.html" title="GtkTreeSortable"><span class="type">GtkTreeSortable</span></a> *sortable</code></em>,
233
<em class="parameter"><code><span class="type">gint</span> *sort_column_id</code></em>,
234
<em class="parameter"><code><a class="link" href="gtk2-Standard-Enumerations.html#GtkSortType" title="enum GtkSortType"><span class="type">GtkSortType</span></a> *order</code></em>);</pre>
236
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
237
order. It returns <code class="literal">TRUE</code> unless the <em class="parameter"><code>sort_column_id</code></em> is
238
<code class="literal">GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID</code> or
239
<code class="literal">GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID</code>.
241
<div class="variablelist"><table border="0" class="variablelist">
243
<col align="left" valign="top">
248
<td><p><span class="term"><em class="parameter"><code>sortable</code></em> :</span></p></td>
249
<td>A <a class="link" href="GtkTreeSortable.html" title="GtkTreeSortable"><span class="type">GtkTreeSortable</span></a>
253
<td><p><span class="term"><em class="parameter"><code>sort_column_id</code></em> :</span></p></td>
254
<td>The sort column id to be filled in</td>
257
<td><p><span class="term"><em class="parameter"><code>order</code></em> :</span></p></td>
258
<td>The <a class="link" href="gtk2-Standard-Enumerations.html#GtkSortType" title="enum GtkSortType"><span class="type">GtkSortType</span></a> to be filled in</td>
261
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
263
<code class="literal">TRUE</code> if the sort column is not one of the special sort
270
<div class="refsect2">
271
<a name="gtk-tree-sortable-set-sort-column-id"></a><h3>gtk_tree_sortable_set_sort_column_id ()</h3>
272
<pre class="programlisting"><span class="returnvalue">void</span> gtk_tree_sortable_set_sort_column_id
273
(<em class="parameter"><code><a class="link" href="GtkTreeSortable.html" title="GtkTreeSortable"><span class="type">GtkTreeSortable</span></a> *sortable</code></em>,
274
<em class="parameter"><code><span class="type">gint</span> sort_column_id</code></em>,
275
<em class="parameter"><code><a class="link" href="gtk2-Standard-Enumerations.html#GtkSortType" title="enum GtkSortType"><span class="type">GtkSortType</span></a> order</code></em>);</pre>
277
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
278
resort itself to reflect this change, after emitting a
279
<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
280
a regular column id, or one of the following special values:
282
<div class="variablelist"><table border="0" class="variablelist">
284
<col align="left" valign="top">
289
<td><p><span class="term"><code class="literal">GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID</code></span></p></td>
290
<td>the default sort function will be used, if it is set</td>
293
<td><p><span class="term"><code class="literal">GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID</code></span></p></td>
294
<td>no sorting will occur</td>
300
<div class="variablelist"><table border="0" class="variablelist">
302
<col align="left" valign="top">
307
<td><p><span class="term"><em class="parameter"><code>sortable</code></em> :</span></p></td>
308
<td>A <a class="link" href="GtkTreeSortable.html" title="GtkTreeSortable"><span class="type">GtkTreeSortable</span></a>
312
<td><p><span class="term"><em class="parameter"><code>sort_column_id</code></em> :</span></p></td>
313
<td>the sort column id to set</td>
316
<td><p><span class="term"><em class="parameter"><code>order</code></em> :</span></p></td>
317
<td>The sort order of the column</td>
323
<div class="refsect2">
324
<a name="gtk-tree-sortable-set-sort-func"></a><h3>gtk_tree_sortable_set_sort_func ()</h3>
325
<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>,
326
<em class="parameter"><code><span class="type">gint</span> sort_column_id</code></em>,
327
<em class="parameter"><code><a class="link" href="GtkTreeSortable.html#GtkTreeIterCompareFunc" title="GtkTreeIterCompareFunc ()"><span class="type">GtkTreeIterCompareFunc</span></a> sort_func</code></em>,
328
<em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>,
329
<em class="parameter"><code><span class="type">GDestroyNotify</span> destroy</code></em>);</pre>
331
Sets the comparison function used when sorting to be <em class="parameter"><code>sort_func</code></em>. If the
332
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
333
the model will sort using this function.
335
<div class="variablelist"><table border="0" class="variablelist">
337
<col align="left" valign="top">
342
<td><p><span class="term"><em class="parameter"><code>sortable</code></em> :</span></p></td>
343
<td>A <a class="link" href="GtkTreeSortable.html" title="GtkTreeSortable"><span class="type">GtkTreeSortable</span></a>
347
<td><p><span class="term"><em class="parameter"><code>sort_column_id</code></em> :</span></p></td>
348
<td>the sort column id to set the function for</td>
351
<td><p><span class="term"><em class="parameter"><code>sort_func</code></em> :</span></p></td>
352
<td>The comparison function</td>
355
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
356
<td>User data to pass to <em class="parameter"><code>sort_func</code></em>, or <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
360
<td><p><span class="term"><em class="parameter"><code>destroy</code></em> :</span></p></td>
361
<td>Destroy notifier of <em class="parameter"><code>user_data</code></em>, or <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
368
<div class="refsect2">
369
<a name="gtk-tree-sortable-set-default-sort-func"></a><h3>gtk_tree_sortable_set_default_sort_func ()</h3>
370
<pre class="programlisting"><span class="returnvalue">void</span> gtk_tree_sortable_set_default_sort_func
371
(<em class="parameter"><code><a class="link" href="GtkTreeSortable.html" title="GtkTreeSortable"><span class="type">GtkTreeSortable</span></a> *sortable</code></em>,
372
<em class="parameter"><code><a class="link" href="GtkTreeSortable.html#GtkTreeIterCompareFunc" title="GtkTreeIterCompareFunc ()"><span class="type">GtkTreeIterCompareFunc</span></a> sort_func</code></em>,
373
<em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>,
374
<em class="parameter"><code><span class="type">GDestroyNotify</span> destroy</code></em>);</pre>
376
Sets the default comparison function used when sorting to be <em class="parameter"><code>sort_func</code></em>.
377
If the current sort column id of <em class="parameter"><code>sortable</code></em> is
378
<code class="literal">GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID</code>, then the model will sort using
382
If <em class="parameter"><code>sort_func</code></em> is <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a>, then there will be no default comparison function.
383
This means that once the model has been sorted, it can't go back to the
384
default state. In this case, when the current sort column id of <em class="parameter"><code>sortable</code></em>
385
is <code class="literal">GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID</code>, the model will be unsorted.
387
<div class="variablelist"><table border="0" class="variablelist">
389
<col align="left" valign="top">
394
<td><p><span class="term"><em class="parameter"><code>sortable</code></em> :</span></p></td>
395
<td>A <a class="link" href="GtkTreeSortable.html" title="GtkTreeSortable"><span class="type">GtkTreeSortable</span></a>
399
<td><p><span class="term"><em class="parameter"><code>sort_func</code></em> :</span></p></td>
400
<td>The comparison function</td>
403
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
404
<td>User data to pass to <em class="parameter"><code>sort_func</code></em>, or <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
408
<td><p><span class="term"><em class="parameter"><code>destroy</code></em> :</span></p></td>
409
<td>Destroy notifier of <em class="parameter"><code>user_data</code></em>, or <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
416
<div class="refsect2">
417
<a name="gtk-tree-sortable-has-default-sort-func"></a><h3>gtk_tree_sortable_has_default_sort_func ()</h3>
418
<pre class="programlisting"><span class="returnvalue">gboolean</span> gtk_tree_sortable_has_default_sort_func
419
(<em class="parameter"><code><a class="link" href="GtkTreeSortable.html" title="GtkTreeSortable"><span class="type">GtkTreeSortable</span></a> *sortable</code></em>);</pre>
421
Returns <code class="literal">TRUE</code> if the model has a default sort function. This is used
422
primarily by GtkTreeViewColumns in order to determine if a model can
423
go back to the default state, or not.
425
<div class="variablelist"><table border="0" class="variablelist">
427
<col align="left" valign="top">
432
<td><p><span class="term"><em class="parameter"><code>sortable</code></em> :</span></p></td>
433
<td>A <a class="link" href="GtkTreeSortable.html" title="GtkTreeSortable"><span class="type">GtkTreeSortable</span></a>
437
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
439
<code class="literal">TRUE</code>, if the model has a default sort function</td>
445
<div class="refsect1">
446
<a name="GtkTreeSortable.signal-details"></a><h2>Signal Details</h2>
447
<div class="refsect2">
448
<a name="GtkTreeSortable-sort-column-changed"></a><h3>The <code class="literal">"sort-column-changed"</code> signal</h3>
449
<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,
450
<span class="type">gpointer</span> user_data) : <code class="literal">Run Last</code></pre>
452
The ::sort-column-changed signal is emitted when the sort column
453
or sort order of <em class="parameter"><code>sortable</code></em> is changed. The signal is emitted before
454
the contents of <em class="parameter"><code>sortable</code></em> are resorted.
456
<div class="variablelist"><table border="0" class="variablelist">
458
<col align="left" valign="top">
463
<td><p><span class="term"><em class="parameter"><code>sortable</code></em> :</span></p></td>
464
<td>the object on which the signal is emitted</td>
467
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
468
<td>user data set when the signal handler was connected.</td>
474
<div class="refsect1">
475
<a name="GtkTreeSortable.see-also"></a><h2>See Also</h2>
477
<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>
483
Generated by GTK-Doc V1.18</div>
b'\\ No newline at end of file'