Sets our main struct and passes it to the parent class
Copies the value of src_value into dest_value.
Get the contents of a G_TYPE_BOXED derived GValue. Upon getting, the boxed value is duplicated and needs to be later freed with g_boxed_free(), e.g. like: g_boxed_free (G_VALUE_TYPE (value), return_value);
Get the contents of a G_TYPE_OBJECT derived GValue, increasing its reference count. If the contents of the GValue are NULL, then NULL will be returned.
Get the contents of a G_TYPE_PARAM GValue, increasing its reference count.
Get a copy the contents of a G_TYPE_STRING GValue.
Get the contents of a variant GValue, increasing its refcount. Since 2.26
Determines if value will fit inside the size of a pointer value. This is an internal function introduced mainly for C marshallers.
Return a newly allocated string, which describes the contents of a GValue. The main purpose of this function is to describe GValue contents for debugging output, the way in which the contents are described may change between different GLib versions.
Get the contents of a G_TYPE_BOOLEAN GValue.
Get the contents of a G_TYPE_BOXED derived GValue.
Warning g_value_get_char has been deprecated since version 2.32 and should not be used in newly-written code. This function's return type is broken, see g_value_get_schar() Do not use this function; it is broken on platforms where the char type is unsigned, such as ARM and PowerPC. See g_value_get_schar(). Get the contents of a G_TYPE_CHAR GValue.
Get the contents of a G_TYPE_DOUBLE GValue.
Get the contents of a G_TYPE_ENUM GValue.
Get the contents of a G_TYPE_FLAGS GValue.
Get the contents of a G_TYPE_FLOAT GValue.
Get the contents of a G_TYPE_GTYPE GValue. Since 2.12
Get the contents of a G_TYPE_INT GValue.
Get the contents of a G_TYPE_INT64 GValue.
Get the contents of a G_TYPE_LONG GValue.
Get the contents of a G_TYPE_OBJECT derived GValue.
Get the contents of a G_TYPE_PARAM GValue.
Get the contents of a pointer GValue.
Get the contents of a G_TYPE_CHAR GValue. Since 2.32
Get the contents of a G_TYPE_STRING GValue.
the main Gtk struct as a void*
Get the contents of a G_TYPE_UCHAR GValue.
Get the contents of a G_TYPE_UINT GValue.
Get the contents of a G_TYPE_UINT64 GValue.
Get the contents of a G_TYPE_ULONG GValue.
Get the contents of a variant GValue. Since 2.26
Initializes value with the default value of type.
Clears the current value in value and resets it to the default value (as if the value had just been initialized).
Set the contents of a G_TYPE_BOOLEAN GValue to v_boolean.
Set the contents of a G_TYPE_BOXED derived GValue to v_boxed.
Warning g_value_set_boxed_take_ownership has been deprecated since version 2.4 and should not be used in newly-written code. Use g_value_take_boxed() instead. This is an internal function introduced mainly for C marshallers.
Warning g_value_set_char has been deprecated since version 2.32 and should not be used in newly-written code. This function's input type is broken, see g_value_set_schar() Set the contents of a G_TYPE_CHAR GValue to v_char.
Set the contents of a G_TYPE_DOUBLE GValue to v_double.
Set the contents of a G_TYPE_ENUM GValue to v_enum.
Set the contents of a G_TYPE_FLAGS GValue to v_flags.
Set the contents of a G_TYPE_FLOAT GValue to v_float.
Set the contents of a G_TYPE_GTYPE GValue to v_gtype. Since 2.12
Sets value from an instantiatable type via the value_table's collect_value() function.
Set the contents of a G_TYPE_INT GValue to v_int.
Set the contents of a G_TYPE_INT64 GValue to v_int64.
Set the contents of a G_TYPE_LONG GValue to v_long.
Set the contents of a G_TYPE_OBJECT derived GValue to v_object. g_value_set_object() increases the reference count of v_object (the GValue holds a reference to v_object). If you do not wish to increase the reference count of the object (i.e. you wish to pass your current reference to the GValue because you no longer need it), use g_value_take_object() instead. It is important that your GValue holds a reference to v_object (either its own, or one it has taken) to ensure that the object won't be destroyed while the GValue still exists).
Warning g_value_set_object_take_ownership has been deprecated since version 2.4 and should not be used in newly-written code. Use g_value_take_object() instead. This is an internal function introduced mainly for C marshallers.
Set the contents of a G_TYPE_PARAM GValue to param.
Warning g_value_set_param_take_ownership has been deprecated since version 2.4 and should not be used in newly-written code. Use g_value_take_param() instead. This is an internal function introduced mainly for C marshallers.
Set the contents of a pointer GValue to v_pointer.
Set the contents of a G_TYPE_CHAR GValue to v_char. Since 2.32
Set the contents of a G_TYPE_BOXED derived GValue to v_boxed. The boxed value is assumed to be static, and is thus not duplicated when setting the GValue.
Set the contents of a G_TYPE_STRING GValue to v_string. The string is assumed to be static, and is thus not duplicated when setting the GValue.
Set the contents of a G_TYPE_STRING GValue to v_string.
Warning g_value_set_string_take_ownership has been deprecated since version 2.4 and should not be used in newly-written code. Use g_value_take_string() instead. This is an internal function introduced mainly for C marshallers.
Set the contents of a G_TYPE_UCHAR GValue to v_uchar.
Set the contents of a G_TYPE_UINT GValue to v_uint.
Set the contents of a G_TYPE_UINT64 GValue to v_uint64.
Set the contents of a G_TYPE_ULONG GValue to v_ulong.
Set the contents of a variant GValue to variant. If the variant is floating, it is consumed. Since 2.26
Sets the contents of a G_TYPE_BOXED derived GValue to v_boxed and takes over the ownership of the callers reference to v_boxed; the caller doesn't have to unref it any more. Since 2.4
Sets the contents of a G_TYPE_OBJECT derived GValue to v_object and takes over the ownership of the callers reference to v_object; the caller doesn't have to unref it any more (i.e. the reference count of the object is not increased). If you want the GValue to hold its own reference to v_object, use g_value_set_object() instead. Since 2.4
Sets the contents of a G_TYPE_PARAM GValue to param and takes over the ownership of the callers reference to param; the caller doesn't have to unref it any more. Since 2.4
Sets the contents of a G_TYPE_STRING GValue to v_string. Since 2.4
Set the contents of a variant GValue to variant, and takes over the ownership of the caller's reference to variant; the caller doesn't have to unref it any more (i.e. the reference count of the variant is not increased). If variant was floating then its floating reference is converted to a hard reference. If you want the GValue to hold its own reference to variant, use g_value_set_variant() instead. This is an internal function introduced mainly for C marshallers. Since 2.26
Tries to cast the contents of src_value into a type appropriate to store in dest_value, e.g. to transform a G_TYPE_INT value into a G_TYPE_FLOAT value. Performing transformations between value types might incur precision lossage. Especially transformations into strings might reveal seemingly arbitrary results and shouldn't be relied upon for production code (such as rcfile value or object property serialization).
Clears the current value in value and "unsets" the type, this releases all resources associated with this GValue. An unset value is the same as an uninitialized (zero-filled) GValue structure.
Creates a new GParamSpecBoolean instance specifying a G_TYPE_BOOLEAN property. See g_param_spec_internal() for details on property names.
Creates a new GParamSpecBoxed instance specifying a G_TYPE_BOXED derived property. See g_param_spec_internal() for details on property names.
Creates a new GParamSpecChar instance specifying a G_TYPE_CHAR property.
Creates a new GParamSpecDouble instance specifying a G_TYPE_DOUBLE property. See g_param_spec_internal() for details on property names.
Creates a new GParamSpecEnum instance specifying a G_TYPE_ENUM property. See g_param_spec_internal() for details on property names.
Creates a new GParamSpecFlags instance specifying a G_TYPE_FLAGS property. See g_param_spec_internal() for details on property names.
Creates a new GParamSpecFloat instance specifying a G_TYPE_FLOAT property. See g_param_spec_internal() for details on property names.
Creates a new GParamSpecGType instance specifying a G_TYPE_GTYPE property. See g_param_spec_internal() for details on property names. Since 2.10
Creates a new GParamSpecInt instance specifying a G_TYPE_INT property. See g_param_spec_internal() for details on property names.
Creates a new GParamSpecInt64 instance specifying a G_TYPE_INT64 property. See g_param_spec_internal() for details on property names.
Creates a new GParamSpecLong instance specifying a G_TYPE_LONG property. See g_param_spec_internal() for details on property names.
Creates a new GParamSpecBoxed instance specifying a G_TYPE_OBJECT derived property. See g_param_spec_internal() for details on property names.
Creates a new property of type GParamSpecOverride. This is used to direct operations to another paramspec, and will not be directly useful unless you are implementing a new base type similar to GObject. Since 2.4
Creates a new GParamSpecParam instance specifying a G_TYPE_PARAM property. See g_param_spec_internal() for details on property names.
Creates a new GParamSpecPointer instance specifying a pointer property. See g_param_spec_internal() for details on property names.
Creates a new GParamSpecString instance. See g_param_spec_internal() for details on property names.
Creates a new GParamSpecUChar instance specifying a G_TYPE_UCHAR property.
Creates a new GParamSpecUInt instance specifying a G_TYPE_UINT property. See g_param_spec_internal() for details on property names.
Creates a new GParamSpecUInt64 instance specifying a G_TYPE_UINT64 property. See g_param_spec_internal() for details on property names.
Creates a new GParamSpecULong instance specifying a G_TYPE_ULONG property. See g_param_spec_internal() for details on property names.
Creates a new GParamSpecUnichar instance specifying a G_TYPE_UINT property. GValue structures for this property can be accessed with g_value_set_uint() and g_value_get_uint(). See g_param_spec_internal() for details on property names.
Creates a new GParamSpecValueArray instance specifying a G_TYPE_VALUE_ARRAY property. G_TYPE_VALUE_ARRAY is a G_TYPE_BOXED type, as such, GValue structures for this property can be accessed with g_value_set_boxed() and g_value_get_boxed(). See g_param_spec_internal() for details on property names.
Creates a new GParamSpecVariant instance specifying a GVariant property. If default_value is floating, it is consumed. See g_param_spec_internal() for details on property names. Since 2.26
Registers a value transformation function for use in g_value_transform(). A previously registered transformation function for src_type and dest_type will be replaced.
Returns whether a GValue of type src_type can be copied into a GValue of type dest_type.
Check whether g_value_transform() is able to transform values of type src_type into values of type dest_type.
the main Gtk struct
The GValue structure is basically a variable container that consists of a type identifier and a specific value of that type. The type identifier within a GValue structure always determines the type of the associated value. To create a undefined GValue structure, simply create a zero-filled GValue structure. To initialize the GValue, use the g_value_init() function. A GValue cannot be used until it is initialized. The basic type operations (such as freeing and copying) are determined by the GTypeValueTable associated with the type ID stored in the GValue. Other GValue operations (such as converting values between types) are provided by this interface.
The code in the example program below demonstrates GValue's features.