| 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