8cd59f01326d0449c8d055dd605484779c0f3f9a
[profile/ivi/clutter.git] / doc / reference / clutter / html / ClutterModel.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html>
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <title>ClutterModel</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
7 <link rel="home" href="index.html" title="Clutter Reference Manual">
8 <link rel="up" href="ch13.html" title="Generic list model">
9 <link rel="prev" href="ch13.html" title="Generic list model">
10 <link rel="next" href="ClutterModelIter.html" title="ClutterModelIter">
11 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
12 <link rel="stylesheet" href="style.css" type="text/css">
13 </head>
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">
16 <tr valign="middle">
17 <td><a accesskey="p" href="ch13.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
18 <td><a accesskey="u" href="ch13.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">Clutter Reference Manual</th>
21 <td><a accesskey="n" href="ClutterModelIter.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
22 </tr>
23 <tr><td colspan="5" class="shortcuts">
24 <a href="#ClutterModel.synopsis" class="shortcut">Top</a>
25                    | 
26                   <a href="#ClutterModel.description" class="shortcut">Description</a>
27                    | 
28                   <a href="#ClutterModel.object-hierarchy" class="shortcut">Object Hierarchy</a>
29                    | 
30                   <a href="#ClutterModel.implemented-interfaces" class="shortcut">Implemented Interfaces</a>
31                    | 
32                   <a href="#ClutterModel.properties" class="shortcut">Properties</a>
33                    | 
34                   <a href="#ClutterModel.signals" class="shortcut">Signals</a>
35 </td></tr>
36 </table>
37 <div class="refentry">
38 <a name="ClutterModel"></a><div class="titlepage"></div>
39 <div class="refnamediv"><table width="100%"><tr>
40 <td valign="top">
41 <h2><span class="refentrytitle"><a name="ClutterModel.top_of_page"></a>ClutterModel</span></h2>
42 <p>ClutterModel — A generic model implementation</p>
43 </td>
44 <td valign="top" align="right"></td>
45 </tr></table></div>
46 <div class="refsynopsisdiv">
47 <a name="ClutterModel.synopsis"></a><h2>Synopsis</h2>
48 <pre class="synopsis">struct              <a class="link" href="ClutterModel.html#ClutterModel-struct" title="struct ClutterModel">ClutterModel</a>;
49 struct              <a class="link" href="ClutterModel.html#ClutterModelClass" title="struct ClutterModelClass">ClutterModelClass</a>;
50 <span class="returnvalue">void</span>                <a class="link" href="ClutterModel.html#clutter-model-set-names" title="clutter_model_set_names ()">clutter_model_set_names</a>             (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>,
51                                                          <em class="parameter"><code><span class="type">guint</span> n_columns</code></em>,
52                                                          <em class="parameter"><code>const <span class="type">gchar</span> * const names[]</code></em>);
53 <span class="returnvalue">void</span>                <a class="link" href="ClutterModel.html#clutter-model-set-types" title="clutter_model_set_types ()">clutter_model_set_types</a>             (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>,
54                                                          <em class="parameter"><code><span class="type">guint</span> n_columns</code></em>,
55                                                          <em class="parameter"><code><span class="type">GType</span> *types</code></em>);
56 const <span class="returnvalue">gchar</span> *       <a class="link" href="ClutterModel.html#clutter-model-get-column-name" title="clutter_model_get_column_name ()">clutter_model_get_column_name</a>       (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>,
57                                                          <em class="parameter"><code><span class="type">guint</span> column</code></em>);
58 <span class="returnvalue">GType</span>               <a class="link" href="ClutterModel.html#clutter-model-get-column-type" title="clutter_model_get_column_type ()">clutter_model_get_column_type</a>       (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>,
59                                                          <em class="parameter"><code><span class="type">guint</span> column</code></em>);
60 <span class="returnvalue">guint</span>               <a class="link" href="ClutterModel.html#clutter-model-get-n-columns" title="clutter_model_get_n_columns ()">clutter_model_get_n_columns</a>         (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>);
61 <span class="returnvalue">guint</span>               <a class="link" href="ClutterModel.html#clutter-model-get-n-rows" title="clutter_model_get_n_rows ()">clutter_model_get_n_rows</a>            (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>);
62
63 <span class="returnvalue">void</span>                <a class="link" href="ClutterModel.html#clutter-model-append" title="clutter_model_append ()">clutter_model_append</a>                (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>,
64                                                          <em class="parameter"><code>...</code></em>);
65 <span class="returnvalue">void</span>                <a class="link" href="ClutterModel.html#clutter-model-appendv" title="clutter_model_appendv ()">clutter_model_appendv</a>               (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>,
66                                                          <em class="parameter"><code><span class="type">guint</span> n_columns</code></em>,
67                                                          <em class="parameter"><code><span class="type">guint</span> *columns</code></em>,
68                                                          <em class="parameter"><code><span class="type">GValue</span> *values</code></em>);
69 <span class="returnvalue">void</span>                <a class="link" href="ClutterModel.html#clutter-model-prepend" title="clutter_model_prepend ()">clutter_model_prepend</a>               (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>,
70                                                          <em class="parameter"><code>...</code></em>);
71 <span class="returnvalue">void</span>                <a class="link" href="ClutterModel.html#clutter-model-prependv" title="clutter_model_prependv ()">clutter_model_prependv</a>              (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>,
72                                                          <em class="parameter"><code><span class="type">guint</span> n_columns</code></em>,
73                                                          <em class="parameter"><code><span class="type">guint</span> *columns</code></em>,
74                                                          <em class="parameter"><code><span class="type">GValue</span> *values</code></em>);
75 <span class="returnvalue">void</span>                <a class="link" href="ClutterModel.html#clutter-model-insert" title="clutter_model_insert ()">clutter_model_insert</a>                (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>,
76                                                          <em class="parameter"><code><span class="type">guint</span> row</code></em>,
77                                                          <em class="parameter"><code>...</code></em>);
78 <span class="returnvalue">void</span>                <a class="link" href="ClutterModel.html#clutter-model-insertv" title="clutter_model_insertv ()">clutter_model_insertv</a>               (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>,
79                                                          <em class="parameter"><code><span class="type">guint</span> row</code></em>,
80                                                          <em class="parameter"><code><span class="type">guint</span> n_columns</code></em>,
81                                                          <em class="parameter"><code><span class="type">guint</span> *columns</code></em>,
82                                                          <em class="parameter"><code><span class="type">GValue</span> *values</code></em>);
83 <span class="returnvalue">void</span>                <a class="link" href="ClutterModel.html#clutter-model-insert-value" title="clutter_model_insert_value ()">clutter_model_insert_value</a>          (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>,
84                                                          <em class="parameter"><code><span class="type">guint</span> row</code></em>,
85                                                          <em class="parameter"><code><span class="type">guint</span> column</code></em>,
86                                                          <em class="parameter"><code>const <span class="type">GValue</span> *value</code></em>);
87 <span class="returnvalue">void</span>                <a class="link" href="ClutterModel.html#clutter-model-remove" title="clutter_model_remove ()">clutter_model_remove</a>                (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>,
88                                                          <em class="parameter"><code><span class="type">guint</span> row</code></em>);
89
90 <span class="returnvalue">gboolean</span>            (<a class="link" href="ClutterModel.html#ClutterModelForeachFunc" title="ClutterModelForeachFunc ()">*ClutterModelForeachFunc</a>)          (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>,
91                                                          <em class="parameter"><code><a class="link" href="ClutterModelIter.html" title="ClutterModelIter"><span class="type">ClutterModelIter</span></a> *iter</code></em>,
92                                                          <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);
93 <span class="returnvalue">void</span>                <a class="link" href="ClutterModel.html#clutter-model-foreach" title="clutter_model_foreach ()">clutter_model_foreach</a>               (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>,
94                                                          <em class="parameter"><code><a class="link" href="ClutterModel.html#ClutterModelForeachFunc" title="ClutterModelForeachFunc ()"><span class="type">ClutterModelForeachFunc</span></a> func</code></em>,
95                                                          <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);
96 <span class="returnvalue">void</span>                <a class="link" href="ClutterModel.html#clutter-model-set-sorting-column" title="clutter_model_set_sorting_column ()">clutter_model_set_sorting_column</a>    (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>,
97                                                          <em class="parameter"><code><span class="type">gint</span> column</code></em>);
98 <span class="returnvalue">gint</span>                <a class="link" href="ClutterModel.html#clutter-model-get-sorting-column" title="clutter_model_get_sorting_column ()">clutter_model_get_sorting_column</a>    (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>);
99 <span class="returnvalue">gint</span>                (<a class="link" href="ClutterModel.html#ClutterModelSortFunc" title="ClutterModelSortFunc ()">*ClutterModelSortFunc</a>)             (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>,
100                                                          <em class="parameter"><code>const <span class="type">GValue</span> *a</code></em>,
101                                                          <em class="parameter"><code>const <span class="type">GValue</span> *b</code></em>,
102                                                          <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);
103 <span class="returnvalue">void</span>                <a class="link" href="ClutterModel.html#clutter-model-set-sort" title="clutter_model_set_sort ()">clutter_model_set_sort</a>              (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>,
104                                                          <em class="parameter"><code><span class="type">gint</span> column</code></em>,
105                                                          <em class="parameter"><code><a class="link" href="ClutterModel.html#ClutterModelSortFunc" title="ClutterModelSortFunc ()"><span class="type">ClutterModelSortFunc</span></a> func</code></em>,
106                                                          <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>,
107                                                          <em class="parameter"><code><span class="type">GDestroyNotify</span> notify</code></em>);
108 <span class="returnvalue">void</span>                <a class="link" href="ClutterModel.html#clutter-model-resort" title="clutter_model_resort ()">clutter_model_resort</a>                (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>);
109 <span class="returnvalue">gboolean</span>            (<a class="link" href="ClutterModel.html#ClutterModelFilterFunc" title="ClutterModelFilterFunc ()">*ClutterModelFilterFunc</a>)           (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>,
110                                                          <em class="parameter"><code><a class="link" href="ClutterModelIter.html" title="ClutterModelIter"><span class="type">ClutterModelIter</span></a> *iter</code></em>,
111                                                          <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);
112 <span class="returnvalue">void</span>                <a class="link" href="ClutterModel.html#clutter-model-set-filter" title="clutter_model_set_filter ()">clutter_model_set_filter</a>            (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>,
113                                                          <em class="parameter"><code><a class="link" href="ClutterModel.html#ClutterModelFilterFunc" title="ClutterModelFilterFunc ()"><span class="type">ClutterModelFilterFunc</span></a> func</code></em>,
114                                                          <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>,
115                                                          <em class="parameter"><code><span class="type">GDestroyNotify</span> notify</code></em>);
116 <span class="returnvalue">gboolean</span>            <a class="link" href="ClutterModel.html#clutter-model-get-filter-set" title="clutter_model_get_filter_set ()">clutter_model_get_filter_set</a>        (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>);
117 <span class="returnvalue">gboolean</span>            <a class="link" href="ClutterModel.html#clutter-model-filter-iter" title="clutter_model_filter_iter ()">clutter_model_filter_iter</a>           (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>,
118                                                          <em class="parameter"><code><a class="link" href="ClutterModelIter.html" title="ClutterModelIter"><span class="type">ClutterModelIter</span></a> *iter</code></em>);
119 <span class="returnvalue">gboolean</span>            <a class="link" href="ClutterModel.html#clutter-model-filter-row" title="clutter_model_filter_row ()">clutter_model_filter_row</a>            (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>,
120                                                          <em class="parameter"><code><span class="type">guint</span> row</code></em>);
121
122 <a class="link" href="ClutterModelIter.html" title="ClutterModelIter"><span class="returnvalue">ClutterModelIter</span></a> *  <a class="link" href="ClutterModel.html#clutter-model-get-first-iter" title="clutter_model_get_first_iter ()">clutter_model_get_first_iter</a>        (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>);
123 <a class="link" href="ClutterModelIter.html" title="ClutterModelIter"><span class="returnvalue">ClutterModelIter</span></a> *  <a class="link" href="ClutterModel.html#clutter-model-get-last-iter" title="clutter_model_get_last_iter ()">clutter_model_get_last_iter</a>         (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>);
124 <a class="link" href="ClutterModelIter.html" title="ClutterModelIter"><span class="returnvalue">ClutterModelIter</span></a> *  <a class="link" href="ClutterModel.html#clutter-model-get-iter-at-row" title="clutter_model_get_iter_at_row ()">clutter_model_get_iter_at_row</a>       (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>,
125                                                          <em class="parameter"><code><span class="type">guint</span> row</code></em>);
126 </pre>
127 </div>
128 <div class="refsect1">
129 <a name="ClutterModel.object-hierarchy"></a><h2>Object Hierarchy</h2>
130 <pre class="synopsis">
131   GObject
132    +----ClutterModel
133          +----<a class="link" href="ClutterListModel.html" title="ClutterListModel">ClutterListModel</a>
134 </pre>
135 </div>
136 <div class="refsect1">
137 <a name="ClutterModel.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
138 <p>
139 ClutterModel implements
140  <a class="link" href="ClutterScriptable.html" title="ClutterScriptable">ClutterScriptable</a>.</p>
141 </div>
142 <div class="refsect1">
143 <a name="ClutterModel.properties"></a><h2>Properties</h2>
144 <pre class="synopsis">
145   "<a class="link" href="ClutterModel.html#ClutterModel--filter-set" title='The "filter-set" property'>filter-set</a>"               <span class="type">gboolean</span>              : Read
146 </pre>
147 </div>
148 <div class="refsect1">
149 <a name="ClutterModel.signals"></a><h2>Signals</h2>
150 <pre class="synopsis">
151   "<a class="link" href="ClutterModel.html#ClutterModel-filter-changed" title='The "filter-changed" signal'>filter-changed</a>"                                 : <code class="literal">Run Last</code>
152   "<a class="link" href="ClutterModel.html#ClutterModel-row-added" title='The "row-added" signal'>row-added</a>"                                      : <code class="literal">Run Last</code>
153   "<a class="link" href="ClutterModel.html#ClutterModel-row-changed" title='The "row-changed" signal'>row-changed</a>"                                    : <code class="literal">Run Last</code>
154   "<a class="link" href="ClutterModel.html#ClutterModel-row-removed" title='The "row-removed" signal'>row-removed</a>"                                    : <code class="literal">Run Last</code>
155   "<a class="link" href="ClutterModel.html#ClutterModel-sort-changed" title='The "sort-changed" signal'>sort-changed</a>"                                   : <code class="literal">Run Last</code>
156 </pre>
157 </div>
158 <div class="refsect1">
159 <a name="ClutterModel.description"></a><h2>Description</h2>
160 <p>
161 <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> is a generic list model API which can be used to implement
162 the model-view-controller architectural pattern in Clutter.
163 </p>
164 <p>
165 The <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> class is a list model which can accept most GObject 
166 types as a column type.
167 </p>
168 <p>
169 Creating a simple clutter model:
170 </p>
171 <div class="informalexample">
172   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
173     <tbody>
174       <tr>
175         <td class="listing_lines" align="right"><pre>1
176 2
177 3
178 4
179 5
180 6
181 7
182 8
183 9
184 10
185 11
186 12
187 13
188 14
189 15
190 16
191 17
192 18
193 19
194 20
195 21
196 22
197 23
198 24
199 25
200 26
201 27
202 28</pre></td>
203         <td class="listing_code"><pre class="programlisting"><span class="keyword">enum</span>
204 <span class="cbracket">{</span>
205 <span class="normal">  COLUMN_INT</span><span class="symbol">,</span>
206 <span class="normal">  COLUMN_STRING</span><span class="symbol">,</span>
207
208 <span class="normal">  N_COLUMNS</span>
209 <span class="cbracket">}</span><span class="symbol">;</span>
210
211 <span class="cbracket">{</span>
212 <span class="normal">  </span><span class="usertype">ClutterModel</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">model</span><span class="symbol">;</span>
213 <span class="normal">  </span><span class="usertype">gint</span><span class="normal"> i</span><span class="symbol">;</span>
214
215 <span class="normal">  model </span><span class="symbol">=</span><span class="normal"> </span><span class="function">clutter_model_default_new</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">N_COLUMNS</span><span class="symbol">,</span>
216 <span class="normal">                                     </span><span class="comment">/* column type, column title */</span>
217 <span class="normal">                                     G_TYPE_INT</span><span class="symbol">,</span><span class="normal">     </span><span class="string">"my integers"</span><span class="symbol">,</span>
218 <span class="normal">                                     G_TYPE_STRING</span><span class="symbol">,</span><span class="normal">  </span><span class="string">"my strings"</span><span class="symbol">);</span>
219 <span class="normal">  </span><span class="keyword">for</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">i </span><span class="symbol">=</span><span class="normal"> </span><span class="number">0</span><span class="symbol">;</span><span class="normal"> i </span><span class="symbol">&lt;</span><span class="normal"> </span><span class="number">10</span><span class="symbol">;</span><span class="normal"> i</span><span class="symbol">++)</span>
220 <span class="normal">    </span><span class="cbracket">{</span>
221 <span class="normal">      </span><span class="usertype">gchar</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">string </span><span class="symbol">=</span><span class="normal"> </span><span class="function">g_strdup_printf</span><span class="normal"> </span><span class="symbol">(</span><span class="string">"String %d"</span><span class="symbol">,</span><span class="normal"> i</span><span class="symbol">);</span>
222 <span class="normal">      </span><span class="function"><a href="ClutterModel.html#clutter-model-append">clutter_model_append</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">model</span><span class="symbol">,</span>
223 <span class="normal">                            COLUMN_INT</span><span class="symbol">,</span><span class="normal"> i</span><span class="symbol">,</span>
224 <span class="normal">                            COLUMN_STRING</span><span class="symbol">,</span><span class="normal"> string</span><span class="symbol">,</span>
225 <span class="normal">                            </span><span class="symbol">-</span><span class="number">1</span><span class="symbol">);</span>
226 <span class="normal">      </span><span class="function">g_free</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">string</span><span class="symbol">);</span>
227 <span class="normal">    </span><span class="cbracket">}</span>
228
229 <span class="normal">  </span>
230 <span class="cbracket">}</span></pre></td>
231       </tr>
232     </tbody>
233   </table>
234 </div>
235
236 <p>
237 </p>
238 <p>
239 Iterating through the model consists of retrieving a new <a class="link" href="ClutterModelIter.html" title="ClutterModelIter"><span class="type">ClutterModelIter</span></a>
240 pointing to the starting row, and calling <a class="link" href="ClutterModelIter.html#clutter-model-iter-next" title="clutter_model_iter_next ()"><code class="function">clutter_model_iter_next()</code></a> or
241 <a class="link" href="ClutterModelIter.html#clutter-model-iter-prev" title="clutter_model_iter_prev ()"><code class="function">clutter_model_iter_prev()</code></a> to move forward or backwards, repectively.
242 </p>
243 <p>
244 A valid <a class="link" href="ClutterModelIter.html" title="ClutterModelIter"><span class="type">ClutterModelIter</span></a> represents the position between two rows in the
245 model. For example, the "first" iterator represents the gap immediately 
246 before the first row, and the "last" iterator represents the gap immediately
247 after the last row. In an empty sequence, the first and last iterators are
248 the same.
249 </p>
250 <p>
251 Iterating a <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a>:
252 </p>
253 <div class="informalexample">
254   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
255     <tbody>
256       <tr>
257         <td class="listing_lines" align="right"><pre>1
258 2
259 3
260 4
261 5
262 6
263 7
264 8
265 9
266 10
267 11
268 12
269 13
270 14
271 15
272 16
273 17
274 18
275 19
276 20
277 21
278 22
279 23
280 24
281 25
282 26
283 27</pre></td>
284         <td class="listing_code"><pre class="programlisting"><span class="keyword">enum</span>
285 <span class="cbracket">{</span>
286 <span class="normal">  COLUMN_INT</span><span class="symbol">,</span>
287 <span class="normal">  COLUMN_STRING</span><span class="symbol">.</span>
288
289 <span class="normal">  N_COLUMNS</span>
290 <span class="cbracket">}</span><span class="symbol">;</span>
291
292 <span class="cbracket">{</span>
293 <span class="normal">  </span><span class="usertype">ClutterModel</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">model</span><span class="symbol">;</span>
294 <span class="normal">  </span><span class="usertype">ClutterModelIter</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">iter </span><span class="symbol">=</span><span class="normal"> <a href="/home/ebassi/gnome3/install/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL--CAPS">NULL</a></span><span class="symbol">;</span>
295
296 <span class="normal">  </span><span class="comment">/*  Fill the model */</span>
297 <span class="normal">  model </span><span class="symbol">=</span><span class="normal"> </span><span class="function">populate_model</span><span class="normal"> </span><span class="symbol">();</span>
298
299 <span class="normal">  </span><span class="comment">/* Get the first iter */</span>
300 <span class="normal">  iter </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="ClutterModel.html#clutter-model-get-first-iter">clutter_model_get_first_iter</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">model</span><span class="symbol">);</span>
301 <span class="normal">  </span><span class="keyword">while</span><span class="normal"> </span><span class="symbol">(!</span><span class="function"><a href="ClutterModelIter.html#clutter-model-iter-is-last">clutter_model_iter_is_last</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">iter</span><span class="symbol">))</span>
302 <span class="normal">    </span><span class="cbracket">{</span>
303 <span class="normal">      </span><span class="function">print_row</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">iter</span><span class="symbol">);</span>
304 <span class="normal">      </span>
305 <span class="normal">      iter </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="ClutterModelIter.html#clutter-model-iter-next">clutter_model_iter_next</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">iter</span><span class="symbol">);</span>
306 <span class="normal">    </span><span class="cbracket">}</span>
307
308 <span class="normal">  </span><span class="comment">/* Make sure to unref the iter */</span>
309 <span class="normal">  </span><span class="function">g_object_unref</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">iter</span><span class="symbol">);</span>
310 <span class="cbracket">}</span></pre></td>
311       </tr>
312     </tbody>
313   </table>
314 </div>
315
316 <p>
317 </p>
318 <p>
319 <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> is an abstract class. Clutter provides a list model
320 implementation called <a class="link" href="ClutterListModel.html" title="ClutterListModel"><span class="type">ClutterListModel</span></a> which has been optimised
321 for insertion and look up in sorted lists.
322 </p>
323 <p>
324 </p>
325 <div class="refsect2">
326 <a name="ClutterModel-script"></a><h3>ClutterModel custom properties for <a class="link" href="ClutterScript.html" title="ClutterScript"><span class="type">ClutterScript</span></a>
327 </h3>
328 <p><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> defines a custom property "columns" for <a class="link" href="ClutterScript.html" title="ClutterScript"><span class="type">ClutterScript</span></a>
329   which allows defining the column names and types. It also defines a custom
330   "rows" property which allows filling the <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> with some
331   data.</p>
332 <div class="example">
333 <a name="ClutterModel-script-example"></a><p class="title"><b>Example 17. Example of the "columns" and "rows" custom properties</b></p>
334 <div class="example-contents">
335 <p>The definition below will create a <a class="link" href="ClutterListModel.html" title="ClutterListModel"><span class="type">ClutterListModel</span></a> with three
336     columns: the first one with name "Name" and containing strings; the
337     second one with name "Score" and containing integers; the third one with
338     name "Icon" and containing <a class="link" href="ClutterTexture.html" title="ClutterTexture"><span class="type">ClutterTexture</span></a>s. The model is filled
339     with three rows. A row can be defined either with an array that holds
340     all columns of a row, or an object that holds "column-name" :
341     "column-value" pairs.
342     </p>
343 <pre class="programlisting">
344  {
345    "type" : "ClutterListModel",
346    "id" : "teams-model",
347    "columns" : [
348      [ "Name", "gchararray" ],
349      [ "Score", "gint" ],
350      [ "Icon", "ClutterTexture" ]
351    ],
352    "rows" : [
353      [ "Team 1", 42, { "type" : "ClutterTexture", "filename" : "team1.png" } ],
354      [ "Team 2", 23, "team2-icon-script-id" ],
355      { "Name" : "Team 3", "Icon" : "team3-icon-script-id" }
356    ]
357  }
358     </pre>
359 </div>
360 </div>
361 <br class="example-break">
362 </div>
363 <p>
364 </p>
365 <p>
366 <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> is available since Clutter 0.6
367 </p>
368 </div>
369 <div class="refsect1">
370 <a name="ClutterModel.details"></a><h2>Details</h2>
371 <div class="refsect2">
372 <a name="ClutterModel-struct"></a><h3>struct ClutterModel</h3>
373 <pre class="programlisting">struct ClutterModel;</pre>
374 <p>
375 Base class for list models. The <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> structure contains
376 only private data and should be manipulated using the provided
377 API.
378 </p>
379 <p class="since">Since 0.6</p>
380 </div>
381 <hr>
382 <div class="refsect2">
383 <a name="ClutterModelClass"></a><h3>struct ClutterModelClass</h3>
384 <pre class="programlisting">struct ClutterModelClass {
385   /* vtable */
386   guint             (* get_n_rows)      (ClutterModel         *model);
387   guint             (* get_n_columns)   (ClutterModel         *model);
388   const gchar *     (* get_column_name) (ClutterModel         *model,
389                                          guint                 column);
390   GType             (* get_column_type) (ClutterModel         *model,
391                                          guint                 column);
392   ClutterModelIter *(* insert_row)      (ClutterModel         *model,
393                                          gint                  index_);
394   void              (* remove_row)      (ClutterModel         *model,
395                                          guint                 row);
396   ClutterModelIter *(* get_iter_at_row) (ClutterModel         *model,
397                                          guint                 row);
398   void              (* resort)          (ClutterModel         *model,
399                                          ClutterModelSortFunc  func,
400                                          gpointer              data);
401
402   /* signals */
403   void              (* row_added)       (ClutterModel     *model,
404                                          ClutterModelIter *iter);
405   void              (* row_removed)     (ClutterModel     *model,
406                                          ClutterModelIter *iter);
407   void              (* row_changed)     (ClutterModel     *model,
408                                          ClutterModelIter *iter);
409   void              (* sort_changed)    (ClutterModel     *model);
410   void              (* filter_changed)  (ClutterModel     *model);
411 };
412 </pre>
413 <p>
414 Class for <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> instances.
415 </p>
416 <div class="variablelist"><table border="0">
417 <col align="left" valign="top">
418 <tbody>
419 <tr>
420 <td><p><span class="term"><em class="structfield"><code><a name="ClutterModelClass.get-n-rows"></a>get_n_rows</code></em> ()</span></p></td>
421 <td>virtual function for returning the number of rows
422 of the model</td>
423 </tr>
424 <tr>
425 <td><p><span class="term"><em class="structfield"><code><a name="ClutterModelClass.get-n-columns"></a>get_n_columns</code></em> ()</span></p></td>
426 <td>virtual function for retuning the number of columns
427 of the model</td>
428 </tr>
429 <tr>
430 <td><p><span class="term"><em class="structfield"><code><a name="ClutterModelClass.get-column-name"></a>get_column_name</code></em> ()</span></p></td>
431 <td>virtual function for returning the name of a column</td>
432 </tr>
433 <tr>
434 <td><p><span class="term"><em class="structfield"><code><a name="ClutterModelClass.get-column-type"></a>get_column_type</code></em> ()</span></p></td>
435 <td>virtual function for returning the type of a column</td>
436 </tr>
437 <tr>
438 <td><p><span class="term"><em class="structfield"><code><a name="ClutterModelClass.insert-row"></a>insert_row</code></em> ()</span></p></td>
439 <td>virtual function for inserting a row at the given index
440 and returning an iterator pointing to it; if the index is a negative
441 integer, the row should be appended to the model</td>
442 </tr>
443 <tr>
444 <td><p><span class="term"><em class="structfield"><code><a name="ClutterModelClass.remove-row"></a>remove_row</code></em> ()</span></p></td>
445 <td>virtual function for removing a row at the given index</td>
446 </tr>
447 <tr>
448 <td><p><span class="term"><em class="structfield"><code><a name="ClutterModelClass.get-iter-at-row"></a>get_iter_at_row</code></em> ()</span></p></td>
449 <td>virtual function for returning an iterator for the
450 given row</td>
451 </tr>
452 <tr>
453 <td><p><span class="term"><em class="structfield"><code><a name="ClutterModelClass.resort"></a>resort</code></em> ()</span></p></td>
454 <td>virtual function for sorting the model using the passed
455 sorting function</td>
456 </tr>
457 <tr>
458 <td><p><span class="term"><em class="structfield"><code><a name="ClutterModelClass.row-added"></a>row_added</code></em> ()</span></p></td>
459 <td>signal class handler for ClutterModel::row-added</td>
460 </tr>
461 <tr>
462 <td><p><span class="term"><em class="structfield"><code><a name="ClutterModelClass.row-removed"></a>row_removed</code></em> ()</span></p></td>
463 <td>signal class handler for ClutterModel::row-removed</td>
464 </tr>
465 <tr>
466 <td><p><span class="term"><em class="structfield"><code><a name="ClutterModelClass.row-changed"></a>row_changed</code></em> ()</span></p></td>
467 <td>signal class handler for ClutterModel::row-changed</td>
468 </tr>
469 <tr>
470 <td><p><span class="term"><em class="structfield"><code><a name="ClutterModelClass.sort-changed"></a>sort_changed</code></em> ()</span></p></td>
471 <td>signal class handler for ClutterModel::sort-changed</td>
472 </tr>
473 <tr>
474 <td><p><span class="term"><em class="structfield"><code><a name="ClutterModelClass.filter-changed"></a>filter_changed</code></em> ()</span></p></td>
475 <td>signal class handler for ClutterModel::filter-changed</td>
476 </tr>
477 </tbody>
478 </table></div>
479 <p class="since">Since 0.6</p>
480 </div>
481 <hr>
482 <div class="refsect2">
483 <a name="clutter-model-set-names"></a><h3>clutter_model_set_names ()</h3>
484 <pre class="programlisting"><span class="returnvalue">void</span>                clutter_model_set_names             (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>,
485                                                          <em class="parameter"><code><span class="type">guint</span> n_columns</code></em>,
486                                                          <em class="parameter"><code>const <span class="type">gchar</span> * const names[]</code></em>);</pre>
487 <p>
488 Assigns a name to the columns of a <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a>.
489 </p>
490 <p>
491 This function is meant primarily for <span class="type">GObjects</span> that inherit from
492 <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a>, and should only be used when contructing a <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a>.
493 It will not work after the initial creation of the <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a>.
494 </p>
495 <div class="variablelist"><table border="0">
496 <col align="left" valign="top">
497 <tbody>
498 <tr>
499 <td><p><span class="term"><em class="parameter"><code>model</code></em> :</span></p></td>
500 <td>a <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a>
501 </td>
502 </tr>
503 <tr>
504 <td><p><span class="term"><em class="parameter"><code>n_columns</code></em> :</span></p></td>
505 <td>the number of column names</td>
506 </tr>
507 <tr>
508 <td><p><span class="term"><em class="parameter"><code>names</code></em> :</span></p></td>
509 <td>an array of strings. <span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_columns]</span>
510 </td>
511 </tr>
512 </tbody>
513 </table></div>
514 <p class="since">Since 0.6</p>
515 </div>
516 <hr>
517 <div class="refsect2">
518 <a name="clutter-model-set-types"></a><h3>clutter_model_set_types ()</h3>
519 <pre class="programlisting"><span class="returnvalue">void</span>                clutter_model_set_types             (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>,
520                                                          <em class="parameter"><code><span class="type">guint</span> n_columns</code></em>,
521                                                          <em class="parameter"><code><span class="type">GType</span> *types</code></em>);</pre>
522 <p>
523 Sets the types of the columns inside a <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a>.
524 </p>
525 <p>
526 This function is meant primarily for <span class="type">GObjects</span> that inherit from
527 <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a>, and should only be used when contructing a <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a>.
528 It will not work after the initial creation of the <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a>.
529 </p>
530 <div class="variablelist"><table border="0">
531 <col align="left" valign="top">
532 <tbody>
533 <tr>
534 <td><p><span class="term"><em class="parameter"><code>model</code></em> :</span></p></td>
535 <td>a <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a>
536 </td>
537 </tr>
538 <tr>
539 <td><p><span class="term"><em class="parameter"><code>n_columns</code></em> :</span></p></td>
540 <td>number of columns for the model</td>
541 </tr>
542 <tr>
543 <td><p><span class="term"><em class="parameter"><code>types</code></em> :</span></p></td>
544 <td>an array of <span class="type">GType</span> types. <span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_columns]</span>
545 </td>
546 </tr>
547 </tbody>
548 </table></div>
549 <p class="since">Since 0.6</p>
550 </div>
551 <hr>
552 <div class="refsect2">
553 <a name="clutter-model-get-column-name"></a><h3>clutter_model_get_column_name ()</h3>
554 <pre class="programlisting">const <span class="returnvalue">gchar</span> *       clutter_model_get_column_name       (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>,
555                                                          <em class="parameter"><code><span class="type">guint</span> column</code></em>);</pre>
556 <p>
557 Retrieves the name of the <em class="parameter"><code>column</code></em>
558 </p>
559 <div class="variablelist"><table border="0">
560 <col align="left" valign="top">
561 <tbody>
562 <tr>
563 <td><p><span class="term"><em class="parameter"><code>model</code></em> :</span></p></td>
564 <td><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a></td>
565 </tr>
566 <tr>
567 <td><p><span class="term"><em class="parameter"><code>column</code></em> :</span></p></td>
568 <td>the column number</td>
569 </tr>
570 <tr>
571 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
572 <td>the name of the column. The model holds the returned
573 string, and it should not be modified or freed</td>
574 </tr>
575 </tbody>
576 </table></div>
577 <p class="since">Since 0.6</p>
578 </div>
579 <hr>
580 <div class="refsect2">
581 <a name="clutter-model-get-column-type"></a><h3>clutter_model_get_column_type ()</h3>
582 <pre class="programlisting"><span class="returnvalue">GType</span>               clutter_model_get_column_type       (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>,
583                                                          <em class="parameter"><code><span class="type">guint</span> column</code></em>);</pre>
584 <p>
585 Retrieves the type of the <em class="parameter"><code>column</code></em>.
586 </p>
587 <div class="variablelist"><table border="0">
588 <col align="left" valign="top">
589 <tbody>
590 <tr>
591 <td><p><span class="term"><em class="parameter"><code>model</code></em> :</span></p></td>
592 <td><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a></td>
593 </tr>
594 <tr>
595 <td><p><span class="term"><em class="parameter"><code>column</code></em> :</span></p></td>
596 <td>the column number</td>
597 </tr>
598 <tr>
599 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
600 <td>the type of the column.</td>
601 </tr>
602 </tbody>
603 </table></div>
604 <p class="since">Since 0.6</p>
605 </div>
606 <hr>
607 <div class="refsect2">
608 <a name="clutter-model-get-n-columns"></a><h3>clutter_model_get_n_columns ()</h3>
609 <pre class="programlisting"><span class="returnvalue">guint</span>               clutter_model_get_n_columns         (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>);</pre>
610 <p>
611 Retrieves the number of columns inside <em class="parameter"><code>model</code></em>.
612 </p>
613 <div class="variablelist"><table border="0">
614 <col align="left" valign="top">
615 <tbody>
616 <tr>
617 <td><p><span class="term"><em class="parameter"><code>model</code></em> :</span></p></td>
618 <td>a <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a>
619 </td>
620 </tr>
621 <tr>
622 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
623 <td>the number of columns</td>
624 </tr>
625 </tbody>
626 </table></div>
627 <p class="since">Since 0.6</p>
628 </div>
629 <hr>
630 <div class="refsect2">
631 <a name="clutter-model-get-n-rows"></a><h3>clutter_model_get_n_rows ()</h3>
632 <pre class="programlisting"><span class="returnvalue">guint</span>               clutter_model_get_n_rows            (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>);</pre>
633 <p>
634 Retrieves the number of rows inside <em class="parameter"><code>model</code></em>, eventually taking
635 into account any filtering function set using <a class="link" href="ClutterModel.html#clutter-model-set-filter" title="clutter_model_set_filter ()"><code class="function">clutter_model_set_filter()</code></a>.
636 </p>
637 <div class="variablelist"><table border="0">
638 <col align="left" valign="top">
639 <tbody>
640 <tr>
641 <td><p><span class="term"><em class="parameter"><code>model</code></em> :</span></p></td>
642 <td>a <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a>
643 </td>
644 </tr>
645 <tr>
646 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
647 <td>The length of the <em class="parameter"><code>model</code></em>. If there is a filter set, then
648 the length of the filtered <em class="parameter"><code>model</code></em> is returned.</td>
649 </tr>
650 </tbody>
651 </table></div>
652 <p class="since">Since 0.6</p>
653 </div>
654 <hr>
655 <div class="refsect2">
656 <a name="clutter-model-append"></a><h3>clutter_model_append ()</h3>
657 <pre class="programlisting"><span class="returnvalue">void</span>                clutter_model_append                (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>,
658                                                          <em class="parameter"><code>...</code></em>);</pre>
659 <p>
660 Creates and appends a new row to the <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a>, setting the
661 row values upon creation. For example, to append a new row where
662 column 0 is type <code class="literal">G_TYPE_INT</code> and column 1 is of type <code class="literal">G_TYPE_STRING</code>:
663 </p>
664 <p>
665 </p>
666 <div class="informalexample">
667   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
668     <tbody>
669       <tr>
670         <td class="listing_lines" align="right"><pre>1
671 2
672 3
673 4
674 5</pre></td>
675         <td class="listing_code"><pre class="programlisting"><span class="usertype">ClutterModel</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">model</span><span class="symbol">;</span>
676 <span class="normal">model </span><span class="symbol">=</span><span class="normal"> </span><span class="function">clutter_model_default_new</span><span class="normal"> </span><span class="symbol">(</span><span class="number">2</span><span class="symbol">,</span>
677 <span class="normal">                                   G_TYPE_INT</span><span class="symbol">,</span><span class="normal">    </span><span class="string">"Score"</span><span class="symbol">,</span>
678 <span class="normal">                                   G_TYPE_STRING</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"Team"</span><span class="symbol">);</span>
679 <span class="function"><a href="ClutterModel.html#clutter-model-append">clutter_model_append</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">model</span><span class="symbol">,</span><span class="normal"> </span><span class="number">0</span><span class="symbol">,</span><span class="normal"> </span><span class="number">42</span><span class="symbol">,</span><span class="normal"> </span><span class="number">1</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"Team &lt;GTKDOCLINK HREF="</span><span class="number">1</span><span class="symbol">:</span><span class="normal">CAPS</span><span class="string">"&gt;1&lt;/GTKDOCLINK&gt;"</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">-</span><span class="number">1</span><span class="symbol">);</span></pre></td>
680       </tr>
681     </tbody>
682   </table>
683 </div>
684
685 <p>
686 </p>
687 <div class="variablelist"><table border="0">
688 <col align="left" valign="top">
689 <tbody>
690 <tr>
691 <td><p><span class="term"><em class="parameter"><code>model</code></em> :</span></p></td>
692 <td>a <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a>
693 </td>
694 </tr>
695 <tr>
696 <td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
697 <td>pairs of column number and value, terminated with -1</td>
698 </tr>
699 </tbody>
700 </table></div>
701 <p class="since">Since 0.6</p>
702 </div>
703 <hr>
704 <div class="refsect2">
705 <a name="clutter-model-appendv"></a><h3>clutter_model_appendv ()</h3>
706 <pre class="programlisting"><span class="returnvalue">void</span>                clutter_model_appendv               (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>,
707                                                          <em class="parameter"><code><span class="type">guint</span> n_columns</code></em>,
708                                                          <em class="parameter"><code><span class="type">guint</span> *columns</code></em>,
709                                                          <em class="parameter"><code><span class="type">GValue</span> *values</code></em>);</pre>
710 <p>
711 Creates and appends a new row to the <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a>, setting the row
712 values for the given <em class="parameter"><code>columns</code></em> upon creation.
713 </p>
714 <div class="variablelist"><table border="0">
715 <col align="left" valign="top">
716 <tbody>
717 <tr>
718 <td><p><span class="term"><em class="parameter"><code>model</code></em> :</span></p></td>
719 <td>a <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a>
720 </td>
721 </tr>
722 <tr>
723 <td><p><span class="term"><em class="parameter"><code>n_columns</code></em> :</span></p></td>
724 <td>the number of columns and values</td>
725 </tr>
726 <tr>
727 <td><p><span class="term"><em class="parameter"><code>columns</code></em> :</span></p></td>
728 <td>a vector with the columns to set. <span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_columns]</span>
729 </td>
730 </tr>
731 <tr>
732 <td><p><span class="term"><em class="parameter"><code>values</code></em> :</span></p></td>
733 <td>a vector with the values. <span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_columns]</span>
734 </td>
735 </tr>
736 </tbody>
737 </table></div>
738 <p class="since">Since 0.6</p>
739 </div>
740 <hr>
741 <div class="refsect2">
742 <a name="clutter-model-prepend"></a><h3>clutter_model_prepend ()</h3>
743 <pre class="programlisting"><span class="returnvalue">void</span>                clutter_model_prepend               (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>,
744                                                          <em class="parameter"><code>...</code></em>);</pre>
745 <p>
746 Creates and prepends a new row to the <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a>, setting the row
747 values upon creation. For example, to prepend a new row where column 0
748 is type <code class="literal">G_TYPE_INT</code> and column 1 is of type <code class="literal">G_TYPE_STRING</code>:
749 </p>
750 <p>
751 </p>
752 <div class="informalexample">
753   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
754     <tbody>
755       <tr>
756         <td class="listing_lines" align="right"><pre>1
757 2
758 3
759 4
760 5</pre></td>
761         <td class="listing_code"><pre class="programlisting"><span class="usertype">ClutterModel</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">model</span><span class="symbol">;</span>
762 <span class="normal">model </span><span class="symbol">=</span><span class="normal"> </span><span class="function">clutter_model_default_new</span><span class="normal"> </span><span class="symbol">(</span><span class="number">2</span><span class="symbol">,</span>
763 <span class="normal">                                   G_TYPE_INT</span><span class="symbol">,</span><span class="normal">    </span><span class="string">"Score"</span><span class="symbol">,</span>
764 <span class="normal">                                   G_TYPE_STRING</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"Team"</span><span class="symbol">);</span>
765 <span class="function"><a href="ClutterModel.html#clutter-model-prepend">clutter_model_prepend</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">model</span><span class="symbol">,</span><span class="normal"> </span><span class="number">0</span><span class="symbol">,</span><span class="normal"> </span><span class="number">42</span><span class="symbol">,</span><span class="normal"> </span><span class="number">1</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"Team &lt;GTKDOCLINK HREF="</span><span class="number">1</span><span class="symbol">:</span><span class="normal">CAPS</span><span class="string">"&gt;1&lt;/GTKDOCLINK&gt;"</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">-</span><span class="number">1</span><span class="symbol">);</span></pre></td>
766       </tr>
767     </tbody>
768   </table>
769 </div>
770
771 <p>
772 </p>
773 <div class="variablelist"><table border="0">
774 <col align="left" valign="top">
775 <tbody>
776 <tr>
777 <td><p><span class="term"><em class="parameter"><code>model</code></em> :</span></p></td>
778 <td>a <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a>
779 </td>
780 </tr>
781 <tr>
782 <td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
783 <td>pairs of column number and value, terminated with -1</td>
784 </tr>
785 </tbody>
786 </table></div>
787 <p class="since">Since 0.6</p>
788 </div>
789 <hr>
790 <div class="refsect2">
791 <a name="clutter-model-prependv"></a><h3>clutter_model_prependv ()</h3>
792 <pre class="programlisting"><span class="returnvalue">void</span>                clutter_model_prependv              (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>,
793                                                          <em class="parameter"><code><span class="type">guint</span> n_columns</code></em>,
794                                                          <em class="parameter"><code><span class="type">guint</span> *columns</code></em>,
795                                                          <em class="parameter"><code><span class="type">GValue</span> *values</code></em>);</pre>
796 <p>
797 Creates and prepends a new row to the <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a>, setting the row
798 values for the given <em class="parameter"><code>columns</code></em> upon creation.
799 </p>
800 <div class="variablelist"><table border="0">
801 <col align="left" valign="top">
802 <tbody>
803 <tr>
804 <td><p><span class="term"><em class="parameter"><code>model</code></em> :</span></p></td>
805 <td>a <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a>
806 </td>
807 </tr>
808 <tr>
809 <td><p><span class="term"><em class="parameter"><code>n_columns</code></em> :</span></p></td>
810 <td>the number of columns and values to set</td>
811 </tr>
812 <tr>
813 <td><p><span class="term"><em class="parameter"><code>columns</code></em> :</span></p></td>
814 <td>a vector containing the columns to set. <span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_columns]</span>
815 </td>
816 </tr>
817 <tr>
818 <td><p><span class="term"><em class="parameter"><code>values</code></em> :</span></p></td>
819 <td>a vector containing the values for the cells. <span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_columns]</span>
820 </td>
821 </tr>
822 </tbody>
823 </table></div>
824 <p class="since">Since 0.6</p>
825 </div>
826 <hr>
827 <div class="refsect2">
828 <a name="clutter-model-insert"></a><h3>clutter_model_insert ()</h3>
829 <pre class="programlisting"><span class="returnvalue">void</span>                clutter_model_insert                (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>,
830                                                          <em class="parameter"><code><span class="type">guint</span> row</code></em>,
831                                                          <em class="parameter"><code>...</code></em>);</pre>
832 <p>
833 Inserts a new row to the <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> at <em class="parameter"><code>row</code></em>, setting the row
834 values upon creation. For example, to insert a new row at index 100,
835 where column 0 is type <code class="literal">G_TYPE_INT</code> and column 1 is of type
836 <code class="literal">G_TYPE_STRING</code>:
837 </p>
838 <p>
839 </p>
840 <div class="informalexample">
841   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
842     <tbody>
843       <tr>
844         <td class="listing_lines" align="right"><pre>1
845 2
846 3
847 4
848 5</pre></td>
849         <td class="listing_code"><pre class="programlisting"><span class="usertype">ClutterModel</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">model</span><span class="symbol">;</span>
850 <span class="normal">model </span><span class="symbol">=</span><span class="normal"> </span><span class="function">clutter_model_default_new</span><span class="normal"> </span><span class="symbol">(</span><span class="number">2</span><span class="symbol">,</span>
851 <span class="normal">                                   G_TYPE_INT</span><span class="symbol">,</span><span class="normal">    </span><span class="string">"Score"</span><span class="symbol">,</span>
852 <span class="normal">                                   G_TYPE_STRING</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"Team"</span><span class="symbol">);</span>
853 <span class="function"><a href="ClutterModel.html#clutter-model-insert">clutter_model_insert</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">model</span><span class="symbol">,</span><span class="normal"> </span><span class="number">3</span><span class="symbol">,</span><span class="normal"> </span><span class="number">0</span><span class="symbol">,</span><span class="normal"> </span><span class="number">42</span><span class="symbol">,</span><span class="normal"> </span><span class="number">1</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"Team &lt;GTKDOCLINK HREF="</span><span class="number">1</span><span class="symbol">:</span><span class="normal">CAPS</span><span class="string">"&gt;1&lt;/GTKDOCLINK&gt;"</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">-</span><span class="number">1</span><span class="symbol">);</span></pre></td>
854       </tr>
855     </tbody>
856   </table>
857 </div>
858
859 <p>
860 </p>
861 <div class="variablelist"><table border="0">
862 <col align="left" valign="top">
863 <tbody>
864 <tr>
865 <td><p><span class="term"><em class="parameter"><code>model</code></em> :</span></p></td>
866 <td>a <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a>
867 </td>
868 </tr>
869 <tr>
870 <td><p><span class="term"><em class="parameter"><code>row</code></em> :</span></p></td>
871 <td>the position to insert the new row</td>
872 </tr>
873 <tr>
874 <td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
875 <td>pairs of column number and value, terminated with -1</td>
876 </tr>
877 </tbody>
878 </table></div>
879 <p class="since">Since 0.6</p>
880 </div>
881 <hr>
882 <div class="refsect2">
883 <a name="clutter-model-insertv"></a><h3>clutter_model_insertv ()</h3>
884 <pre class="programlisting"><span class="returnvalue">void</span>                clutter_model_insertv               (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>,
885                                                          <em class="parameter"><code><span class="type">guint</span> row</code></em>,
886                                                          <em class="parameter"><code><span class="type">guint</span> n_columns</code></em>,
887                                                          <em class="parameter"><code><span class="type">guint</span> *columns</code></em>,
888                                                          <em class="parameter"><code><span class="type">GValue</span> *values</code></em>);</pre>
889 <p>
890 Inserts data at <em class="parameter"><code>row</code></em> into the <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a>, setting the row
891 values for the given <em class="parameter"><code>columns</code></em> upon creation.
892 </p>
893 <div class="variablelist"><table border="0">
894 <col align="left" valign="top">
895 <tbody>
896 <tr>
897 <td><p><span class="term"><em class="parameter"><code>model</code></em> :</span></p></td>
898 <td>a <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a>
899 </td>
900 </tr>
901 <tr>
902 <td><p><span class="term"><em class="parameter"><code>row</code></em> :</span></p></td>
903 <td>row index</td>
904 </tr>
905 <tr>
906 <td><p><span class="term"><em class="parameter"><code>n_columns</code></em> :</span></p></td>
907 <td>the number of columns and values to set</td>
908 </tr>
909 <tr>
910 <td><p><span class="term"><em class="parameter"><code>columns</code></em> :</span></p></td>
911 <td>a vector containing the columns to set. <span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_columns]</span>
912 </td>
913 </tr>
914 <tr>
915 <td><p><span class="term"><em class="parameter"><code>values</code></em> :</span></p></td>
916 <td>a vector containing the values for the cells. <span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_columns]</span>
917 </td>
918 </tr>
919 </tbody>
920 </table></div>
921 <p class="since">Since 0.6</p>
922 </div>
923 <hr>
924 <div class="refsect2">
925 <a name="clutter-model-insert-value"></a><h3>clutter_model_insert_value ()</h3>
926 <pre class="programlisting"><span class="returnvalue">void</span>                clutter_model_insert_value          (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>,
927                                                          <em class="parameter"><code><span class="type">guint</span> row</code></em>,
928                                                          <em class="parameter"><code><span class="type">guint</span> column</code></em>,
929                                                          <em class="parameter"><code>const <span class="type">GValue</span> *value</code></em>);</pre>
930 <p>
931 Sets the data in the cell specified by <em class="parameter"><code>iter</code></em> and <em class="parameter"><code>column</code></em>. The type of 
932 <em class="parameter"><code>value</code></em> must be convertable to the type of the column. If the row does
933 not exist then it is created.
934 </p>
935 <div class="variablelist"><table border="0">
936 <col align="left" valign="top">
937 <tbody>
938 <tr>
939 <td><p><span class="term"><em class="parameter"><code>model</code></em> :</span></p></td>
940 <td>a <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a>
941 </td>
942 </tr>
943 <tr>
944 <td><p><span class="term"><em class="parameter"><code>row</code></em> :</span></p></td>
945 <td>position of the row to modify</td>
946 </tr>
947 <tr>
948 <td><p><span class="term"><em class="parameter"><code>column</code></em> :</span></p></td>
949 <td>column to modify</td>
950 </tr>
951 <tr>
952 <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
953 <td>new value for the cell</td>
954 </tr>
955 </tbody>
956 </table></div>
957 <p class="since">Since 0.6</p>
958 </div>
959 <hr>
960 <div class="refsect2">
961 <a name="clutter-model-remove"></a><h3>clutter_model_remove ()</h3>
962 <pre class="programlisting"><span class="returnvalue">void</span>                clutter_model_remove                (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>,
963                                                          <em class="parameter"><code><span class="type">guint</span> row</code></em>);</pre>
964 <p>
965 Removes the row at the given position from the model.
966 </p>
967 <div class="variablelist"><table border="0">
968 <col align="left" valign="top">
969 <tbody>
970 <tr>
971 <td><p><span class="term"><em class="parameter"><code>model</code></em> :</span></p></td>
972 <td>a <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a>
973 </td>
974 </tr>
975 <tr>
976 <td><p><span class="term"><em class="parameter"><code>row</code></em> :</span></p></td>
977 <td>position of row to remove</td>
978 </tr>
979 </tbody>
980 </table></div>
981 <p class="since">Since 0.6</p>
982 </div>
983 <hr>
984 <div class="refsect2">
985 <a name="ClutterModelForeachFunc"></a><h3>ClutterModelForeachFunc ()</h3>
986 <pre class="programlisting"><span class="returnvalue">gboolean</span>            (*ClutterModelForeachFunc)          (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>,
987                                                          <em class="parameter"><code><a class="link" href="ClutterModelIter.html" title="ClutterModelIter"><span class="type">ClutterModelIter</span></a> *iter</code></em>,
988                                                          <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);</pre>
989 <p>
990 Iterates on the content of a row in the model
991 </p>
992 <div class="variablelist"><table border="0">
993 <col align="left" valign="top">
994 <tbody>
995 <tr>
996 <td><p><span class="term"><em class="parameter"><code>model</code></em> :</span></p></td>
997 <td>a <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a>
998 </td>
999 </tr>
1000 <tr>
1001 <td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
1002 <td>the iterator for the row</td>
1003 </tr>
1004 <tr>
1005 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
1006 <td>data passed to <a class="link" href="ClutterModel.html#clutter-model-foreach" title="clutter_model_foreach ()"><code class="function">clutter_model_foreach()</code></a>
1007 </td>
1008 </tr>
1009 <tr>
1010 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1011 <td>
1012 <code class="literal">TRUE</code> if the iteration should continue, <code class="literal">FALSE</code> otherwise</td>
1013 </tr>
1014 </tbody>
1015 </table></div>
1016 <p class="since">Since 0.6</p>
1017 </div>
1018 <hr>
1019 <div class="refsect2">
1020 <a name="clutter-model-foreach"></a><h3>clutter_model_foreach ()</h3>
1021 <pre class="programlisting"><span class="returnvalue">void</span>                clutter_model_foreach               (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>,
1022                                                          <em class="parameter"><code><a class="link" href="ClutterModel.html#ClutterModelForeachFunc" title="ClutterModelForeachFunc ()"><span class="type">ClutterModelForeachFunc</span></a> func</code></em>,
1023                                                          <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);</pre>
1024 <p>
1025 Calls <em class="parameter"><code>func</code></em> for each row in the model.
1026 </p>
1027 <div class="variablelist"><table border="0">
1028 <col align="left" valign="top">
1029 <tbody>
1030 <tr>
1031 <td><p><span class="term"><em class="parameter"><code>model</code></em> :</span></p></td>
1032 <td>a <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a>
1033 </td>
1034 </tr>
1035 <tr>
1036 <td><p><span class="term"><em class="parameter"><code>func</code></em> :</span></p></td>
1037 <td>a <a class="link" href="ClutterModel.html#ClutterModelForeachFunc" title="ClutterModelForeachFunc ()"><span class="type">ClutterModelForeachFunc</span></a>. <span class="annotation">[<acronym title="The callback is valid only during the call to the method."><span class="acronym">scope call</span></acronym>]</span>
1038 </td>
1039 </tr>
1040 <tr>
1041 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
1042 <td>user data to pass to <em class="parameter"><code>func</code></em>
1043 </td>
1044 </tr>
1045 </tbody>
1046 </table></div>
1047 <p class="since">Since 0.6</p>
1048 </div>
1049 <hr>
1050 <div class="refsect2">
1051 <a name="clutter-model-set-sorting-column"></a><h3>clutter_model_set_sorting_column ()</h3>
1052 <pre class="programlisting"><span class="returnvalue">void</span>                clutter_model_set_sorting_column    (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>,
1053                                                          <em class="parameter"><code><span class="type">gint</span> column</code></em>);</pre>
1054 <p>
1055 Sets the model to sort by <em class="parameter"><code>column</code></em>. If <em class="parameter"><code>column</code></em> is a negative value
1056 the sorting column will be unset.
1057 </p>
1058 <div class="variablelist"><table border="0">
1059 <col align="left" valign="top">
1060 <tbody>
1061 <tr>
1062 <td><p><span class="term"><em class="parameter"><code>model</code></em> :</span></p></td>
1063 <td>a <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a>
1064 </td>
1065 </tr>
1066 <tr>
1067 <td><p><span class="term"><em class="parameter"><code>column</code></em> :</span></p></td>
1068 <td>the column of the <em class="parameter"><code>model</code></em> to sort, or -1</td>
1069 </tr>
1070 </tbody>
1071 </table></div>
1072 <p class="since">Since 0.6</p>
1073 </div>
1074 <hr>
1075 <div class="refsect2">
1076 <a name="clutter-model-get-sorting-column"></a><h3>clutter_model_get_sorting_column ()</h3>
1077 <pre class="programlisting"><span class="returnvalue">gint</span>                clutter_model_get_sorting_column    (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>);</pre>
1078 <p>
1079 Retrieves the number of column used for sorting the <em class="parameter"><code>model</code></em>.
1080 </p>
1081 <div class="variablelist"><table border="0">
1082 <col align="left" valign="top">
1083 <tbody>
1084 <tr>
1085 <td><p><span class="term"><em class="parameter"><code>model</code></em> :</span></p></td>
1086 <td>a <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a>
1087 </td>
1088 </tr>
1089 <tr>
1090 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1091 <td>a column number, or -1 if the model is not sorted</td>
1092 </tr>
1093 </tbody>
1094 </table></div>
1095 <p class="since">Since 0.6</p>
1096 </div>
1097 <hr>
1098 <div class="refsect2">
1099 <a name="ClutterModelSortFunc"></a><h3>ClutterModelSortFunc ()</h3>
1100 <pre class="programlisting"><span class="returnvalue">gint</span>                (*ClutterModelSortFunc)             (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>,
1101                                                          <em class="parameter"><code>const <span class="type">GValue</span> *a</code></em>,
1102                                                          <em class="parameter"><code>const <span class="type">GValue</span> *b</code></em>,
1103                                                          <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);</pre>
1104 <p>
1105 Compares the content of two rows in the model.
1106 </p>
1107 <div class="variablelist"><table border="0">
1108 <col align="left" valign="top">
1109 <tbody>
1110 <tr>
1111 <td><p><span class="term"><em class="parameter"><code>model</code></em> :</span></p></td>
1112 <td>a <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a>
1113 </td>
1114 </tr>
1115 <tr>
1116 <td><p><span class="term"><em class="parameter"><code>a</code></em> :</span></p></td>
1117 <td>a <span class="type">GValue</span> representing the contents of the row</td>
1118 </tr>
1119 <tr>
1120 <td><p><span class="term"><em class="parameter"><code>b</code></em> :</span></p></td>
1121 <td>a <span class="type">GValue</span> representing the contents of the second row</td>
1122 </tr>
1123 <tr>
1124 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
1125 <td>data passed to <a class="link" href="ClutterModel.html#clutter-model-set-sort" title="clutter_model_set_sort ()"><code class="function">clutter_model_set_sort()</code></a>
1126 </td>
1127 </tr>
1128 <tr>
1129 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1130 <td>a positive integer if <em class="parameter"><code>a</code></em> is after <em class="parameter"><code>b</code></em>, a negative integer if
1131 <em class="parameter"><code>a</code></em> is before <em class="parameter"><code>b</code></em>, or 0 if the rows are the same</td>
1132 </tr>
1133 </tbody>
1134 </table></div>
1135 <p class="since">Since 0.6</p>
1136 </div>
1137 <hr>
1138 <div class="refsect2">
1139 <a name="clutter-model-set-sort"></a><h3>clutter_model_set_sort ()</h3>
1140 <pre class="programlisting"><span class="returnvalue">void</span>                clutter_model_set_sort              (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>,
1141                                                          <em class="parameter"><code><span class="type">gint</span> column</code></em>,
1142                                                          <em class="parameter"><code><a class="link" href="ClutterModel.html#ClutterModelSortFunc" title="ClutterModelSortFunc ()"><span class="type">ClutterModelSortFunc</span></a> func</code></em>,
1143                                                          <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>,
1144                                                          <em class="parameter"><code><span class="type">GDestroyNotify</span> notify</code></em>);</pre>
1145 <p>
1146 Sorts <em class="parameter"><code>model</code></em> using the given sorting function.
1147 </p>
1148 <div class="variablelist"><table border="0">
1149 <col align="left" valign="top">
1150 <tbody>
1151 <tr>
1152 <td><p><span class="term"><em class="parameter"><code>model</code></em> :</span></p></td>
1153 <td>a <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a>
1154 </td>
1155 </tr>
1156 <tr>
1157 <td><p><span class="term"><em class="parameter"><code>column</code></em> :</span></p></td>
1158 <td>the column to sort on</td>
1159 </tr>
1160 <tr>
1161 <td><p><span class="term"><em class="parameter"><code>func</code></em> :</span></p></td>
1162 <td>a <a class="link" href="ClutterModel.html#ClutterModelSortFunc" title="ClutterModelSortFunc ()"><span class="type">ClutterModelSortFunc</span></a>, or <a href="/home/ebassi/gnome3/install/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL--CAPS"><span class="type">NULL</span></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
1163 </td>
1164 </tr>
1165 <tr>
1166 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
1167 <td>user data to pass to <em class="parameter"><code>func</code></em>, or <a href="/home/ebassi/gnome3/install/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL--CAPS"><span class="type">NULL</span></a>
1168 </td>
1169 </tr>
1170 <tr>
1171 <td><p><span class="term"><em class="parameter"><code>notify</code></em> :</span></p></td>
1172 <td>destroy notifier of <em class="parameter"><code>user_data</code></em>, or <a href="/home/ebassi/gnome3/install/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL--CAPS"><span class="type">NULL</span></a>
1173 </td>
1174 </tr>
1175 </tbody>
1176 </table></div>
1177 <p class="since">Since 0.6</p>
1178 </div>
1179 <hr>
1180 <div class="refsect2">
1181 <a name="clutter-model-resort"></a><h3>clutter_model_resort ()</h3>
1182 <pre class="programlisting"><span class="returnvalue">void</span>                clutter_model_resort                (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>);</pre>
1183 <p>
1184 Force a resort on the <em class="parameter"><code>model</code></em>. This function should only be
1185 used by subclasses of <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a>.
1186 </p>
1187 <div class="variablelist"><table border="0">
1188 <col align="left" valign="top">
1189 <tbody><tr>
1190 <td><p><span class="term"><em class="parameter"><code>model</code></em> :</span></p></td>
1191 <td>a <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a>
1192 </td>
1193 </tr></tbody>
1194 </table></div>
1195 <p class="since">Since 0.6</p>
1196 </div>
1197 <hr>
1198 <div class="refsect2">
1199 <a name="ClutterModelFilterFunc"></a><h3>ClutterModelFilterFunc ()</h3>
1200 <pre class="programlisting"><span class="returnvalue">gboolean</span>            (*ClutterModelFilterFunc)           (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>,
1201                                                          <em class="parameter"><code><a class="link" href="ClutterModelIter.html" title="ClutterModelIter"><span class="type">ClutterModelIter</span></a> *iter</code></em>,
1202                                                          <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);</pre>
1203 <p>
1204 Filters the content of a row in the model.
1205 </p>
1206 <div class="variablelist"><table border="0">
1207 <col align="left" valign="top">
1208 <tbody>
1209 <tr>
1210 <td><p><span class="term"><em class="parameter"><code>model</code></em> :</span></p></td>
1211 <td>a <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a>
1212 </td>
1213 </tr>
1214 <tr>
1215 <td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
1216 <td>the iterator for the row</td>
1217 </tr>
1218 <tr>
1219 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
1220 <td>data passed to <a class="link" href="ClutterModel.html#clutter-model-set-filter" title="clutter_model_set_filter ()"><code class="function">clutter_model_set_filter()</code></a>
1221 </td>
1222 </tr>
1223 <tr>
1224 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1225 <td>If the row should be displayed, return <code class="literal">TRUE</code>
1226 </td>
1227 </tr>
1228 </tbody>
1229 </table></div>
1230 <p class="since">Since 0.6</p>
1231 </div>
1232 <hr>
1233 <div class="refsect2">
1234 <a name="clutter-model-set-filter"></a><h3>clutter_model_set_filter ()</h3>
1235 <pre class="programlisting"><span class="returnvalue">void</span>                clutter_model_set_filter            (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>,
1236                                                          <em class="parameter"><code><a class="link" href="ClutterModel.html#ClutterModelFilterFunc" title="ClutterModelFilterFunc ()"><span class="type">ClutterModelFilterFunc</span></a> func</code></em>,
1237                                                          <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>,
1238                                                          <em class="parameter"><code><span class="type">GDestroyNotify</span> notify</code></em>);</pre>
1239 <p>
1240 Filters the <em class="parameter"><code>model</code></em> using the given filtering function.
1241 </p>
1242 <div class="variablelist"><table border="0">
1243 <col align="left" valign="top">
1244 <tbody>
1245 <tr>
1246 <td><p><span class="term"><em class="parameter"><code>model</code></em> :</span></p></td>
1247 <td>a <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a>
1248 </td>
1249 </tr>
1250 <tr>
1251 <td><p><span class="term"><em class="parameter"><code>func</code></em> :</span></p></td>
1252 <td>a <a class="link" href="ClutterModel.html#ClutterModelFilterFunc" title="ClutterModelFilterFunc ()"><span class="type">ClutterModelFilterFunc</span></a>, or <a href="/home/ebassi/gnome3/install/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL--CAPS"><span class="type">NULL</span></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
1253 </td>
1254 </tr>
1255 <tr>
1256 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
1257 <td>user data to pass to <em class="parameter"><code>func</code></em>, or <a href="/home/ebassi/gnome3/install/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL--CAPS"><span class="type">NULL</span></a>
1258 </td>
1259 </tr>
1260 <tr>
1261 <td><p><span class="term"><em class="parameter"><code>notify</code></em> :</span></p></td>
1262 <td>destroy notifier of <em class="parameter"><code>user_data</code></em>, or <a href="/home/ebassi/gnome3/install/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL--CAPS"><span class="type">NULL</span></a>
1263 </td>
1264 </tr>
1265 </tbody>
1266 </table></div>
1267 <p class="since">Since 0.6</p>
1268 </div>
1269 <hr>
1270 <div class="refsect2">
1271 <a name="clutter-model-get-filter-set"></a><h3>clutter_model_get_filter_set ()</h3>
1272 <pre class="programlisting"><span class="returnvalue">gboolean</span>            clutter_model_get_filter_set        (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>);</pre>
1273 <p>
1274 Returns whether the <em class="parameter"><code>model</code></em> has a filter in place, set
1275 using <a class="link" href="ClutterModel.html#clutter-model-set-filter" title="clutter_model_set_filter ()"><code class="function">clutter_model_set_filter()</code></a>
1276 </p>
1277 <div class="variablelist"><table border="0">
1278 <col align="left" valign="top">
1279 <tbody>
1280 <tr>
1281 <td><p><span class="term"><em class="parameter"><code>model</code></em> :</span></p></td>
1282 <td>a <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a>
1283 </td>
1284 </tr>
1285 <tr>
1286 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1287 <td>
1288 <code class="literal">TRUE</code> if a filter is set</td>
1289 </tr>
1290 </tbody>
1291 </table></div>
1292 <p class="since">Since 1.0</p>
1293 </div>
1294 <hr>
1295 <div class="refsect2">
1296 <a name="clutter-model-filter-iter"></a><h3>clutter_model_filter_iter ()</h3>
1297 <pre class="programlisting"><span class="returnvalue">gboolean</span>            clutter_model_filter_iter           (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>,
1298                                                          <em class="parameter"><code><a class="link" href="ClutterModelIter.html" title="ClutterModelIter"><span class="type">ClutterModelIter</span></a> *iter</code></em>);</pre>
1299 <p>
1300 Checks whether the row pointer by <em class="parameter"><code>iter</code></em> should be filtered or not using
1301 the filtering function set on <em class="parameter"><code>model</code></em>.
1302 </p>
1303 <p>
1304 This function should be used only by subclasses of <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a>.
1305 </p>
1306 <div class="variablelist"><table border="0">
1307 <col align="left" valign="top">
1308 <tbody>
1309 <tr>
1310 <td><p><span class="term"><em class="parameter"><code>model</code></em> :</span></p></td>
1311 <td>a <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a>
1312 </td>
1313 </tr>
1314 <tr>
1315 <td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
1316 <td>the row to filter</td>
1317 </tr>
1318 <tr>
1319 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1320 <td>
1321 <code class="literal">TRUE</code> if the row should be displayed,
1322 <code class="literal">FALSE</code> otherwise</td>
1323 </tr>
1324 </tbody>
1325 </table></div>
1326 <p class="since">Since 0.6</p>
1327 </div>
1328 <hr>
1329 <div class="refsect2">
1330 <a name="clutter-model-filter-row"></a><h3>clutter_model_filter_row ()</h3>
1331 <pre class="programlisting"><span class="returnvalue">gboolean</span>            clutter_model_filter_row            (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>,
1332                                                          <em class="parameter"><code><span class="type">guint</span> row</code></em>);</pre>
1333 <p>
1334 Checks whether <em class="parameter"><code>row</code></em> should be filtered or not using the
1335 filtering function set on <em class="parameter"><code>model</code></em>.
1336 </p>
1337 <p>
1338 This function should be used only by subclasses of <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a>.
1339 </p>
1340 <div class="variablelist"><table border="0">
1341 <col align="left" valign="top">
1342 <tbody>
1343 <tr>
1344 <td><p><span class="term"><em class="parameter"><code>model</code></em> :</span></p></td>
1345 <td>a <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a>
1346 </td>
1347 </tr>
1348 <tr>
1349 <td><p><span class="term"><em class="parameter"><code>row</code></em> :</span></p></td>
1350 <td>the row to filter</td>
1351 </tr>
1352 <tr>
1353 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1354 <td>
1355 <code class="literal">TRUE</code> if the row should be displayed,
1356 <code class="literal">FALSE</code> otherwise</td>
1357 </tr>
1358 </tbody>
1359 </table></div>
1360 <p class="since">Since 0.6</p>
1361 </div>
1362 <hr>
1363 <div class="refsect2">
1364 <a name="clutter-model-get-first-iter"></a><h3>clutter_model_get_first_iter ()</h3>
1365 <pre class="programlisting"><a class="link" href="ClutterModelIter.html" title="ClutterModelIter"><span class="returnvalue">ClutterModelIter</span></a> *  clutter_model_get_first_iter        (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>);</pre>
1366 <p>
1367 Retrieves a <a class="link" href="ClutterModelIter.html" title="ClutterModelIter"><span class="type">ClutterModelIter</span></a> representing the first non-filtered
1368 row in <em class="parameter"><code>model</code></em>.
1369 </p>
1370 <div class="variablelist"><table border="0">
1371 <col align="left" valign="top">
1372 <tbody>
1373 <tr>
1374 <td><p><span class="term"><em class="parameter"><code>model</code></em> :</span></p></td>
1375 <td>a <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a>
1376 </td>
1377 </tr>
1378 <tr>
1379 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1380 <td>A new <a class="link" href="ClutterModelIter.html" title="ClutterModelIter"><span class="type">ClutterModelIter</span></a>.
1381 Call <code class="function">g_object_unref()</code> when done using it. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
1382 </td>
1383 </tr>
1384 </tbody>
1385 </table></div>
1386 <p class="since">Since 0.6</p>
1387 </div>
1388 <hr>
1389 <div class="refsect2">
1390 <a name="clutter-model-get-last-iter"></a><h3>clutter_model_get_last_iter ()</h3>
1391 <pre class="programlisting"><a class="link" href="ClutterModelIter.html" title="ClutterModelIter"><span class="returnvalue">ClutterModelIter</span></a> *  clutter_model_get_last_iter         (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>);</pre>
1392 <p>
1393 Retrieves a <a class="link" href="ClutterModelIter.html" title="ClutterModelIter"><span class="type">ClutterModelIter</span></a> representing the last non-filtered
1394 row in <em class="parameter"><code>model</code></em>.
1395 </p>
1396 <div class="variablelist"><table border="0">
1397 <col align="left" valign="top">
1398 <tbody>
1399 <tr>
1400 <td><p><span class="term"><em class="parameter"><code>model</code></em> :</span></p></td>
1401 <td>a <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a>
1402 </td>
1403 </tr>
1404 <tr>
1405 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1406 <td>A new <a class="link" href="ClutterModelIter.html" title="ClutterModelIter"><span class="type">ClutterModelIter</span></a>.
1407 Call <code class="function">g_object_unref()</code> when done using it. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
1408 </td>
1409 </tr>
1410 </tbody>
1411 </table></div>
1412 <p class="since">Since 0.6</p>
1413 </div>
1414 <hr>
1415 <div class="refsect2">
1416 <a name="clutter-model-get-iter-at-row"></a><h3>clutter_model_get_iter_at_row ()</h3>
1417 <pre class="programlisting"><a class="link" href="ClutterModelIter.html" title="ClutterModelIter"><span class="returnvalue">ClutterModelIter</span></a> *  clutter_model_get_iter_at_row       (<em class="parameter"><code><a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model</code></em>,
1418                                                          <em class="parameter"><code><span class="type">guint</span> row</code></em>);</pre>
1419 <p>
1420 Retrieves a <a class="link" href="ClutterModelIter.html" title="ClutterModelIter"><span class="type">ClutterModelIter</span></a> representing the row at the given index.
1421 </p>
1422 <p>
1423 If a filter function has been set using <a class="link" href="ClutterModel.html#clutter-model-set-filter" title="clutter_model_set_filter ()"><code class="function">clutter_model_set_filter()</code></a>
1424 then the <em class="parameter"><code>model</code></em> implementation will return the first non filtered
1425 row.
1426 </p>
1427 <div class="variablelist"><table border="0">
1428 <col align="left" valign="top">
1429 <tbody>
1430 <tr>
1431 <td><p><span class="term"><em class="parameter"><code>model</code></em> :</span></p></td>
1432 <td>a <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a>
1433 </td>
1434 </tr>
1435 <tr>
1436 <td><p><span class="term"><em class="parameter"><code>row</code></em> :</span></p></td>
1437 <td>position of the row to retrieve</td>
1438 </tr>
1439 <tr>
1440 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1441 <td>A new <a class="link" href="ClutterModelIter.html" title="ClutterModelIter"><span class="type">ClutterModelIter</span></a>, or <a href="/home/ebassi/gnome3/install/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL--CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>row</code></em> was
1442 out of bounds. When done using the iterator object, call <code class="function">g_object_unref()</code>
1443 to deallocate its resources. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
1444 </td>
1445 </tr>
1446 </tbody>
1447 </table></div>
1448 <p class="since">Since 0.6</p>
1449 </div>
1450 </div>
1451 <div class="refsect1">
1452 <a name="ClutterModel.property-details"></a><h2>Property Details</h2>
1453 <div class="refsect2">
1454 <a name="ClutterModel--filter-set"></a><h3>The <code class="literal">"filter-set"</code> property</h3>
1455 <pre class="programlisting">  "filter-set"               <span class="type">gboolean</span>              : Read</pre>
1456 <p>
1457 Whether the <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> has a filter set
1458 </p>
1459 <p>
1460 This property is set to <code class="literal">TRUE</code> if a filter function has been
1461 set using <a class="link" href="ClutterModel.html#clutter-model-set-filter" title="clutter_model_set_filter ()"><code class="function">clutter_model_set_filter()</code></a>
1462 </p>
1463 <p>Default value: FALSE</p>
1464 <p class="since">Since 1.0</p>
1465 </div>
1466 </div>
1467 <div class="refsect1">
1468 <a name="ClutterModel.signal-details"></a><h2>Signal Details</h2>
1469 <div class="refsect2">
1470 <a name="ClutterModel-filter-changed"></a><h3>The <code class="literal">"filter-changed"</code> signal</h3>
1471 <pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model,
1472                                                         <span class="type">gpointer</span>      user_data)      : <code class="literal">Run Last</code></pre>
1473 <p>
1474 The ::filter-changed signal is emitted when a new filter has been applied
1475 </p>
1476 <div class="variablelist"><table border="0">
1477 <col align="left" valign="top">
1478 <tbody>
1479 <tr>
1480 <td><p><span class="term"><em class="parameter"><code>model</code></em> :</span></p></td>
1481 <td>the <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> on which the signal is emitted</td>
1482 </tr>
1483 <tr>
1484 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
1485 <td>user data set when the signal handler was connected.</td>
1486 </tr>
1487 </tbody>
1488 </table></div>
1489 <p class="since">Since 0.6</p>
1490 </div>
1491 <hr>
1492 <div class="refsect2">
1493 <a name="ClutterModel-row-added"></a><h3>The <code class="literal">"row-added"</code> signal</h3>
1494 <pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a>     *model,
1495                                                         <a class="link" href="ClutterModelIter.html" title="ClutterModelIter"><span class="type">ClutterModelIter</span></a> *iter,
1496                                                         <span class="type">gpointer</span>          user_data)      : <code class="literal">Run Last</code></pre>
1497 <p>
1498 The ::row-added signal is emitted when a new row has been added.
1499 The data on the row has already been set when the ::row-added signal
1500 has been emitted.
1501 </p>
1502 <div class="variablelist"><table border="0">
1503 <col align="left" valign="top">
1504 <tbody>
1505 <tr>
1506 <td><p><span class="term"><em class="parameter"><code>model</code></em> :</span></p></td>
1507 <td>the <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> on which the signal is emitted</td>
1508 </tr>
1509 <tr>
1510 <td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
1511 <td>a <a class="link" href="ClutterModelIter.html" title="ClutterModelIter"><span class="type">ClutterModelIter</span></a> pointing to the new row</td>
1512 </tr>
1513 <tr>
1514 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
1515 <td>user data set when the signal handler was connected.</td>
1516 </tr>
1517 </tbody>
1518 </table></div>
1519 <p class="since">Since 0.6</p>
1520 </div>
1521 <hr>
1522 <div class="refsect2">
1523 <a name="ClutterModel-row-changed"></a><h3>The <code class="literal">"row-changed"</code> signal</h3>
1524 <pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a>     *model,
1525                                                         <a class="link" href="ClutterModelIter.html" title="ClutterModelIter"><span class="type">ClutterModelIter</span></a> *iter,
1526                                                         <span class="type">gpointer</span>          user_data)      : <code class="literal">Run Last</code></pre>
1527 <p>
1528 The ::row-removed signal is emitted when a row has been changed.
1529 The data on the row has already been updated when the ::row-changed
1530 signal has been emitted.
1531 </p>
1532 <div class="variablelist"><table border="0">
1533 <col align="left" valign="top">
1534 <tbody>
1535 <tr>
1536 <td><p><span class="term"><em class="parameter"><code>model</code></em> :</span></p></td>
1537 <td>the <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> on which the signal is emitted</td>
1538 </tr>
1539 <tr>
1540 <td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
1541 <td>a <a class="link" href="ClutterModelIter.html" title="ClutterModelIter"><span class="type">ClutterModelIter</span></a> pointing to the changed row</td>
1542 </tr>
1543 <tr>
1544 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
1545 <td>user data set when the signal handler was connected.</td>
1546 </tr>
1547 </tbody>
1548 </table></div>
1549 <p class="since">Since 0.6</p>
1550 </div>
1551 <hr>
1552 <div class="refsect2">
1553 <a name="ClutterModel-row-removed"></a><h3>The <code class="literal">"row-removed"</code> signal</h3>
1554 <pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a>     *model,
1555                                                         <a class="link" href="ClutterModelIter.html" title="ClutterModelIter"><span class="type">ClutterModelIter</span></a> *iter,
1556                                                         <span class="type">gpointer</span>          user_data)      : <code class="literal">Run Last</code></pre>
1557 <p>
1558 The ::row-removed signal is emitted when a row has been removed.
1559 The data on the row pointed by the passed iterator is still valid
1560 when the ::row-removed signal has been emitted.
1561 </p>
1562 <div class="variablelist"><table border="0">
1563 <col align="left" valign="top">
1564 <tbody>
1565 <tr>
1566 <td><p><span class="term"><em class="parameter"><code>model</code></em> :</span></p></td>
1567 <td>the <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> on which the signal is emitted</td>
1568 </tr>
1569 <tr>
1570 <td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
1571 <td>a <a class="link" href="ClutterModelIter.html" title="ClutterModelIter"><span class="type">ClutterModelIter</span></a> pointing to the removed row</td>
1572 </tr>
1573 <tr>
1574 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
1575 <td>user data set when the signal handler was connected.</td>
1576 </tr>
1577 </tbody>
1578 </table></div>
1579 <p class="since">Since 0.6</p>
1580 </div>
1581 <hr>
1582 <div class="refsect2">
1583 <a name="ClutterModel-sort-changed"></a><h3>The <code class="literal">"sort-changed"</code> signal</h3>
1584 <pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> *model,
1585                                                         <span class="type">gpointer</span>      user_data)      : <code class="literal">Run Last</code></pre>
1586 <p>
1587 The ::sort-changed signal is emitted after the model has been sorted
1588 </p>
1589 <div class="variablelist"><table border="0">
1590 <col align="left" valign="top">
1591 <tbody>
1592 <tr>
1593 <td><p><span class="term"><em class="parameter"><code>model</code></em> :</span></p></td>
1594 <td>the <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> on which the signal is emitted</td>
1595 </tr>
1596 <tr>
1597 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
1598 <td>user data set when the signal handler was connected.</td>
1599 </tr>
1600 </tbody>
1601 </table></div>
1602 <p class="since">Since 0.6</p>
1603 </div>
1604 </div>
1605 </div>
1606 <div class="footer">
1607 <hr>
1608           Generated by GTK-Doc V1.18.1</div>
1609 </body>
1610 </html>