1
<refentry id="GtkToolItem">
3
<refentrytitle role="top_of_page">GtkToolItem</refentrytitle>
4
<manvolnum>3</manvolnum>
5
<refmiscinfo>GTK Library</refmiscinfo>
9
<refname>GtkToolItem</refname>
10
<refpurpose>The base class of widgets that can be added to GtkToolbar</refpurpose>
11
<!--[<xref linkend="desc" endterm="desc.title"/>]-->
14
<refsynopsisdiv role="synopsis">
15
<title role="synopsis.title">Synopsis</title>
19
#include <gtk/gtk.h>
22
<link linkend="GtkToolItem-struct">GtkToolItem</link>;
23
<link linkend="GtkToolItem">GtkToolItem</link>* <link linkend="gtk-tool-item-new">gtk_tool_item_new</link> (void);
24
<link linkend="void">void</link> <link linkend="gtk-tool-item-set-homogeneous">gtk_tool_item_set_homogeneous</link> (<link linkend="GtkToolItem">GtkToolItem</link> *tool_item,
25
<link linkend="gboolean">gboolean</link> homogeneous);
26
<link linkend="gboolean">gboolean</link> <link linkend="gtk-tool-item-get-homogeneous">gtk_tool_item_get_homogeneous</link> (<link linkend="GtkToolItem">GtkToolItem</link> *tool_item);
27
<link linkend="void">void</link> <link linkend="gtk-tool-item-set-expand">gtk_tool_item_set_expand</link> (<link linkend="GtkToolItem">GtkToolItem</link> *tool_item,
28
<link linkend="gboolean">gboolean</link> expand);
29
<link linkend="gboolean">gboolean</link> <link linkend="gtk-tool-item-get-expand">gtk_tool_item_get_expand</link> (<link linkend="GtkToolItem">GtkToolItem</link> *tool_item);
30
<link linkend="void">void</link> <link linkend="gtk-tool-item-set-tooltip">gtk_tool_item_set_tooltip</link> (<link linkend="GtkToolItem">GtkToolItem</link> *tool_item,
31
<link linkend="GtkTooltips">GtkTooltips</link> *tooltips,
32
const <link linkend="gchar">gchar</link> *tip_text,
33
const <link linkend="gchar">gchar</link> *tip_private);
34
<link linkend="void">void</link> <link linkend="gtk-tool-item-set-use-drag-window">gtk_tool_item_set_use_drag_window</link> (<link linkend="GtkToolItem">GtkToolItem</link> *toolitem,
35
<link linkend="gboolean">gboolean</link> use_drag_window);
36
<link linkend="gboolean">gboolean</link> <link linkend="gtk-tool-item-get-use-drag-window">gtk_tool_item_get_use_drag_window</link> (<link linkend="GtkToolItem">GtkToolItem</link> *toolitem);
37
<link linkend="void">void</link> <link linkend="gtk-tool-item-set-visible-horizontal">gtk_tool_item_set_visible_horizontal</link>
38
(<link linkend="GtkToolItem">GtkToolItem</link> *toolitem,
39
<link linkend="gboolean">gboolean</link> visible_horizontal);
40
<link linkend="gboolean">gboolean</link> <link linkend="gtk-tool-item-get-visible-horizontal">gtk_tool_item_get_visible_horizontal</link>
41
(<link linkend="GtkToolItem">GtkToolItem</link> *toolitem);
42
<link linkend="void">void</link> <link linkend="gtk-tool-item-set-visible-vertical">gtk_tool_item_set_visible_vertical</link> (<link linkend="GtkToolItem">GtkToolItem</link> *toolitem,
43
<link linkend="gboolean">gboolean</link> visible_vertical);
44
<link linkend="gboolean">gboolean</link> <link linkend="gtk-tool-item-get-visible-vertical">gtk_tool_item_get_visible_vertical</link> (<link linkend="GtkToolItem">GtkToolItem</link> *toolitem);
45
<link linkend="void">void</link> <link linkend="gtk-tool-item-set-is-important">gtk_tool_item_set_is_important</link> (<link linkend="GtkToolItem">GtkToolItem</link> *tool_item,
46
<link linkend="gboolean">gboolean</link> is_important);
47
<link linkend="gboolean">gboolean</link> <link linkend="gtk-tool-item-get-is-important">gtk_tool_item_get_is_important</link> (<link linkend="GtkToolItem">GtkToolItem</link> *tool_item);
48
<link linkend="GtkIconSize">GtkIconSize</link> <link linkend="gtk-tool-item-get-icon-size">gtk_tool_item_get_icon_size</link> (<link linkend="GtkToolItem">GtkToolItem</link> *tool_item);
49
<link linkend="GtkOrientation">GtkOrientation</link> <link linkend="gtk-tool-item-get-orientation">gtk_tool_item_get_orientation</link> (<link linkend="GtkToolItem">GtkToolItem</link> *tool_item);
50
<link linkend="GtkToolbarStyle">GtkToolbarStyle</link> <link linkend="gtk-tool-item-get-toolbar-style">gtk_tool_item_get_toolbar_style</link> (<link linkend="GtkToolItem">GtkToolItem</link> *tool_item);
51
<link linkend="GtkReliefStyle">GtkReliefStyle</link> <link linkend="gtk-tool-item-get-relief-style">gtk_tool_item_get_relief_style</link> (<link linkend="GtkToolItem">GtkToolItem</link> *tool_item);
52
<link linkend="GtkWidget">GtkWidget</link>* <link linkend="gtk-tool-item-retrieve-proxy-menu-item">gtk_tool_item_retrieve_proxy_menu_item</link>
53
(<link linkend="GtkToolItem">GtkToolItem</link> *tool_item);
54
<link linkend="GtkWidget">GtkWidget</link>* <link linkend="gtk-tool-item-get-proxy-menu-item">gtk_tool_item_get_proxy_menu_item</link> (<link linkend="GtkToolItem">GtkToolItem</link> *tool_item,
55
const <link linkend="gchar">gchar</link> *menu_item_id);
56
<link linkend="void">void</link> <link linkend="gtk-tool-item-set-proxy-menu-item">gtk_tool_item_set_proxy_menu_item</link> (<link linkend="GtkToolItem">GtkToolItem</link> *tool_item,
57
const <link linkend="gchar">gchar</link> *menu_item_id,
58
<link linkend="GtkWidget">GtkWidget</link> *menu_item);
59
<link linkend="void">void</link> <link linkend="gtk-tool-item-rebuild-menu">gtk_tool_item_rebuild_menu</link> (<link linkend="GtkToolItem">GtkToolItem</link> *tool_item);
65
<refsect1 role="object_hierarchy">
66
<title role="object_hierarchy.title">Object Hierarchy</title>
69
<link linkend="GObject">GObject</link>
70
+----<link linkend="GInitiallyUnowned">GInitiallyUnowned</link>
71
+----<link linkend="GtkObject">GtkObject</link>
72
+----<link linkend="GtkWidget">GtkWidget</link>
73
+----<link linkend="GtkContainer">GtkContainer</link>
74
+----<link linkend="GtkBin">GtkBin</link>
76
+----<link linkend="GtkToolButton">GtkToolButton</link>
77
+----<link linkend="GtkSeparatorToolItem">GtkSeparatorToolItem</link>
84
<refsect1 role="impl_interfaces">
85
<title role="impl_interfaces.title">Implemented Interfaces</title>
87
GtkToolItem implements
88
<link linkend="AtkImplementorIface">AtkImplementorIface</link>.</para>
93
<refsect1 role="properties">
94
<title role="properties.title">Properties</title>
97
"<link linkend="GtkToolItem--is-important">is-important</link>" <link linkend="gboolean">gboolean</link> : Read / Write
98
"<link linkend="GtkToolItem--visible-horizontal">visible-horizontal</link>" <link linkend="gboolean">gboolean</link> : Read / Write
99
"<link linkend="GtkToolItem--visible-vertical">visible-vertical</link>" <link linkend="gboolean">gboolean</link> : Read / Write
103
<refsect1 role="signal_proto">
104
<title role="signal_proto.title">Signals</title>
107
"<link linkend="GtkToolItem-create-menu-proxy">create-menu-proxy</link>" : Run Last
108
"<link linkend="GtkToolItem-set-tooltip">set-tooltip</link>" : Run Last
109
"<link linkend="GtkToolItem-toolbar-reconfigured">toolbar-reconfigured</link>" : Run Last
114
<refsect1 role="desc">
115
<title role="desc.title">Description</title>
117
<link linkend="GtkToolItem"><type>GtkToolItem</type></link><!-- -->s are widgets that can appear on a toolbar. To
118
create a toolbar item that contain something else than a button, use
119
<link linkend="gtk-tool-item-new"><function>gtk_tool_item_new()</function></link>. Use <link linkend="gtk-container-add"><function>gtk_container_add()</function></link> to add a child
120
widget to the tool item.
123
For toolbar items that contain buttons, see the <link linkend="GtkToolButton"><type>GtkToolButton</type></link>,
124
<link linkend="GtkToggleToolButton"><type>GtkToggleToolButton</type></link> and <link linkend="GtkRadioToolButton"><type>GtkRadioToolButton</type></link> classes.
126
See the <link linkend="GtkToolbar"><type>GtkToolbar</type></link> class for a description of the toolbar widget.
131
<refsect1 role="details">
132
<title role="details.title">Details</title>
134
<title><anchor id="GtkToolItem-struct" role="struct"/>GtkToolItem</title>
135
<indexterm><primary>GtkToolItem</primary></indexterm><programlisting>typedef struct _GtkToolItem GtkToolItem;</programlisting>
137
The GtkToolItem struct contains only private data. It should only be
138
accessed through the functions described below.
141
<title><anchor id="gtk-tool-item-new" role="function" condition="since:2.4"/>gtk_tool_item_new ()</title>
142
<indexterm role="2.4"><primary>gtk_tool_item_new</primary></indexterm><programlisting><link linkend="GtkToolItem">GtkToolItem</link>* gtk_tool_item_new (void);</programlisting>
144
Creates a new <link linkend="GtkToolItem"><type>GtkToolItem</type></link></para>
147
</para><variablelist role="params">
148
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the new <link linkend="GtkToolItem"><type>GtkToolItem</type></link>
150
</simpara></listitem></varlistentry>
151
</variablelist><para role="since">Since 2.4
154
<title><anchor id="gtk-tool-item-set-homogeneous" role="function" condition="since:2.4"/>gtk_tool_item_set_homogeneous ()</title>
155
<indexterm role="2.4"><primary>gtk_tool_item_set_homogeneous</primary></indexterm><programlisting><link linkend="void">void</link> gtk_tool_item_set_homogeneous (<link linkend="GtkToolItem">GtkToolItem</link> *tool_item,
156
<link linkend="gboolean">gboolean</link> homogeneous);</programlisting>
158
Sets whether <parameter>tool_item</parameter> is to be allocated the same size as other
159
homogeneous items. The effect is that all homogeneous items will have
160
the same width as the widest of the items.</para>
163
</para><variablelist role="params">
164
<varlistentry><term><parameter>tool_item</parameter> :</term>
165
<listitem><simpara> a <link linkend="GtkToolItem--"><type>GtkToolItem:</type></link>
166
</simpara></listitem></varlistentry>
167
<varlistentry><term><parameter>homogeneous</parameter> :</term>
168
<listitem><simpara> whether <parameter>tool_item</parameter> is the same size as other homogeneous items
169
</simpara></listitem></varlistentry>
170
</variablelist><para role="since">Since 2.4
173
<title><anchor id="gtk-tool-item-get-homogeneous" role="function" condition="since:2.4"/>gtk_tool_item_get_homogeneous ()</title>
174
<indexterm role="2.4"><primary>gtk_tool_item_get_homogeneous</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> gtk_tool_item_get_homogeneous (<link linkend="GtkToolItem">GtkToolItem</link> *tool_item);</programlisting>
176
Returns whether <parameter>tool_item</parameter> is the same size as other homogeneous
177
items. See <link linkend="gtk-tool-item-set-homogeneous"><function>gtk_tool_item_set_homogeneous()</function></link>.</para>
180
</para><variablelist role="params">
181
<varlistentry><term><parameter>tool_item</parameter> :</term>
182
<listitem><simpara> a <link linkend="GtkToolItem--"><type>GtkToolItem:</type></link>
183
</simpara></listitem></varlistentry>
184
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the item is the same size as other homogeneous
187
</simpara></listitem></varlistentry>
188
</variablelist><para role="since">Since 2.4
191
<title><anchor id="gtk-tool-item-set-expand" role="function" condition="since:2.4"/>gtk_tool_item_set_expand ()</title>
192
<indexterm role="2.4"><primary>gtk_tool_item_set_expand</primary></indexterm><programlisting><link linkend="void">void</link> gtk_tool_item_set_expand (<link linkend="GtkToolItem">GtkToolItem</link> *tool_item,
193
<link linkend="gboolean">gboolean</link> expand);</programlisting>
195
Sets whether <parameter>tool_item</parameter> is allocated extra space when there
196
is more room on the toolbar then needed for the items. The
197
effect is that the item gets bigger when the toolbar gets bigger
198
and smaller when the toolbar gets smaller.</para>
201
</para><variablelist role="params">
202
<varlistentry><term><parameter>tool_item</parameter> :</term>
203
<listitem><simpara> a <link linkend="GtkToolItem--"><type>GtkToolItem:</type></link>
204
</simpara></listitem></varlistentry>
205
<varlistentry><term><parameter>expand</parameter> :</term>
206
<listitem><simpara> Whether <parameter>tool_item</parameter> is allocated extra space
207
</simpara></listitem></varlistentry>
208
</variablelist><para role="since">Since 2.4
211
<title><anchor id="gtk-tool-item-get-expand" role="function" condition="since:2.4"/>gtk_tool_item_get_expand ()</title>
212
<indexterm role="2.4"><primary>gtk_tool_item_get_expand</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> gtk_tool_item_get_expand (<link linkend="GtkToolItem">GtkToolItem</link> *tool_item);</programlisting>
214
Returns whether <parameter>tool_item</parameter> is allocated extra space.
215
See <link linkend="gtk-tool-item-set-expand"><function>gtk_tool_item_set_expand()</function></link>.</para>
218
</para><variablelist role="params">
219
<varlistentry><term><parameter>tool_item</parameter> :</term>
220
<listitem><simpara> a <link linkend="GtkToolItem--"><type>GtkToolItem:</type></link>
221
</simpara></listitem></varlistentry>
222
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if <parameter>tool_item</parameter> is allocated extra space.
224
</simpara></listitem></varlistentry>
225
</variablelist><para role="since">Since 2.4
228
<title><anchor id="gtk-tool-item-set-tooltip" role="function" condition="since:2.4"/>gtk_tool_item_set_tooltip ()</title>
229
<indexterm role="2.4"><primary>gtk_tool_item_set_tooltip</primary></indexterm><programlisting><link linkend="void">void</link> gtk_tool_item_set_tooltip (<link linkend="GtkToolItem">GtkToolItem</link> *tool_item,
230
<link linkend="GtkTooltips">GtkTooltips</link> *tooltips,
231
const <link linkend="gchar">gchar</link> *tip_text,
232
const <link linkend="gchar">gchar</link> *tip_private);</programlisting>
234
Sets the <link linkend="GtkTooltips"><type>GtkTooltips</type></link> object to be used for <parameter>tool_item</parameter>, the
235
text to be displayed as tooltip on the item and the private text
236
to be used. See <link linkend="gtk-tooltips-set-tip"><function>gtk_tooltips_set_tip()</function></link>.</para>
239
</para><variablelist role="params">
240
<varlistentry><term><parameter>tool_item</parameter> :</term>
241
<listitem><simpara> a <link linkend="GtkToolItem--"><type>GtkToolItem:</type></link>
242
</simpara></listitem></varlistentry>
243
<varlistentry><term><parameter>tooltips</parameter> :</term>
244
<listitem><simpara> The <link linkend="GtkTooltips"><type>GtkTooltips</type></link> object to be used
245
</simpara></listitem></varlistentry>
246
<varlistentry><term><parameter>tip_text</parameter> :</term>
247
<listitem><simpara> text to be used as tooltip text for <parameter>tool_item</parameter>
248
</simpara></listitem></varlistentry>
249
<varlistentry><term><parameter>tip_private</parameter> :</term>
250
<listitem><simpara> text to be used as private tooltip text
251
</simpara></listitem></varlistentry>
252
</variablelist><para role="since">Since 2.4
255
<title><anchor id="gtk-tool-item-set-use-drag-window" role="function" condition="since:2.4"/>gtk_tool_item_set_use_drag_window ()</title>
256
<indexterm role="2.4"><primary>gtk_tool_item_set_use_drag_window</primary></indexterm><programlisting><link linkend="void">void</link> gtk_tool_item_set_use_drag_window (<link linkend="GtkToolItem">GtkToolItem</link> *toolitem,
257
<link linkend="gboolean">gboolean</link> use_drag_window);</programlisting>
259
Sets whether <parameter>toolitem</parameter> has a drag window. When <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> the
260
toolitem can be used as a drag source through <link linkend="gtk-drag-source-set"><function>gtk_drag_source_set()</function></link>.
261
When <parameter>toolitem</parameter> has a drag window it will intercept all events,
262
even those that would otherwise be sent to a child of <parameter>toolitem</parameter>.</para>
265
</para><variablelist role="params">
266
<varlistentry><term><parameter>toolitem</parameter> :</term>
267
<listitem><simpara> a <link linkend="GtkToolItem"><type>GtkToolItem</type></link>
268
</simpara></listitem></varlistentry>
269
<varlistentry><term><parameter>use_drag_window</parameter> :</term>
270
<listitem><simpara> Whether <parameter>toolitem</parameter> has a drag window.
271
</simpara></listitem></varlistentry>
272
</variablelist><para role="since">Since 2.4
275
<title><anchor id="gtk-tool-item-get-use-drag-window" role="function" condition="since:2.4"/>gtk_tool_item_get_use_drag_window ()</title>
276
<indexterm role="2.4"><primary>gtk_tool_item_get_use_drag_window</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> gtk_tool_item_get_use_drag_window (<link linkend="GtkToolItem">GtkToolItem</link> *toolitem);</programlisting>
278
Returns whether <parameter>toolitem</parameter> has a drag window. See
279
<link linkend="gtk-tool-item-set-use-drag-window"><function>gtk_tool_item_set_use_drag_window()</function></link>.</para>
282
</para><variablelist role="params">
283
<varlistentry><term><parameter>toolitem</parameter> :</term>
284
<listitem><simpara> a <link linkend="GtkToolItem"><type>GtkToolItem</type></link>
285
</simpara></listitem></varlistentry>
286
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if <parameter>toolitem</parameter> uses a drag window.
288
</simpara></listitem></varlistentry>
289
</variablelist><para role="since">Since 2.4
292
<title><anchor id="gtk-tool-item-set-visible-horizontal" role="function" condition="since:2.4"/>gtk_tool_item_set_visible_horizontal ()</title>
293
<indexterm role="2.4"><primary>gtk_tool_item_set_visible_horizontal</primary></indexterm><programlisting><link linkend="void">void</link> gtk_tool_item_set_visible_horizontal
294
(<link linkend="GtkToolItem">GtkToolItem</link> *toolitem,
295
<link linkend="gboolean">gboolean</link> visible_horizontal);</programlisting>
297
Sets whether <parameter>toolitem</parameter> is visible when the toolbar is docked horizontally.</para>
300
</para><variablelist role="params">
301
<varlistentry><term><parameter>toolitem</parameter> :</term>
302
<listitem><simpara> a <link linkend="GtkToolItem"><type>GtkToolItem</type></link>
303
</simpara></listitem></varlistentry>
304
<varlistentry><term><parameter>visible_horizontal</parameter> :</term>
305
<listitem><simpara> Whether <parameter>toolitem</parameter> is visible when in horizontal mode
306
</simpara></listitem></varlistentry>
307
</variablelist><para role="since">Since 2.4
310
<title><anchor id="gtk-tool-item-get-visible-horizontal" role="function" condition="since:2.4"/>gtk_tool_item_get_visible_horizontal ()</title>
311
<indexterm role="2.4"><primary>gtk_tool_item_get_visible_horizontal</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> gtk_tool_item_get_visible_horizontal
312
(<link linkend="GtkToolItem">GtkToolItem</link> *toolitem);</programlisting>
314
Returns whether the <parameter>toolitem</parameter> is visible on toolbars that are
315
docked horizontally.</para>
318
</para><variablelist role="params">
319
<varlistentry><term><parameter>toolitem</parameter> :</term>
320
<listitem><simpara> a <link linkend="GtkToolItem"><type>GtkToolItem</type></link>
321
</simpara></listitem></varlistentry>
322
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if <parameter>toolitem</parameter> is visible on toolbars that are
325
</simpara></listitem></varlistentry>
326
</variablelist><para role="since">Since 2.4
329
<title><anchor id="gtk-tool-item-set-visible-vertical" role="function" condition="since:2.4"/>gtk_tool_item_set_visible_vertical ()</title>
330
<indexterm role="2.4"><primary>gtk_tool_item_set_visible_vertical</primary></indexterm><programlisting><link linkend="void">void</link> gtk_tool_item_set_visible_vertical (<link linkend="GtkToolItem">GtkToolItem</link> *toolitem,
331
<link linkend="gboolean">gboolean</link> visible_vertical);</programlisting>
333
Sets whether <parameter>toolitem</parameter> is visible when the toolbar is docked
334
vertically. Some tool items, such as text entries, are too wide to be
335
useful on a vertically docked toolbar. If <parameter>visible_vertical</parameter> is <link linkend="FALSE:CAPS"><literal>FALSE</literal></link>
336
<parameter>toolitem</parameter> will not appear on toolbars that are docked vertically.</para>
339
</para><variablelist role="params">
340
<varlistentry><term><parameter>toolitem</parameter> :</term>
341
<listitem><simpara> a <link linkend="GtkToolItem"><type>GtkToolItem</type></link>
342
</simpara></listitem></varlistentry>
343
<varlistentry><term><parameter>visible_vertical</parameter> :</term>
344
<listitem><simpara> whether <parameter>toolitem</parameter> is visible when the toolbar
346
</simpara></listitem></varlistentry>
347
</variablelist><para role="since">Since 2.4
350
<title><anchor id="gtk-tool-item-get-visible-vertical" role="function" condition="since:2.4"/>gtk_tool_item_get_visible_vertical ()</title>
351
<indexterm role="2.4"><primary>gtk_tool_item_get_visible_vertical</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> gtk_tool_item_get_visible_vertical (<link linkend="GtkToolItem">GtkToolItem</link> *toolitem);</programlisting>
353
Returns whether <parameter>toolitem</parameter> is visible when the toolbar is docked vertically.
354
See <link linkend="gtk-tool-item-set-visible-vertical"><function>gtk_tool_item_set_visible_vertical()</function></link>.</para>
357
</para><variablelist role="params">
358
<varlistentry><term><parameter>toolitem</parameter> :</term>
359
<listitem><simpara> a <link linkend="GtkToolItem"><type>GtkToolItem</type></link>
360
</simpara></listitem></varlistentry>
361
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> Whether <parameter>toolitem</parameter> is visible when the toolbar is docked vertically
363
</simpara></listitem></varlistentry>
364
</variablelist><para role="since">Since 2.4
367
<title><anchor id="gtk-tool-item-set-is-important" role="function" condition="since:2.4"/>gtk_tool_item_set_is_important ()</title>
368
<indexterm role="2.4"><primary>gtk_tool_item_set_is_important</primary></indexterm><programlisting><link linkend="void">void</link> gtk_tool_item_set_is_important (<link linkend="GtkToolItem">GtkToolItem</link> *tool_item,
369
<link linkend="gboolean">gboolean</link> is_important);</programlisting>
371
Sets whether <parameter>tool_item</parameter> should be considered important. The <link linkend="GtkToolButton"><type>GtkToolButton</type></link>
372
class uses this property to determine whether to show or hide its label
373
when the toolbar style is <link linkend="GTK-TOOLBAR-BOTH-HORIZ:CAPS"><literal>GTK_TOOLBAR_BOTH_HORIZ</literal></link>. The result is that
374
only tool buttons with the "is_important" property set have labels, an
375
effect known as "priority text"</para>
378
</para><variablelist role="params">
379
<varlistentry><term><parameter>tool_item</parameter> :</term>
380
<listitem><simpara> a <link linkend="GtkToolItem"><type>GtkToolItem</type></link>
381
</simpara></listitem></varlistentry>
382
<varlistentry><term><parameter>is_important</parameter> :</term>
383
<listitem><simpara> whether the tool item should be considered important
384
</simpara></listitem></varlistentry>
385
</variablelist><para role="since">Since 2.4
388
<title><anchor id="gtk-tool-item-get-is-important" role="function" condition="since:2.4"/>gtk_tool_item_get_is_important ()</title>
389
<indexterm role="2.4"><primary>gtk_tool_item_get_is_important</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> gtk_tool_item_get_is_important (<link linkend="GtkToolItem">GtkToolItem</link> *tool_item);</programlisting>
391
Returns whether <parameter>tool_item</parameter> is considered important. See
392
<link linkend="gtk-tool-item-set-is-important"><function>gtk_tool_item_set_is_important()</function></link></para>
395
</para><variablelist role="params">
396
<varlistentry><term><parameter>tool_item</parameter> :</term>
397
<listitem><simpara> a <link linkend="GtkToolItem"><type>GtkToolItem</type></link>
398
</simpara></listitem></varlistentry>
399
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if <parameter>tool_item</parameter> is considered important.
401
</simpara></listitem></varlistentry>
402
</variablelist><para role="since">Since 2.4
405
<title><anchor id="gtk-tool-item-get-icon-size" role="function" condition="since:2.4"/>gtk_tool_item_get_icon_size ()</title>
406
<indexterm role="2.4"><primary>gtk_tool_item_get_icon_size</primary></indexterm><programlisting><link linkend="GtkIconSize">GtkIconSize</link> gtk_tool_item_get_icon_size (<link linkend="GtkToolItem">GtkToolItem</link> *tool_item);</programlisting>
408
Returns the icon size used for <parameter>tool_item</parameter>. Custom subclasses of
409
<link linkend="GtkToolItem"><type>GtkToolItem</type></link> should call this function to find out what size icons
410
they should use.</para>
413
</para><variablelist role="params">
414
<varlistentry><term><parameter>tool_item</parameter> :</term>
415
<listitem><simpara> a <link linkend="GtkToolItem--"><type>GtkToolItem:</type></link>
416
</simpara></listitem></varlistentry>
417
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> a <link linkend="GtkIconSize"><type>GtkIconSize</type></link> indicating the icon size used for <parameter>tool_item</parameter>
419
</simpara></listitem></varlistentry>
420
</variablelist><para role="since">Since 2.4
423
<title><anchor id="gtk-tool-item-get-orientation" role="function" condition="since:2.4"/>gtk_tool_item_get_orientation ()</title>
424
<indexterm role="2.4"><primary>gtk_tool_item_get_orientation</primary></indexterm><programlisting><link linkend="GtkOrientation">GtkOrientation</link> gtk_tool_item_get_orientation (<link linkend="GtkToolItem">GtkToolItem</link> *tool_item);</programlisting>
426
Returns the orientation used for <parameter>tool_item</parameter>. Custom subclasses of
427
<link linkend="GtkToolItem"><type>GtkToolItem</type></link> should call this function to find out what size icons
428
they should use.</para>
431
</para><variablelist role="params">
432
<varlistentry><term><parameter>tool_item</parameter> :</term>
433
<listitem><simpara> a <link linkend="GtkToolItem--"><type>GtkToolItem:</type></link>
434
</simpara></listitem></varlistentry>
435
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> a <link linkend="GtkOrientation"><type>GtkOrientation</type></link> indicating the orientation
436
used for <parameter>tool_item</parameter>
438
</simpara></listitem></varlistentry>
439
</variablelist><para role="since">Since 2.4
442
<title><anchor id="gtk-tool-item-get-toolbar-style" role="function" condition="since:2.4"/>gtk_tool_item_get_toolbar_style ()</title>
443
<indexterm role="2.4"><primary>gtk_tool_item_get_toolbar_style</primary></indexterm><programlisting><link linkend="GtkToolbarStyle">GtkToolbarStyle</link> gtk_tool_item_get_toolbar_style (<link linkend="GtkToolItem">GtkToolItem</link> *tool_item);</programlisting>
445
Returns the toolbar style used for <parameter>tool_item</parameter>. Custom subclasses of
446
<link linkend="GtkToolItem"><type>GtkToolItem</type></link> should call this function in the handler of the
447
GtkToolItem::toolbar_reconfigured signal to find out in what style
448
the toolbar is displayed and change themselves accordingly
453
<listitem> GTK_TOOLBAR_BOTH, meaning the tool item should show
454
both an icon and a label, stacked vertically </listitem>
455
<listitem> GTK_TOOLBAR_ICONS, meaning the toolbar shows
456
only icons </listitem>
457
<listitem> GTK_TOOLBAR_TEXT, meaning the tool item should only
459
<listitem> GTK_TOOLBAR_BOTH_HORIZ, meaning the tool item should show
460
both an icon and a label, arranged horizontally (however, note the
461
<link linkend="GtkToolButton-has-text-horizontally"><type>GtkToolButton::has_text_horizontally</type></link> that makes tool buttons not
462
show labels when the toolbar style is GTK_TOOLBAR_BOTH_HORIZ.
464
</itemizedlist></para>
467
</para><variablelist role="params">
468
<varlistentry><term><parameter>tool_item</parameter> :</term>
469
<listitem><simpara> a <link linkend="GtkToolItem--"><type>GtkToolItem:</type></link>
470
</simpara></listitem></varlistentry>
471
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> A <link linkend="GtkToolbarStyle"><type>GtkToolbarStyle</type></link> indicating the toolbar style used
472
for <parameter>tool_item</parameter>.
474
</simpara></listitem></varlistentry>
475
</variablelist><para role="since">Since 2.4
478
<title><anchor id="gtk-tool-item-get-relief-style" role="function" condition="since:2.4"/>gtk_tool_item_get_relief_style ()</title>
479
<indexterm role="2.4"><primary>gtk_tool_item_get_relief_style</primary></indexterm><programlisting><link linkend="GtkReliefStyle">GtkReliefStyle</link> gtk_tool_item_get_relief_style (<link linkend="GtkToolItem">GtkToolItem</link> *tool_item);</programlisting>
481
Returns the relief style of <parameter>tool_item</parameter>. See <link linkend="gtk-button-set-relief-style"><function>gtk_button_set_relief_style()</function></link>.
482
Custom subclasses of <link linkend="GtkToolItem"><type>GtkToolItem</type></link> should call this function in the handler
483
of the <link linkend="GtkToolItem-toolbar-reconfigured"><type>GtkToolItem::toolbar_reconfigured</type></link> signal to find out the
484
relief style of buttons.</para>
487
</para><variablelist role="params">
488
<varlistentry><term><parameter>tool_item</parameter> :</term>
489
<listitem><simpara> a <link linkend="GtkToolItem--"><type>GtkToolItem:</type></link>
490
</simpara></listitem></varlistentry>
491
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> a <link linkend="GtkReliefStyle"><type>GtkReliefStyle</type></link> indicating the relief style used
492
for <parameter>tool_item</parameter>.
494
</simpara></listitem></varlistentry>
495
</variablelist><para role="since">Since 2.4
498
<title><anchor id="gtk-tool-item-retrieve-proxy-menu-item" role="function" condition="since:2.4"/>gtk_tool_item_retrieve_proxy_menu_item ()</title>
499
<indexterm role="2.4"><primary>gtk_tool_item_retrieve_proxy_menu_item</primary></indexterm><programlisting><link linkend="GtkWidget">GtkWidget</link>* gtk_tool_item_retrieve_proxy_menu_item
500
(<link linkend="GtkToolItem">GtkToolItem</link> *tool_item);</programlisting>
502
Returns the <link linkend="GtkMenuItem"><type>GtkMenuItem</type></link> that was last set by
503
<link linkend="gtk-tool-item-set-proxy-menu-item"><function>gtk_tool_item_set_proxy_menu_item()</function></link>, ie. the <link linkend="GtkMenuItem"><type>GtkMenuItem</type></link>
504
that is going to appear in the overflow menu.</para>
507
</para><variablelist role="params">
508
<varlistentry><term><parameter>tool_item</parameter> :</term>
509
<listitem><simpara> a <link linkend="GtkToolItem--"><type>GtkToolItem:</type></link>
510
</simpara></listitem></varlistentry>
511
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> The <link linkend="GtkMenuItem"><type>GtkMenuItem</type></link> that is going to appear in the
512
overflow menu for <parameter>tool_item</parameter>.
514
</simpara></listitem></varlistentry>
515
</variablelist><para role="since">Since 2.4
518
<title><anchor id="gtk-tool-item-get-proxy-menu-item" role="function" condition="since:2.4"/>gtk_tool_item_get_proxy_menu_item ()</title>
519
<indexterm role="2.4"><primary>gtk_tool_item_get_proxy_menu_item</primary></indexterm><programlisting><link linkend="GtkWidget">GtkWidget</link>* gtk_tool_item_get_proxy_menu_item (<link linkend="GtkToolItem">GtkToolItem</link> *tool_item,
520
const <link linkend="gchar">gchar</link> *menu_item_id);</programlisting>
522
If <parameter>menu_item_id</parameter> matches the string passed to
523
<link linkend="gtk-tool-item-set-proxy-menu-item"><function>gtk_tool_item_set_proxy_menu_item()</function></link> return the corresponding <link linkend="GtkMenuItem"><type>GtkMenuItem</type></link>.
526
Custom subclasses of <link linkend="GtkToolItem"><type>GtkToolItem</type></link> should use this function to update
527
their menu item when the <link linkend="GtkToolItem"><type>GtkToolItem</type></link> changes. That the
528
<parameter>menu_item_id</parameter><!-- -->s must match ensures that a <link linkend="GtkToolItem"><type>GtkToolItem</type></link> will not
529
inadvertently change a menu item that they did not create.</para>
532
</para><variablelist role="params">
533
<varlistentry><term><parameter>tool_item</parameter> :</term>
534
<listitem><simpara> a <link linkend="GtkToolItem--"><type>GtkToolItem:</type></link>
535
</simpara></listitem></varlistentry>
536
<varlistentry><term><parameter>menu_item_id</parameter> :</term>
537
<listitem><simpara> a string used to identify the menu item
538
</simpara></listitem></varlistentry>
539
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> The <link linkend="GtkMenuItem"><type>GtkMenuItem</type></link> passed to
540
<link linkend="gtk-tool-item-set-proxy-menu-item"><function>gtk_tool_item_set_proxy_menu_item()</function></link>, if the <parameter>menu_item_id</parameter><!-- -->s match.
542
</simpara></listitem></varlistentry>
543
</variablelist><para role="since">Since 2.4
546
<title><anchor id="gtk-tool-item-set-proxy-menu-item" role="function" condition="since:2.4"/>gtk_tool_item_set_proxy_menu_item ()</title>
547
<indexterm role="2.4"><primary>gtk_tool_item_set_proxy_menu_item</primary></indexterm><programlisting><link linkend="void">void</link> gtk_tool_item_set_proxy_menu_item (<link linkend="GtkToolItem">GtkToolItem</link> *tool_item,
548
const <link linkend="gchar">gchar</link> *menu_item_id,
549
<link linkend="GtkWidget">GtkWidget</link> *menu_item);</programlisting>
551
Sets the <link linkend="GtkMenuItem"><type>GtkMenuItem</type></link> used in the toolbar overflow menu. The
552
<parameter>menu_item_id</parameter> is used to identify the caller of this function and
553
should also be used with <link linkend="gtk-tool-item-get-proxy-menu-item"><function>gtk_tool_item_get_proxy_menu_item()</function></link>.</para>
556
</para><variablelist role="params">
557
<varlistentry><term><parameter>tool_item</parameter> :</term>
558
<listitem><simpara> a <link linkend="GtkToolItem--"><type>GtkToolItem:</type></link>
559
</simpara></listitem></varlistentry>
560
<varlistentry><term><parameter>menu_item_id</parameter> :</term>
561
<listitem><simpara> a string used to identify <parameter>menu_item</parameter>
562
</simpara></listitem></varlistentry>
563
<varlistentry><term><parameter>menu_item</parameter> :</term>
564
<listitem><simpara> a <link linkend="GtkMenuItem"><type>GtkMenuItem</type></link> to be used in the overflow menu
565
</simpara></listitem></varlistentry>
566
</variablelist><para role="since">Since 2.4
569
<title><anchor id="gtk-tool-item-rebuild-menu" role="function" condition="since:2.6"/>gtk_tool_item_rebuild_menu ()</title>
570
<indexterm role="2.6"><primary>gtk_tool_item_rebuild_menu</primary></indexterm><programlisting><link linkend="void">void</link> gtk_tool_item_rebuild_menu (<link linkend="GtkToolItem">GtkToolItem</link> *tool_item);</programlisting>
572
Calling this function signals to the toolbar that the
573
overflow menu item for <parameter>tool_item</parameter> has changed. If the
574
overflow menu is visible when this function it called,
575
the menu will be rebuilt.
578
The function must be called when the tool item
579
changes what it will do in response to the "create_menu_proxy"
583
</para><variablelist role="params">
584
<varlistentry><term><parameter>tool_item</parameter> :</term>
585
<listitem><simpara> a <link linkend="GtkToolItem"><type>GtkToolItem</type></link>
586
</simpara></listitem></varlistentry>
587
</variablelist><para role="since">Since 2.6
591
<refsect1 role="property_details">
592
<title role="property_details.title">Property Details</title>
593
<refsect2><title><anchor id="GtkToolItem--is-important"/>The "<literal>is-important</literal>" property</title>
594
<indexterm><primary>GtkToolItem:is-important</primary></indexterm><programlisting> "is-important" <link linkend="gboolean">gboolean</link> : Read / Write</programlisting>
595
<para>Whether the toolbar item is considered important. When TRUE, toolbar buttons show text in GTK_TOOLBAR_BOTH_HORIZ mode.</para><para>Default value: FALSE</para>
597
<refsect2><title><anchor id="GtkToolItem--visible-horizontal"/>The "<literal>visible-horizontal</literal>" property</title>
598
<indexterm><primary>GtkToolItem:visible-horizontal</primary></indexterm><programlisting> "visible-horizontal" <link linkend="gboolean">gboolean</link> : Read / Write</programlisting>
599
<para>Whether the toolbar item is visible when the toolbar is in a horizontal orientation.</para><para>Default value: TRUE</para>
601
<refsect2><title><anchor id="GtkToolItem--visible-vertical"/>The "<literal>visible-vertical</literal>" property</title>
602
<indexterm><primary>GtkToolItem:visible-vertical</primary></indexterm><programlisting> "visible-vertical" <link linkend="gboolean">gboolean</link> : Read / Write</programlisting>
603
<para>Whether the toolbar item is visible when the toolbar is in a vertical orientation.</para><para>Default value: TRUE</para>
608
<refsect1 role="signals">
609
<title role="signals.title">Signal Details</title>
610
<refsect2><title><anchor id="GtkToolItem-create-menu-proxy"/>The "create-menu-proxy" signal</title>
611
<indexterm><primary>GtkToolItem::create-menu-proxy</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> user_function (<link linkend="GtkToolItem">GtkToolItem</link> *toolitem,
612
<link linkend="gpointer">gpointer</link> user_data) : Run Last</programlisting>
614
This signal is emitted when the toolbar needs information from <parameter>tool_item</parameter>
615
about whether the item should appear in the toolbar overflow menu. In
616
response the tool item should either
618
<listitem> call <link linkend="gtk-tool-item-set-proxy-menu-item"><function>gtk_tool_item_set_proxy_menu_item()</function></link> with a <link linkend="NULL:CAPS"><literal>NULL</literal></link>
619
pointer and return <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to indicate that the item should not appear
622
<listitem> call <link linkend="gtk-tool-item-set-proxy-menu-item"><function>gtk_tool_item_set_proxy_menu_item()</function></link> with a new menu
623
item and return <link linkend="TRUE:CAPS"><literal>TRUE</literal></link>, or
625
<listitem> return <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> to indicate that the signal was not
626
handled by the item. This means that
627
the item will not appear in the overflow menu unless a later handler
628
installs a menu item.
633
The toolbar may cache the result of this signal. When the tool item changes
634
how it will respond to this signal it must call <link linkend="gtk-tool-item-rebuild-menu"><function>gtk_tool_item_rebuild_menu()</function></link>
635
to invalidate the cache and ensure that the toolbar rebuilds its overflow
639
</para><variablelist role="params">
640
<varlistentry><term><parameter>toolitem</parameter> :</term>
641
<listitem><simpara> the object the signal was emitted on
642
</simpara></listitem></varlistentry>
643
<varlistentry><term><parameter>user_data</parameter> :</term>
644
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
645
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the signal was handled, <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> if not
646
</simpara></listitem></varlistentry>
647
</variablelist></refsect2><refsect2><title><anchor id="GtkToolItem-set-tooltip"/>The "set-tooltip" signal</title>
648
<indexterm><primary>GtkToolItem::set-tooltip</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> user_function (<link linkend="GtkToolItem">GtkToolItem</link> *toolitem,
649
<link linkend="GtkTooltips">GtkTooltips</link> *tooltips,
650
<link linkend="gchar">gchar</link> *tip_text,
651
<link linkend="gchar">gchar</link> *tip_private,
652
<link linkend="gpointer">gpointer</link> user_data) : Run Last</programlisting>
654
This signal is emitted when the toolitem's tooltip changes.
655
Application developers can use <link linkend="gtk-tool-item-set-tooltip"><function>gtk_tool_item_set_tooltip()</function></link> to
656
set the item's tooltip.</para>
659
</para><variablelist role="params">
660
<varlistentry><term><parameter>toolitem</parameter> :</term>
661
<listitem><simpara> the object the signal was emitted on
662
</simpara></listitem></varlistentry>
663
<varlistentry><term><parameter>tooltips</parameter> :</term>
664
<listitem><simpara> the <link linkend="GtkTooltips"><type>GtkTooltips</type></link>
665
</simpara></listitem></varlistentry>
666
<varlistentry><term><parameter>tip_text</parameter> :</term>
667
<listitem><simpara> the tooltip text
668
</simpara></listitem></varlistentry>
669
<varlistentry><term><parameter>tip_private</parameter> :</term>
670
<listitem><simpara> the tooltip private text
671
</simpara></listitem></varlistentry>
672
<varlistentry><term><parameter>user_data</parameter> :</term>
673
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
674
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the signal was handled, <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> if not
675
</simpara></listitem></varlistentry>
676
</variablelist></refsect2><refsect2><title><anchor id="GtkToolItem-toolbar-reconfigured"/>The "toolbar-reconfigured" signal</title>
677
<indexterm><primary>GtkToolItem::toolbar-reconfigured</primary></indexterm><programlisting><link linkend="void">void</link> user_function (<link linkend="GtkToolItem">GtkToolItem</link> *toolitem,
678
<link linkend="gpointer">gpointer</link> user_data) : Run Last</programlisting>
680
This signal is emitted when some property of the toolbar that the
681
item is a child of changes. For custom subclasses of <link linkend="GtkToolItem"><type>GtkToolItem</type></link>,
682
the default handler of this signal use the functions
684
<listitem><link linkend="gtk-toolbar-get-orientation"><function>gtk_toolbar_get_orientation()</function></link></listitem>
685
<listitem><link linkend="gtk-toolbar-get-style"><function>gtk_toolbar_get_style()</function></link></listitem>
686
<listitem><link linkend="gtk-toolbar-get-icon-size"><function>gtk_toolbar_get_icon_size()</function></link></listitem>
687
<listitem><link linkend="gtk-toolbar-get-relief-style"><function>gtk_toolbar_get_relief_style()</function></link></listitem>
689
to find out what the toolbar should look like and change
690
themselves accordingly.</para>
693
</para><variablelist role="params">
694
<varlistentry><term><parameter>toolitem</parameter> :</term>
695
<listitem><simpara> the object the signal was emitted on
696
</simpara></listitem></varlistentry>
697
<varlistentry><term><parameter>user_data</parameter> :</term>
698
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
699
</variablelist></refsect2>
704
<title>See Also</title>
708
<term><link linkend="GtkToolbar"><type>GtkToolbar</type></link></term>
709
<listitem><para>The toolbar widget</para></listitem>
713
<term><link linkend="GtkToolButton"><type>GtkToolButton</type></link></term>
714
<listitem><para>A subclass of <link linkend="GtkToolItem"><type>GtkToolItem</type></link> that displays buttons on
715
the toolbar</para></listitem>
719
<term><link linkend="GtkSeparatorToolItem"><type>GtkSeparatorToolItem</type></link></term>
720
<listitem><para>A subclass of <link linkend="GtkToolItem"><type>GtkToolItem</type></link> that separates groups of
721
items on a toolbar</para></listitem>