~ubuntu-branches/debian/squeeze/glib2.0/squeeze

« back to all changes in this revision

Viewing changes to docs/reference/gobject/xml/enumerations_flags.xml

  • Committer: Bazaar Package Importer
  • Author(s): Gustavo Noronha Silva
  • Date: 2009-02-15 13:00:43 UTC
  • mfrom: (1.3.1 upstream) (69.1.10 intrepid)
  • Revision ID: james.westby@ubuntu.com-20090215130043-q47fbt3owmt42m2f
Tags: 2.18.4-2
* Release to unstable
* debian/rules:
- bump SHVER, since we are already forcing a 2.18.0 dependecy on the
  symbols introduced in the development versions
* debian/control.in:
- added Homepage and Vcs-* control fields

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
<refentry id="gobject-Enumeration-and-Flag-Types">
2
2
<refmeta>
3
 
<refentrytitle role="top_of_page">Enums and Flags</refentrytitle>
 
3
<refentrytitle role="top_of_page" id="gobject-Enumeration-and-Flag-Types.top_of_page">Enumeration and Flag Types</refentrytitle>
4
4
<manvolnum>3</manvolnum>
5
5
<refmiscinfo>GOBJECT Library</refmiscinfo>
6
6
</refmeta>
7
7
 
8
8
<refnamediv>
9
 
<refname>Enums and Flags</refname>
 
9
<refname>Enumeration and Flag Types</refname>
10
10
<refpurpose>Enumeration and flags types</refpurpose>
11
 
<!--[<xref linkend="desc" endterm="desc.title"/>]-->
12
11
</refnamediv>
13
12
 
14
 
<refsynopsisdiv role="synopsis">
 
13
<refsynopsisdiv id="gobject-Enumeration-and-Flag-Types.synopsis" role="synopsis">
15
14
<title role="synopsis.title">Synopsis</title>
16
15
 
17
16
<synopsis>
18
17
 
19
18
#include &lt;glib-object.h&gt;
20
19
 
21
 
 
22
20
                    <link linkend="GEnumClass">GEnumClass</link>;
23
21
                    <link linkend="GFlagsClass">GFlagsClass</link>;
24
 
#define             <link linkend="G-ENUM-CLASS-TYPE:CAPS">G_ENUM_CLASS_TYPE</link>                   (class)
25
 
#define             <link linkend="G-ENUM-CLASS-TYPE-NAME:CAPS">G_ENUM_CLASS_TYPE_NAME</link>              (class)
26
 
#define             <link linkend="G-TYPE-IS-ENUM:CAPS">G_TYPE_IS_ENUM</link>                      (type)
27
 
#define             <link linkend="G-ENUM-CLASS:CAPS">G_ENUM_CLASS</link>                        (class)
28
 
#define             <link linkend="G-IS-ENUM-CLASS:CAPS">G_IS_ENUM_CLASS</link>                     (class)
29
 
#define             <link linkend="G-TYPE-IS-FLAGS:CAPS">G_TYPE_IS_FLAGS</link>                     (type)
30
 
#define             <link linkend="G-FLAGS-CLASS:CAPS">G_FLAGS_CLASS</link>                       (class)
31
 
#define             <link linkend="G-IS-FLAGS-CLASS:CAPS">G_IS_FLAGS_CLASS</link>                    (class)
32
 
#define             <link linkend="G-FLAGS-CLASS-TYPE:CAPS">G_FLAGS_CLASS_TYPE</link>                  (class)
33
 
#define             <link linkend="G-FLAGS-CLASS-TYPE-NAME:CAPS">G_FLAGS_CLASS_TYPE_NAME</link>             (class)
 
22
#define             <link linkend="G-ENUM-CLASS-TYPE--CAPS">G_ENUM_CLASS_TYPE</link>                   (class)
 
23
#define             <link linkend="G-ENUM-CLASS-TYPE-NAME--CAPS">G_ENUM_CLASS_TYPE_NAME</link>              (class)
 
24
#define             <link linkend="G-TYPE-IS-ENUM--CAPS">G_TYPE_IS_ENUM</link>                      (type)
 
25
#define             <link linkend="G-ENUM-CLASS--CAPS">G_ENUM_CLASS</link>                        (class)
 
26
#define             <link linkend="G-IS-ENUM-CLASS--CAPS">G_IS_ENUM_CLASS</link>                     (class)
 
27
#define             <link linkend="G-TYPE-IS-FLAGS--CAPS">G_TYPE_IS_FLAGS</link>                     (type)
 
28
#define             <link linkend="G-FLAGS-CLASS--CAPS">G_FLAGS_CLASS</link>                       (class)
 
29
#define             <link linkend="G-IS-FLAGS-CLASS--CAPS">G_IS_FLAGS_CLASS</link>                    (class)
 
30
#define             <link linkend="G-FLAGS-CLASS-TYPE--CAPS">G_FLAGS_CLASS_TYPE</link>                  (class)
 
31
#define             <link linkend="G-FLAGS-CLASS-TYPE-NAME--CAPS">G_FLAGS_CLASS_TYPE_NAME</link>             (class)
34
32
                    <link linkend="GEnumValue">GEnumValue</link>;
35
33
                    <link linkend="GFlagsValue">GFlagsValue</link>;
