GTK+ Reference Manual |
||||
---|---|---|---|---|
TypesTypes Обработка во время создания типа |
#include <gtk/gtk.h>
typedef GtkType;
typedef GtkFundamentalType;
#define GTK_CLASS_NAME (class)
#define GTK_CLASS_TYPE (class)
#define GTK_TYPE_IS_OBJECT (type)
#define GTK_TYPE_FUNDAMENTAL_LAST
#define GTK_TYPE_FUNDAMENTAL_MAX
#define GTK_STRUCT_OFFSET
#define GTK_CHECK_CAST
#define GTK_CHECK_CLASS_CAST
#define GTK_CHECK_TYPE
#define GTK_CHECK_CLASS_TYPE
#define GTK_CHECK_GET_CLASS
#define GTK_FUNDAMENTAL_TYPE
#define GTK_SIGNAL_FUNC (f)
typedef GtkClassInitFunc;
typedef GtkObjectInitFunc;
void (*GtkSignalFunc) (void);
gboolean (*GtkFunction) (gpointer data);
void (*GtkDestroyNotify) (gpointer data);
void (*GtkCallbackMarshal) (GtkObject *object,
gpointer data,
guint n_args,
GtkArg *args);
typedef GtkSignalMarshaller;
typedef GtkTypeObject;
GtkArg;
#define GTK_VALUE_CHAR (a)
#define GTK_VALUE_UCHAR (a)
#define GTK_VALUE_BOOL (a)
#define GTK_VALUE_INT (a)
#define GTK_VALUE_UINT (a)
#define GTK_VALUE_LONG (a)
#define GTK_VALUE_ULONG (a)
#define GTK_VALUE_FLOAT (a)
#define GTK_VALUE_DOUBLE (a)
#define GTK_VALUE_STRING (a)
#define GTK_VALUE_ENUM (a)
#define GTK_VALUE_FLAGS (a)
#define GTK_VALUE_BOXED (a)
#define GTK_VALUE_POINTER (a)
#define GTK_VALUE_OBJECT (a)
#define GTK_VALUE_SIGNAL (a)
#define GTK_RETLOC_CHAR (a)
#define GTK_RETLOC_UCHAR (a)
#define GTK_RETLOC_BOOL (a)
#define GTK_RETLOC_INT (a)
#define GTK_RETLOC_UINT (a)
#define GTK_RETLOC_LONG (a)
#define GTK_RETLOC_ULONG (a)
#define GTK_RETLOC_FLOAT (a)
#define GTK_RETLOC_DOUBLE (a)
#define GTK_RETLOC_STRING (a)
#define GTK_RETLOC_ENUM (a)
#define GTK_RETLOC_FLAGS (a)
#define GTK_RETLOC_BOXED (a)
#define GTK_RETLOC_POINTER (a)
#define GTK_RETLOC_OBJECT (a)
GtkTypeInfo;
typedef GtkTypeClass;
typedef GtkEnumValue;
typedef GtkFlagValue;
void gtk_type_init (GTypeDebugFlags debug_flags);
GtkType gtk_type_unique (GtkType parent_type,
const GtkTypeInfo *gtkinfo);
#define gtk_type_name (type)
#define gtk_type_from_name (name)
#define gtk_type_parent (type)
gpointer gtk_type_class (GtkType type);
gpointer gtk_type_new (GtkType type);
#define gtk_type_is_a (type, is_a_type)
GtkEnumValue* gtk_type_enum_get_values (GtkType enum_type);
GtkFlagValue* gtk_type_flags_get_values (GtkType flags_type);
GtkEnumValue* gtk_type_enum_find_value (GtkType enum_type,
const gchar *value_name);
GtkFlagValue* gtk_type_flags_find_value (GtkType flags_type,
const gchar *value_name);
Система типов GTK+ расширяема. Поэтому, типы должны управляться во время выполнения.
typedef GType GtkType;GtkType уникальное целое идентифицирующее тип. Внутренняя информация о типе содержится в закрытой структуре именуемой GtkTypeNode.
GtkFundamentalType
typedef GType GtkFundamentalType;Внимание
GtkFundamentalType устарел и не должен использоваться во вновь создаваемом коде.
GtkFundamentalType перечислимый тип со списком всех возможных фундаментальных типов (например char, uchar, int, long, float, и т.д.).
GTK_CLASS_NAME()
#define GTK_CLASS_NAME(class) (g_type_name (G_TYPE_FROM_CLASS (class)))Внимание
GTK_CLASS_NAME устарела и не должна использоваться во вновь создаваемом коде. Вместо неё используйте g_type_name() и G_TYPE_FROM_CLASS().
Возвращает имя типа classа.
class : |
#define GTK_CLASS_TYPE(class) (G_TYPE_FROM_CLASS (class))Внимание
GTK_CLASS_TYPE устарела и не должна использоваться во вновь создаваемом коде. Вместо неё используйте G_TYPE_FROM_CLASS().
Возвращает тип classа.
class : |
#define GTK_TYPE_IS_OBJECT(type) (g_type_is_a ((type), GTK_TYPE_OBJECT))Внимание
GTK_TYPE_IS_OBJECT устарела и не должна использоваться во вновь создаваемом коде. Вместо неё используйте G_TYPE_IS_OBJECT().
Возвращает TRUE если type - GTK_TYPE_OBJECT.
type : |
#define GTK_TYPE_FUNDAMENTAL_LAST (G_TYPE_LAST_RESERVED_FUNDAMENTAL - 1)Внимание
GTK_TYPE_FUNDAMENTAL_LAST устарела и не должна использоваться во вновь создаваемом коде. Вместо неё используйте G_TYPE_LAST_RESERVED_FUNDAMENTAL - 1 .
Высшее по номеру в структуре или окончательное значение перечислимого типа.
GTK_TYPE_FUNDAMENTAL_MAX
#define GTK_TYPE_FUNDAMENTAL_MAX (G_TYPE_FUNDAMENTAL_MAX)Внимание
GTK_TYPE_FUNDAMENTAL_MAX устарела и не должна использоваться во вновь создаваемом коде. Вместо неё используйте G_TYPE_FUNDAMENTAL_MAX .
Максимальное значение фундаментального перечислимого типа.
GTK_STRUCT_OFFSET
#define GTK_STRUCT_OFFSET G_STRUCT_OFFSETВнимание
GTK_STRUCT_OFFSET устарела и не должна использоваться во вновь создаваемом коде. Вместо неё используйте G_STRUCT_OFFSET().
Используется вместо offsetof(), которая используется если она существует.
GTK_CHECK_CAST
#define GTK_CHECK_CAST G_TYPE_CHECK_INSTANCE_CASTРаспределяет объект в tobj внутри cast. Если G_DISABLE_CAST_CHECKS определён, просто распределяет его. Иначе, проверяет можем мы распределить tobj внутри cast.
GTK_CHECK_CLASS_CAST
#define GTK_CHECK_CLASS_CAST G_TYPE_CHECK_CLASS_CASTРаспределяет объект в tobj внутри cast. Если G_DISABLE_CAST_CHECKS определён, просто распределяет его. Иначе, проверяет можем мы распределить tobj внутри cast.
GTK_CHECK_TYPE
#define GTK_CHECK_TYPE G_TYPE_CHECK_INSTANCE_TYPEОпределяет, является лиtype_object типом otype.
GTK_CHECK_CLASS_TYPE
#define GTK_CHECK_CLASS_TYPE G_TYPE_CHECK_CLASS_TYPEОпределяет, является лиtype_class типом otype.
GTK_CHECK_GET_CLASS
#define GTK_CHECK_GET_CLASS G_TYPE_INSTANCE_GET_CLASSПолучает класс tobj.
GTK_FUNDAMENTAL_TYPE
#define GTK_FUNDAMENTAL_TYPE G_TYPE_FUNDAMENTALВнимание
GTK_FUNDAMENTAL_TYPE устарела и не должна использоваться во вновь создаваемом коде.
Преобразует GTK+ тип в фундаментальный тип.
GTK_SIGNAL_FUNC()
#define GTK_SIGNAL_FUNC(f) ((GtkSignalFunc) (f))Просто макрокоманда распределяемая в GtkSignalFunc.
f : |
typedef GBaseInitFunc GtkClassInitFunc;Внимание
GtkClassInitFunc устарела и не должна использоваться во вновь создаваемом коде.
Определяет указатель функции.
GtkObjectInitFunc
typedef GInstanceInitFunc GtkObjectInitFunc;Внимание
GtkObjectInitFunc устарела и не должна использоваться во вновь создаваемом коде.
Определяет указатель функции.
GtkSignalFunc ()
void (*GtkSignalFunc) (void);Определяет указатель функции.
GtkFunction ()
gboolean (*GtkFunction) (gpointer data);Определяет указатель функции.
data : |
|
Возвращает : |
void (*GtkDestroyNotify) (gpointer data);Определяет указатель функции.
data : |
void (*GtkCallbackMarshal) (GtkObject *object,
gpointer data,
guint n_args,
GtkArg *args);
Определяет указатель функции.
object : |
|
data : |
|
n_args : |
|
args : |
typedef GSignalCMarshaller GtkSignalMarshaller;Внимание
GtkSignalMarshaller устарела и не должна использоваться во вновь создаваемом коде.
Определяет указатель функции.
GtkTypeObject
typedef GTypeInstance GtkTypeObject;Внимание
GtkTypeObject устарел и не должен использоваться во вновь создаваемом коде.
GtkTypeObject определяет минимальные структурные требования для образца типа. Образец типа возвращённый из gtk_type_new() и инициализированный через GtkObjectInitFunc должен непосредственно унаследовать эту структуру или по крайней мере скопировать её поля одно за другим.
GtkArg
typedef struct { GtkType type; gchar *name; /* это объединение только определяет необходимые типы хранения для * возможных значений, поэтому там нет поля gint enum_data, * потому что это было бы просто псевдоним для gint int_data. * используйте GTK_VALUE_*() и GTK_RETLOC_*() макросы для доступа * к отдельным членам структуры. */ union { /* окончательные значения */ 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; /* структурные значения */ struct { GtkSignalFunc f; gpointer d; } signal_data; } d; } GtkArg;
Внимание
GtkArg устарела и не должна использоваться во вновь создаваемом коде.
Эта структура используется для размещения значений типов (и имён).
GTK_VALUE_CHAR()
#define GTK_VALUE_CHAR(a) ((a).d.char_data)Внимание
GTK_VALUE_CHAR устарела и не должна использоваться во вновь создаваемом коде.
Получает значение GtkArg, чей GtkType равен GTK_TYPE_CHAR.
a : |
#define GTK_VALUE_UCHAR(a) ((a).d.uchar_data)Внимание
GTK_VALUE_UCHAR устарела и не должна использоваться во вновь создаваемом коде.
Получает значение GtkArg, чей GtkType равен GTK_TYPE_UCHAR.
a : |
#define GTK_VALUE_BOOL(a) ((a).d.bool_data)Внимание
GTK_VALUE_BOOL устарела и не должна использоваться во вновь создаваемом коде.
Получает значение GtkArg, чей GtkType равен GTK_TYPE_BOOL.
a : |
#define GTK_VALUE_INT(a) ((a).d.int_data)Внимание
GTK_VALUE_INT устарела и не должна использоваться во вновь создаваемом коде.
Получает значение GtkArg, чей GtkType равен GTK_TYPE_INT.
a : |
#define GTK_VALUE_UINT(a) ((a).d.uint_data)Внимание
GTK_VALUE_UINT устарела и не должна использоваться во вновь создаваемом коде.
Получает значение GtkArg, чей GtkType равен GTK_TYPE_UINT.
a : |
#define GTK_VALUE_LONG(a) ((a).d.long_data)Внимание
GTK_VALUE_LONG устарела и не должна использоваться во вновь создаваемом коде.
Получает значение GtkArg, чей GtkType равен GTK_TYPE_LONG.
a : |
#define GTK_VALUE_ULONG(a) ((a).d.ulong_data)Внимание
GTK_VALUE_ULONG устарела и не должна использоваться во вновь создаваемом коде.
Получает значение GtkArg, чей GtkType равен GTK_TYPE_ULONG.
a : |
#define GTK_VALUE_FLOAT(a) ((a).d.float_data)Внимание
GTK_VALUE_FLOAT устарела и не должна использоваться во вновь создаваемом коде.
Получает значение GtkArg, чей GtkType равен GTK_TYPE_FLOAT.
a : |
#define GTK_VALUE_DOUBLE(a) ((a).d.double_data)Внимание
GTK_VALUE_DOUBLE устарела и не должна использоваться во вновь создаваемом коде.
Получает значение GtkArg, чей GtkType равен GTK_TYPE_DOUBLE.
a : |
#define GTK_VALUE_STRING(a) ((a).d.string_data)Внимание
GTK_VALUE_STRING устарела и не должна использоваться во вновь создаваемом коде.
Получает значение GtkArg, чей GtkType равен GTK_TYPE_STRING.
a : |
#define GTK_VALUE_ENUM(a) ((a).d.int_data)Внимание
GTK_VALUE_ENUM устарела и не должна использоваться во вновь создаваемом коде.
Получает значение GtkArg, чей GtkType равен GTK_TYPE_ENUM.
a : |
#define GTK_VALUE_FLAGS(a) ((a).d.uint_data)Внимание
GTK_VALUE_FLAGS устарела и не должна использоваться во вновь создаваемом коде.
Получает значение GtkArg, чей GtkType равен GTK_TYPE_FLAGS.
a : |
#define GTK_VALUE_BOXED(a) ((a).d.pointer_data)Внимание
GTK_VALUE_BOXED устарела и не должна использоваться во вновь создаваемом коде.
Получает значение GtkArg, чей GtkType равен GTK_TYPE_BOXED.
a : |
#define GTK_VALUE_POINTER(a) ((a).d.pointer_data)Внимание
GTK_VALUE_POINTER устарела и не должна использоваться во вновь создаваемом коде.
Получает значение GtkArg, чей GtkType равен GTK_TYPE_POINTER.
a : |
#define GTK_VALUE_OBJECT(a) ((a).d.object_data)Внимание
GTK_VALUE_OBJECT устарела и не должна использоваться во вновь создаваемом коде.
Получает значение GtkArg, чей GtkType равен GTK_TYPE_OBJECT.
a : |
#define GTK_VALUE_SIGNAL(a) ((a).d.signal_data)Внимание
GTK_VALUE_SIGNAL устарела и не должна использоваться во вновь создаваемом коде.
Получает значение GtkArg, чей GtkType равен GTK_TYPE_SIGNAL.
a : |
#define GTK_RETLOC_CHAR(a) ((gchar*) (a).d.pointer_data)Внимание
GTK_RETLOC_CHAR устарела и не должна использоваться во вновь создаваемом коде.
Если GtkArg содержит указатель на значение, этот макрос будет указателем на GTK_TYPE_CHAR.
a : |
#define GTK_RETLOC_UCHAR(a) ((guchar*) (a).d.pointer_data)Внимание
GTK_RETLOC_UCHAR устарела и не должна использоваться во вновь создаваемом коде.
Если GtkArg содержит указатель на значение, этот макрос будет указателем на GTK_TYPE_UCHAR.
a : |
#define GTK_RETLOC_BOOL(a) ((gboolean*) (a).d.pointer_data)Внимание
GTK_RETLOC_BOOL устарела и не должна использоваться во вновь создаваемом коде.
Если GtkArg содержит указатель на значение, этот макрос будет указателем на GTK_TYPE_BOOL.
a : |
#define GTK_RETLOC_INT(a) ((gint*) (a).d.pointer_data)Внимание
GTK_RETLOC_INT устарела и не должна использоваться во вновь создаваемом коде.
Если GtkArg содержит указатель на значение, этот макрос будет указателем на GTK_TYPE_INT.
a : |
#define GTK_RETLOC_UINT(a) ((guint*) (a).d.pointer_data)Внимание
GTK_RETLOC_UINT устарела и не должна использоваться во вновь создаваемом коде.
Если GtkArg содержит указатель на значение, этот макрос будет указателем на GTK_TYPE_UINT.
a : |
#define GTK_RETLOC_LONG(a) ((glong*) (a).d.pointer_data)Внимание
GTK_RETLOC_LONG устарела и не должна использоваться во вновь создаваемом коде.
Если GtkArg содержит указатель на значение, этот макрос будет указателем на GTK_TYPE_LONG.
a : |
#define GTK_RETLOC_ULONG(a) ((gulong*) (a).d.pointer_data)Внимание
GTK_RETLOC_ULONG устарела и не должна использоваться во вновь создаваемом коде.
Если GtkArg содержит указатель на значение, этот макрос будет указателем на GTK_TYPE_ULONG.
a : |
#define GTK_RETLOC_FLOAT(a) ((gfloat*) (a).d.pointer_data)Внимание
GTK_RETLOC_FLOAT устарела и не должна использоваться во вновь создаваемом коде.
Если GtkArg содержит указатель на значение, этот макрос будет указателем на GTK_TYPE_FLOAT.
a : |
#define GTK_RETLOC_DOUBLE(a) ((gdouble*) (a).d.pointer_data)Внимание
GTK_RETLOC_DOUBLE устарела и не должна использоваться во вновь создаваемом коде.
Если GtkArg содержит указатель на значение, этот макрос будет указателем на GTK_TYPE_DOUBLE.
a : |
#define GTK_RETLOC_STRING(a) ((gchar**) (a).d.pointer_data)Внимание
GTK_RETLOC_STRING устарела и не должна использоваться во вновь создаваемом коде.
Если GtkArg содержит указатель на значение, этот макрос будет указателем на GTK_TYPE_STRING.
a : |
#define GTK_RETLOC_ENUM(a) ((gint*) (a).d.pointer_data)Внимание
GTK_RETLOC_ENUM устарела и не должна использоваться во вновь создаваемом коде.
Если GtkArg содержит указатель на значение, этот макрос будет указателем на GTK_TYPE_ENUM.
a : |
#define GTK_RETLOC_FLAGS(a) ((guint*) (a).d.pointer_data)Внимание
GTK_RETLOC_FLAGS устарела и не должна использоваться во вновь создаваемом коде.
Если GtkArg содержит указатель на значение, этот макрос будет указателем на GTK_TYPE_FLAGS.
a : |
#define GTK_RETLOC_BOXED(a) ((gpointer*) (a).d.pointer_data)Внимание
GTK_RETLOC_BOXED устарела и не должна использоваться во вновь создаваемом коде.
Если GtkArg содержит указатель на значение, этот макрос будет указателем на GTK_TYPE_BOXED.
a : |
#define GTK_RETLOC_POINTER(a) ((gpointer*) (a).d.pointer_data)Внимание
GTK_RETLOC_POINTER устарела и не должна использоваться во вновь создаваемом коде.
Если GtkArg содержит указатель на значение, этот макрос будет указателем на GTK_TYPE_POINTER.
a : |
#define GTK_RETLOC_OBJECT(a) ((GtkObject**) (a).d.pointer_data)Внимание
GTK_RETLOC_OBJECT устарела и не должна использоваться во вновь создаваемом коде.
Если GtkArg содержит указатель на значение, этот макрос будет указателем на GTK_TYPE_OBJECT.
a : |
typedef struct {
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;
} GtkTypeInfo;
GtkTypeInfo устарела и не должна использоваться во вновь создаваемом коде.
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.
typedef GTypeClass GtkTypeClass;Внимание
GtkTypeClass устарела и не должна использоваться во вновь создаваемом коде.
Основная структура для GTK+ типа. Каждый тип наследует её, как базовую структуру.
GtkEnumValue
typedef GEnumValue GtkEnumValue;Внимание
GtkEnumValue устарела и не должна использоваться во вновь создаваемом коде.
Структура которая содержит единственное перечислимое значение, имя и псевдоним.
GtkFlagValue
typedef GFlagsValue GtkFlagValue;Внимание
GtkFlagValue устарела и не должна использоваться во вновь создаваемом коде.
gtk_type_init ()
void gtk_type_init (GTypeDebugFlags debug_flags);Внимание
gtk_type_init устарела и не должна использоваться во вновь создаваемом коде.
Инициализирует данные структуры связанные с GTK+ типами.
debug_flags : |
GtkType gtk_type_unique (GtkType parent_type,
const GtkTypeInfo *gtkinfo);
gtk_type_unique устарела и не должна использоваться во вновь создаваемом коде.
Создаёт новый уникальный тип.
parent_type : |
Если ноль, фундаментальный тип создан. |
gtkinfo : |
|
Возвращает : |
новый GtkType. |
#define gtk_type_name(type) g_type_name (type)Внимание
gtk_type_name устарела и не должна использоваться во вновь создаваемом коде.
Возвращает указатель на имя типа, или NULL если оно не существует.
type : |
|
Возвращает : |
указатель на имя типа, или NULL если оно не существует. |
#define gtk_type_from_name(name) g_type_from_name (name)Внимание
gtk_type_from_name устарела и не должна использоваться во вновь создаваемом коде.
Получает внутреннее представление типа, учитывая его имя.
name : |
имя GTK+ типа |
Возвращает : |
#define gtk_type_parent(type) g_type_parent (type)Внимание
gtk_type_parent устарела и не должна использоваться во вновь создаваемом коде.
Возвращает родительский тип GtkType.
type : |
|
Возвращает : |
GtkType родителя. |
gpointer gtk_type_class (GtkType type);Возвращает указатель, указывающий на класс type или NULL если были какие нибудь неприятности с идентификацией type. Инициализирует класс если необходимо.
type : |
|
Возвращает : |
Указатель на класс. |
gpointer gtk_type_new (GtkType type);Внимание
gtk_type_new устарела и не должна использоваться во вновь создаваемом коде.
Создаёт новый объект данного типа и возвращает указатель на него. Возвращает NULL если вы задали неправильный тип. Она размещает объект из части памяти типов если есть часть памяти. Объект имеет всё присущее вызываемым инициализаторам.
type : |
|
Возвращает : |
Указатель на GtkTypeObject. |
#define gtk_type_is_a(type, is_a_type) g_type_is_a ((type), (is_a_type))Внимание
gtk_type_is_a устарела и не должна использоваться во вновь создаваемом коде.
Осматривает иерархию типов для поиска type как is_a_type среди предков. Делает простой поиск, не цикличный.
type : |
|
is_a_type : |
другой GtkType. |
Возвращает : |
TRUE если type равен is_a_type. |
GtkEnumValue* gtk_type_enum_get_values (GtkType enum_type);Внимание
gtk_type_enum_get_values устарела и не должна использоваться во вновь создаваемом коде.
Если enum_type имеет значения, то возвращает указатель на них.
enum_type : |
|
Возвращает : |
GtkFlagValue* gtk_type_flags_get_values (GtkType flags_type);Внимание
gtk_type_flags_get_values устарела и не должна использоваться во вновь создаваемом коде.
Если flags_type имеет значения, то возвращает указатель на них.
flags_type : |
|
Возвращает : |
GtkEnumValue* gtk_type_enum_find_value (GtkType enum_type,
const gchar *value_name);
gtk_type_enum_find_value устарела и не должна использоваться во вновь создаваемом коде.
Возвращает указатель на один из enum_type's GtkEnumValues's имя которого (или псевдоним) соответствует value_name.
enum_type : |
|
value_name : |
Имя для поиска. |
Возвращает : |
GtkFlagValue* gtk_type_flags_find_value (GtkType flags_type,
const gchar *value_name);
gtk_type_flags_find_value устарела и не должна использоваться во вновь создаваемом коде.
Возвращает указатель на один из flag_type's GtkFlagValue's имя которого (или псевдоним) соответствует value_name.
flags_type : |
|
value_name : |
Имя для поиска. |
Возвращает : |