1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <title>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">
14 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
17 <td><a accesskey="p" href="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>
23 <tr><td colspan="5" class="shortcuts">
24 <a href="#ClutterModel.synopsis" class="shortcut">Top</a>
26 <a href="#ClutterModel.description" class="shortcut">Description</a>
28 <a href="#ClutterModel.object-hierarchy" class="shortcut">Object Hierarchy</a>
30 <a href="#ClutterModel.implemented-interfaces" class="shortcut">Implemented Interfaces</a>
32 <a href="#ClutterModel.properties" class="shortcut">Properties</a>
34 <a href="#ClutterModel.signals" class="shortcut">Signals</a>
37 <div class="refentry">
38 <a name="ClutterModel"></a><div class="titlepage"></div>
39 <div class="refnamediv"><table width="100%"><tr>
41 <h2><span class="refentrytitle"><a name="ClutterModel.top_of_page"></a>ClutterModel</span></h2>
42 <p>ClutterModel — A generic model implementation</p>
44 <td valign="top" align="right"></td>
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>);
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>);
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>);
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>);
128 <div class="refsect1">
129 <a name="ClutterModel.object-hierarchy"></a><h2>Object Hierarchy</h2>
130 <pre class="synopsis">
133 +----<a class="link" href="ClutterListModel.html" title="ClutterListModel">ClutterListModel</a>
136 <div class="refsect1">
137 <a name="ClutterModel.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
139 ClutterModel implements
140 <a class="link" href="ClutterScriptable.html" title="ClutterScriptable">ClutterScriptable</a>.</p>
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
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>
158 <div class="refsect1">
159 <a name="ClutterModel.description"></a><h2>Description</h2>
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.
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.
169 Creating a simple clutter model:
171 <div class="informalexample">
172 <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
175 <td class="listing_lines" align="right"><pre>1
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>
208 <span class="normal"> N_COLUMNS</span>
209 <span class="cbracket">}</span><span class="symbol">;</span>
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>
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"><</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>
229 <span class="normal"> </span>
230 <span class="cbracket">}</span></pre></td>
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.
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
251 Iterating a <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a>:
253 <div class="informalexample">
254 <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
257 <td class="listing_lines" align="right"><pre>1
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>
289 <span class="normal"> N_COLUMNS</span>
290 <span class="cbracket">}</span><span class="symbol">;</span>
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>
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>
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>
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>
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.
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>
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
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.
343 <pre class="programlisting">
345 "type" : "ClutterListModel",
346 "id" : "teams-model",
348 [ "Name", "gchararray" ],
350 [ "Icon", "ClutterTexture" ]
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" }
361 <br class="example-break">
366 <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> is available since Clutter 0.6
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>
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
379 <p class="since">Since 0.6</p>
382 <div class="refsect2">
383 <a name="ClutterModelClass"></a><h3>struct ClutterModelClass</h3>
384 <pre class="programlisting">struct ClutterModelClass {
386 guint (* get_n_rows) (ClutterModel *model);
387 guint (* get_n_columns) (ClutterModel *model);
388 const gchar * (* get_column_name) (ClutterModel *model,
390 GType (* get_column_type) (ClutterModel *model,
392 ClutterModelIter *(* insert_row) (ClutterModel *model,
394 void (* remove_row) (ClutterModel *model,
396 ClutterModelIter *(* get_iter_at_row) (ClutterModel *model,
398 void (* resort) (ClutterModel *model,
399 ClutterModelSortFunc func,
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);
414 Class for <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> instances.
416 <div class="variablelist"><table border="0">
417 <col align="left" valign="top">
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
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
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>
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>
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>
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>
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
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>
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>
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>
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>
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>
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>
479 <p class="since">Since 0.6</p>
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>
488 Assigns a name to the columns of a <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a>.
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>.
495 <div class="variablelist"><table border="0">
496 <col align="left" valign="top">
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>
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>
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>
514 <p class="since">Since 0.6</p>
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>
523 Sets the types of the columns inside a <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a>.
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>.
530 <div class="variablelist"><table border="0">
531 <col align="left" valign="top">
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>
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>
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>
549 <p class="since">Since 0.6</p>
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>
557 Retrieves the name of the <em class="parameter"><code>column</code></em>
559 <div class="variablelist"><table border="0">
560 <col align="left" valign="top">
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>
567 <td><p><span class="term"><em class="parameter"><code>column</code></em> :</span></p></td>
568 <td>the column number</td>
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>
577 <p class="since">Since 0.6</p>
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>
585 Retrieves the type of the <em class="parameter"><code>column</code></em>.
587 <div class="variablelist"><table border="0">
588 <col align="left" valign="top">
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>
595 <td><p><span class="term"><em class="parameter"><code>column</code></em> :</span></p></td>
596 <td>the column number</td>
599 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
600 <td>the type of the column.</td>
604 <p class="since">Since 0.6</p>
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>
611 Retrieves the number of columns inside <em class="parameter"><code>model</code></em>.
613 <div class="variablelist"><table border="0">
614 <col align="left" valign="top">
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>
622 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
623 <td>the number of columns</td>
627 <p class="since">Since 0.6</p>
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>
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>.
637 <div class="variablelist"><table border="0">
638 <col align="left" valign="top">
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>
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>
652 <p class="since">Since 0.6</p>
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>
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>:
666 <div class="informalexample">
667 <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
670 <td class="listing_lines" align="right"><pre>1
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 <GTKDOCLINK HREF="</span><span class="number">1</span><span class="symbol">:</span><span class="normal">CAPS</span><span class="string">">1</GTKDOCLINK>"</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">-</span><span class="number">1</span><span class="symbol">);</span></pre></td>
687 <div class="variablelist"><table border="0">
688 <col align="left" valign="top">
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>
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>
701 <p class="since">Since 0.6</p>
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>
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.
714 <div class="variablelist"><table border="0">
715 <col align="left" valign="top">
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>
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>
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>
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>
738 <p class="since">Since 0.6</p>
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>
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>:
752 <div class="informalexample">
753 <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
756 <td class="listing_lines" align="right"><pre>1
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 <GTKDOCLINK HREF="</span><span class="number">1</span><span class="symbol">:</span><span class="normal">CAPS</span><span class="string">">1</GTKDOCLINK>"</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">-</span><span class="number">1</span><span class="symbol">);</span></pre></td>
773 <div class="variablelist"><table border="0">
774 <col align="left" valign="top">
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>
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>
787 <p class="since">Since 0.6</p>
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>
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.
800 <div class="variablelist"><table border="0">
801 <col align="left" valign="top">
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>
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>
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>
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>
824 <p class="since">Since 0.6</p>
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>
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>:
840 <div class="informalexample">
841 <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
844 <td class="listing_lines" align="right"><pre>1
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 <GTKDOCLINK HREF="</span><span class="number">1</span><span class="symbol">:</span><span class="normal">CAPS</span><span class="string">">1</GTKDOCLINK>"</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">-</span><span class="number">1</span><span class="symbol">);</span></pre></td>
861 <div class="variablelist"><table border="0">
862 <col align="left" valign="top">
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>
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>
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>
879 <p class="since">Since 0.6</p>
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>
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.
893 <div class="variablelist"><table border="0">
894 <col align="left" valign="top">
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>
902 <td><p><span class="term"><em class="parameter"><code>row</code></em> :</span></p></td>
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>
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>
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>
921 <p class="since">Since 0.6</p>
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>
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.
935 <div class="variablelist"><table border="0">
936 <col align="left" valign="top">
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>
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>
948 <td><p><span class="term"><em class="parameter"><code>column</code></em> :</span></p></td>
949 <td>column to modify</td>
952 <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
953 <td>new value for the cell</td>
957 <p class="since">Since 0.6</p>
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>
965 Removes the row at the given position from the model.
967 <div class="variablelist"><table border="0">
968 <col align="left" valign="top">
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>
976 <td><p><span class="term"><em class="parameter"><code>row</code></em> :</span></p></td>
977 <td>position of row to remove</td>
981 <p class="since">Since 0.6</p>
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>
990 Iterates on the content of a row in the model
992 <div class="variablelist"><table border="0">
993 <col align="left" valign="top">
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>
1001 <td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
1002 <td>the iterator for the row</td>
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>
1010 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1012 <code class="literal">TRUE</code> if the iteration should continue, <code class="literal">FALSE</code> otherwise</td>
1016 <p class="since">Since 0.6</p>
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>
1025 Calls <em class="parameter"><code>func</code></em> for each row in the model.
1027 <div class="variablelist"><table border="0">
1028 <col align="left" valign="top">
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>
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>
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>
1047 <p class="since">Since 0.6</p>
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>
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.
1058 <div class="variablelist"><table border="0">
1059 <col align="left" valign="top">
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>
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>
1072 <p class="since">Since 0.6</p>
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>
1079 Retrieves the number of column used for sorting the <em class="parameter"><code>model</code></em>.
1081 <div class="variablelist"><table border="0">
1082 <col align="left" valign="top">
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>
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>
1095 <p class="since">Since 0.6</p>
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>
1105 Compares the content of two rows in the model.
1107 <div class="variablelist"><table border="0">
1108 <col align="left" valign="top">
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>
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>
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>
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>
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>
1135 <p class="since">Since 0.6</p>
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>
1146 Sorts <em class="parameter"><code>model</code></em> using the given sorting function.
1148 <div class="variablelist"><table border="0">
1149 <col align="left" valign="top">
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>
1157 <td><p><span class="term"><em class="parameter"><code>column</code></em> :</span></p></td>
1158 <td>the column to sort on</td>
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>
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>
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>
1177 <p class="since">Since 0.6</p>
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>
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>.
1187 <div class="variablelist"><table border="0">
1188 <col align="left" valign="top">
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>
1195 <p class="since">Since 0.6</p>
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>
1204 Filters the content of a row in the model.
1206 <div class="variablelist"><table border="0">
1207 <col align="left" valign="top">
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>
1215 <td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
1216 <td>the iterator for the row</td>
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>
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>
1230 <p class="since">Since 0.6</p>
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>
1240 Filters the <em class="parameter"><code>model</code></em> using the given filtering function.
1242 <div class="variablelist"><table border="0">
1243 <col align="left" valign="top">
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>
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>
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>
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>
1267 <p class="since">Since 0.6</p>
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>
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>
1277 <div class="variablelist"><table border="0">
1278 <col align="left" valign="top">
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>
1286 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1288 <code class="literal">TRUE</code> if a filter is set</td>
1292 <p class="since">Since 1.0</p>
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>
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>.
1304 This function should be used only by subclasses of <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a>.
1306 <div class="variablelist"><table border="0">
1307 <col align="left" valign="top">
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>
1315 <td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
1316 <td>the row to filter</td>
1319 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1321 <code class="literal">TRUE</code> if the row should be displayed,
1322 <code class="literal">FALSE</code> otherwise</td>
1326 <p class="since">Since 0.6</p>
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>
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>.
1338 This function should be used only by subclasses of <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a>.
1340 <div class="variablelist"><table border="0">
1341 <col align="left" valign="top">
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>
1349 <td><p><span class="term"><em class="parameter"><code>row</code></em> :</span></p></td>
1350 <td>the row to filter</td>
1353 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1355 <code class="literal">TRUE</code> if the row should be displayed,
1356 <code class="literal">FALSE</code> otherwise</td>
1360 <p class="since">Since 0.6</p>
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>
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>.
1370 <div class="variablelist"><table border="0">
1371 <col align="left" valign="top">
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>
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>
1386 <p class="since">Since 0.6</p>
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>
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>.
1396 <div class="variablelist"><table border="0">
1397 <col align="left" valign="top">
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>
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>
1412 <p class="since">Since 0.6</p>
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>
1420 Retrieves a <a class="link" href="ClutterModelIter.html" title="ClutterModelIter"><span class="type">ClutterModelIter</span></a> representing the row at the given index.
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
1427 <div class="variablelist"><table border="0">
1428 <col align="left" valign="top">
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>
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>
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>
1448 <p class="since">Since 0.6</p>
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>
1457 Whether the <a class="link" href="ClutterModel.html" title="ClutterModel"><span class="type">ClutterModel</span></a> has a filter set
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>
1463 <p>Default value: FALSE</p>
1464 <p class="since">Since 1.0</p>
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>
1474 The ::filter-changed signal is emitted when a new filter has been applied
1476 <div class="variablelist"><table border="0">
1477 <col align="left" valign="top">
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>
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>
1489 <p class="since">Since 0.6</p>
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>
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
1502 <div class="variablelist"><table border="0">
1503 <col align="left" valign="top">
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>
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>
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>
1519 <p class="since">Since 0.6</p>
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>
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.
1532 <div class="variablelist"><table border="0">
1533 <col align="left" valign="top">
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>
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>
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>
1549 <p class="since">Since 0.6</p>
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>
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.
1562 <div class="variablelist"><table border="0">
1563 <col align="left" valign="top">
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>
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>
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>
1579 <p class="since">Since 0.6</p>
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>
1587 The ::sort-changed signal is emitted after the model has been sorted
1589 <div class="variablelist"><table border="0">
1590 <col align="left" valign="top">
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>
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>
1602 <p class="since">Since 0.6</p>
1606 <div class="footer">
1608 Generated by GTK-Doc V1.18.1</div>