]> Pileus Git - ~andy/gtk/blob - docs/reference/gtk/tmpl/gtkiconfactory.sgml
Make the iconfactory buildable implementation less strict
[~andy/gtk] / docs / reference / gtk / tmpl / gtkiconfactory.sgml
1 <!-- ##### SECTION Title ##### -->
2 Themeable Stock Images
3
4 <!-- ##### SECTION Short_Description ##### -->
5
6 Manipulating stock icons
7
8 <!-- ##### SECTION Long_Description ##### -->
9
10
11 <para>
12 Browse the available stock icons in the list of stock IDs found <link
13 linkend="gtk-Stock-Items">here</link>. You can also use 
14 the <application>gtk-demo</application> application for this purpose.
15 </para>
16
17 <para>
18  An icon factory manages a collection of #GtkIconSet; a #GtkIconSet manages a
19  set of variants of a particular icon (i.e. a #GtkIconSet contains variants for
20  different sizes and widget states). Icons in an icon factory are named by a
21  stock ID, which is a simple string identifying the icon. Each #GtkStyle has a
22  list of #GtkIconFactory derived from the current theme; those icon factories
23  are consulted first when searching for an icon. If the theme doesn't set a
24  particular icon, GTK+ looks for the icon in a list of default icon factories,
25  maintained by gtk_icon_factory_add_default() and
26  gtk_icon_factory_remove_default(). Applications with icons should add a default
27  icon factory with their icons, which will allow themes to override the icons
28  for the application.
29 </para>
30
31 <para>
32 To display an icon, always use gtk_style_lookup_icon_set() on the widget that
33 will display the icon, or the convenience function
34 gtk_widget_render_icon(). These functions take the theme into account when
35 looking up the icon to use for a given stock ID.
36 </para>
37
38 <refsect2 id="GtkIconFactory-BUILDER-UI"><title>GtkIconFactory as GtkBuildable</title>
39 <para>
40 GtkIconFactory supports a custom &lt;sources&gt; element, which 
41 can contain multiple &lt;source&gt; elements. 
42 The following attributes are allowed:
43 <variablelist>
44
45 <varlistentry>
46 <term>stock-id</term>
47 <listitem><para>The stock id of the source, a string.
48 This attribute is mandatory</para></listitem>
49 </varlistentry>
50
51 <varlistentry>
52 <term>filename</term>
53 <listitem><para>The filename of the source, a string.
54 This attribute is optional</para>
55 </listitem>
56 </varlistentry>
57
58 <varlistentry>
59 <term>icon-name</term>
60 <listitem><para>The icon name for the source, a string.
61 This attribute is optional.</para>
62 </listitem>
63 </varlistentry>
64
65 <varlistentry>
66 <term>size</term>
67 <listitem><para>Size of the icon, a #GtkIconSize enum value. 
68 This attribute is optional.</para>
69 </listitem>
70 </varlistentry>
71
72 <varlistentry>
73 <term>direction</term>
74 <listitem><para>Direction of the source, a #GtkTextDirection enum value.
75 This attribute is optional.</para>
76 </listitem>
77 </varlistentry>
78
79 <varlistentry>
80 <term>state</term>
81 <listitem><para>State of the source, a #GtkStateType enum value.
82 This attribute is optional.</para>
83 </listitem>
84 </varlistentry>
85
86 </variablelist>
87
88 </para>
89 <example>
90 <title>A <structname>GtkIconFactory</structname> UI definition fragment.</title>
91 <programlisting><![CDATA[
92 <object class="GtkIconFactory" id="iconfactory1">
93   <sources>
94     <source stock-id="apple-red" filename="apple-red.png"/>
95   </sources>
96 </object>
97 <object class="GtkWindow" id="window1">
98   <child>
99     <object class="GtkButton" id="apple_button">
100       <property name="label">apple-red</property>
101       <property name="use-stock">True</property>
102     </object>
103   </child>
104 </object>
105 ]]></programlisting>
106 </example>
107 </refsect2>
108
109 <!-- ##### SECTION See_Also ##### -->
110 <para>
111
112 </para>
113
114 <!-- ##### SECTION Stability_Level ##### -->
115
116
117 <!-- ##### STRUCT GtkIconSource ##### -->
118 <para>
119
120 </para>
121
122
123 <!-- ##### STRUCT GtkIconFactory ##### -->
124 <para>
125
126 </para>
127
128
129 <!-- ##### STRUCT GtkIconSet ##### -->
130 <para>
131
132 </para>
133
134
135 <!-- ##### ENUM GtkIconSize ##### -->
136 <para>
137
138 </para>
139
140 @GTK_ICON_SIZE_INVALID: 
141 @GTK_ICON_SIZE_MENU: 
142 @GTK_ICON_SIZE_SMALL_TOOLBAR: 
143 @GTK_ICON_SIZE_LARGE_TOOLBAR: 
144 @GTK_ICON_SIZE_BUTTON: 
145 @GTK_ICON_SIZE_DND: 
146 @GTK_ICON_SIZE_DIALOG: 
147
148 <!-- ##### FUNCTION gtk_icon_source_copy ##### -->
149 <para>
150
151 </para>
152
153 @source: 
154 @Returns: 
155
156
157 <!-- ##### FUNCTION gtk_icon_source_free ##### -->
158 <para>
159
160 </para>
161
162 @source: 
163
164
165 <!-- ##### FUNCTION gtk_icon_factory_add ##### -->
166 <para>
167
168 </para>
169
170 @factory: 
171 @stock_id: 
172 @icon_set: 
173
174
175 <!-- ##### FUNCTION gtk_icon_factory_add_default ##### -->
176 <para>
177
178 </para>
179
180 @factory: 
181
182
183 <!-- ##### FUNCTION gtk_icon_factory_lookup ##### -->
184 <para>
185
186 </para>
187
188 @factory: 
189 @stock_id: 
190 @Returns: 
191
192
193 <!-- ##### FUNCTION gtk_icon_factory_lookup_default ##### -->
194 <para>
195
196 </para>
197
198 @stock_id: 
199 @Returns: 
200
201
202 <!-- ##### FUNCTION gtk_icon_factory_new ##### -->
203 <para>
204
205 </para>
206
207 @Returns: 
208
209
210 <!-- ##### FUNCTION gtk_icon_factory_remove_default ##### -->
211 <para>
212
213 </para>
214
215 @factory: 
216
217
218 <!-- ##### FUNCTION gtk_icon_set_add_source ##### -->
219 <para>
220
221 </para>
222
223 @icon_set: 
224 @source: 
225
226
227 <!-- ##### FUNCTION gtk_icon_set_copy ##### -->
228 <para>
229
230 </para>
231
232 @icon_set: 
233 @Returns: 
234
235
236 <!-- ##### FUNCTION gtk_icon_set_new ##### -->
237 <para>
238
239 </para>
240
241 @Returns: 
242
243
244 <!-- ##### FUNCTION gtk_icon_set_new_from_pixbuf ##### -->
245 <para>
246
247 </para>
248
249 @pixbuf: 
250 @Returns: 
251
252
253 <!-- ##### FUNCTION gtk_icon_set_ref ##### -->
254 <para>
255
256 </para>
257
258 @icon_set: 
259 @Returns: 
260
261
262 <!-- ##### FUNCTION gtk_icon_set_render_icon ##### -->
263 <para>
264
265 </para>
266
267 @icon_set: 
268 @style: 
269 @direction: 
270 @state: 
271 @size: 
272 @widget: 
273 @detail: 
274 @Returns: 
275
276
277 <!-- ##### FUNCTION gtk_icon_set_unref ##### -->
278 <para>
279
280 </para>
281
282 @icon_set: 
283
284
285 <!-- ##### FUNCTION gtk_icon_size_lookup ##### -->
286 <para>
287
288 </para>
289
290 @size: 
291 @width: 
292 @height: 
293 @Returns: 
294
295
296 <!-- ##### FUNCTION gtk_icon_size_lookup_for_settings ##### -->
297 <para>
298
299 </para>
300
301 @settings: 
302 @size: 
303 @width: 
304 @height: 
305 @Returns: 
306
307
308 <!-- ##### FUNCTION gtk_icon_size_register ##### -->
309 <para>
310
311 </para>
312
313 @name: 
314 @width: 
315 @height: 
316 @Returns: 
317
318
319 <!-- ##### FUNCTION gtk_icon_size_register_alias ##### -->
320 <para>
321
322 </para>
323
324 @alias: 
325 @target: 
326
327
328 <!-- ##### FUNCTION gtk_icon_size_from_name ##### -->
329 <para>
330
331 </para>
332
333 @name: 
334 @Returns: 
335
336
337 <!-- ##### FUNCTION gtk_icon_size_get_name ##### -->
338 <para>
339
340 </para>
341
342 @size: 
343 @Returns: 
344
345
346 <!-- ##### FUNCTION gtk_icon_set_get_sizes ##### -->
347 <para>
348
349 </para>
350
351 @icon_set: 
352 @sizes: 
353 @n_sizes: 
354
355
356 <!-- ##### FUNCTION gtk_icon_source_get_direction ##### -->
357 <para>
358
359 </para>
360
361 @source: 
362 @Returns: 
363
364
365 <!-- ##### FUNCTION gtk_icon_source_get_direction_wildcarded ##### -->
366 <para>
367
368 </para>
369
370 @source: 
371 @Returns: 
372
373
374 <!-- ##### FUNCTION gtk_icon_source_get_filename ##### -->
375 <para>
376
377 </para>
378
379 @source: 
380 @Returns: 
381
382
383 <!-- ##### FUNCTION gtk_icon_source_get_pixbuf ##### -->
384 <para>
385
386 </para>
387
388 @source: 
389 @Returns: 
390
391
392 <!-- ##### FUNCTION gtk_icon_source_get_icon_name ##### -->
393 <para>
394
395 </para>
396
397 @source: 
398 @Returns: 
399
400
401 <!-- ##### FUNCTION gtk_icon_source_get_size ##### -->
402 <para>
403
404 </para>
405
406 @source: 
407 @Returns: 
408
409
410 <!-- ##### FUNCTION gtk_icon_source_get_size_wildcarded ##### -->
411 <para>
412
413 </para>
414
415 @source: 
416 @Returns: 
417
418
419 <!-- ##### FUNCTION gtk_icon_source_get_state ##### -->
420 <para>
421
422 </para>
423
424 @source: 
425 @Returns: 
426
427
428 <!-- ##### FUNCTION gtk_icon_source_get_state_wildcarded ##### -->
429 <para>
430
431 </para>
432
433 @source: 
434 @Returns: 
435
436
437 <!-- ##### FUNCTION gtk_icon_source_new ##### -->
438 <para>
439
440 </para>
441
442 @Returns: 
443
444
445 <!-- ##### FUNCTION gtk_icon_source_set_direction ##### -->
446 <para>
447
448 </para>
449
450 @source: 
451 @direction: 
452
453
454 <!-- ##### FUNCTION gtk_icon_source_set_direction_wildcarded ##### -->
455 <para>
456
457 </para>
458
459 @source: 
460 @setting: 
461
462
463 <!-- ##### FUNCTION gtk_icon_source_set_filename ##### -->
464 <para>
465
466 </para>
467
468 @source: 
469 @filename: 
470
471
472 <!-- ##### FUNCTION gtk_icon_source_set_pixbuf ##### -->
473 <para>
474
475 </para>
476
477 @source: 
478 @pixbuf: 
479
480
481 <!-- ##### FUNCTION gtk_icon_source_set_icon_name ##### -->
482 <para>
483
484 </para>
485
486 @source: 
487 @icon_name: 
488
489
490 <!-- ##### FUNCTION gtk_icon_source_set_size ##### -->
491 <para>
492
493 </para>
494
495 @source: 
496 @size: 
497
498
499 <!-- ##### FUNCTION gtk_icon_source_set_size_wildcarded ##### -->
500 <para>
501
502 </para>
503
504 @source: 
505 @setting: 
506
507
508 <!-- ##### FUNCTION gtk_icon_source_set_state ##### -->
509 <para>
510
511 </para>
512
513 @source: 
514 @state: 
515
516
517 <!-- ##### FUNCTION gtk_icon_source_set_state_wildcarded ##### -->
518 <para>
519
520 </para>
521
522 @source: 
523 @setting: 
524
525