1997-11-24 22:37:52 +00:00
|
|
|
/* GTK - The GIMP Toolkit
|
|
|
|
* Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
|
|
|
|
*
|
|
|
|
* This library is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU Library General Public
|
|
|
|
* License as published by the Free Software Foundation; either
|
|
|
|
* version 2 of the License, or (at your option) any later version.
|
|
|
|
*
|
|
|
|
* This library is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
1998-01-30 23:47:09 +00:00
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
1997-11-24 22:37:52 +00:00
|
|
|
* Library General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU Library General Public
|
1998-04-13 02:02:47 +00:00
|
|
|
* License along with this library; if not, write to the
|
|
|
|
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
|
|
* Boston, MA 02111-1307, USA.
|
1997-11-24 22:37:52 +00:00
|
|
|
*/
|
|
|
|
#ifndef __GTK_TYPE_UTILS_H__
|
|
|
|
#define __GTK_TYPE_UTILS_H__
|
|
|
|
|
|
|
|
|
|
|
|
#include <gdk/gdk.h>
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
1998-05-06 01:43:56 +00:00
|
|
|
#pragma }
|
1997-11-24 22:37:52 +00:00
|
|
|
#endif /* __cplusplus */
|
|
|
|
|
|
|
|
|
1998-05-06 01:43:56 +00:00
|
|
|
/* Fundamental Types
|
|
|
|
*/
|
1997-11-24 22:37:52 +00:00
|
|
|
typedef enum
|
|
|
|
{
|
1998-06-15 21:27:17 +00:00
|
|
|
GTK_TYPE_INVALID,
|
|
|
|
GTK_TYPE_NONE,
|
|
|
|
GTK_TYPE_CHAR,
|
|
|
|
GTK_TYPE_BOOL,
|
|
|
|
GTK_TYPE_INT,
|
|
|
|
GTK_TYPE_UINT,
|
|
|
|
GTK_TYPE_LONG,
|
|
|
|
GTK_TYPE_ULONG,
|
|
|
|
GTK_TYPE_FLOAT,
|
|
|
|
GTK_TYPE_DOUBLE,
|
|
|
|
GTK_TYPE_STRING,
|
|
|
|
GTK_TYPE_ENUM,
|
|
|
|
GTK_TYPE_FLAGS,
|
|
|
|
GTK_TYPE_BOXED,
|
|
|
|
GTK_TYPE_FOREIGN,
|
|
|
|
GTK_TYPE_CALLBACK,
|
|
|
|
GTK_TYPE_ARGS,
|
1998-05-06 01:43:56 +00:00
|
|
|
|
1998-06-15 21:27:17 +00:00
|
|
|
GTK_TYPE_POINTER,
|
1998-06-08 03:38:24 +00:00
|
|
|
|
|
|
|
/* It'd be great if GTK_TYPE_POINTER and GTK_TYPE_C_CALLBACK
|
|
|
|
* could be removed eventually
|
1998-05-06 01:43:56 +00:00
|
|
|
*/
|
1998-06-15 21:27:17 +00:00
|
|
|
GTK_TYPE_SIGNAL,
|
|
|
|
GTK_TYPE_C_CALLBACK,
|
1998-05-06 01:43:56 +00:00
|
|
|
|
1998-07-10 02:33:06 +00:00
|
|
|
GTK_TYPE_OBJECT,
|
|
|
|
|
|
|
|
GTK_FUNDAMENTAL_TYPE_LAST
|
1998-06-15 21:27:17 +00:00
|
|
|
} GtkFundamentalType;
|
1997-11-24 22:37:52 +00:00
|
|
|
|
|
|
|
typedef guint GtkType;
|
|
|
|
|
1998-05-06 01:43:56 +00:00
|
|
|
/* Builtin Types
|
|
|
|
*/
|
1997-11-24 22:37:52 +00:00
|
|
|
#include <gtk/gtktypebuiltins.h>
|
|
|
|
|
1998-07-10 02:33:06 +00:00
|
|
|
#define GTK_TYPE_IDENTIFIER (gtk_identifier_get_type ())
|
|
|
|
GtkType gtk_identifier_get_type (void);
|
|
|
|
|
1998-05-06 01:43:56 +00:00
|
|
|
/* Macros
|
|
|
|
*/
|
|
|
|
#define GTK_TYPE_MAKE(parent_t, seqno) (((seqno) << 8) | GTK_FUNDAMENTAL_TYPE (parent_t))
|
1998-07-10 02:33:06 +00:00
|
|
|
#define GTK_FUNDAMENTAL_TYPE(type) ((GtkFundamentalType) ((type) & 0xFF))
|
1998-05-06 01:43:56 +00:00
|
|
|
#define GTK_TYPE_SEQNO(type) ((type) > 0xFF ? (type) >> 8 : (type))
|
1998-05-08 23:20:48 +00:00
|
|
|
|
1998-01-30 23:47:09 +00:00
|
|
|
typedef struct _GtkArg GtkArg;
|
1997-11-24 22:37:52 +00:00
|
|
|
typedef struct _GtkObject GtkObject; /* forward declaration of object type */
|
|
|
|
typedef struct _GtkTypeInfo GtkTypeInfo;
|
fixed an assertment.
Sat Jun 6 06:01:24 1998 Tim Janik <timj@gtk.org>
* gtk/gtksignal.c (gtk_signal_emitv): fixed an assertment.
* gtk/makeenums.awk: a script to generate the GtkEnumValue arrays from,
this should eventually be done by gentypeinfo.el somewhen.
* gtk/gtkenumvalues.c: new generated file to hold GtkEnumValue arrays.
* gtk/gtktypeutils.h: new function gtk_enum_values() to retrive all the
enum values of an enum type.
* gtk/gtk.defs:
* gtk/gtkcurve.h:
* gtk/gtkobject.h:
* gtk/gtkprivate.h:
* gtk/gtkwidget.h:
* gtk/gtkenums.h:
brought enum/flags definitions in sync, added a few more enum
definitions for bindings and pattern matching.
* some more macro and GtkType fixups in various places.
* gdk/gdktypes.h (enum): added a new value GDK_AFTER_MASK, which is used
as a key-release modifier for the binding system.
Fri Jun 5 06:06:06 1998 Tim Janik <timj@gtk.org>
* gtk/gtkmenu.h (struct _GtkMenu): removed GList*children, since it
was a stale list pointer that is already present in GtkMenuShell.
* gtk/gtkmenushell.h (struct _GtkMenuShellClass): added a signal
GtkMenuShell::selection_done which is emitted after the menu shell
poped down again and all possible menu items have been activated.
Thu Jun 4 02:20:42 1998 Tim Janik <timj@gtk.org>
* gtk/gtkmenushell.c (gtk_menu_shell_button_release): flush the x-queue
before activation of the menuitem, so the menu is actually taken off the
screen prior to any menu item activation.
* gtk/gtkctree.c (gtk_ctree_get_row_data): allow function invokation
for NULL nodes.
* gtk/gtkwidget.h:
* gtk/gtkwidget.c: new function gtk_widget_stop_accelerator to stop
the emission of the "add-accelerator" signal on a widget. this is
usefull to prevent accelerator installation on certain widgets.
* gtk/gtknotebook.c (gtk_notebook_menu_item_create): keep the menu
labels left justified, by setting their alignment. stop accelerator
installation for the menu items, since we use dynamic menus.
Wed Jun 3 06:41:22 1998 Tim Janik <timj@gtk.org>
* gtk/gtkmenufactory.c: adaptions to use the new accel groups. people
should *really* use GtkItemFactory. this is only for preserving source
compatibility where possible, use of GtkMenuFactory is deprecated as of
now.
* gtk/gtkobject.h (gtk_object_class_add_user_signal): new function
to create user signals of type GTK_RUN_NO_RECURSE. don't know why i
missed this possibility when i added gtk_object_class_add_user_signal
in late january.
* gtk/gtkmain.c (gtk_init): ignore subsequent function calls.
Sun May 31 07:31:09 1998 Tim Janik <timj@gtk.org>
* gtk/gtkaccelgroup.h:
* gtk/gtkaccelgroup.c: new implementation of the accelerator concept.
* gtk/gtkaccellabel.h:
* gtk/gtkaccellabel.c: new widget derived from GtkLabel whitch features
display of the accelerators associated with a certain widget.
* gtk/gtkitemfactory.h:
* gtk/gtkitemfactory.c: new widget, item factory with automatic rc
parsing and accelerator handling.
* gtk/gtkmenu.c (gtk_menu_reposition): new function to care for
positioning a menu.
(gtk_menu_map): removed the allocation code.
(gtk_menu_size_allocate): care for redrawing of children and resize
our widget->window correctly.
(gtk_menu_key_press): feature the new accelerator groups.
* gtk/gtkmenuitem.c (gtk_menu_item_size_allocate): reposition the
submenu if neccessary.
* gtk/gtkmenuitem.c:
* gtk/gtkcheckmenuitem.c:
* gtk/gtkradiomenuitem.c: use GtkAccelLabel in the *_new_with_label()
function variants.
* gdk/gdk.c:
(gdk_keyval_from_name):
(gdk_keyval_name): new functions for keyval<->key-name associations.
(gdk_keyval_to_upper):
(gdk_keyval_to_lower):
(gdk_keyval_is_upper):
(gdk_keyval_is_lower): new functions to check/translate keyvalues with
regards to their cases.
Wed May 27 00:48:10 1998 Tim Janik <timj@gtk.org>
* gtk/gtkwidget.c (gtk_widget_class_path): new function to calculate a
widget's class path.
(gtk_widget_path): new function to calculate a widget's name path.
* gtk/gtkrc.c: newly introduced GtkPatternSpec structures to speed up
pattern matching, features reversed pattern matches.
1998-06-07 06:48:56 +00:00
|
|
|
typedef struct _GtkEnumValue GtkEnumValue;
|
|
|
|
typedef struct _GtkEnumValue GtkFlagValue;
|
1997-11-24 22:37:52 +00:00
|
|
|
|
1998-06-28 07:46:10 +00:00
|
|
|
typedef void (*GtkClassInitFunc) (gpointer klass);
|
|
|
|
typedef void (*GtkObjectInitFunc) (gpointer object);
|
deleted most of the argument handling code, since that is now implemented
Fri Jul 10 00:02:04 1998 Tim Janik <timj@gtk.org>
* gtk/gtkcontainer.h:
* gtk/gtkcontainer.c: deleted most of the argument handling code, since
that is now implemented in gtkarg.c. similar to gtk_object_args_collect,
we now export a new function gtk_container_child_args_collect().
for consistency with the object arguments, a few functions got renamed:
gtk_container_child_arg_get -> gtk_container_child_get,
gtk_container_child_arg_set -> gtk_container_child_set,
gtk_container_child_arg_getv -> gtk_container_child_getv,
gtk_container_child_arg_setv -> gtk_container_child_setv,
gtk_container_add_with_argv -> gtk_container_addv.
note, gtk_container_add_with_args() remained, because its equivalent
would be gtk_container_add(,, ...) which would break all existing code.
(gtk_container_add_child_arg_type): similar to gtk_object_add_arg_type,
we expect the `arg_name' argument to be a const static string now.
(gtk_container_get_child_arg_type): function removed.
Thu Jul 9 07:03:04 1998 Tim Janik <timj@gtk.org>
* gtk/gtkargcollector.c: new file which holds gtk_arg_collect_value().
this is a static inline function that collects command line arguments
from a va_list. this file can just be included in all places that
need this functionality.
* gtk/gtkarg.h:
* gtk/gtkarg.c: new files which implement most of the argument
handling stuff from gtkobject.c. also collected a few more
gtk_arg_* utility functions from else places.
* gtk/gtkobject.h:
* gtk/gtkobject.c: moved most of the argument handling code into
gtkarg.c. we now export gtk_object_args_collect() as a non-public
method with a blind va_list pointer.
(gtk_object_add_arg_type): the `arg_name' argument is required to be a
const static string now.
(gtk_object_get_arg_type): function got removed.
* gtk/gtkwidget.c:
(gtk_widget_set):
(gtk_widget_new): adaptions for gtk_object_args_collect().
* gtk/gtktypeutils.c (gtk_type_init_builtin_types): changed the internal
fundamental type name so as to have a valid prefix, e.g. "bool"->
"gboolean", "string"->"GtkString" and somesuch, left "void" as is,
though that should probably be something like GtkNone since the
type itself is called GTK_TYPE_NONE.
even the internal type names need to avoid name clashes and must live
in their own namespace, several code portions rely on that.
we should relly have typedefs such as typedef gchar* GtkString; so the
fundamental type names can be used for code dumpers just like with all
the Gtk/Gdk types.
1998-07-09 23:00:34 +00:00
|
|
|
typedef void (*GtkArgGetFunc) (GtkObject*, GtkArg*, guint);
|
|
|
|
typedef void (*GtkArgSetFunc) (GtkObject*, GtkArg*, guint);
|
1998-06-28 07:46:10 +00:00
|
|
|
typedef gint (*GtkFunction) (gpointer data);
|
1997-11-24 22:37:52 +00:00
|
|
|
typedef void (*GtkCallbackMarshal) (GtkObject *object,
|
1998-06-28 07:46:10 +00:00
|
|
|
gpointer data,
|
|
|
|
guint n_args,
|
|
|
|
GtkArg *args);
|
|
|
|
typedef void (*GtkDestroyNotify) (gpointer data);
|
1997-11-24 22:37:52 +00:00
|
|
|
|
|
|
|
struct _GtkArg
|
|
|
|
{
|
|
|
|
GtkType type;
|
1998-01-16 00:49:51 +00:00
|
|
|
gchar *name;
|
1997-11-24 22:37:52 +00:00
|
|
|
|
|
|
|
union {
|
|
|
|
gchar char_data;
|
|
|
|
gint int_data;
|
|
|
|
guint uint_data;
|
|
|
|
gint bool_data;
|
|
|
|
glong long_data;
|
|
|
|
gulong ulong_data;
|
|
|
|
gfloat float_data;
|
1998-01-18 11:09:04 +00:00
|
|
|
gdouble double_data;
|
1998-06-16 05:20:05 +00:00
|
|
|
gchar *string_data;
|
1997-11-24 22:37:52 +00:00
|
|
|
gpointer pointer_data;
|
1998-06-16 05:20:05 +00:00
|
|
|
GtkObject *object_data;
|
1997-11-24 22:37:52 +00:00
|
|
|
struct {
|
|
|
|
GtkCallbackMarshal marshal;
|
|
|
|
gpointer data;
|
|
|
|
GtkDestroyNotify notify;
|
|
|
|
} callback_data;
|
|
|
|
struct {
|
|
|
|
gpointer data;
|
|
|
|
GtkDestroyNotify notify;
|
|
|
|
} foreign_data;
|
|
|
|
struct {
|
|
|
|
gint n_args;
|
|
|
|
GtkArg *args;
|
|
|
|
} args_data;
|
|
|
|
struct {
|
|
|
|
GtkFunction f;
|
|
|
|
gpointer d;
|
|
|
|
} signal_data;
|
|
|
|
struct {
|
|
|
|
GtkFunction func;
|
|
|
|
gpointer func_data;
|
|
|
|
} c_callback_data;
|
|
|
|
} d;
|
|
|
|
};
|
|
|
|
|
1998-01-30 23:47:09 +00:00
|
|
|
#define GTK_VALUE_CHAR(a) ((a).d.char_data)
|
|
|
|
#define GTK_VALUE_BOOL(a) ((a).d.bool_data)
|
|
|
|
#define GTK_VALUE_INT(a) ((a).d.int_data)
|
|
|
|
#define GTK_VALUE_UINT(a) ((a).d.uint_data)
|
|
|
|
#define GTK_VALUE_LONG(a) ((a).d.long_data)
|
|
|
|
#define GTK_VALUE_ULONG(a) ((a).d.ulong_data)
|
|
|
|
#define GTK_VALUE_FLOAT(a) ((a).d.float_data)
|
|
|
|
#define GTK_VALUE_DOUBLE(a) ((a).d.double_data)
|
1998-06-16 05:20:05 +00:00
|
|
|
#define GTK_VALUE_STRING(a) ((a).d.string_data)
|
1998-01-30 23:47:09 +00:00
|
|
|
#define GTK_VALUE_ENUM(a) ((a).d.int_data)
|
|
|
|
#define GTK_VALUE_FLAGS(a) ((a).d.int_data)
|
|
|
|
#define GTK_VALUE_BOXED(a) ((a).d.pointer_data)
|
|
|
|
#define GTK_VALUE_FOREIGN(a) ((a).d.foreign_data)
|
|
|
|
#define GTK_VALUE_CALLBACK(a) ((a).d.callback_data)
|
|
|
|
#define GTK_VALUE_ARGS(a) ((a).d.args_data)
|
1998-06-14 16:59:42 +00:00
|
|
|
#define GTK_VALUE_OBJECT(a) ((a).d.pointer_data)
|
1998-01-30 23:47:09 +00:00
|
|
|
#define GTK_VALUE_POINTER(a) ((a).d.pointer_data)
|
|
|
|
#define GTK_VALUE_SIGNAL(a) ((a).d.signal_data)
|
1997-11-24 22:37:52 +00:00
|
|
|
#define GTK_VALUE_C_CALLBACK(a) ((a).d.c_callback_data)
|
|
|
|
|
1998-01-30 23:47:09 +00:00
|
|
|
#define GTK_RETLOC_CHAR(a) ((gchar*)(a).d.pointer_data)
|
|
|
|
#define GTK_RETLOC_BOOL(a) ((gint*)(a).d.pointer_data)
|
|
|
|
#define GTK_RETLOC_INT(a) ((gint*)(a).d.pointer_data)
|
|
|
|
#define GTK_RETLOC_UINT(a) ((guint*)(a).d.pointer_data)
|
|
|
|
#define GTK_RETLOC_LONG(a) ((glong*)(a).d.pointer_data)
|
|
|
|
#define GTK_RETLOC_ULONG(a) ((gulong*)(a).d.pointer_data)
|
|
|
|
#define GTK_RETLOC_FLOAT(a) ((gfloat*)(a).d.pointer_data)
|
|
|
|
#define GTK_RETLOC_DOUBLE(a) ((gdouble*)(a).d.pointer_data)
|
|
|
|
#define GTK_RETLOC_STRING(a) ((gchar**)(a).d.pointer_data)
|
|
|
|
#define GTK_RETLOC_ENUM(a) ((gint*)(a).d.pointer_data)
|
|
|
|
#define GTK_RETLOC_FLAGS(a) ((gint*)(a).d.pointer_data)
|
|
|
|
#define GTK_RETLOC_BOXED(a) ((gpointer*)(a).d.pointer_data)
|
|
|
|
#define GTK_RETLOC_OBJECT(a) ((GtkObject**)(a).d.pointer_data)
|
|
|
|
#define GTK_RETLOC_POINTER(a) ((gpointer*)(a).d.pointer_data)
|
1997-11-24 22:37:52 +00:00
|
|
|
|
|
|
|
struct _GtkTypeInfo
|
|
|
|
{
|
1998-06-28 07:46:10 +00:00
|
|
|
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;
|
1997-11-24 22:37:52 +00:00
|
|
|
};
|
|
|
|
|
fixed an assertment.
Sat Jun 6 06:01:24 1998 Tim Janik <timj@gtk.org>
* gtk/gtksignal.c (gtk_signal_emitv): fixed an assertment.
* gtk/makeenums.awk: a script to generate the GtkEnumValue arrays from,
this should eventually be done by gentypeinfo.el somewhen.
* gtk/gtkenumvalues.c: new generated file to hold GtkEnumValue arrays.
* gtk/gtktypeutils.h: new function gtk_enum_values() to retrive all the
enum values of an enum type.
* gtk/gtk.defs:
* gtk/gtkcurve.h:
* gtk/gtkobject.h:
* gtk/gtkprivate.h:
* gtk/gtkwidget.h:
* gtk/gtkenums.h:
brought enum/flags definitions in sync, added a few more enum
definitions for bindings and pattern matching.
* some more macro and GtkType fixups in various places.
* gdk/gdktypes.h (enum): added a new value GDK_AFTER_MASK, which is used
as a key-release modifier for the binding system.
Fri Jun 5 06:06:06 1998 Tim Janik <timj@gtk.org>
* gtk/gtkmenu.h (struct _GtkMenu): removed GList*children, since it
was a stale list pointer that is already present in GtkMenuShell.
* gtk/gtkmenushell.h (struct _GtkMenuShellClass): added a signal
GtkMenuShell::selection_done which is emitted after the menu shell
poped down again and all possible menu items have been activated.
Thu Jun 4 02:20:42 1998 Tim Janik <timj@gtk.org>
* gtk/gtkmenushell.c (gtk_menu_shell_button_release): flush the x-queue
before activation of the menuitem, so the menu is actually taken off the
screen prior to any menu item activation.
* gtk/gtkctree.c (gtk_ctree_get_row_data): allow function invokation
for NULL nodes.
* gtk/gtkwidget.h:
* gtk/gtkwidget.c: new function gtk_widget_stop_accelerator to stop
the emission of the "add-accelerator" signal on a widget. this is
usefull to prevent accelerator installation on certain widgets.
* gtk/gtknotebook.c (gtk_notebook_menu_item_create): keep the menu
labels left justified, by setting their alignment. stop accelerator
installation for the menu items, since we use dynamic menus.
Wed Jun 3 06:41:22 1998 Tim Janik <timj@gtk.org>
* gtk/gtkmenufactory.c: adaptions to use the new accel groups. people
should *really* use GtkItemFactory. this is only for preserving source
compatibility where possible, use of GtkMenuFactory is deprecated as of
now.
* gtk/gtkobject.h (gtk_object_class_add_user_signal): new function
to create user signals of type GTK_RUN_NO_RECURSE. don't know why i
missed this possibility when i added gtk_object_class_add_user_signal
in late january.
* gtk/gtkmain.c (gtk_init): ignore subsequent function calls.
Sun May 31 07:31:09 1998 Tim Janik <timj@gtk.org>
* gtk/gtkaccelgroup.h:
* gtk/gtkaccelgroup.c: new implementation of the accelerator concept.
* gtk/gtkaccellabel.h:
* gtk/gtkaccellabel.c: new widget derived from GtkLabel whitch features
display of the accelerators associated with a certain widget.
* gtk/gtkitemfactory.h:
* gtk/gtkitemfactory.c: new widget, item factory with automatic rc
parsing and accelerator handling.
* gtk/gtkmenu.c (gtk_menu_reposition): new function to care for
positioning a menu.
(gtk_menu_map): removed the allocation code.
(gtk_menu_size_allocate): care for redrawing of children and resize
our widget->window correctly.
(gtk_menu_key_press): feature the new accelerator groups.
* gtk/gtkmenuitem.c (gtk_menu_item_size_allocate): reposition the
submenu if neccessary.
* gtk/gtkmenuitem.c:
* gtk/gtkcheckmenuitem.c:
* gtk/gtkradiomenuitem.c: use GtkAccelLabel in the *_new_with_label()
function variants.
* gdk/gdk.c:
(gdk_keyval_from_name):
(gdk_keyval_name): new functions for keyval<->key-name associations.
(gdk_keyval_to_upper):
(gdk_keyval_to_lower):
(gdk_keyval_is_upper):
(gdk_keyval_is_lower): new functions to check/translate keyvalues with
regards to their cases.
Wed May 27 00:48:10 1998 Tim Janik <timj@gtk.org>
* gtk/gtkwidget.c (gtk_widget_class_path): new function to calculate a
widget's class path.
(gtk_widget_path): new function to calculate a widget's name path.
* gtk/gtkrc.c: newly introduced GtkPatternSpec structures to speed up
pattern matching, features reversed pattern matches.
1998-06-07 06:48:56 +00:00
|
|
|
struct _GtkEnumValue
|
|
|
|
{
|
|
|
|
guint value;
|
|
|
|
gchar *value_name;
|
|
|
|
gchar *value_nick;
|
|
|
|
};
|
|
|
|
|
1997-11-24 22:37:52 +00:00
|
|
|
|
1998-06-10 04:55:22 +00:00
|
|
|
void gtk_type_init (void);
|
|
|
|
GtkType gtk_type_unique (GtkType parent_type,
|
|
|
|
GtkTypeInfo *type_info);
|
|
|
|
void gtk_type_set_chunk_alloc (GtkType type,
|
|
|
|
guint n_chunks);
|
|
|
|
gchar* gtk_type_name (guint type);
|
|
|
|
GtkType gtk_type_from_name (const gchar *name);
|
|
|
|
GtkType gtk_type_parent (GtkType type);
|
|
|
|
gpointer gtk_type_class (GtkType type);
|
|
|
|
gpointer gtk_type_parent_class (GtkType type);
|
1998-06-10 07:32:52 +00:00
|
|
|
GList* gtk_type_children_types (GtkType type);
|
1998-06-10 04:55:22 +00:00
|
|
|
gpointer gtk_type_new (GtkType type);
|
|
|
|
void gtk_type_free (GtkType type,
|
|
|
|
gpointer mem);
|
|
|
|
void gtk_type_describe_heritage (GtkType type);
|
|
|
|
void gtk_type_describe_tree (GtkType type,
|
|
|
|
gboolean show_size);
|
|
|
|
gint gtk_type_is_a (GtkType type,
|
|
|
|
GtkType is_a_type);
|
|
|
|
GtkType gtk_type_register_enum (const gchar *type_name,
|
|
|
|
GtkEnumValue *values);
|
|
|
|
GtkType gtk_type_register_flags (const gchar *type_name,
|
|
|
|
GtkFlagValue *values);
|
|
|
|
GtkEnumValue* gtk_type_enum_get_values (GtkType enum_type);
|
|
|
|
GtkFlagValue* gtk_type_flags_get_values (GtkType flags_type);
|
1997-11-24 22:37:52 +00:00
|
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif /* __cplusplus */
|
|
|
|
|
|
|
|
|
|
|
|
#endif /* __GTK_TYPE_UTILS_H__ */
|