1
<?xml version="1.0" encoding="UTF-8" ?>
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">
5
<refentry id="GimpUnitMenu">
7
<refentrytitle>GimpUnitMenu</refentrytitle>
8
<manvolnum>3</manvolnum>
9
<refmiscinfo>LIBGIMPWIDGETS Library</refmiscinfo>
13
<refname>GimpUnitMenu</refname><refpurpose>Widget for selecting a <link linkend="GimpUnit"><type>GimpUnit</type></link>.</refpurpose>
16
<refsynopsisdiv><title>Synopsis</title>
22
struct <link linkend="GimpUnitMenu-struct">GimpUnitMenu</link>;
23
<link linkend="GtkWidget">GtkWidget</link>* <link linkend="gimp-unit-menu-new">gimp_unit_menu_new</link> (const <link linkend="gchar">gchar</link> *format,
24
<link linkend="GimpUnit">GimpUnit</link> unit,
25
<link linkend="gboolean">gboolean</link> show_pixels,
26
<link linkend="gboolean">gboolean</link> show_percent,
27
<link linkend="gboolean">gboolean</link> show_custom);
28
<link linkend="void">void</link> <link linkend="gimp-unit-menu-set-unit">gimp_unit_menu_set_unit</link> (<link linkend="GimpUnitMenu">GimpUnitMenu</link> *menu,
29
<link linkend="GimpUnit">GimpUnit</link> unit);
30
<link linkend="GimpUnit">GimpUnit</link> <link linkend="gimp-unit-menu-get-unit">gimp_unit_menu_get_unit</link> (<link linkend="GimpUnitMenu">GimpUnitMenu</link> *menu);
31
<link linkend="gint">gint</link> <link linkend="gimp-unit-menu-get-pixel-digits">gimp_unit_menu_get_pixel_digits</link> (<link linkend="GimpUnitMenu">GimpUnitMenu</link> *menu);
32
<link linkend="void">void</link> <link linkend="gimp-unit-menu-set-pixel-digits">gimp_unit_menu_set_pixel_digits</link> (<link linkend="GimpUnitMenu">GimpUnitMenu</link> *menu,
33
<link linkend="gint">gint</link> digits);
39
<title>Object Hierarchy</title>
42
<link linkend="GObject">GObject</link>
43
+----<link linkend="GtkObject">GtkObject</link>
44
+----<link linkend="GtkWidget">GtkWidget</link>
45
+----<link linkend="GtkContainer">GtkContainer</link>
46
+----<link linkend="GtkBin">GtkBin</link>
47
+----<link linkend="GtkButton">GtkButton</link>
48
+----<link linkend="GtkOptionMenu">GtkOptionMenu</link>
57
<title>Implemented Interfaces</title>
59
GimpUnitMenu implements
60
<link linkend="AtkImplementorIface">AtkImplementorIface</link>.</para>
67
<title>Signal Prototypes</title>
70
"<link linkend="GimpUnitMenu-unit-changed">unit-changed</link>"
71
<link linkend="void">void</link> user_function (<link linkend="GimpUnitMenu">GimpUnitMenu</link> *,
72
<link linkend="gpointer">gpointer</link> user_data);
78
<title>Description</title>
80
This widget provides a <link linkend="GtkOptionMenu"><type>GtkOptionMenu</type></link> which contains a list of <link linkend="GimpUnit"><type>GimpUnit</type></link>'s.
83
You can specify the string that will be displayed for each unit by
84
passing a printf-like <parameter>format</parameter> string to <link linkend="gimp-unit-menu-new"><function>gimp_unit_menu_new()</function></link>.
87
The constructor also lets you choose if the menu should contain items
88
for GIMP_UNIT_PIXEL, GIMP_UNIT_PERCENT and a "More..." item which will
89
pop up a dialog for selecting user-defined units.
92
Whenever the user selects a unit from the menu or the dialog, the
93
"unit_changed" signal will be emitted.
98
<title>Details</title>
100
<title><anchor id="GimpUnitMenu-struct"/>struct GimpUnitMenu</title>
101
<indexterm><primary>GimpUnitMenu</primary></indexterm><programlisting>struct GimpUnitMenu;</programlisting>
106
<title><anchor id="gimp-unit-menu-new"/>gimp_unit_menu_new ()</title>
107
<indexterm><primary>gimp_unit_menu_new</primary></indexterm><programlisting><link linkend="GtkWidget">GtkWidget</link>* gimp_unit_menu_new (const <link linkend="gchar">gchar</link> *format,
108
<link linkend="GimpUnit">GimpUnit</link> unit,
109
<link linkend="gboolean">gboolean</link> show_pixels,
110
<link linkend="gboolean">gboolean</link> show_percent,
111
<link linkend="gboolean">gboolean</link> show_custom);</programlisting>
113
Creates a new <link linkend="GimpUnitMenu"><type>GimpUnitMenu</type></link> widget.
116
The <parameter>format</parameter> string supports the following percent expansions:
119
<informaltable pgwide="1" frame="none" role="enum">
120
<tgroup cols="2"><colspec colwidth="1*"/><colspec colwidth="8*"/>
124
<entry>Factor (how many units make up an inch)</entry>
128
<entry>Symbol (e.g. "''" for GIMP_UNIT_INCH)</entry>
132
<entry>Abbreviation</entry>
136
<entry>Singular</entry>
140
<entry>Plural</entry>
144
<entry>Literal percent</entry>
148
</informaltable></para>
151
</para><variablelist role="params">
152
<varlistentry><term><parameter>format</parameter> :</term>
153
<listitem><simpara> A printf-like format string which is used to create the unit
155
</simpara></listitem></varlistentry>
156
<varlistentry><term><parameter>unit</parameter> :</term>
157
<listitem><simpara> The initially selected unit.
158
</simpara></listitem></varlistentry>
159
<varlistentry><term><parameter>show_pixels</parameter> :</term>
160
<listitem><simpara> <literal>TRUE</literal> if the unit menu should contain an item for
162
</simpara></listitem></varlistentry>
163
<varlistentry><term><parameter>show_percent</parameter> :</term>
164
<listitem><simpara> <literal>TRUE</literal> in the unit menu should contain an item for
166
</simpara></listitem></varlistentry>
167
<varlistentry><term><parameter>show_custom</parameter> :</term>
168
<listitem><simpara> <literal>TRUE</literal> if the unit menu should contain a "More..." item for
169
opening the user-defined-unit selection dialog.
170
</simpara></listitem></varlistentry>
171
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> A pointer to the new <link linkend="GimpUnitMenu"><type>GimpUnitMenu</type></link> widget.
172
</simpara></listitem></varlistentry>
173
</variablelist></refsect2>
175
<title><anchor id="gimp-unit-menu-set-unit"/>gimp_unit_menu_set_unit ()</title>
176
<indexterm><primary>gimp_unit_menu_set_unit</primary></indexterm><programlisting><link linkend="void">void</link> gimp_unit_menu_set_unit (<link linkend="GimpUnitMenu">GimpUnitMenu</link> *menu,
177
<link linkend="GimpUnit">GimpUnit</link> unit);</programlisting>
179
Sets a new <link linkend="GimpUnit"><type>GimpUnit</type></link> for the specified <link linkend="GimpUnitMenu"><type>GimpUnitMenu</type></link>.</para>
182
</para><variablelist role="params">
183
<varlistentry><term><parameter>menu</parameter> :</term>
184
<listitem><simpara> The unit menu you want to set the unit for.
185
</simpara></listitem></varlistentry>
186
<varlistentry><term><parameter>unit</parameter> :</term>
187
<listitem><simpara> The new unit.
188
</simpara></listitem></varlistentry>
189
</variablelist></refsect2>
191
<title><anchor id="gimp-unit-menu-get-unit"/>gimp_unit_menu_get_unit ()</title>
192
<indexterm><primary>gimp_unit_menu_get_unit</primary></indexterm><programlisting><link linkend="GimpUnit">GimpUnit</link> gimp_unit_menu_get_unit (<link linkend="GimpUnitMenu">GimpUnitMenu</link> *menu);</programlisting>
194
Returns the <link linkend="GimpUnit"><type>GimpUnit</type></link> the user has selected from the <link linkend="GimpUnitMenu"><type>GimpUnitMenu</type></link>.</para>
197
</para><variablelist role="params">
198
<varlistentry><term><parameter>menu</parameter> :</term>
199
<listitem><simpara> The unit menu you want to know the unit of.
200
</simpara></listitem></varlistentry>
201
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> The unit the user has selected.
202
</simpara></listitem></varlistentry>
203
</variablelist></refsect2>
205
<title><anchor id="gimp-unit-menu-get-pixel-digits"/>gimp_unit_menu_get_pixel_digits ()</title>
206
<indexterm><primary>gimp_unit_menu_get_pixel_digits</primary></indexterm><programlisting><link linkend="gint">gint</link> gimp_unit_menu_get_pixel_digits (<link linkend="GimpUnitMenu">GimpUnitMenu</link> *menu);</programlisting>
208
Retrieve the number of digits for a pixel size as set by
209
<link linkend="gimp-unit-set-pixel-digits"><function>gimp_unit_set_pixel_digits()</function></link>.</para>
212
</para><variablelist role="params">
213
<varlistentry><term><parameter>menu</parameter> :</term>
214
<listitem><simpara> a <link linkend="GimpUnitMenu"><type>GimpUnitMenu</type></link>
215
</simpara></listitem></varlistentry>
216
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the configured number of digits for a pixel size
217
</simpara></listitem></varlistentry>
218
</variablelist></refsect2>
220
<title><anchor id="gimp-unit-menu-set-pixel-digits"/>gimp_unit_menu_set_pixel_digits ()</title>
221
<indexterm><primary>gimp_unit_menu_set_pixel_digits</primary></indexterm><programlisting><link linkend="void">void</link> gimp_unit_menu_set_pixel_digits (<link linkend="GimpUnitMenu">GimpUnitMenu</link> *menu,
222
<link linkend="gint">gint</link> digits);</programlisting>
224
A GimpUnitMenu can be setup to control the number of digits shown
225
by attached spinbuttons. Please refer to the documentation of
226
<link linkend="gimp-unit-menu-update"><function>gimp_unit_menu_update()</function></link> to see how this is done.
229
This function allows to specify the number of digits shown for a
230
size in pixels. Usually this is 0 (only full pixels). If you want
231
to allow the user to specify sub-pixel sizes using the attached
232
spinbuttons, specify the number of digits after the decimal point
233
here. You should do this after attaching your spinbuttons.</para>
236
</para><variablelist role="params">
237
<varlistentry><term><parameter>menu</parameter> :</term>
238
<listitem><simpara> a <link linkend="GimpUnitMenu"><type>GimpUnitMenu</type></link>
239
</simpara></listitem></varlistentry>
240
<varlistentry><term><parameter>digits</parameter> :</term>
241
<listitem><simpara> the number of digits to display for a pixel size
242
</simpara></listitem></varlistentry>
243
</variablelist></refsect2>
248
<title>Signals</title>
249
<refsect2><title><anchor id="GimpUnitMenu-unit-changed"/>The "unit-changed" signal</title>
250
<programlisting><link linkend="void">void</link> user_function (<link linkend="GimpUnitMenu">GimpUnitMenu</link> *,
251
<link linkend="gpointer">gpointer</link> user_data);</programlisting>
253
This signal is emitted whenever the user selects a <link linkend="GimpUnit"><type>GimpUnit</type></link> from
254
the <link linkend="GimpUnitMenu"><type>GimpUnitMenu</type></link>.</para>
257
</para><variablelist role="params">
258
<varlistentry><term><parameter>user_data</parameter> :</term>
259
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
260
</variablelist></refsect2>
265
<title>See Also</title>
267
<link linkend="GimpUnit"><type>GimpUnit</type></link>
270
<link linkend="GimpSizeEntry"><type>GimpSizeEntry</type></link>
273
<link linkend="gimp-coordinates-new"><function>gimp_coordinates_new()</function></link>