2
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
3
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
4
<refentry id="ETreeModelGenerator">
6
<refentrytitle role="top_of_page" id="ETreeModelGenerator.top_of_page">ETreeModelGenerator</refentrytitle>
7
<manvolnum>3</manvolnum>
9
LIBEDATASERVERUI Library
13
<refname>ETreeModelGenerator</refname>
14
<refpurpose></refpurpose>
17
<refsynopsisdiv id="ETreeModelGenerator.synopsis" role="synopsis">
18
<title role="synopsis.title">Synopsis</title>
20
<synopsis><link linkend="gint"><returnvalue>gint</returnvalue></link> (<link linkend="ETreeModelGeneratorGenerateFunc">*ETreeModelGeneratorGenerateFunc</link>) (<parameter><link linkend="GtkTreeModel"><type>GtkTreeModel</type></link> *model</parameter>,
21
<parameter><link linkend="GtkTreeIter"><type>GtkTreeIter</type></link> *child_iter</parameter>,
22
<parameter><link linkend="gpointer"><type>gpointer</type></link> data</parameter>);
23
<link linkend="void"><returnvalue>void</returnvalue></link> (<link linkend="ETreeModelGeneratorModifyFunc">*ETreeModelGeneratorModifyFunc</link>) (<parameter><link linkend="GtkTreeModel"><type>GtkTreeModel</type></link> *model</parameter>,
24
<parameter><link linkend="GtkTreeIter"><type>GtkTreeIter</type></link> *child_iter</parameter>,
25
<parameter><link linkend="gint"><type>gint</type></link> permutation_n</parameter>,
26
<parameter><link linkend="gint"><type>gint</type></link> column</parameter>,
27
<parameter><link linkend="GValue"><type>GValue</type></link> *value</parameter>,
28
<parameter><link linkend="gpointer"><type>gpointer</type></link> data</parameter>);
29
<link linkend="ETreeModelGenerator-struct">ETreeModelGenerator</link>;
30
<link linkend="ETreeModelGenerator"><returnvalue>ETreeModelGenerator</returnvalue></link> * <link linkend="e-tree-model-generator-new">e_tree_model_generator_new</link> (<parameter><link linkend="GtkTreeModel"><type>GtkTreeModel</type></link> *child_model</parameter>);
31
<link linkend="GtkTreeModel"><returnvalue>GtkTreeModel</returnvalue></link> * <link linkend="e-tree-model-generator-get-model">e_tree_model_generator_get_model</link> (<parameter><link linkend="ETreeModelGenerator"><type>ETreeModelGenerator</type></link> *tree_model_generator</parameter>);
32
<link linkend="void"><returnvalue>void</returnvalue></link> <link linkend="e-tree-model-generator-set-generate-func">e_tree_model_generator_set_generate_func</link>
33
(<parameter><link linkend="ETreeModelGenerator"><type>ETreeModelGenerator</type></link> *tree_model_generator</parameter>,
34
<parameter><link linkend="ETreeModelGeneratorGenerateFunc"><type>ETreeModelGeneratorGenerateFunc</type></link> func</parameter>,
35
<parameter><link linkend="gpointer"><type>gpointer</type></link> data</parameter>,
36
<parameter><link linkend="GDestroyNotify"><type>GDestroyNotify</type></link> destroy</parameter>);
37
<link linkend="void"><returnvalue>void</returnvalue></link> <link linkend="e-tree-model-generator-set-modify-func">e_tree_model_generator_set_modify_func</link>
38
(<parameter><link linkend="ETreeModelGenerator"><type>ETreeModelGenerator</type></link> *tree_model_generator</parameter>,
39
<parameter><link linkend="ETreeModelGeneratorModifyFunc"><type>ETreeModelGeneratorModifyFunc</type></link> func</parameter>,
40
<parameter><link linkend="gpointer"><type>gpointer</type></link> data</parameter>,
41
<parameter><link linkend="GDestroyNotify"><type>GDestroyNotify</type></link> destroy</parameter>);
42
<link linkend="GtkTreePath"><returnvalue>GtkTreePath</returnvalue></link> * <link linkend="e-tree-model-generator-convert-child-path-to-path">e_tree_model_generator_convert_child_path_to_path</link>
43
(<parameter><link linkend="ETreeModelGenerator"><type>ETreeModelGenerator</type></link> *tree_model_generator</parameter>,
44
<parameter><link linkend="GtkTreePath"><type>GtkTreePath</type></link> *child_path</parameter>);
45
<link linkend="void"><returnvalue>void</returnvalue></link> <link linkend="e-tree-model-generator-convert-child-iter-to-iter">e_tree_model_generator_convert_child_iter_to_iter</link>
46
(<parameter><link linkend="ETreeModelGenerator"><type>ETreeModelGenerator</type></link> *tree_model_generator</parameter>,
47
<parameter><link linkend="GtkTreeIter"><type>GtkTreeIter</type></link> *generator_iter</parameter>,
48
<parameter><link linkend="GtkTreeIter"><type>GtkTreeIter</type></link> *child_iter</parameter>);
49
<link linkend="GtkTreePath"><returnvalue>GtkTreePath</returnvalue></link> * <link linkend="e-tree-model-generator-convert-path-to-child-path">e_tree_model_generator_convert_path_to_child_path</link>
50
(<parameter><link linkend="ETreeModelGenerator"><type>ETreeModelGenerator</type></link> *tree_model_generator</parameter>,
51
<parameter><link linkend="GtkTreePath"><type>GtkTreePath</type></link> *generator_path</parameter>);
52
<link linkend="void"><returnvalue>void</returnvalue></link> <link linkend="e-tree-model-generator-convert-iter-to-child-iter">e_tree_model_generator_convert_iter_to_child_iter</link>
53
(<parameter><link linkend="ETreeModelGenerator"><type>ETreeModelGenerator</type></link> *tree_model_generator</parameter>,
54
<parameter><link linkend="GtkTreeIter"><type>GtkTreeIter</type></link> *child_iter</parameter>,
55
<parameter><link linkend="gint"><type>gint</type></link> *permutation_n</parameter>,
56
<parameter><link linkend="GtkTreeIter"><type>GtkTreeIter</type></link> *generator_iter</parameter>);
59
<refsect1 id="ETreeModelGenerator.object-hierarchy" role="object_hierarchy">
60
<title role="object_hierarchy.title">Object Hierarchy</title>
62
<link linkend="GObject">GObject</link>
63
+----ETreeModelGenerator
66
<refsect1 id="ETreeModelGenerator.implemented-interfaces" role="impl_interfaces">
67
<title role="impl_interfaces.title">Implemented Interfaces</title>
69
ETreeModelGenerator implements
70
<link linkend="GtkTreeModel">GtkTreeModel</link>.</para>
72
<refsect1 id="ETreeModelGenerator.properties" role="properties">
73
<title role="properties.title">Properties</title>
75
"<link linkend="ETreeModelGenerator--child-model">child-model</link>" <link linkend="GObject"><type>GObject</type></link>* : Read / Write / Construct Only
79
<refsect1 id="ETreeModelGenerator.description" role="desc">
80
<title role="desc.title">Description</title>
84
<refsect1 id="ETreeModelGenerator.details" role="details">
85
<title role="details.title">Details</title>
86
<refsect2 id="ETreeModelGeneratorGenerateFunc" role="function">
87
<title>ETreeModelGeneratorGenerateFunc ()</title>
88
<indexterm zone="ETreeModelGeneratorGenerateFunc"><primary>ETreeModelGeneratorGenerateFunc</primary></indexterm>
89
<programlisting><link linkend="gint"><returnvalue>gint</returnvalue></link> (*ETreeModelGeneratorGenerateFunc) (<parameter><link linkend="GtkTreeModel"><type>GtkTreeModel</type></link> *model</parameter>,
90
<parameter><link linkend="GtkTreeIter"><type>GtkTreeIter</type></link> *child_iter</parameter>,
91
<parameter><link linkend="gpointer"><type>gpointer</type></link> data</parameter>);</programlisting>
93
</para><variablelist role="params">
94
<varlistentry><term><parameter>model</parameter> :</term>
96
</simpara></listitem></varlistentry>
97
<varlistentry><term><parameter>child_iter</parameter> :</term>
99
</simpara></listitem></varlistentry>
100
<varlistentry><term><parameter>data</parameter> :</term>
102
</simpara></listitem></varlistentry>
103
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
104
</simpara></listitem></varlistentry>
105
</variablelist></refsect2>
106
<refsect2 id="ETreeModelGeneratorModifyFunc" role="function">
107
<title>ETreeModelGeneratorModifyFunc ()</title>
108
<indexterm zone="ETreeModelGeneratorModifyFunc"><primary>ETreeModelGeneratorModifyFunc</primary></indexterm>
109
<programlisting><link linkend="void"><returnvalue>void</returnvalue></link> (*ETreeModelGeneratorModifyFunc) (<parameter><link linkend="GtkTreeModel"><type>GtkTreeModel</type></link> *model</parameter>,
110
<parameter><link linkend="GtkTreeIter"><type>GtkTreeIter</type></link> *child_iter</parameter>,
111
<parameter><link linkend="gint"><type>gint</type></link> permutation_n</parameter>,
112
<parameter><link linkend="gint"><type>gint</type></link> column</parameter>,
113
<parameter><link linkend="GValue"><type>GValue</type></link> *value</parameter>,
114
<parameter><link linkend="gpointer"><type>gpointer</type></link> data</parameter>);</programlisting>
116
</para><variablelist role="params">
117
<varlistentry><term><parameter>model</parameter> :</term>
119
</simpara></listitem></varlistentry>
120
<varlistentry><term><parameter>child_iter</parameter> :</term>
122
</simpara></listitem></varlistentry>
123
<varlistentry><term><parameter>permutation_n</parameter> :</term>
125
</simpara></listitem></varlistentry>
126
<varlistentry><term><parameter>column</parameter> :</term>
128
</simpara></listitem></varlistentry>
129
<varlistentry><term><parameter>value</parameter> :</term>
131
</simpara></listitem></varlistentry>
132
<varlistentry><term><parameter>data</parameter> :</term>
134
</simpara></listitem></varlistentry>
135
</variablelist></refsect2>
136
<refsect2 id="ETreeModelGenerator-struct" role="struct">
137
<title>ETreeModelGenerator</title>
138
<indexterm zone="ETreeModelGenerator-struct"><primary>ETreeModelGenerator</primary></indexterm>
139
<programlisting>typedef struct _ETreeModelGenerator ETreeModelGenerator;</programlisting>
142
<refsect2 id="e-tree-model-generator-new" role="function">
143
<title>e_tree_model_generator_new ()</title>
144
<indexterm zone="e-tree-model-generator-new"><primary>e_tree_model_generator_new</primary></indexterm>
145
<programlisting><link linkend="ETreeModelGenerator"><returnvalue>ETreeModelGenerator</returnvalue></link> * e_tree_model_generator_new (<parameter><link linkend="GtkTreeModel"><type>GtkTreeModel</type></link> *child_model</parameter>);</programlisting>
147
Creates a new <link linkend="ETreeModelGenerator"><type>ETreeModelGenerator</type></link> wrapping <parameter>child_model</parameter>.</para>
148
<variablelist role="params">
149
<varlistentry><term><parameter>child_model</parameter> :</term>
150
<listitem><simpara>a <link linkend="GtkTreeModel"><type>GtkTreeModel</type></link>
151
</simpara></listitem></varlistentry>
152
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> A new <link linkend="ETreeModelGenerator"><type>ETreeModelGenerator</type></link>.
153
</simpara></listitem></varlistentry>
154
</variablelist></refsect2>
155
<refsect2 id="e-tree-model-generator-get-model" role="function">
156
<title>e_tree_model_generator_get_model ()</title>
157
<indexterm zone="e-tree-model-generator-get-model"><primary>e_tree_model_generator_get_model</primary></indexterm>
158
<programlisting><link linkend="GtkTreeModel"><returnvalue>GtkTreeModel</returnvalue></link> * e_tree_model_generator_get_model (<parameter><link linkend="ETreeModelGenerator"><type>ETreeModelGenerator</type></link> *tree_model_generator</parameter>);</programlisting>
160
Gets the child model being wrapped by <parameter>tree_model_generator</parameter>.</para>
161
<variablelist role="params">
162
<varlistentry><term><parameter>tree_model_generator</parameter> :</term>
163
<listitem><simpara>an <link linkend="ETreeModelGenerator"><type>ETreeModelGenerator</type></link>
164
</simpara></listitem></varlistentry>
165
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> A <link linkend="GtkTreeModel"><type>GtkTreeModel</type></link> being wrapped.
166
</simpara></listitem></varlistentry>
167
</variablelist></refsect2>
168
<refsect2 id="e-tree-model-generator-set-generate-func" role="function">
169
<title>e_tree_model_generator_set_generate_func ()</title>
170
<indexterm zone="e-tree-model-generator-set-generate-func"><primary>e_tree_model_generator_set_generate_func</primary></indexterm>
171
<programlisting><link linkend="void"><returnvalue>void</returnvalue></link> e_tree_model_generator_set_generate_func
172
(<parameter><link linkend="ETreeModelGenerator"><type>ETreeModelGenerator</type></link> *tree_model_generator</parameter>,
173
<parameter><link linkend="ETreeModelGeneratorGenerateFunc"><type>ETreeModelGeneratorGenerateFunc</type></link> func</parameter>,
174
<parameter><link linkend="gpointer"><type>gpointer</type></link> data</parameter>,
175
<parameter><link linkend="GDestroyNotify"><type>GDestroyNotify</type></link> destroy</parameter>);</programlisting>
177
Sets the callback function used to filter or generate additional rows
178
based on the child model's data. This function is called for each child
179
row, and returns a value indicating the number of rows that will be
180
used to represent the child row - 0 or more.
183
If <parameter>func</parameter> is <link linkend="NULL:CAPS"><literal>NULL</literal></link>, a filtering/generating function will not be applied.</para>
184
<variablelist role="params">
185
<varlistentry><term><parameter>tree_model_generator</parameter> :</term>
186
<listitem><simpara>an <link linkend="ETreeModelGenerator"><type>ETreeModelGenerator</type></link>
187
</simpara></listitem></varlistentry>
188
<varlistentry><term><parameter>func</parameter> :</term>
189
<listitem><simpara>an <link linkend="ETreeModelGeneratorGenerateFunc"><type>ETreeModelGeneratorGenerateFunc</type></link>, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>
190
</simpara></listitem></varlistentry>
191
<varlistentry><term><parameter>data</parameter> :</term>
192
<listitem><simpara>user data to pass to <parameter>func</parameter>
193
</simpara></listitem></varlistentry>
194
</variablelist></refsect2>
195
<refsect2 id="e-tree-model-generator-set-modify-func" role="function">
196
<title>e_tree_model_generator_set_modify_func ()</title>
197
<indexterm zone="e-tree-model-generator-set-modify-func"><primary>e_tree_model_generator_set_modify_func</primary></indexterm>
198
<programlisting><link linkend="void"><returnvalue>void</returnvalue></link> e_tree_model_generator_set_modify_func
199
(<parameter><link linkend="ETreeModelGenerator"><type>ETreeModelGenerator</type></link> *tree_model_generator</parameter>,
200
<parameter><link linkend="ETreeModelGeneratorModifyFunc"><type>ETreeModelGeneratorModifyFunc</type></link> func</parameter>,
201
<parameter><link linkend="gpointer"><type>gpointer</type></link> data</parameter>,
202
<parameter><link linkend="GDestroyNotify"><type>GDestroyNotify</type></link> destroy</parameter>);</programlisting>
204
Sets the callback function used to override values for the child row's
205
columns and specify values for generated rows' columns.
208
If <parameter>func</parameter> is <link linkend="NULL:CAPS"><literal>NULL</literal></link>, the child model's values will always be used.</para>
209
<variablelist role="params">
210
<varlistentry><term><parameter>tree_model_generator</parameter> :</term>
211
<listitem><simpara>an <link linkend="ETreeModelGenerator"><type>ETreeModelGenerator</type></link>
212
</simpara></listitem></varlistentry>
213
<varlistentry><term><parameter>func</parameter> :</term>
214
<listitem><simpara>an <parameter>ETreeModelGeneratorModifyFunc</parameter>, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>
215
</simpara></listitem></varlistentry>
216
<varlistentry><term><parameter>data</parameter> :</term>
217
<listitem><simpara>user data to pass to <parameter>func</parameter>
218
</simpara></listitem></varlistentry>
219
</variablelist></refsect2>
220
<refsect2 id="e-tree-model-generator-convert-child-path-to-path" role="function">
221
<title>e_tree_model_generator_convert_child_path_to_path ()</title>
222
<indexterm zone="e-tree-model-generator-convert-child-path-to-path"><primary>e_tree_model_generator_convert_child_path_to_path</primary></indexterm>
223
<programlisting><link linkend="GtkTreePath"><returnvalue>GtkTreePath</returnvalue></link> * e_tree_model_generator_convert_child_path_to_path
224
(<parameter><link linkend="ETreeModelGenerator"><type>ETreeModelGenerator</type></link> *tree_model_generator</parameter>,
225
<parameter><link linkend="GtkTreePath"><type>GtkTreePath</type></link> *child_path</parameter>);</programlisting>
227
Convert a path to a child row to a path to a <parameter>tree_model_generator</parameter> row.</para>
228
<variablelist role="params">
229
<varlistentry><term><parameter>tree_model_generator</parameter> :</term>
230
<listitem><simpara>an <link linkend="ETreeModelGenerator"><type>ETreeModelGenerator</type></link>
231
</simpara></listitem></varlistentry>
232
<varlistentry><term><parameter>child_path</parameter> :</term>
233
<listitem><simpara>a <link linkend="GtkTreePath"><type>GtkTreePath</type></link>
234
</simpara></listitem></varlistentry>
235
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> A new GtkTreePath, owned by the caller.
236
</simpara></listitem></varlistentry>
237
</variablelist></refsect2>
238
<refsect2 id="e-tree-model-generator-convert-child-iter-to-iter" role="function">
239
<title>e_tree_model_generator_convert_child_iter_to_iter ()</title>
240
<indexterm zone="e-tree-model-generator-convert-child-iter-to-iter"><primary>e_tree_model_generator_convert_child_iter_to_iter</primary></indexterm>
241
<programlisting><link linkend="void"><returnvalue>void</returnvalue></link> e_tree_model_generator_convert_child_iter_to_iter
242
(<parameter><link linkend="ETreeModelGenerator"><type>ETreeModelGenerator</type></link> *tree_model_generator</parameter>,
243
<parameter><link linkend="GtkTreeIter"><type>GtkTreeIter</type></link> *generator_iter</parameter>,
244
<parameter><link linkend="GtkTreeIter"><type>GtkTreeIter</type></link> *child_iter</parameter>);</programlisting>
246
Convert <parameter>child_iter</parameter> to a corresponding <link linkend="GtkTreeIter"><type>GtkTreeIter</type></link> for <parameter>tree_model_generator</parameter>,
247
storing the result in <parameter>generator_iter</parameter>.</para>
248
<variablelist role="params">
249
<varlistentry><term><parameter>tree_model_generator</parameter> :</term>
250
<listitem><simpara>an <link linkend="ETreeModelGenerator"><type>ETreeModelGenerator</type></link>
251
</simpara></listitem></varlistentry>
252
<varlistentry><term><parameter>generator_iter</parameter> :</term>
253
<listitem><simpara>a <link linkend="GtkTreeIter"><type>GtkTreeIter</type></link> to set
254
</simpara></listitem></varlistentry>
255
<varlistentry><term><parameter>child_iter</parameter> :</term>
256
<listitem><simpara>a <link linkend="GtkTreeIter"><type>GtkTreeIter</type></link> to convert
257
</simpara></listitem></varlistentry>
258
</variablelist></refsect2>
259
<refsect2 id="e-tree-model-generator-convert-path-to-child-path" role="function">
260
<title>e_tree_model_generator_convert_path_to_child_path ()</title>
261
<indexterm zone="e-tree-model-generator-convert-path-to-child-path"><primary>e_tree_model_generator_convert_path_to_child_path</primary></indexterm>
262
<programlisting><link linkend="GtkTreePath"><returnvalue>GtkTreePath</returnvalue></link> * e_tree_model_generator_convert_path_to_child_path
263
(<parameter><link linkend="ETreeModelGenerator"><type>ETreeModelGenerator</type></link> *tree_model_generator</parameter>,
264
<parameter><link linkend="GtkTreePath"><type>GtkTreePath</type></link> *generator_path</parameter>);</programlisting>
266
Converts <parameter>generator_path</parameter> to a corresponding <link linkend="GtkTreePath"><type>GtkTreePath</type></link> in the child model.</para>
267
<variablelist role="params">
268
<varlistentry><term><parameter>tree_model_generator</parameter> :</term>
269
<listitem><simpara>an <link linkend="ETreeModelGenerator"><type>ETreeModelGenerator</type></link>
270
</simpara></listitem></varlistentry>
271
<varlistentry><term><parameter>generator_path</parameter> :</term>
272
<listitem><simpara>a <link linkend="GtkTreePath"><type>GtkTreePath</type></link> to a <parameter>tree_model_generator</parameter> row
273
</simpara></listitem></varlistentry>
274
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> A new <link linkend="GtkTreePath"><type>GtkTreePath</type></link>, owned by the caller.
275
</simpara></listitem></varlistentry>
276
</variablelist></refsect2>
277
<refsect2 id="e-tree-model-generator-convert-iter-to-child-iter" role="function">
278
<title>e_tree_model_generator_convert_iter_to_child_iter ()</title>
279
<indexterm zone="e-tree-model-generator-convert-iter-to-child-iter"><primary>e_tree_model_generator_convert_iter_to_child_iter</primary></indexterm>
280
<programlisting><link linkend="void"><returnvalue>void</returnvalue></link> e_tree_model_generator_convert_iter_to_child_iter
281
(<parameter><link linkend="ETreeModelGenerator"><type>ETreeModelGenerator</type></link> *tree_model_generator</parameter>,
282
<parameter><link linkend="GtkTreeIter"><type>GtkTreeIter</type></link> *child_iter</parameter>,
283
<parameter><link linkend="gint"><type>gint</type></link> *permutation_n</parameter>,
284
<parameter><link linkend="GtkTreeIter"><type>GtkTreeIter</type></link> *generator_iter</parameter>);</programlisting>
286
Converts a <parameter>tree_model_generator</parameter> row into a child row and permutation index.
287
The permutation index is the index of the generated row based on this
288
child row, with the first generated row based on this child row being 0.</para>
289
<variablelist role="params">
290
<varlistentry><term><parameter>tree_model_generator</parameter> :</term>
291
<listitem><simpara>an <link linkend="ETreeModelGenerator"><type>ETreeModelGenerator</type></link>
292
</simpara></listitem></varlistentry>
293
<varlistentry><term><parameter>child_iter</parameter> :</term>
294
<listitem><simpara>a <link linkend="GtkTreeIter"><type>GtkTreeIter</type></link> to set
295
</simpara></listitem></varlistentry>
296
<varlistentry><term><parameter>permutation_n</parameter> :</term>
297
<listitem><simpara>a permutation index to set
298
</simpara></listitem></varlistentry>
299
<varlistentry><term><parameter>generator_iter</parameter> :</term>
300
<listitem><simpara>a <link linkend="GtkTreeIter"><type>GtkTreeIter</type></link> indicating the row to convert
301
</simpara></listitem></varlistentry>
302
</variablelist></refsect2>
305
<refsect1 id="ETreeModelGenerator.property-details" role="property_details">
306
<title role="property_details.title">Property Details</title>
307
<refsect2 id="ETreeModelGenerator--child-model" role="property"><title>The <literal>"child-model"</literal> property</title>
308
<indexterm zone="ETreeModelGenerator--child-model"><primary>ETreeModelGenerator:child-model</primary></indexterm>
309
<programlisting> "child-model" <link linkend="GObject"><type>GObject</type></link>* : Read / Write / Construct Only</programlisting>
310
<para>The child model to extend.</para></refsect2>