Top | ![]() |
![]() |
![]() |
![]() |
gint | gwy_string_to_enum () |
const gchar * | gwy_enum_to_string () |
gchar * | gwy_enuml_to_string () |
gint | gwy_string_to_flags () |
gchar * | gwy_flags_to_string () |
gint | gwy_enum_sanitize_value () |
void | gwy_enum_freev () |
GwyInventory * | gwy_enum_inventory_new () |
GwyEnum * | gwy_enum_fill_from_struct () |
GwyEnum is a simple association of a string and integer enum value used in various places in Gwyddion. An enum
table can be easily used as a constant GwyInventory base with gwy_enum_inventory_new()
.
gint gwy_string_to_enum (const gchar *str
,const GwyEnum *enum_table
,gint n
);
Creates an integer representation of a string enum value str
.
str |
A string containing one of |
|
enum_table |
A table of corresponding string-integer pairs. |
|
n |
The number of elements in |
const gchar * gwy_enum_to_string (gint enumval
,const GwyEnum *enum_table
,gint n
);
Creates a string representation of an integer enum value enumval
.
enumval |
A one integer value from |
|
enum_table |
A table of corresponding string-integer pairs. |
|
n |
The number of elements in |
gchar * gwy_enuml_to_string (gint enumval
,...
);
Creates a string representation of an integer enum value enumval
.
enumval |
Integer value to find. |
|
... |
First enum name, first value, second enum name, second value, etc. Terminated with |
The corresponding enum name string argument if enumval
matches some of them. Otherwise NULL
is
returned (this is different from gwy_enum_to_string()
which returns an empty string).
Since: 2.5
gint gwy_string_to_flags (const gchar *str
,const GwyEnum *enum_table
,gint n
,const gchar *delimiter
);
Creates an integer flag combination of its string representation str
.
gchar * gwy_flags_to_string (gint enumval
,const GwyEnum *enum_table
,gint n
,const gchar *glue
);
Creates a string representation of integer flag combination enumval
.
gint gwy_enum_sanitize_value (gint enumval
,GType enum_type
);
Makes sure an enum value is valid.
void
gwy_enum_freev (GwyEnum *enum_table
);
Frees a dynamically allocated enum.
More precisely, it frees all names of a GwyEnum and then frees the enum itself.
GwyInventory * gwy_enum_inventory_new (const GwyEnum *enum_table
,gint n
);
Convenience function to create a constant inventory from a GwyEnum.
The enum table is directly used and therefore must exist during the lifetime of the inventory.
The inventory will have two traits, "name" and "value".
GwyEnum * gwy_enum_fill_from_struct (GwyEnum *enum_table
,gint n
,gconstpointer items
,guint item_size
,gint name_offset
,gint value_offset
);
Fills an enum definition from another struct.
Use G_STRUCT_OFFSET()
to obtain name_offset
and value_offset
.
If value_offset
is -1 the enum values are made equal to items
array indices from 0 to n
-1. Otherwise they
values are taken from items
and can be arbitrary.
If enum_table
is not NULL
and its value fields are filled (i.e. not all zeros), the function just fills the
corresponding names according to items
. This allows reordering enum_table
with respect to items
.
In all other cases both names and values are filled in the same order as in items
.
The string names are not duplicated; they are only copied as pointers.
enum_table |
A table of string-integer pairs to fill, possibly |
|
n |
The number of elements in |
|
items |
Struct items containing the names and values at given offsets. |
|
item_size |
Size of one item in |
|
name_offset |
Offset of the name field (of gchar* type) in the struct, in bytes. |
|
value_offset |
Offset of the value field (of 32bit integer type) in the struct, in bytes. Pass -1 if values are just item indices. |
Since: 2.59