mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-07-23 10:27:51 +02:00
committed by
Philip Withnall
parent
24e93078d3
commit
58019515d6
36
docs/reference/gobject/enum-types.md
Normal file
36
docs/reference/gobject/enum-types.md
Normal file
@@ -0,0 +1,36 @@
|
||||
Title: Enumeration types
|
||||
|
||||
# Enumeration types
|
||||
|
||||
The GLib type system provides fundamental types for enumeration and flags
|
||||
types. Enumerations types are collection of identifiers associated with a
|
||||
numeric value; flags types are like enumerations, but allow their values to
|
||||
be combined by bitwise or.
|
||||
|
||||
A registered enumeration or flags type associates a name and a nickname with
|
||||
each allowed value, and the methods [`func@GObject.enum_get_value_by_name`],
|
||||
[`func@GObject.enum_get_value_by_nick`], [`func@GObject.flags_get_value_by_name`] and
|
||||
[`func@GObject.flags_get_value_by_nick`] can look up values by their name or nickname.
|
||||
|
||||
When an enumeration or flags type is registered with the GLib type system,
|
||||
it can be used as value type for object properties, using
|
||||
[`func@GObject.param_spec_enum`] or [`func@GObject.param_spec_flags`].
|
||||
|
||||
GObject ships with a utility called `glib-mkenums`, that can construct
|
||||
suitable type registration functions from C enumeration definitions.
|
||||
|
||||
Example of how to get a string representation of an enum value:
|
||||
|
||||
```c
|
||||
GEnumClass *enum_class;
|
||||
GEnumValue *enum_value;
|
||||
|
||||
enum_class = g_type_class_ref (EXAMPLE_TYPE_ENUM);
|
||||
enum_value = g_enum_get_value (enum_class, EXAMPLE_ENUM_FOO);
|
||||
|
||||
g_print ("Name: %s\n", enum_value->value_name);
|
||||
|
||||
g_type_class_unref (enum_class);
|
||||
```
|
||||
|
||||
Alternatively, you can use [`func@GObject.enum_to_string`].
|
@@ -43,6 +43,7 @@ urlmap_file = "urlmap.js"
|
||||
# The same order will be used when generating the index
|
||||
content_files = [
|
||||
"boxed.md",
|
||||
"enum-types.md",
|
||||
]
|
||||
content_images = [
|
||||
]
|
||||
|
@@ -72,6 +72,7 @@ endif
|
||||
# gi-docgen version
|
||||
expand_content_files = [
|
||||
'boxed.md',
|
||||
'enum-types.md',
|
||||
]
|
||||
|
||||
gobject_gir = meson.current_source_dir() / 'GObject-2.0.gir'
|
||||
|
Reference in New Issue
Block a user