Details
GtkType
GtkType is unique integer identifying the type. The guts of the
information about the type is held in a private struct named
GtkTypeNode.
enum GtkFundamentalType
typedef enum /*< skip >*/
{
GTK_TYPE_INVALID = G_TYPE_INVALID,
GTK_TYPE_NONE = G_TYPE_NONE,
GTK_TYPE_ENUM = G_TYPE_ENUM,
GTK_TYPE_FLAGS = G_TYPE_FLAGS,
/* GtkArg types */
GTK_TYPE_CHAR = G_TYPE_CHAR,
GTK_TYPE_UCHAR = G_TYPE_UCHAR,
GTK_TYPE_BOOL = G_TYPE_BOOLEAN,
GTK_TYPE_INT = G_TYPE_INT,
GTK_TYPE_UINT = G_TYPE_UINT,
GTK_TYPE_LONG = G_TYPE_LONG,
GTK_TYPE_ULONG = G_TYPE_ULONG,
GTK_TYPE_FLOAT = G_TYPE_FLOAT,
GTK_TYPE_DOUBLE = G_TYPE_DOUBLE,
GTK_TYPE_STRING = G_TYPE_STRING,
GTK_TYPE_BOXED = G_TYPE_BOXED,
GTK_TYPE_POINTER = G_TYPE_POINTER
} GtkFundamentalType; |
GtkFundamentalType is an enumerated type which lists all the possible
fundamental types (e.g. char, uchar, int, long, float, etc).
GTK_CLASS_NAME()
#define GTK_CLASS_NAME(class) (g_type_name (G_TYPE_FROM_CLASS (class))) |
GTK_CLASS_TYPE()
#define GTK_CLASS_TYPE(class) (G_TYPE_FROM_CLASS (class)) |
GTK_TYPE_IS_OBJECT()
#define GTK_TYPE_IS_OBJECT(type) (g_type_is_a ((type), GTK_TYPE_OBJECT)) |
GTK_TYPE_FUNDAMENTAL_LAST
#define GTK_TYPE_FUNDAMENTAL_LAST (G_TYPE_LAST_RESERVED_FUNDAMENTAL - 1) |
The highest-numbered structured or flat enumerated type value.
GTK_TYPE_FUNDAMENTAL_MAX
#define GTK_TYPE_FUNDAMENTAL_MAX (G_TYPE_FUNDAMENTAL_MAX) |
The highest maximum fundamental enumerated type value.
GTK_STRUCT_OFFSET
#define GTK_STRUCT_OFFSET G_STRUCT_OFFSET |
Use in place of offsetof(), which is used if it exists.
GTK_CHECK_CAST
#define GTK_CHECK_CAST G_TYPE_CHECK_INSTANCE_CAST |
Cast the object in tobj into cast. If GTK_NO_CHECK_CASTS is
defined, just cast it. Otherwise, check to see if we can cast tobj
into a cast.
GTK_CHECK_CLASS_CAST
#define GTK_CHECK_CLASS_CAST G_TYPE_CHECK_CLASS_CAST |
Cast the object in tobj into cast. If GTK_NO_CHECK_CASTS is
defined, just cast it. Otherwise, check to see if we can cast tobj
into a cast.
GTK_CHECK_TYPE
#define GTK_CHECK_TYPE G_TYPE_CHECK_INSTANCE_TYPE |
Determines whether type_object is a type of otype.
GTK_CHECK_CLASS_TYPE
#define GTK_CHECK_CLASS_TYPE G_TYPE_CHECK_CLASS_TYPE |
Determines whether type_class is a type of otype.
GTK_CHECK_GET_CLASS
#define GTK_CHECK_GET_CLASS G_TYPE_INSTANCE_GET_CLASS |
GTK_FUNDAMENTAL_TYPE
#define GTK_FUNDAMENTAL_TYPE G_TYPE_FUNDAMENTAL |
Convert a gtk type into a fundamental type
GTK_SIGNAL_FUNC()
#define GTK_SIGNAL_FUNC(f) ((GtkSignalFunc) (f)) |
Just a macroized cast into a GtkSignalFunc
GtkClassInitFunc
typedef GBaseInitFunc GtkClassInitFunc; |
Define a function pointer.
GtkObjectInitFunc
typedef GInstanceInitFunc GtkObjectInitFunc; |
Define a function pointer.
GtkSignalFunc ()
void (*GtkSignalFunc) (void); |
Define a function pointer.
GtkFunction ()
Define a function pointer.
GtkDestroyNotify ()
void (*GtkDestroyNotify) (gpointer data); |
Define a function pointer.
GtkCallbackMarshal ()
Define a function pointer.
GtkSignalMarshaller
typedef GSignalCMarshaller GtkSignalMarshaller; |
Define a function pointer.
GtkArgGetFunc ()
Define a function pointer. Deprecated.
GtkArgSetFunc ()
Define a function pointer. Deprecated.
GtkTypeObject
typedef GTypeInstance GtkTypeObject; |
A GtkTypeObject defines the minimum structure requirements
for type instances. Type instances returned from gtk_type_new()
and initialized through a GtkObjectInitFunc need to directly inherit
from this structure or at least copy its fields one by one.
struct GtkArg
struct GtkArg
{
GtkType type;
gchar *name;
/* this union only defines the required storage types for
* the possibile values, thus there is no gint enum_data field,
* because that would just be a mere alias for gint int_data.
* use the GTK_VALUE_*() and GTK_RETLOC_*() macros to access
* the discrete memebers.
*/
union {
/* flat values */
gchar char_data;
guchar uchar_data;
gboolean bool_data;
gint int_data;
guint uint_data;
glong long_data;
gulong ulong_data;
gfloat float_data;
gdouble double_data;
gchar *string_data;
GtkObject *object_data;
gpointer pointer_data;
/* structured values */
struct {
GtkSignalFunc f;
gpointer d;
} signal_data;
} d;
}; |
This is a structure that we use to pass in typed values (and names).
GTK_VALUE_CHAR()
#define GTK_VALUE_CHAR(a) ((a).d.char_data) |
Use to get the value of a GtkArg whose GtkType is GTK_TYPE_CHAR
GTK_VALUE_UCHAR()
#define GTK_VALUE_UCHAR(a) ((a).d.uchar_data) |
Use to get the value of a GtkArg whose GtkType is GTK_TYPE_UCHAR
GTK_VALUE_BOOL()
#define GTK_VALUE_BOOL(a) ((a).d.bool_data) |
Use to get the value of a GtkArg whose GtkType is GTK_TYPE_BOOL
GTK_VALUE_INT()
#define GTK_VALUE_INT(a) ((a).d.int_data) |
Use to get the value of a GtkArg whose GtkType is GTK_TYPE_INT
GTK_VALUE_UINT()
#define GTK_VALUE_UINT(a) ((a).d.uint_data) |
Use to get the value of a GtkArg whose GtkType is GTK_TYPE_UINT
GTK_VALUE_LONG()
#define GTK_VALUE_LONG(a) ((a).d.long_data) |
Use to get the value of a GtkArg whose GtkType is GTK_TYPE_LONG
GTK_VALUE_ULONG()
#define GTK_VALUE_ULONG(a) ((a).d.ulong_data) |
Use to get the value of a GtkArg whose GtkType is GTK_TYPE_ULONG
GTK_VALUE_FLOAT()
#define GTK_VALUE_FLOAT(a) ((a).d.float_data) |
Use to get the value of a GtkArg whose GtkType is GTK_TYPE_FLOAT
GTK_VALUE_DOUBLE()
#define GTK_VALUE_DOUBLE(a) ((a).d.double_data) |
Use to get the value of a GtkArg whose GtkType is GTK_TYPE_DOUBLE
GTK_VALUE_STRING()
#define GTK_VALUE_STRING(a) ((a).d.string_data) |
Use to get the value of a GtkArg whose GtkType is GTK_TYPE_STRING
GTK_VALUE_ENUM()
#define GTK_VALUE_ENUM(a) ((a).d.int_data) |
Use to get the value of a GtkArg whose GtkType is GTK_TYPE_ENUM
GTK_VALUE_FLAGS()
#define GTK_VALUE_FLAGS(a) ((a).d.uint_data) |
Use to get the value of a GtkArg whose GtkType is GTK_TYPE_FLAGS
GTK_VALUE_BOXED()
#define GTK_VALUE_BOXED(a) ((a).d.pointer_data) |
Use to get the value of a GtkArg whose GtkType is GTK_TYPE_BOXED
GTK_VALUE_POINTER()
#define GTK_VALUE_POINTER(a) ((a).d.pointer_data) |
Use to get the value of a GtkArg whose GtkType is GTK_TYPE_POINTER
GTK_VALUE_OBJECT()
#define GTK_VALUE_OBJECT(a) ((a).d.object_data) |
Use to get the value of a GtkArg whose GtkType is GTK_TYPE_OBJECT
GTK_VALUE_SIGNAL()
#define GTK_VALUE_SIGNAL(a) ((a).d.signal_data) |
Use to get the value of a GtkArg whose GtkType is GTK_TYPE_SIGNAL
GTK_RETLOC_CHAR()
#define GTK_RETLOC_CHAR(a) ((gchar*) (a).d.pointer_data) |
If the GtkArg contains a pointer to the value, this macro will be a pointer to a GTK_TYPE_CHAR
GTK_RETLOC_UCHAR()
#define GTK_RETLOC_UCHAR(a) ((guchar*) (a).d.pointer_data) |
If the GtkArg contains a pointer to the value, this macro will be a pointer to a GTK_TYPE_UCHAR
GTK_RETLOC_BOOL()
#define GTK_RETLOC_BOOL(a) ((gboolean*) (a).d.pointer_data) |
If the GtkArg contains a pointer to the value, this macro will be a pointer to a GTK_TYPE_BOOL
GTK_RETLOC_INT()
#define GTK_RETLOC_INT(a) ((gint*) (a).d.pointer_data) |
If the GtkArg contains a pointer to the value, this macro will be a pointer to a GTK_TYPE_INT
GTK_RETLOC_UINT()
#define GTK_RETLOC_UINT(a) ((guint*) (a).d.pointer_data) |
If the GtkArg contains a pointer to the value, this macro will be a pointer to a GTK_TYPE_UINT
GTK_RETLOC_LONG()
#define GTK_RETLOC_LONG(a) ((glong*) (a).d.pointer_data) |
If the GtkArg contains a pointer to the value, this macro will be a pointer to a GTK_TYPE_LONG
GTK_RETLOC_ULONG()
#define GTK_RETLOC_ULONG(a) ((gulong*) (a).d.pointer_data) |
If the GtkArg contains a pointer to the value, this macro will be a pointer to a GTK_TYPE_ULONG
GTK_RETLOC_FLOAT()
#define GTK_RETLOC_FLOAT(a) ((gfloat*) (a).d.pointer_data) |
If the GtkArg contains a pointer to the value, this macro will be a pointer to a GTK_TYPE_FLOAT
GTK_RETLOC_DOUBLE()
#define GTK_RETLOC_DOUBLE(a) ((gdouble*) (a).d.pointer_data) |
If the GtkArg contains a pointer to the value, this macro will be a pointer to a GTK_TYPE_DOUBLE
GTK_RETLOC_STRING()
#define GTK_RETLOC_STRING(a) ((gchar**) (a).d.pointer_data) |
If the GtkArg contains a pointer to the value, this macro will be a pointer to a GTK_TYPE_STRING
GTK_RETLOC_ENUM()
#define GTK_RETLOC_ENUM(a) ((gint*) (a).d.pointer_data) |
If the GtkArg contains a pointer to the value, this macro will be a pointer to a GTK_TYPE_ENUM
GTK_RETLOC_FLAGS()
#define GTK_RETLOC_FLAGS(a) ((guint*) (a).d.pointer_data) |
If the GtkArg contains a pointer to the value, this macro will be a pointer to a GTK_TYPE_FLAGS
GTK_RETLOC_BOXED()
#define GTK_RETLOC_BOXED(a) ((gpointer*) (a).d.pointer_data) |
If the GtkArg contains a pointer to the value, this macro will be a pointer to a GTK_TYPE_BOXED
GTK_RETLOC_POINTER()
#define GTK_RETLOC_POINTER(a) ((gpointer*) (a).d.pointer_data) |
If the GtkArg contains a pointer to the value, this macro will be a pointer to a GTK_TYPE_POINTER
GTK_RETLOC_OBJECT()
#define GTK_RETLOC_OBJECT(a) ((GtkObject**) (a).d.pointer_data) |
If the GtkArg contains a pointer to the value, this macro will be a pointer to a GTK_TYPE_OBJECT
struct GtkTypeInfo
struct GtkTypeInfo
{
gchar *type_name;
guint object_size;
guint class_size;
GtkClassInitFunc class_init_func;
GtkObjectInitFunc object_init_func;
gpointer reserved_1;
gpointer reserved_2;
GtkClassInitFunc base_class_init_func;
}; |
Holds information about the type. gtk_type_name returns the name.
object_size is somehow set to the number of bytes that an instance of
the object will occupy. class_init_func holds the type's
initialization function. object_init_func holds the initialization
function for an instance of the object. reserved_1 is used for
GtkEnumValue to hold the enumerated values.
GtkTypeClass
typedef GTypeClass GtkTypeClass; |
The base structure for a Gtk Type. Every type inherits this as a base structure.
GtkEnumValue
typedef GEnumValue GtkEnumValue; |
A structure which contains a single enum value, and its name, and it's
nickname.
GtkFlagValue
typedef GFlagsValue GtkFlagValue; |
gtk_type_init ()
void gtk_type_init (GTypeDebugFlags debug_flags); |
Initialize the data structures associated with gtk types.
gtk_type_unique ()
Create a new, unique type.
gtk_type_name()
#define gtk_type_name(type) g_type_name (type) |
gtk_type_from_name()
#define gtk_type_from_name(name) g_type_from_name (name) |
Get the internal representation of a type given its name.
gtk_type_parent()
#define gtk_type_parent(type) g_type_parent (type) |
gtk_type_class ()
Return a gpointer pointing to the class of type or NULL if there was
any trouble identifying type. Initialize the class if necessary.
gtk_type_new ()
Create a new object of a given type, and return a gpointer to it.
Returns NULL if you give it an invalid type. It allocates the object
out of the type's memory chunk if there is a memory chunk. The object
has all the proper initializers called.
gtk_type_is_a()
#define gtk_type_is_a(type, is_a_type) g_type_is_a ((type), (is_a_type)) |
Look in the type hierarchy to see if type has is_a_type among its
ancestors. Do so with a simple lookup, not a loop.
gtk_type_enum_get_values ()
If enum_type has values, then return a pointer to all of them.
gtk_type_flags_get_values ()
If flags_type has values, then return a pointer to all of them.
gtk_type_enum_find_value ()
Return a pointer to one of enum_type's GtkEnumValues's whose name (or nickname) matches value_name.
gtk_type_flags_find_value ()
Return a pointer to one of flag_type's GtkFlagValue's whose name (or nickname) matches value_name.