| GTK+ Reference Manual | ||||
|---|---|---|---|---|
| Top | Description | ||||
#include <gtk/gtk.h> gboolean (*GtkFunction) (gpointer data); void (*GtkCallbackMarshal) (GtkObject *object,gpointer data,guint n_args,GtkArg *args); GtkArg;
The GTK+ type system is extensible. Because of that, types have to be managed at runtime.
void (*GtkCallbackMarshal) (GtkObject *object,gpointer data,guint n_args,GtkArg *args);
Defines a function pointer.
typedef struct {
GType 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 {
GCallback f;
gpointer d;
} signal_data;
} d;
} GtkArg;
This is a structure that we use to pass in typed values (and names).