36
34
<link linkend="GEnumValue">GEnumValue</link>*         <link linkend="g-enum-get-value">g_enum_get_value</link>                    (<link linkend="GEnumClass">GEnumClass</link> *enum_class,
66
64
 
67
65
 
68
66
 
69
 
<refsect1 role="desc">
 
67
<refsect1 id="gobject-Enumeration-and-Flag-Types.description" role="desc">
70
68
<title role="desc.title">Description</title>
71
69
<para>
72
 
The GLib type system provides fundamental types for enumeration and flags types. (Flags types
73
 
are like enumerations, but allow their values to be combined by bitwise or). A registered 
74
 
enumeration or flags type associates a name and a nickname with each allowed value, and 
75
 
the methods <link linkend="g-enum-get-value-by-name"><function>g_enum_get_value_by_name()</function></link>, <link linkend="g-enum-get-value-by-nick"><function>g_enum_get_value_by_nick()</function></link>, <link linkend="g-flags-get-value-by-name"><function>g_flags_get_value_by_name()</function></link>
76
 
and <link linkend="g-flags-get-value-by-nick"><function>g_flags_get_value_by_nick()</function></link> can look up values by their name or nickname.
77
 
When an enumeration or flags type is registered with the GLib type system, it can
78
 
be used as value type for object properties, using <link linkend="g-param-spec-enum"><function>g_param_spec_enum()</function></link> or 
79
 
<link linkend="g-param-spec-flags"><function>g_param_spec_flags()</function></link>.
80
 
</para>
81
 
<para>
82
 
GObject ships with a utility called <link linkend="glib-mkenums">glib-mkenums</link> that can 
83
 
construct suitable type registration functions from C enumeration definitions.
 
70
<link linkend="glib-mkenums">glib-mkenums</link>
 
71
<parameter>title</parameter>: Enumeration and Flag Types
 
72
</para>
 
73
<para>
 
74
The GLib type system provides fundamental types for enumeration and
 
75
flags types. (Flags types are like enumerations, but allow their
 
76
values to be combined by bitwise or). A registered enumeration or
 
77
flags type associates a name and a nickname with each allowed
 
78
value, and the methods <link linkend="g-enum-get-value-by-name"><function>g_enum_get_value_by_name()</function></link>,
 
79
<link linkend="g-enum-get-value-by-nick"><function>g_enum_get_value_by_nick()</function></link>, <link linkend="g-flags-get-value-by-name"><function>g_flags_get_value_by_name()</function></link> and
 
80
<link linkend="g-flags-get-value-by-nick"><function>g_flags_get_value_by_nick()</function></link> can look up values by their name or
 
81
nickname.  When an enumeration or flags type is registered with the
 
82
GLib type system, it can be used as value type for object
 
83
properties, using <link linkend="g-param-spec-enum"><function>g_param_spec_enum()</function></link> or <link linkend="g-param-spec-flags"><function>g_param_spec_flags()</function></link>.
 
84
</para>
 
85
<para>
 
86
GObject ships with a utility called <link
 
87
linkend="glib-mkenums">glib-mkenums</link> that can construct
 
88
suitable type registration functions from C enumeration
 
89
definitions.</para>
 
90
<para>
84
91
</para>
85
92
</refsect1>
86
93
 
87
 
<refsect1 role="details">
 
94
<refsect1 id="gobject-Enumeration-and-Flag-Types.details" role="details">
88
95
<title role="details.title">Details</title>
89
 
<refsect2>
90
 
<title><anchor id="GEnumClass" role="struct"/>GEnumClass</title>
91
 
<indexterm><primary>GEnumClass</primary></indexterm><programlisting>typedef struct {
 
96
<refsect2 id="GEnumClass" role="struct">
 
97
<title>GEnumClass</title>
 
98
<indexterm zone="GEnumClass"><primary sortas="GEnumClass">GEnumClass</primary></indexterm><programlisting>typedef struct {
92
99
  GTypeClass  g_type_class;
93
100
 
94
101
  gint        minimum;
99
106
</programlisting>
100
107
<para>
101
108
The class of an enumeration type holds information about its 
102
 
possible values.
 
109
possible values.</para>
 
110
<para>
103
111
</para><variablelist role="struct">
104
112
<varlistentry>
105
 
<term><link linkend="GTypeClass">GTypeClass</link>&nbsp;<structfield>g_type_class</structfield>;</term>
106
 
<listitem><simpara>the parent class
107
 
</simpara></listitem>
108
 
</varlistentry>
109
 
<varlistentry>
110
 
<term><link linkend="gint">gint</link>&nbsp;<structfield>minimum</structfield>;</term>
111
 
<listitem><simpara>the smallest possible value.
112
 
</simpara></listitem>
113
 
</varlistentry>
114
 
<varlistentry>
115
 
<term><link linkend="gint">gint</link>&nbsp;<structfield>maximum</structfield>;</term>
116
 
<listitem><simpara>the largest possible value.
117
 
</simpara></listitem>
118
 
</varlistentry>
119
 
<varlistentry>
120
 
<term><link linkend="guint">guint</link>&nbsp;<structfield>n_values</structfield>;</term>
121
 
<listitem><simpara>the number of possible values.
122
 
</simpara></listitem>
123
 
</varlistentry>
124
 
<varlistentry>
125
 
<term><link linkend="GEnumValue">GEnumValue</link>&nbsp;*<structfield>values</structfield>;</term>
126
 
<listitem><simpara>an array of <link linkend="GEnumValue"><type>GEnumValue</type></link> structs describing the 
127
 
individual values.
128
 
 
 
113
<term><link linkend="GTypeClass">GTypeClass</link>&#160;<structfield>g_type_class</structfield>;</term>
 
114
<listitem><simpara> the parent class
 
115
</simpara></listitem>
 
116
</varlistentry>
 
117
<varlistentry>
 
118
<term><link linkend="gint">gint</link>&#160;<structfield>minimum</structfield>;</term>
 
119
<listitem><simpara> the smallest possible value.
 
120
</simpara></listitem>
 
121
</varlistentry>
 
122
<varlistentry>
 
123
<term><link linkend="gint">gint</link>&#160;<structfield>maximum</structfield>;</term>
 
124
<listitem><simpara> the largest possible value.
 
125
</simpara></listitem>
 
126
</varlistentry>
 
127
<varlistentry>
 
128
<term><link linkend="guint">guint</link>&#160;<structfield>n_values</structfield>;</term>
 
129
<listitem><simpara> the number of possible values.
 
130
</simpara></listitem>
 
131
</varlistentry>
 
132
<varlistentry>
 
133
<term><link linkend="GEnumValue">GEnumValue</link>&#160;*<structfield>values</structfield>;</term>
 
134
<listitem><simpara> an array of <link linkend="GEnumValue"><type>GEnumValue</type></link> structs describing the 
 
135
 individual values.
129
136
</simpara></listitem>
130
137
</varlistentry>
131
138
</variablelist></refsect2>
132
 
<refsect2>
133
 
<title><anchor id="GFlagsClass" role="struct"/>GFlagsClass</title>
134
 
<indexterm><primary>GFlagsClass</primary></indexterm><programlisting>typedef struct {
 
139
<refsect2 id="GFlagsClass" role="struct">
 
140
<title>GFlagsClass</title>
 
141
<indexterm zone="GFlagsClass"><primary sortas="GFlagsClass">GFlagsClass</primary></indexterm><programlisting>typedef struct {
135
142
  GTypeClass   g_type_class;
136
143
  
137
144
  guint        mask;
141
148
</programlisting>
142
149
<para>
143
150
The class of a flags type holds information about its 
144
 
possible values.
 
151
possible values.</para>
 
152
<para>
145
153
</para><variablelist role="struct">
146
154
<varlistentry>
147
 
<term><link linkend="GTypeClass">GTypeClass</link>&nbsp;<structfield>g_type_class</structfield>;</term>
148
 
<listitem><simpara>the parent class
149
 
</simpara></listitem>
150
 
</varlistentry>
151
 
<varlistentry>
152
 
<term><link linkend="guint">guint</link>&nbsp;<structfield>mask</structfield>;</term>
153
 
<listitem><simpara>a mask covering all possible values.
154
 
</simpara></listitem>
155
 
</varlistentry>
156
 
<varlistentry>
157
 
<term><link linkend="guint">guint</link>&nbsp;<structfield>n_values</structfield>;</term>
158
 
<listitem><simpara>the number of possible values.
159
 
</simpara></listitem>
160
 
</varlistentry>
161
 
<varlistentry>
162
 
<term><link linkend="GFlagsValue">GFlagsValue</link>&nbsp;*<structfield>values</structfield>;</term>
163
 
<listitem><simpara>an array of <link linkend="GFlagsValue"><type>GFlagsValue</type></link> structs describing the 
164
 
individual values.
165
 
 
166
 
</simpara></listitem>
167
 
</varlistentry>
168
 
</variablelist></refsect2>
169
 
<refsect2>
170
 
<title><anchor id="G-ENUM-CLASS-TYPE:CAPS" role="macro"/>G_ENUM_CLASS_TYPE()</title>
171
 
<indexterm><primary>G_ENUM_CLASS_TYPE</primary></indexterm><programlisting>#define G_ENUM_CLASS_TYPE(class)       (G_TYPE_FROM_CLASS (class))
172
 
</programlisting>
173
 
<para>
174
 
Returns the type identifier from a given <link linkend="GEnumClass"><type>GEnumClass</type></link> structure.
175
 
</para><variablelist role="params">
176
 
<varlistentry><term><parameter>class</parameter>&nbsp;:</term>
177
 
<listitem><simpara>a <link linkend="GEnumClass"><type>GEnumClass</type></link>
178
 
 
179
 
 
180
 
</simpara></listitem></varlistentry>
181
 
</variablelist></refsect2>
182
 
<refsect2>
183
 
<title><anchor id="G-ENUM-CLASS-TYPE-NAME:CAPS" role="macro"/>G_ENUM_CLASS_TYPE_NAME()</title>
184
 
<indexterm><primary>G_ENUM_CLASS_TYPE_NAME</primary></indexterm><programlisting>#define G_ENUM_CLASS_TYPE_NAME(class)  (g_type_name (G_ENUM_CLASS_TYPE (class)))
185
 
</programlisting>
186
 
<para>
187
 
Returns the static type name from a given <link linkend="GEnumClass"><type>GEnumClass</type></link> structure.
188
 
</para><variablelist role="params">
189
 
<varlistentry><term><parameter>class</parameter>&nbsp;:</term>
190
 
<listitem><simpara>a <link linkend="GEnumClass"><type>GEnumClass</type></link>
191
 
 
192
 
 
193
 
</simpara></listitem></varlistentry>
194
 
</variablelist></refsect2>
195
 
<refsect2>
196
 
<title><anchor id="G-TYPE-IS-ENUM:CAPS" role="macro"/>G_TYPE_IS_ENUM()</title>
197
 
<indexterm><primary>G_TYPE_IS_ENUM</primary></indexterm><programlisting>#define G_TYPE_IS_ENUM(type)           (G_TYPE_FUNDAMENTAL (type) == G_TYPE_ENUM)
198
 
</programlisting>
199
 
<para>
200
 
Returns whether <parameter>type</parameter> "is a" <link linkend="G-TYPE-ENUM:CAPS"><literal>G_TYPE_ENUM</literal></link>.
201
 
</para><variablelist role="params">
202
 
<varlistentry><term><parameter>type</parameter>&nbsp;:</term>
203
 
<listitem><simpara>a <link linkend="GType"><type>GType</type></link> ID.
204
 
 
205
 
 
206
 
</simpara></listitem></varlistentry>
207
 
</variablelist></refsect2>
208
 
<refsect2>
209
 
<title><anchor id="G-ENUM-CLASS:CAPS" role="macro"/>G_ENUM_CLASS()</title>
210
 
<indexterm><primary>G_ENUM_CLASS</primary></indexterm><programlisting>#define G_ENUM_CLASS(class)              (G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_ENUM, GEnumClass))
211
 
</programlisting>
212
 
<para>
213
 
Casts a derived <link linkend="GEnumClass"><type>GEnumClass</type></link> structure into a <link linkend="GEnumClass"><type>GEnumClass</type></link> structure.
214
 
</para><variablelist role="params">
215
 
<varlistentry><term><parameter>class</parameter>&nbsp;:</term>
216
 
<listitem><simpara>a valid <link linkend="GEnumClass"><type>GEnumClass</type></link>
217
 
 
218
 
 
219
 
</simpara></listitem></varlistentry>
220
 
</variablelist></refsect2>
221
 
<refsect2>
222
 
<title><anchor id="G-IS-ENUM-CLASS:CAPS" role="macro"/>G_IS_ENUM_CLASS()</title>
223
 
<indexterm><primary>G_IS_ENUM_CLASS</primary></indexterm><programlisting>#define G_IS_ENUM_CLASS(class)        (G_TYPE_CHECK_CLASS_TYPE ((class), G_TYPE_ENUM))
224
 
</programlisting>
225
 
<para>
226
 
Checks whether <parameter>class</parameter> "is a" valid <link linkend="GEnumClass"><type>GEnumClass</type></link> structure of type <link linkend="G-TYPE-ENUM:CAPS"><literal>G_TYPE_ENUM</literal></link>
227
 
or derived.
228
 
</para><variablelist role="params">
229
 
<varlistentry><term><parameter>class</parameter>&nbsp;:</term>
230
 
<listitem><simpara>a <link linkend="GEnumClass"><type>GEnumClass</type></link>
231
 
 
232
 
 
233
 
</simpara></listitem></varlistentry>
234
 
</variablelist></refsect2>
235
 
<refsect2>
236
 
<title><anchor id="G-TYPE-IS-FLAGS:CAPS" role="macro"/>G_TYPE_IS_FLAGS()</title>
237
 
<indexterm><primary>G_TYPE_IS_FLAGS</primary></indexterm><programlisting>#define G_TYPE_IS_FLAGS(type)         (G_TYPE_FUNDAMENTAL (type) == G_TYPE_FLAGS)
238
 
</programlisting>
239
 
<para>
240
 
Returns whether <parameter>type</parameter> "is a" <link linkend="G-TYPE-FLAGS:CAPS"><literal>G_TYPE_FLAGS</literal></link>.
241
 
</para><variablelist role="params">
242
 
<varlistentry><term><parameter>type</parameter>&nbsp;:</term>
243
 
<listitem><simpara>a <link linkend="GType"><type>GType</type></link> ID.
244
 
 
245
 
 
246
 
</simpara></listitem></varlistentry>
247
 
</variablelist></refsect2>
248
 
<refsect2>
249
 
<title><anchor id="G-FLAGS-CLASS:CAPS" role="macro"/>G_FLAGS_CLASS()</title>
250
 
<indexterm><primary>G_FLAGS_CLASS</primary></indexterm><programlisting>#define G_FLAGS_CLASS(class)            (G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_FLAGS, GFlagsClass))
251
 
</programlisting>
252
 
<para>
253
 
Casts a derived <link linkend="GFlagsClass"><type>GFlagsClass</type></link> structure into a <link linkend="GFlagsClass"><type>GFlagsClass</type></link> structure.
254
 
</para><variablelist role="params">
255
 
<varlistentry><term><parameter>class</parameter>&nbsp;:</term>
256
 
<listitem><simpara>a valid <link linkend="GFlagsClass"><type>GFlagsClass</type></link>
257
 
 
258
 
 
259
 
</simpara></listitem></varlistentry>
260
 
</variablelist></refsect2>
261
 
<refsect2>
262
 
<title><anchor id="G-IS-FLAGS-CLASS:CAPS" role="macro"/>G_IS_FLAGS_CLASS()</title>
263
 
<indexterm><primary>G_IS_FLAGS_CLASS</primary></indexterm><programlisting>#define G_IS_FLAGS_CLASS(class)        (G_TYPE_CHECK_CLASS_TYPE ((class), G_TYPE_FLAGS))
264
 
</programlisting>
265
 
<para>
266
 
Checks whether <parameter>class</parameter> "is a" valid <link linkend="GFlagsClass"><type>GFlagsClass</type></link> structure of type <link linkend="G-TYPE-FLAGS:CAPS"><literal>G_TYPE_FLAGS</literal></link>
267
 
or derived.
268
 
</para><variablelist role="params">
269
 
<varlistentry><term><parameter>class</parameter>&nbsp;:</term>
270
 
<listitem><simpara>a <link linkend="GFlagsClass"><type>GFlagsClass</type></link>
271
 
 
272
 
 
273
 
</simpara></listitem></varlistentry>
274
 
</variablelist></refsect2>
275
 
<refsect2>
276
 
<title><anchor id="G-FLAGS-CLASS-TYPE:CAPS" role="macro"/>G_FLAGS_CLASS_TYPE()</title>
277
 
<indexterm><primary>G_FLAGS_CLASS_TYPE</primary></indexterm><programlisting>#define G_FLAGS_CLASS_TYPE(class)      (G_TYPE_FROM_CLASS (class))
278
 
</programlisting>
279
 
<para>
280
 
Returns the type identifier from a given <link linkend="GFlagsClass"><type>GFlagsClass</type></link> structure.
281
 
</para><variablelist role="params">
282
 
<varlistentry><term><parameter>class</parameter>&nbsp;:</term>
283
 
<listitem><simpara>a <link linkend="GFlagsClass"><type>GFlagsClass</type></link>
284
 
 
285
 
 
286
 
</simpara></listitem></varlistentry>
287
 
</variablelist></refsect2>
288
 
<refsect2>
289
 
<title><anchor id="G-FLAGS-CLASS-TYPE-NAME:CAPS" role="macro"/>G_FLAGS_CLASS_TYPE_NAME()</title>
290
 
<indexterm><primary>G_FLAGS_CLASS_TYPE_NAME</primary></indexterm><programlisting>#define G_FLAGS_CLASS_TYPE_NAME(class) (g_type_name (G_FLAGS_CLASS_TYPE (class)))
291
 
</programlisting>
292
 
<para>
293
 
Returns the static type name from a given <link linkend="GFlagsClass"><type>GFlagsClass</type></link> structure.
294
 
</para><variablelist role="params">
295
 
<varlistentry><term><parameter>class</parameter>&nbsp;:</term>
296
 
<listitem><simpara>a <link linkend="GFlagsClass"><type>GFlagsClass</type></link>
297
 
 
298
 
 
299
 
</simpara></listitem></varlistentry>
300
 
</variablelist></refsect2>
301
 
<refsect2>
302
 
<title><anchor id="GEnumValue" role="struct"/>GEnumValue</title>
303
 
<indexterm><primary>GEnumValue</primary></indexterm><programlisting>typedef struct {
 
155
<term><link linkend="GTypeClass">GTypeClass</link>&#160;<structfield>g_type_class</structfield>;</term>
 
156
<listitem><simpara> the parent class
 
157
</simpara></listitem>
 
158
</varlistentry>
 
159
<varlistentry>
 
160
<term><link linkend="guint">guint</link>&#160;<structfield>mask</structfield>;</term>
 
161
<listitem><simpara> a mask covering all possible values.
 
162
</simpara></listitem>
 
163
</varlistentry>
 
164
<varlistentry>
 
165
<term><link linkend="guint">guint</link>&#160;<structfield>n_values</structfield>;</term>
 
166
<listitem><simpara> the number of possible values.
 
167
</simpara></listitem>
 
168
</varlistentry>
 
169
<varlistentry>
 
170
<term><link linkend="GFlagsValue">GFlagsValue</link>&#160;*<structfield>values</structfield>;</term>
 
171
<listitem><simpara> an array of <link linkend="GFlagsValue"><type>GFlagsValue</type></link> structs describing the 
 
172
 individual values.
 
173
</simpara></listitem>
 
174
</varlistentry>
 
175
</variablelist></refsect2>
 
176
<refsect2 id="G-ENUM-CLASS-TYPE--CAPS" role="macro">
 
177
<title>G_ENUM_CLASS_TYPE()</title>
 
178
<indexterm zone="G-ENUM-CLASS-TYPE--CAPS"><primary sortas="G_ENUM_CLASS_TYPE">G_ENUM_CLASS_TYPE</primary></indexterm><programlisting>#define G_ENUM_CLASS_TYPE(class)       (G_TYPE_FROM_CLASS (class))
 
179
</programlisting>
 
180
<para>
 
181
Get the type identifier from a given <link linkend="GEnumClass"><type>GEnumClass</type></link> structure.</para>
 
182
<para>
 
183
</para><variablelist role="params">
 
184
<varlistentry><term><parameter>class</parameter>&#160;:</term>
 
185
<listitem><simpara> a <link linkend="GEnumClass"><type>GEnumClass</type></link>
 
186
</simpara></listitem></varlistentry>
 
187
</variablelist></refsect2>
 
188
<refsect2 id="G-ENUM-CLASS-TYPE-NAME--CAPS" role="macro">
 
189
<title>G_ENUM_CLASS_TYPE_NAME()</title>
 
190
<indexterm zone="G-ENUM-CLASS-TYPE-NAME--CAPS"><primary sortas="G_ENUM_CLASS_TYPE_NAME">G_ENUM_CLASS_TYPE_NAME</primary></indexterm><programlisting>#define G_ENUM_CLASS_TYPE_NAME(class)  (g_type_name (G_ENUM_CLASS_TYPE (class)))
 
191
</programlisting>
 
192
<para>
 
193
Get the static type name from a given <link linkend="GEnumClass"><type>GEnumClass</type></link> structure.</para>
 
194
<para>
 
195
</para><variablelist role="params">
 
196
<varlistentry><term><parameter>class</parameter>&#160;:</term>
 
197
<listitem><simpara> a <link linkend="GEnumClass"><type>GEnumClass</type></link>
 
198
</simpara></listitem></varlistentry>
 
199
</variablelist></refsect2>
 
200
<refsect2 id="G-TYPE-IS-ENUM--CAPS" role="macro">
 
201
<title>G_TYPE_IS_ENUM()</title>
 
202
<indexterm zone="G-TYPE-IS-ENUM--CAPS"><primary sortas="G_TYPE_IS_ENUM">G_TYPE_IS_ENUM</primary></indexterm><programlisting>#define G_TYPE_IS_ENUM(type)               (G_TYPE_FUNDAMENTAL (type) == G_TYPE_ENUM)
 
203
</programlisting>
 
204
<para>
 
205
Checks whether <parameter>type</parameter> "is a" <link linkend="G-TYPE-ENUM--CAPS"><literal>G_TYPE_ENUM</literal></link>.</para>
 
206
<para>
 
207
</para><variablelist role="params">
 
208
<varlistentry><term><parameter>type</parameter>&#160;:</term>
 
209
<listitem><simpara> a <link linkend="GType"><type>GType</type></link> ID.
 
210
</simpara></listitem></varlistentry>
 
211
</variablelist></refsect2>
 
212
<refsect2 id="G-ENUM-CLASS--CAPS" role="macro">
 
213
<title>G_ENUM_CLASS()</title>
 
214
<indexterm zone="G-ENUM-CLASS--CAPS"><primary sortas="G_ENUM_CLASS">G_ENUM_CLASS</primary></indexterm><programlisting>#define G_ENUM_CLASS(class)              (G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_ENUM, GEnumClass))
 
215
</programlisting>
 
216
<para>
 
217
Casts a derived <link linkend="GEnumClass"><type>GEnumClass</type></link> structure into a <link linkend="GEnumClass"><type>GEnumClass</type></link> structure.</para>
 
218
<para>
 
219
</para><variablelist role="params">
 
220
<varlistentry><term><parameter>class</parameter>&#160;:</term>
 
221
<listitem><simpara> a valid <link linkend="GEnumClass"><type>GEnumClass</type></link>
 
222
</simpara></listitem></varlistentry>
 
223
</variablelist></refsect2>
 
224
<refsect2 id="G-IS-ENUM-CLASS--CAPS" role="macro">
 
225
<title>G_IS_ENUM_CLASS()</title>
 
226
<indexterm zone="G-IS-ENUM-CLASS--CAPS"><primary sortas="G_IS_ENUM_CLASS">G_IS_ENUM_CLASS</primary></indexterm><programlisting>#define G_IS_ENUM_CLASS(class)          (G_TYPE_CHECK_CLASS_TYPE ((class), G_TYPE_ENUM))
 
227
</programlisting>
 
228
<para>
 
229
Checks whether <parameter>class</parameter> "is a" valid <link linkend="GEnumClass"><type>GEnumClass</type></link> structure of type <link linkend="G-TYPE-ENUM--CAPS"><literal>G_TYPE_ENUM</literal></link>
 
230
or derived.</para>
 
231
<para>
 
232
</para><variablelist role="params">
 
233
<varlistentry><term><parameter>class</parameter>&#160;:</term>
 
234
<listitem><simpara> a <link linkend="GEnumClass"><type>GEnumClass</type></link>
 
235
</simpara></listitem></varlistentry>
 
236
</variablelist></refsect2>
 
237
<refsect2 id="G-TYPE-IS-FLAGS--CAPS" role="macro">
 
238
<title>G_TYPE_IS_FLAGS()</title>
 
239
<indexterm zone="G-TYPE-IS-FLAGS--CAPS"><primary sortas="G_TYPE_IS_FLAGS">G_TYPE_IS_FLAGS</primary></indexterm><programlisting>#define G_TYPE_IS_FLAGS(type)           (G_TYPE_FUNDAMENTAL (type) == G_TYPE_FLAGS)
 
240
</programlisting>
 
241
<para>
 
242
Checks whether <parameter>type</parameter> "is a" <link linkend="G-TYPE-FLAGS--CAPS"><literal>G_TYPE_FLAGS</literal></link>.</para>
 
243
<para>
 
244
</para><variablelist role="params">
 
245
<varlistentry><term><parameter>type</parameter>&#160;:</term>
 
246
<listitem><simpara> a <link linkend="GType"><type>GType</type></link> ID.
 
247
</simpara></listitem></varlistentry>
 
248
</variablelist></refsect2>
 
249
<refsect2 id="G-FLAGS-CLASS--CAPS" role="macro">
 
250
<title>G_FLAGS_CLASS()</title>
 
251
<indexterm zone="G-FLAGS-CLASS--CAPS"><primary sortas="G_FLAGS_CLASS">G_FLAGS_CLASS</primary></indexterm><programlisting>#define G_FLAGS_CLASS(class)          (G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_FLAGS, GFlagsClass))
 
252
</programlisting>
 
253
<para>
 
254
Casts a derived <link linkend="GFlagsClass"><type>GFlagsClass</type></link> structure into a <link linkend="GFlagsClass"><type>GFlagsClass</type></link> structure.</para>
 
255
<para>
 
256
</para><variablelist role="params">
 
257
<varlistentry><term><parameter>class</parameter>&#160;:</term>
 
258
<listitem><simpara> a valid <link linkend="GFlagsClass"><type>GFlagsClass</type></link>
 
259
</simpara></listitem></varlistentry>
 
260
</variablelist></refsect2>
 
261
<refsect2 id="G-IS-FLAGS-CLASS--CAPS" role="macro">
 
262
<title>G_IS_FLAGS_CLASS()</title>
 
263
<indexterm zone="G-IS-FLAGS-CLASS--CAPS"><primary sortas="G_IS_FLAGS_CLASS">G_IS_FLAGS_CLASS</primary></indexterm><programlisting>#define G_IS_FLAGS_CLASS(class)        (G_TYPE_CHECK_CLASS_TYPE ((class), G_TYPE_FLAGS))
 
264
</programlisting>
 
265
<para>
 
266
Checks whether <parameter>class</parameter> "is a" valid <link linkend="GFlagsClass"><type>GFlagsClass</type></link> structure of type <link linkend="G-TYPE-FLAGS--CAPS"><literal>G_TYPE_FLAGS</literal></link>
 
267
or derived.</para>
 
268
<para>
 
269
</para><variablelist role="params">
 
270
<varlistentry><term><parameter>class</parameter>&#160;:</term>
 
271
<listitem><simpara> a <link linkend="GFlagsClass"><type>GFlagsClass</type></link>
 
272
</simpara></listitem></varlistentry>
 
273
</variablelist></refsect2>
 
274
<refsect2 id="G-FLAGS-CLASS-TYPE--CAPS" role="macro">
 
275
<title>G_FLAGS_CLASS_TYPE()</title>
 
276
<indexterm zone="G-FLAGS-CLASS-TYPE--CAPS"><primary sortas="G_FLAGS_CLASS_TYPE">G_FLAGS_CLASS_TYPE</primary></indexterm><programlisting>#define G_FLAGS_CLASS_TYPE(class)      (G_TYPE_FROM_CLASS (class))
 
277
</programlisting>
 
278
<para>
 
279
Get the type identifier from a given <link linkend="GFlagsClass"><type>GFlagsClass</type></link> structure.</para>
 
280
<para>
 
281
</para><variablelist role="params">
 
282
<varlistentry><term><parameter>class</parameter>&#160;:</term>
 
283
<listitem><simpara> a <link linkend="GFlagsClass"><type>GFlagsClass</type></link>
 
284
</simpara></listitem></varlistentry>
 
285
</variablelist></refsect2>
 
286
<refsect2 id="G-FLAGS-CLASS-TYPE-NAME--CAPS" role="macro">
 
287
<title>G_FLAGS_CLASS_TYPE_NAME()</title>
 
288
<indexterm zone="G-FLAGS-CLASS-TYPE-NAME--CAPS"><primary sortas="G_FLAGS_CLASS_TYPE_NAME">G_FLAGS_CLASS_TYPE_NAME</primary></indexterm><programlisting>#define G_FLAGS_CLASS_TYPE_NAME(class) (g_type_name (G_FLAGS_CLASS_TYPE (class)))
 
289
</programlisting>
 
290
<para>
 
291
Get the static type name from a given <link linkend="GFlagsClass"><type>GFlagsClass</type></link> structure.</para>
 
292
<para>
 
293
</para><variablelist role="params">
 
294
<varlistentry><term><parameter>class</parameter>&#160;:</term>
 
295
<listitem><simpara> a <link linkend="GFlagsClass"><type>GFlagsClass</type></link>
 
296
</simpara></listitem></varlistentry>
 
297
</variablelist></refsect2>
 
298
<refsect2 id="GEnumValue" role="struct">
 
299
<title>GEnumValue</title>
 
300
<indexterm zone="GEnumValue"><primary sortas="GEnumValue">GEnumValue</primary></indexterm><programlisting>typedef struct {
304
301
  gint   value;
305
302
  const gchar *value_name;
306
303
  const gchar *value_nick;
308
305
</programlisting>
309
306
<para>
310
307
A structure which contains a single enum value, it's name, and it's
311
 
nickname.
 
308
nickname.</para>
 
309
<para>
312
310
</para><variablelist role="struct">
313
311
<varlistentry>
314
 
<term><link linkend="gint">gint</link>&nbsp;<structfield>value</structfield>;</term>
315
 
<listitem><simpara>the enum value
316
 
</simpara></listitem>
317
 
</varlistentry>
318
 
<varlistentry>
319
 
<term>const&nbsp;<link linkend="gchar">gchar</link>&nbsp;*<structfield>value_name</structfield>;</term>
320
 
<listitem><simpara>the name of the value
321
 
</simpara></listitem>
322
 
</varlistentry>
323
 
<varlistentry>
324
 
<term>const&nbsp;<link linkend="gchar">gchar</link>&nbsp;*<structfield>value_nick</structfield>;</term>
325
 
<listitem><simpara>the nickname of the value
326
 
 
 
312
<term><link linkend="gint">gint</link>&#160;<structfield>value</structfield>;</term>
 
313
<listitem><simpara> the enum value
 
314
</simpara></listitem>
 
315
</varlistentry>
 
316
<varlistentry>
 
317
<term>const&#160;<link linkend="gchar">gchar</link>&#160;*<structfield>value_name</structfield>;</term>
 
318
<listitem><simpara> the name of the value
 
319
</simpara></listitem>
 
320
</varlistentry>
 
321
<varlistentry>
 
322
<term>const&#160;<link linkend="gchar">gchar</link>&#160;*<structfield>value_nick</structfield>;</term>
 
323
<listitem><simpara> the nickname of the value
327
324
</simpara></listitem>
328
325
</varlistentry>
329
326
</variablelist></refsect2>
330
 
<refsect2>
331
 
<title><anchor id="GFlagsValue" role="struct"/>GFlagsValue</title>
332
 
<indexterm><primary>GFlagsValue</primary></indexterm><programlisting>typedef struct {
 
327
<refsect2 id="GFlagsValue" role="struct">
 
328
<title>GFlagsValue</title>
 
329
<indexterm zone="GFlagsValue"><primary sortas="GFlagsValue">GFlagsValue</primary></indexterm><programlisting>typedef struct {
333
330
  guint  value;
334
331
  const gchar *value_name;
335
332
  const gchar *value_nick;
337
334
</programlisting>
338
335
<para>
339
336
A structure which contains a single flags value, it's name, and it's
340
 
nickname.
 
337
nickname.</para>
 
338
<para>
341
339
</para><variablelist role="struct">
342
340
<varlistentry>
343
 
<term><link linkend="guint">guint</link>&nbsp;<structfield>value</structfield>;</term>
344
 
<listitem><simpara>the flags value
345
 
</simpara></listitem>
346
 
</varlistentry>
347
 
<varlistentry>
348
 
<term>const&nbsp;<link linkend="gchar">gchar</link>&nbsp;*<structfield>value_name</structfield>;</term>
349
 
<listitem><simpara>the name of the value
350
 
</simpara></listitem>
351
 
</varlistentry>
352
 
<varlistentry>
353
 
<term>const&nbsp;<link linkend="gchar">gchar</link>&nbsp;*<structfield>value_nick</structfield>;</term>
354
 
<listitem><simpara>the nickname of the value
355
 
 
 
341
<term><link linkend="guint">guint</link>&#160;<structfield>value</structfield>;</term>
 
342
<listitem><simpara> the flags value
 
343
</simpara></listitem>
 
344
</varlistentry>
 
345
<varlistentry>
 
346
<term>const&#160;<link linkend="gchar">gchar</link>&#160;*<structfield>value_name</structfield>;</term>
 
347
<listitem><simpara> the name of the value
 
348
</simpara></listitem>
 
349
</varlistentry>
 
350
<varlistentry>
 
351
<term>const&#160;<link linkend="gchar">gchar</link>&#160;*<structfield>value_nick</structfield>;</term>
 
352
<listitem><simpara> the nickname of the value
356
353
</simpara></listitem>
357
354
</varlistentry>
358
355
</variablelist></refsect2>
359
 
<refsect2>
360
 
<title><anchor id="g-enum-get-value" role="function"/>g_enum_get_value ()</title>
361
 
<indexterm><primary>g_enum_get_value</primary></indexterm><programlisting><link linkend="GEnumValue">GEnumValue</link>*         g_enum_get_value                    (<link linkend="GEnumClass">GEnumClass</link> *enum_class,
 
356
<refsect2 id="g-enum-get-value" role="function">
 
357
<title>g_enum_get_value ()</title>
 
358
<indexterm zone="g-enum-get-value"><primary sortas="g_enum_get_value">g_enum_get_value</primary></indexterm><programlisting><link linkend="GEnumValue">GEnumValue</link>*         g_enum_get_value                    (<link linkend="GEnumClass">GEnumClass</link> *enum_class,
362
359
                                                         <link linkend="gint">gint</link> value);</programlisting>
363
360
<para>
364
 
Returns the <link linkend="GEnumValue"><type>GEnumValue</type></link> for a value.
 
361
Returns the <link linkend="GEnumValue"><type>GEnumValue</type></link> for a value.</para>
 
362
<para>
365
363
</para><variablelist role="params">
366
 
<varlistentry><term><parameter>enum_class</parameter>&nbsp;:</term>
367
 
<listitem><simpara>a <link linkend="GEnumClass"><type>GEnumClass</type></link>
368
 
</simpara></listitem></varlistentry>
369
 
<varlistentry><term><parameter>value</parameter>&nbsp;:</term>
370
 
<listitem><simpara>the value to look up
371
 
</simpara></listitem></varlistentry>
372
 
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>the <link linkend="GEnumValue"><type>GEnumValue</type></link> for <parameter>value</parameter>, or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if <parameter>value</parameter> is not 
373
 
a member of the enumeration
374
 
 
375
 
 
 
364
<varlistentry><term><parameter>enum_class</parameter>&#160;:</term>
 
365
<listitem><simpara> a <link linkend="GEnumClass"><type>GEnumClass</type></link>
 
366
</simpara></listitem></varlistentry>
 
367
<varlistentry><term><parameter>value</parameter>&#160;:</term>
 
368
<listitem><simpara> the value to look up
 
369
</simpara></listitem></varlistentry>
 
370
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the <link linkend="GEnumValue"><type>GEnumValue</type></link> for <parameter>value</parameter>, or <link linkend="NULL--CAPS"><literal>NULL</literal></link> if <parameter>value</parameter> is not a
 
371
         member of the enumeration
376
372
</simpara></listitem></varlistentry>
377
373
</variablelist></refsect2>
378
 
<refsect2>
379
 
<title><anchor id="g-enum-get-value-by-name" role="function"/>g_enum_get_value_by_name ()</title>
380
 
<indexterm><primary>g_enum_get_value_by_name</primary></indexterm><programlisting><link linkend="GEnumValue">GEnumValue</link>*         g_enum_get_value_by_name            (<link linkend="GEnumClass">GEnumClass</link> *enum_class,
 
374
<refsect2 id="g-enum-get-value-by-name" role="function">
 
375
<title>g_enum_get_value_by_name ()</title>
 
376
<indexterm zone="g-enum-get-value-by-name"><primary sortas="g_enum_get_value_by_name">g_enum_get_value_by_name</primary></indexterm><programlisting><link linkend="GEnumValue">GEnumValue</link>*         g_enum_get_value_by_name            (<link linkend="GEnumClass">GEnumClass</link> *enum_class,
381
377
                                                         const <link linkend="gchar">gchar</link> *name);</programlisting>
382
378
<para>
383
 
Looks up a <link linkend="GEnumValue"><type>GEnumValue</type></link> by name.
 
379
Looks up a <link linkend="GEnumValue"><type>GEnumValue</type></link> by name.</para>
 
380
<para>
384
381
</para><variablelist role="params">
385
 
<varlistentry><term><parameter>enum_class</parameter>&nbsp;:</term>
386
 
<listitem><simpara>a <link linkend="GEnumClass"><type>GEnumClass</type></link>
387
 
</simpara></listitem></varlistentry>
388
 
<varlistentry><term><parameter>name</parameter>&nbsp;:</term>
389
 
<listitem><simpara>the name to look up
390
 
</simpara></listitem></varlistentry>
391
 
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>the <link linkend="GEnumValue"><type>GEnumValue</type></link> with name <parameter>name</parameter>, or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if the enumeration doesn'
392
 
t have a member with that name
393
 
 
394
 
 
 
382
<varlistentry><term><parameter>enum_class</parameter>&#160;:</term>
 
383
<listitem><simpara> a <link linkend="GEnumClass"><type>GEnumClass</type></link>
 
384
</simpara></listitem></varlistentry>
 
385
<varlistentry><term><parameter>name</parameter>&#160;:</term>
 
386
<listitem><simpara> the name to look up
 
387
</simpara></listitem></varlistentry>
 
388
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the <link linkend="GEnumValue"><type>GEnumValue</type></link> with name <parameter>name</parameter>, or <link linkend="NULL--CAPS"><literal>NULL</literal></link> if the
 
389
         enumeration doesn't have a member with that name
395
390
</simpara></listitem></varlistentry>
396
391
</variablelist></refsect2>
397
 
<refsect2>
398
 
<title><anchor id="g-enum-get-value-by-nick" role="function"/>g_enum_get_value_by_nick ()</title>
399
 
<indexterm><primary>g_enum_get_value_by_nick</primary></indexterm><programlisting><link linkend="GEnumValue">GEnumValue</link>*         g_enum_get_value_by_nick            (<link linkend="GEnumClass">GEnumClass</link> *enum_class,
 
392
<refsect2 id="g-enum-get-value-by-nick" role="function">
 
393
<title>g_enum_get_value_by_nick ()</title>
 
394
<indexterm zone="g-enum-get-value-by-nick"><primary sortas="g_enum_get_value_by_nick">g_enum_get_value_by_nick</primary></indexterm><programlisting><link linkend="GEnumValue">GEnumValue</link>*         g_enum_get_value_by_nick            (<link linkend="GEnumClass">GEnumClass</link> *enum_class,
400
395
                                                         const <link linkend="gchar">gchar</link> *nick);</programlisting>
401
396
<para>
402
 
Looks up a <link linkend="GEnumValue"><type>GEnumValue</type></link> by nickname.
 
397
Looks up a <link linkend="GEnumValue"><type>GEnumValue</type></link> by nickname.</para>
 
398
<para>
403
399
</para><variablelist role="params">
404
 
<varlistentry><term><parameter>enum_class</parameter>&nbsp;:</term>
405
 
<listitem><simpara>a <link linkend="GEnumClass"><type>GEnumClass</type></link>
406
 
</simpara></listitem></varlistentry>
407
 
<varlistentry><term><parameter>nick</parameter>&nbsp;:</term>
408
 
<listitem><simpara>the nickname to look up
409
 
</simpara></listitem></varlistentry>
410
 
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>the <link linkend="GEnumValue"><type>GEnumValue</type></link> with nickname <parameter>nick</parameter>, or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if the enumeration doesn'
411
 
t have a member with that nickname
412
 
 
413
 
 
 
400
<varlistentry><term><parameter>enum_class</parameter>&#160;:</term>
 
401
<listitem><simpara> a <link linkend="GEnumClass"><type>GEnumClass</type></link>
 
402
</simpara></listitem></varlistentry>
 
403
<varlistentry><term><parameter>nick</parameter>&#160;:</term>
 
404
<listitem><simpara> the nickname to look up
 
405
</simpara></listitem></varlistentry>
 
406
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the <link linkend="GEnumValue"><type>GEnumValue</type></link> with nickname <parameter>nick</parameter>, or <link linkend="NULL--CAPS"><literal>NULL</literal></link> if the
 
407
         enumeration doesn't have a member with that nickname
414
408
</simpara></listitem></varlistentry>
415
409
</variablelist></refsect2>
416
 
<refsect2>
417
 
<title><anchor id="g-flags-get-first-value" role="function"/>g_flags_get_first_value ()</title>
418
 
<indexterm><primary>g_flags_get_first_value</primary></indexterm><programlisting><link linkend="GFlagsValue">GFlagsValue</link>*        g_flags_get_first_value             (<link linkend="GFlagsClass">GFlagsClass</link> *flags_class,
 
410
<refsect2 id="g-flags-get-first-value" role="function">
 
411
<title>g_flags_get_first_value ()</title>
 
412
<indexterm zone="g-flags-get-first-value"><primary sortas="g_flags_get_first_value">g_flags_get_first_value</primary></indexterm><programlisting><link linkend="GFlagsValue">GFlagsValue</link>*        g_flags_get_first_value             (<link linkend="GFlagsClass">GFlagsClass</link> *flags_class,
419
413
                                                         <link linkend="guint">guint</link> value);</programlisting>
420
414
<para>
421
 
Returns the first <link linkend="GFlagsValue"><type>GFlagsValue</type></link> which is set in <parameter>value</parameter>.
 
415
Returns the first <link linkend="GFlagsValue"><type>GFlagsValue</type></link> which is set in <parameter>value</parameter>.</para>
 
416
<para>
422
417
</para><variablelist role="params">
423
 
<varlistentry><term><parameter>flags_class</parameter>&nbsp;:</term>
424
 
<listitem><simpara>a <link linkend="GFlagsClass"><type>GFlagsClass</type></link>
425
 
</simpara></listitem></varlistentry>
426
 
<varlistentry><term><parameter>value</parameter>&nbsp;:</term>
427
 
<listitem><simpara>the value
428
 
</simpara></listitem></varlistentry>
429
 
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>the first <link linkend="GFlagsValue"><type>GFlagsValue</type></link> which is set in <parameter>value</parameter>, or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if none is set
430
 
 
431
 
 
 
418
<varlistentry><term><parameter>flags_class</parameter>&#160;:</term>
 
419
<listitem><simpara> a <link linkend="GFlagsClass"><type>GFlagsClass</type></link>
 
420
</simpara></listitem></varlistentry>
 
421
<varlistentry><term><parameter>value</parameter>&#160;:</term>
 
422
<listitem><simpara> the value
 
423
</simpara></listitem></varlistentry>
 
424
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the first <link linkend="GFlagsValue"><type>GFlagsValue</type></link> which is set in <parameter>value</parameter>, or <link linkend="NULL--CAPS"><literal>NULL</literal></link> if
 
425
         none is set
432
426
</simpara></listitem></varlistentry>
433
427
</variablelist></refsect2>
434
 
<refsect2>
435
 
<title><anchor id="g-flags-get-value-by-name" role="function"/>g_flags_get_value_by_name ()</title>
436
 
<indexterm><primary>g_flags_get_value_by_name</primary></indexterm><programlisting><link linkend="GFlagsValue">GFlagsValue</link>*        g_flags_get_value_by_name           (<link linkend="GFlagsClass">GFlagsClass</link> *flags_class,
 
428
<refsect2 id="g-flags-get-value-by-name" role="function">
 
429
<title>g_flags_get_value_by_name ()</title>
 
430
<indexterm zone="g-flags-get-value-by-name"><primary sortas="g_flags_get_value_by_name">g_flags_get_value_by_name</primary></indexterm><programlisting><link linkend="GFlagsValue">GFlagsValue</link>*        g_flags_get_value_by_name           (<link linkend="GFlagsClass">GFlagsClass</link> *flags_class,
437
431
                                                         const <link linkend="gchar">gchar</link> *name);</programlisting>
438
432
<para>
439
 
Looks up a <link linkend="GFlagsValue"><type>GFlagsValue</type></link> by name.
 
433
Looks up a <link linkend="GFlagsValue"><type>GFlagsValue</type></link> by name.</para>
 
434
<para>
440
435
</para><variablelist role="params">
441
 
<varlistentry><term><parameter>flags_class</parameter>&nbsp;:</term>
442
 
<listitem><simpara>a <link linkend="GFlagsClass"><type>GFlagsClass</type></link>
443
 
</simpara></listitem></varlistentry>
444
 
<varlistentry><term><parameter>name</parameter>&nbsp;:</term>
445
 
<listitem><simpara>the name to look up
446
 
</simpara></listitem></varlistentry>
447
 
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>the <link linkend="GFlagsValue"><type>GFlagsValue</type></link> with name <parameter>name</parameter>, or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if there is no flag with
448
 
that name
449
 
 
450
 
 
 
436
<varlistentry><term><parameter>flags_class</parameter>&#160;:</term>
 
437
<listitem><simpara> a <link linkend="GFlagsClass"><type>GFlagsClass</type></link>
 
438
</simpara></listitem></varlistentry>
 
439
<varlistentry><term><parameter>name</parameter>&#160;:</term>
 
440
<listitem><simpara> the name to look up
 
441
</simpara></listitem></varlistentry>
 
442
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the <link linkend="GFlagsValue"><type>GFlagsValue</type></link> with name <parameter>name</parameter>, or <link linkend="NULL--CAPS"><literal>NULL</literal></link> if there is no
 
443
         flag with that name
451
444
</simpara></listitem></varlistentry>
452
445
</variablelist></refsect2>
453
 
<refsect2>
454
 
<title><anchor id="g-flags-get-value-by-nick" role="function"/>g_flags_get_value_by_nick ()</title>
455
 
<indexterm><primary>g_flags_get_value_by_nick</primary></indexterm><programlisting><link linkend="GFlagsValue">GFlagsValue</link>*        g_flags_get_value_by_nick           (<link linkend="GFlagsClass">GFlagsClass</link> *flags_class,
 
446
<refsect2 id="g-flags-get-value-by-nick" role="function">
 
447
<title>g_flags_get_value_by_nick ()</title>
 
448
<indexterm zone="g-flags-get-value-by-nick"><primary sortas="g_flags_get_value_by_nick">g_flags_get_value_by_nick</primary></indexterm><programlisting><link linkend="GFlagsValue">GFlagsValue</link>*        g_flags_get_value_by_nick           (<link linkend="GFlagsClass">GFlagsClass</link> *flags_class,
456
449
                                                         const <link linkend="gchar">gchar</link> *nick);</programlisting>
457
450
<para>
458
 
Looks up a <link linkend="GFlagsValue"><type>GFlagsValue</type></link> by nickname.
 
451
Looks up a <link linkend="GFlagsValue"><type>GFlagsValue</type></link> by nickname.</para>
 
452
<para>
459
453
</para><variablelist role="params">
460
 
<varlistentry><term><parameter>flags_class</parameter>&nbsp;:</term>
461
 
<listitem><simpara>a <link linkend="GFlagsClass"><type>GFlagsClass</type></link>
462
 
</simpara></listitem></varlistentry>
463
 
<varlistentry><term><parameter>nick</parameter>&nbsp;:</term>
464
 
<listitem><simpara>the nickname to look up
465
 
</simpara></listitem></varlistentry>
466
 
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>the <link linkend="GFlagsValue"><type>GFlagsValue</type></link> with nickname <parameter>nick</parameter>, or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if there is no flag
467
 
with that nickname
468
 
 
469
 
 
 
454
<varlistentry><term><parameter>flags_class</parameter>&#160;:</term>
 
455
<listitem><simpara> a <link linkend="GFlagsClass"><type>GFlagsClass</type></link>
 
456
</simpara></listitem></varlistentry>
 
457
<varlistentry><term><parameter>nick</parameter>&#160;:</term>
 
458
<listitem><simpara> the nickname to look up
 
459
</simpara></listitem></varlistentry>
 
460
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the <link linkend="GFlagsValue"><type>GFlagsValue</type></link> with nickname <parameter>nick</parameter>, or <link linkend="NULL--CAPS"><literal>NULL</literal></link> if there is
 
461
         no flag with that nickname
470
462
</simpara></listitem></varlistentry>
471
463
</variablelist></refsect2>
472
 
<refsect2>
473
 
<title><anchor id="g-enum-register-static" role="function"/>g_enum_register_static ()</title>
474
 
<indexterm><primary>g_enum_register_static</primary></indexterm><programlisting><link linkend="GType">GType</link>               g_enum_register_static              (const <link linkend="gchar">gchar</link> *name,
 
464
<refsect2 id="g-enum-register-static" role="function">
 
465
<title>g_enum_register_static ()</title>
 
466
<indexterm zone="g-enum-register-static"><primary sortas="g_enum_register_static">g_enum_register_static</primary></indexterm><programlisting><link linkend="GType">GType</link>               g_enum_register_static              (const <link linkend="gchar">gchar</link> *name,
475
467
                                                         const <link linkend="GEnumValue">GEnumValue</link> *const_static_values);</programlisting>
476
468
<para>
477
 
Registers a new static enumeration type with the name <parameter>name</parameter>. 
 
469
Registers a new static enumeration type with the name <parameter>name</parameter>.
478
470
</para>
479
471
<para>
480
 
It is normally more convenient to let <link linkend="glib-mkenums">glib-mkenums</link> 
481
 
generate a <link linkend="my-enum-get-type"><function>my_enum_get_type()</function></link> function from a usual C enumeration definition
482
 
than to write one yourself using <link linkend="g-enum-register-static"><function>g_enum_register_static()</function></link>.
 
472
It is normally more convenient to let <link
 
473
linkend="glib-mkenums">glib-mkenums</link> generate a
 
474
<link linkend="my-enum-get-type"><function>my_enum_get_type()</function></link> function from a usual C enumeration definition
 
475
than to write one yourself using <link linkend="g-enum-register-static"><function>g_enum_register_static()</function></link>.</para>
 
476
<para>
483
477
</para><variablelist role="params">
484
 
<varlistentry><term><parameter>name</parameter>&nbsp;:</term>
485
 
<listitem><simpara>A nul-terminated string used as the name of the new type.
486
 
</simpara></listitem></varlistentry>
487
 
<varlistentry><term><parameter>const_static_values</parameter>&nbsp;:</term>
488
 
<listitem><simpara>An array of <link linkend="GEnumValue"><type>GEnumValue</type></link> structs for the possible
489
 
  enumeration values. The array is terminated by a struct with all 
490
 
  members being 0. GObject keeps a reference to the data, so it cannot
491
 
  be stack-allocated.
492
 
</simpara></listitem></varlistentry>
493
 
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>The new type identifier.
494
 
 
495
 
 
 
478
<varlistentry><term><parameter>name</parameter>&#160;:</term>
 
479
<listitem><simpara> A nul-terminated string used as the name of the new type.
 
480
</simpara></listitem></varlistentry>
 
481
<varlistentry><term><parameter>const_static_values</parameter>&#160;:</term>
 
482
<listitem><simpara> An array of <link linkend="GEnumValue"><type>GEnumValue</type></link> structs for the possible
 
483
 enumeration values. The array is terminated by a struct with all
 
484
 members being 0. GObject keeps a reference to the data, so it cannot
 
485
 be stack-allocated.
 
486
</simpara></listitem></varlistentry>
 
487
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> The new type identifier.
496
488
</simpara></listitem></varlistentry>
497
489
</variablelist></refsect2>
498
 
<refsect2>
499
 
<title><anchor id="g-flags-register-static" role="function"/>g_flags_register_static ()</title>
500
 
<indexterm><primary>g_flags_register_static</primary></indexterm><programlisting><link linkend="GType">GType</link>               g_flags_register_static             (const <link linkend="gchar">gchar</link> *name,
 
490
<refsect2 id="g-flags-register-static" role="function">
 
491
<title>g_flags_register_static ()</title>
 
492
<indexterm zone="g-flags-register-static"><primary sortas="g_flags_register_static">g_flags_register_static</primary></indexterm><programlisting><link linkend="GType">GType</link>               g_flags_register_static             (const <link linkend="gchar">gchar</link> *name,
501
493
                                                         const <link linkend="GFlagsValue">GFlagsValue</link> *const_static_values);</programlisting>
502
494
<para>
503
 
Registers a new static flags type with the name <parameter>name</parameter>. 
 
495
Registers a new static flags type with the name <parameter>name</parameter>.
504
496
</para>
505
497
<para>
506
 
It is normally more convenient to let <link linkend="glib-mkenums">glib-mkenums</link> 
507
 
generate a <link linkend="my-flags-get-type"><function>my_flags_get_type()</function></link> function from a usual C enumeration definition
508
 
than to write one yourself using <link linkend="g-flags-register-static"><function>g_flags_register_static()</function></link>.
 
498
It is normally more convenient to let <link
 
499
linkend="glib-mkenums">glib-mkenums</link> generate a
 
500
<link linkend="my-flags-get-type"><function>my_flags_get_type()</function></link> function from a usual C enumeration definition
 
501
than to write one yourself using <link linkend="g-flags-register-static"><function>g_flags_register_static()</function></link>.</para>
 
502
<para>
509
503
</para><variablelist role="params">
510
 
<varlistentry><term><parameter>name</parameter>&nbsp;:</term>
511
 
<listitem><simpara>A nul-terminated string used as the name of the new type.
512
 
</simpara></listitem></varlistentry>
513
 
<varlistentry><term><parameter>const_static_values</parameter>&nbsp;:</term>
514
 
<listitem><simpara>An array of <link linkend="GFlagsValue"><type>GFlagsValue</type></link> structs for the possible
515
 
  flags values. The array is terminated by a struct with all members being 0.
516
 
  GObject keeps a reference to the data, so it cannot be stack-allocated.
517
 
</simpara></listitem></varlistentry>
518
 
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>The new type identifier.
519
 
 
520
 
 
 
504
<varlistentry><term><parameter>name</parameter>&#160;:</term>
 
505
<listitem><simpara> A nul-terminated string used as the name of the new type.
 
506
</simpara></listitem></varlistentry>
 
507
<varlistentry><term><parameter>const_static_values</parameter>&#160;:</term>
 
508
<listitem><simpara> An array of <link linkend="GFlagsValue"><type>GFlagsValue</type></link> structs for the possible
 
509
 flags values. The array is terminated by a struct with all members being 0.
 
510
 GObject keeps a reference to the data, so it cannot be stack-allocated.
 
511
</simpara></listitem></varlistentry>
 
512
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> The new type identifier.
521
513
</simpara></listitem></varlistentry>
522
514
</variablelist></refsect2>
523
 
<refsect2>
524
 
<title><anchor id="g-enum-complete-type-info" role="function"/>g_enum_complete_type_info ()</title>
525
 
<indexterm><primary>g_enum_complete_type_info</primary></indexterm><programlisting><link linkend="void">void</link>                g_enum_complete_type_info           (<link linkend="GType">GType</link> g_enum_type,
 
515
<refsect2 id="g-enum-complete-type-info" role="function">
 
516
<title>g_enum_complete_type_info ()</title>
 
517
<indexterm zone="g-enum-complete-type-info"><primary sortas="g_enum_complete_type_info">g_enum_complete_type_info</primary></indexterm><programlisting><link linkend="void">void</link>                g_enum_complete_type_info           (<link linkend="GType">GType</link> g_enum_type,
526
518
                                                         <link linkend="GTypeInfo">GTypeInfo</link> *info,
527
519
                                                         const <link linkend="GEnumValue">GEnumValue</link> *const_values);</programlisting>
528
520
<para>
529
 
This function is meant to be called from the <link linkend="complete-type-info"><function>complete_type_info()</function></link> function 
530
 
of a <link linkend="GTypePlugin"><type>GTypePlugin</type></link> implementation, as in the following example:
531
 
<informalexample>
532
 
<programlisting>
 
521
This function is meant to be called from the <link linkend="complete-type-info"><function>complete_type_info()</function></link>
 
522
function of a <link linkend="GTypePlugin"><type>GTypePlugin</type></link> implementation, as in the following
 
523
example:
 
524
</para>
 
525
<para>
 
526
<informalexample><programlisting>
533
527
static void
534
528
my_enum_complete_type_info (GTypePlugin     *plugin,
535
529
                            GType            g_type,
540
534
    { MY_ENUM_FOO, "MY_ENUM_FOO", "foo" },
541
535
    { MY_ENUM_BAR, "MY_ENUM_BAR", "bar" },
542
536
    { 0, NULL, NULL }
543
 
  };  
544
 
   
545
 
  g_enum_complete_type_info (type, info, values);  
 
537
  };
 
538
 
 
539
  g_enum_complete_type_info (type, info, values);
546
540
}
547
 
</programlisting>
548
 
</informalexample>
 
541
</programlisting></informalexample></para>
 
542
<para>
549
543
</para><variablelist role="params">
550
 
<varlistentry><term><parameter>g_enum_type</parameter>&nbsp;:</term>
551
 
<listitem><simpara>the type identifier of the type being completed
552
 
</simpara></listitem></varlistentry>
553
 
<varlistentry><term><parameter>info</parameter>&nbsp;:</term>
554
 
<listitem><simpara>the <link linkend="GTypeInfo"><type>GTypeInfo</type></link> struct to be filled in
555
 
</simpara></listitem></varlistentry>
556
 
<varlistentry><term><parameter>const_values</parameter>&nbsp;:</term>
557
 
<listitem><simpara>An array of <link linkend="GEnumValue"><type>GEnumValue</type></link> structs for the possible
558
 
  enumeration values. The array is terminated by a struct with all 
559
 
  members being 0.
560
 
 
561
 
 
 
544
<varlistentry><term><parameter>g_enum_type</parameter>&#160;:</term>
 
545
<listitem><simpara> the type identifier of the type being completed
 
546
</simpara></listitem></varlistentry>
 
547
<varlistentry><term><parameter>info</parameter>&#160;:</term>
 
548
<listitem><simpara> the <link linkend="GTypeInfo"><type>GTypeInfo</type></link> struct to be filled in
 
549
</simpara></listitem></varlistentry>
 
550
<varlistentry><term><parameter>const_values</parameter>&#160;:</term>
 
551
<listitem><simpara> An array of <link linkend="GEnumValue"><type>GEnumValue</type></link> structs for the possible
 
552
 enumeration values. The array is terminated by a struct with all
 
553
 members being 0.
562
554
</simpara></listitem></varlistentry>
563
555
</variablelist></refsect2>
564
 
<refsect2>
565
 
<title><anchor id="g-flags-complete-type-info" role="function"/>g_flags_complete_type_info ()</title>
566
 
<indexterm><primary>g_flags_complete_type_info</primary></indexterm><programlisting><link linkend="void">void</link>                g_flags_complete_type_info          (<link linkend="GType">GType</link> g_flags_type,
 
556
<refsect2 id="g-flags-complete-type-info" role="function">
 
557
<title>g_flags_complete_type_info ()</title>
 
558
<indexterm zone="g-flags-complete-type-info"><primary sortas="g_flags_complete_type_info">g_flags_complete_type_info</primary></indexterm><programlisting><link linkend="void">void</link>                g_flags_complete_type_info          (<link linkend="GType">GType</link> g_flags_type,
567
559
                                                         <link linkend="GTypeInfo">GTypeInfo</link> *info,
568
560
                                                         const <link linkend="GFlagsValue">GFlagsValue</link> *const_values);</programlisting>
569
561
<para>
570
 
This function is meant to be called from the <link linkend="complete-type-info"><function>complete_type_info()</function></link> function 
571
 
of a <link linkend="GTypePlugin"><type>GTypePlugin</type></link> implementation, see the example for 
572
 
<link linkend="g-enumeration-complete-type-info"><function>g_enumeration_complete_type_info()</function></link> above.
 
562
This function is meant to be called from the <link linkend="complete-type-info"><function>complete_type_info()</function></link>
 
563
function of a <link linkend="GTypePlugin"><type>GTypePlugin</type></link> implementation, see the example for
 
564
<link linkend="g-enum-complete-type-info"><function>g_enum_complete_type_info()</function></link> above.</para>
 
565
<para>
573
566
</para><variablelist role="params">
574
 
<varlistentry><term><parameter>g_flags_type</parameter>&nbsp;:</term>
575
 
<listitem><simpara>the type identifier of the type being completed
576
 
</simpara></listitem></varlistentry>
577
 
<varlistentry><term><parameter>info</parameter>&nbsp;:</term>
578
 
<listitem><simpara>the <link linkend="GTypeInfo"><type>GTypeInfo</type></link> struct to be filled in
579
 
</simpara></listitem></varlistentry>
580
 
<varlistentry><term><parameter>const_values</parameter>&nbsp;:</term>
581
 
<listitem><simpara>An array of <link linkend="GFlagsValue"><type>GFlagsValue</type></link> structs for the possible
582
 
  enumeration values. The array is terminated by a struct with all 
583
 
  members being 0.
584
 
 
585
 
 
 
567
<varlistentry><term><parameter>g_flags_type</parameter>&#160;:</term>
 
568
<listitem><simpara> the type identifier of the type being completed
 
569
</simpara></listitem></varlistentry>
 
570
<varlistentry><term><parameter>info</parameter>&#160;:</term>
 
571
<listitem><simpara> the <link linkend="GTypeInfo"><type>GTypeInfo</type></link> struct to be filled in
 
572
</simpara></listitem></varlistentry>
 
573
<varlistentry><term><parameter>const_values</parameter>&#160;:</term>
 
574
<listitem><simpara> An array of <link linkend="GFlagsValue"><type>GFlagsValue</type></link> structs for the possible
 
575
 enumeration values. The array is terminated by a struct with all
 
576
 members being 0.
586
577
</simpara></listitem></varlistentry>
587
578
</variablelist></refsect2>
588
579
 
590
581
 
591
582
 
592
583
 
593
 
<refsect1>
 
584
<refsect1 id="gobject-Enumeration-and-Flag-Types.see-also">
594
585
<title>See Also</title>
595
 
<para>
596
 
<link linkend="GParamSpecEnum"><type>GParamSpecEnum</type></link>, <link linkend="GParamSpecFlags"><type>GParamSpecFlags</type></link>, <link linkend="g-param-spec-enum"><function>g_param_spec_enum()</function></link>, <link linkend="g-param-spec-flags"><function>g_param_spec_flags()</function></link>, 
597
 
<link linkend="glib-mkenums">glib-mkenums</link>
598
 
</para>
 
586
#GParamSpecEnum, <link linkend="GParamSpecFlags"><type>GParamSpecFlags</type></link>, <link linkend="g-param-spec-enum"><function>g_param_spec_enum()</function></link>,
 
587
<link linkend="g-param-spec-flags"><function>g_param_spec_flags()</function></link>,
599
588
</refsect1>
600
589
 
601
 
 
602
 
<refsect1><refsect2 /><refsect2 /></refsect1>
603
590
</refentry>