5fc5d2a422ca569ee6a12b2589d37ee8af5a1afc
[hildon] / doc / tmpl / hildon-caption.sgml
1 <!-- ##### SECTION Title ##### -->
2 HildonCaption
3
4 <!-- ##### SECTION Short_Description ##### -->
5
6
7 <!-- ##### SECTION Long_Description ##### -->
8 <para>
9
10 </para>
11
12 <para>
13 <informalexample>
14 <programlisting>
15 <!-- hildon-tests/wt/hildon-widgets-combo/testcaptioncontrol.c -->
16 ##include &lt;hildon-widgets/hildon-caption.h&gt;
17
18 ##include &lt;gtk/gtkwidget.h&gt;
19 ##include &lt;gtk/gtkvbox.h&gt;
20 ##include &lt;gtk/gtkhbox.h&gt;
21 ##include &lt;gtk/gtkcombobox.h&gt;
22 ##include &lt;gtk/gtkcomboboxentry.h&gt;
23 ##include &lt;gtk/gtkentry.h&gt;
24 ##include &lt;gtk/gtkscrolledwindow.h&gt;
25 ##include &lt;gtk/gtkimage.h&gt;
26 ##include &lt;gtk/gtkcheckbutton.h&gt;
27 ##include &lt;glib/glist.h&gt;
28 ##include &lt;gtk/gtktogglebutton.h&gt;
29 ##include &lt;gtk/gtklabel.h&gt;
30
31 ##include &lt;libintl.h&gt;
32 ##define _(String) gettext(String)
33
34 static void destroy_callback( GtkWidget *widget );
35 void _testCaptionControl(GtkWidget *parent, gchar **help);
36
37 gchar *hildon_icons[] = { "hildon-file-open",
38         "gtk-ok",
39         "gtk-refresh",
40         "gtk-remove"
41 };
42
43 const int num_icons = sizeof( hildon_icons ) / sizeof( gchar * );
44
45 static GList *caption_list = NULL;
46
47 static void text_changed_callback( HildonCaption *caption, gpointer user_data )
48 {
49         hildon_caption_set_label( caption, gtk_entry_get_text( user_data ) );
50 }
51
52 static void icon_toggled_callback( HildonCaption *caption, gpointer user_data )
53 {
54         GtkWidget *phone_image = NULL;
55         GList *cur = caption_list;
56         int i = 0;
57         while ( cur )
58         {
59                 if ( !hildon_caption_get_icon_image( HILDON_CAPTION(cur-&gt;data) ) )
60                 {
61                         phone_image = gtk_image_new_from_stock( hildon_icons[i], GTK_ICON_SIZE_SMALL_TOOLBAR );
62                 }
63
64                 hildon_caption_set_icon_image( HILDON_CAPTION( cur-&gt;data), phone_image );
65
66                 cur = cur-&gt;next;
67                 if ( ++i &gt;= num_icons )
68                 {
69                         i = 0;
70                 }
71
72         }
73 }
74 static void mandatory_toggled_callback( HildonCaption *caption, gpointer user_data )
75 {
76         GList *cur = caption_list;
77         int i = 0;
78         while ( cur )
79         {
80                 if ( hildon_caption_is_mandatory( HILDON_CAPTION(cur-&gt;data) ) )
81                 {
82                         hildon_caption_set_status( HILDON_CAPTION(cur-&gt;data), HILDON_CAPTION_OPTIONAL );
83                 }
84                 else
85                 {
86                         hildon_caption_set_status( HILDON_CAPTION(cur-&gt;data), HILDON_CAPTION_MANDATORY );
87                 }
88
89                 cur = cur-&gt;next;
90                 if ( ++i &gt; num_icons )
91                 {
92                         i = 0;
93                 }
94         }
95 }
96
97 static void destroy_callback( GtkWidget *widget )
98 {
99         g_print( "Destroying the empty label\n" );
100 }
101
102 void _testCaptionControl(GtkWidget *parent, gchar **help)
103 {
104
105         GtkWidget *control = NULL;
106         GtkWidget *caption_control = NULL;
107         GtkWidget *vbox = gtk_vbox_new( FALSE, 0 );
108         GtkWidget *top_vbox = GTK_WIDGET(gtk_vbox_new( FALSE, 0 ));
109         GtkWidget *hbox = GTK_WIDGET(gtk_hbox_new( FALSE, 0 ));
110         GtkSizeGroup *group= GTK_SIZE_GROUP( gtk_size_group_new( GTK_SIZE_GROUP_HORIZONTAL ) );
111
112         GtkWidget *some_image = gtk_image_new_from_file( "../share/themes/commonimages/question.png" );
113
114         control = gtk_entry_new();
115         caption_control = hildon_caption_new( group, _("Man Entry"), control,
116                         NULL, HILDON_CAPTION_MANDATORY);
117         gtk_box_pack_start( GTK_BOX( top_vbox ), caption_control, FALSE, FALSE, 0 );
118
119         g_signal_connect( G_OBJECT( control ), "destroy", G_CALLBACK( destroy_callback ), NULL );
120
121         control = gtk_entry_new();
122         caption_control = hildon_caption_new( group, _("O grow"), control,
123                         NULL, HILDON_CAPTION_OPTIONAL);
124         g_signal_connect_swapped( control, "changed",
125                         G_CALLBACK( text_changed_callback ), caption_control );
126         gtk_box_pack_start( GTK_BOX( top_vbox ), caption_control, FALSE, FALSE, 0 );
127
128         gtk_box_pack_end( GTK_BOX( hbox ), some_image, FALSE, FALSE, 0 );
129         gtk_box_pack_end( GTK_BOX( hbox ), top_vbox, TRUE, TRUE, 0 );
130
131         gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, FALSE, 0 );
132
133         control = gtk_combo_box_entry_new_text();
134         gtk_combo_box_append_text(GTK_COMBO_BOX(control), _("First Item"));
135         gtk_combo_box_append_text(GTK_COMBO_BOX(control), _("Second Item"));
136         gtk_combo_box_append_text(GTK_COMBO_BOX(control), _("Third Item"));
137         gtk_combo_box_append_text(GTK_COMBO_BOX(control), _("Fourth Item"));
138         gtk_combo_box_append_text(GTK_COMBO_BOX(control), _("Fifth Item"));
139         caption_control = hildon_caption_new( group, _("M Com"), control,
140                         NULL, HILDON_CAPTION_MANDATORY);
141         gtk_box_pack_start( GTK_BOX( vbox ), caption_control, FALSE, FALSE, 0 );
142         caption_list = g_list_append( caption_list, (gpointer)caption_control );
143
144         control = gtk_label_new("This text should not be focusable");
145         caption_control = hildon_caption_new (group, _("UFLabel"), control, NULL, HILDON_CAPTION_OPTIONAL);
146         gtk_box_pack_start( GTK_BOX( vbox ), caption_control, FALSE, FALSE, 0 );
147         caption_list = g_list_append (caption_list, (gpointer) caption_control );
148
149         control = gtk_combo_box_new_text(); /* entry */
150
151         gtk_combo_box_append_text(GTK_COMBO_BOX(control), _("Tango"));
152         gtk_combo_box_append_text(GTK_COMBO_BOX(control), _("Mambo"));
153         gtk_combo_box_append_text(GTK_COMBO_BOX(control), _("Merengue"));
154         gtk_combo_box_append_text(GTK_COMBO_BOX(control), _("Salsa"));
155         caption_control = hildon_caption_new( group, _("O Option Menu"), control,
156                         NULL, HILDON_CAPTION_MANDATORY);
157         gtk_box_pack_start( GTK_BOX( vbox ), caption_control, FALSE, FALSE, 0 );
158         caption_list = g_list_append( caption_list, (gpointer)caption_control );
159
160
161         control = gtk_check_button_new();
162         caption_control = hildon_caption_new( group, _("show icon"), control,
163                         NULL, HILDON_CAPTION_MANDATORY);
164         g_signal_connect_swapped( control, "toggled",
165                         G_CALLBACK( icon_toggled_callback ), caption_control );
166         gtk_box_pack_start( GTK_BOX( vbox ), caption_control, FALSE, FALSE, 0 );
167         caption_list = g_list_append( caption_list, (gpointer)caption_control );
168
169         control = gtk_check_button_new();
170         caption_control = hildon_caption_new( group, _("toggle status"), control,
171                         NULL, HILDON_CAPTION_OPTIONAL);
172         g_signal_connect_swapped( control, "toggled",
173                         G_CALLBACK( mandatory_toggled_callback ), caption_control );
174         gtk_box_pack_start( GTK_BOX( vbox ), caption_control, FALSE, FALSE, 0 );
175         caption_list = g_list_append( caption_list, (gpointer)caption_control );
176
177
178         gtk_container_add( GTK_CONTAINER( parent ), vbox );
179
180         gtk_widget_show_all( parent );
181
182         if (help)
183                 *help = g_strdup ("");
184
185 }
186 </programlisting>
187 </informalexample>
188 </para>
189
190 <!-- ##### SECTION See_Also ##### -->
191 <para>
192
193 </para>
194
195 <!-- ##### SECTION Stability_Level ##### -->
196
197
198 <!-- ##### ENUM HildonCaptionStatus ##### -->
199 <para>
200
201 </para>
202
203 @HILDON_CAPTION_OPTIONAL: 
204 @HILDON_CAPTION_MANDATORY: 
205
206 <!-- ##### MACRO HILDON_TYPE_CAPTION_STATUS ##### -->
207 <para>
208
209 </para>
210
211
212
213 <!-- ##### FUNCTION hildon_caption_get_type ##### -->
214 <para>
215
216 </para>
217
218 @Returns: 
219
220
221 <!-- ##### FUNCTION hildon_caption_new ##### -->
222 <para>
223
224 </para>
225
226 @group: 
227 @value: 
228 @control: 
229 @icon: 
230 @flag: 
231 @Returns: 
232
233
234 <!-- ##### FUNCTION hildon_caption_get_sizegroup ##### -->
235 <para>
236
237 </para>
238
239 @caption: 
240 @Returns: 
241
242
243 <!-- ##### FUNCTION hildon_caption_set_sizegroup ##### -->
244 <para>
245
246 </para>
247
248 @caption: 
249 @new_group: 
250
251
252 <!-- ##### FUNCTION hildon_caption_is_mandatory ##### -->
253 <para>
254
255 </para>
256
257 @caption: 
258 @Returns: 
259
260
261 <!-- ##### FUNCTION hildon_caption_set_status ##### -->
262 <para>
263
264 </para>
265
266 @caption: 
267 @flag: 
268
269
270 <!-- ##### FUNCTION hildon_caption_get_status ##### -->
271 <para>
272
273 </para>
274
275 @caption: 
276 @Returns: 
277
278
279 <!-- ##### FUNCTION hildon_caption_set_icon_image ##### -->
280 <para>
281
282 </para>
283
284 @caption: 
285 @icon: 
286
287
288 <!-- ##### FUNCTION hildon_caption_get_icon_image ##### -->
289 <para>
290
291 </para>
292
293 @caption: 
294 @Returns: 
295
296
297 <!-- ##### FUNCTION hildon_caption_set_label ##### -->
298 <para>
299
300 </para>
301
302 @caption: 
303 @label: 
304
305
306 <!-- ##### FUNCTION hildon_caption_get_label ##### -->
307 <para>
308
309 </para>
310
311 @caption: 
312 @Returns: 
313
314
315 <!-- ##### FUNCTION hildon_caption_set_separator ##### -->
316 <para>
317
318 </para>
319
320 @caption: 
321 @separator: 
322
323
324 <!-- ##### FUNCTION hildon_caption_get_separator ##### -->
325 <para>
326
327 </para>
328
329 @caption: 
330 @Returns: 
331
332
333 <!-- ##### FUNCTION hildon_caption_set_label_alignment ##### -->
334 <para>
335
336 </para>
337
338 @caption: 
339 @alignment: 
340
341
342 <!-- ##### FUNCTION hildon_caption_get_label_alignment ##### -->
343 <para>
344
345 </para>
346
347 @caption: 
348 @Returns: 
349
350
351 <!-- ##### FUNCTION hildon_caption_get_control ##### -->
352 <para>
353
354 </para>
355
356 @caption: 
357 @Returns: 
358
359
360 <!-- ##### FUNCTION hildon_caption_set_control ##### -->
361 <para>
362
363 </para>
364
365 @caption: 
366 @control: 
367
368
369 <!-- ##### FUNCTION hildon_caption_set_child_expand ##### -->
370 <para>
371
372 </para>
373
374 @caption: 
375 @expand: 
376
377
378 <!-- ##### FUNCTION hildon_caption_get_child_expand ##### -->
379 <para>
380
381 </para>
382
383 @caption: 
384 @Returns: 
385
386
387 <!-- ##### SIGNAL HildonCaption::activate ##### -->
388 <para>
389
390 </para>
391
392 @hildoncaption: the object which received the signal.
393
394 <!-- ##### ARG HildonCaption:icon ##### -->
395 <para>
396
397 </para>
398
399 <!-- ##### ARG HildonCaption:label ##### -->
400 <para>
401
402 </para>
403
404 <!-- ##### ARG HildonCaption:separator ##### -->
405 <para>
406
407 </para>
408
409 <!-- ##### ARG HildonCaption:size-group ##### -->
410 <para>
411
412 </para>
413
414 <!-- ##### ARG HildonCaption:status ##### -->
415 <para>
416
417 </para>
418
419 <!-- ##### ARG HildonCaption:expand ##### -->
420 <para>
421
422 </para>
423