mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-05 16:20:10 +00:00
Switch style of stamp file usage.
Sat Mar 2 13:26:58 2002 Owen Taylor <otaylor@redhat.com> * gtk/Makefile.am: Switch style of stamp file usage. * gtk/Makefile.am gtk/typeutils.[ch]: Switch all the exported enumeration/fags TYPE variables over to macros for get_type() functions, for lazy definition and to get rid of expensive relocations. * gtk/gtkiconfactory.[ch] gtk/gtkselection.[ch] gtk/gtkstyle.[ch] gtk/gtktextiter.[ch] gtk/gtktexttag.[ch] gtk/gtktreemodel.[ch] gtk/gtktypeutils.[ch] gtk/gtkwidget.[ch]: Switch boxed type definitions over manually coded get_type() functions. * gtk/gtk.def: Updates for above * gtk/{genmarshal.pl,makeenums.awk,makeenums.h,maketypes.awk}: Remove from CVS, no longer used. * configure.in: Remove checks for awk.
This commit is contained in:
parent
36e686e6a7
commit
f832e3484d
20
ChangeLog
20
ChangeLog
@ -1,3 +1,23 @@
|
||||
Sat Mar 2 13:26:58 2002 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gtk/Makefile.am: Switch style of stamp file usage.
|
||||
|
||||
* gtk/Makefile.am gtk/typeutils.[ch]: Switch all the exported
|
||||
enumeration/fags TYPE variables over to macros for get_type() functions,
|
||||
for lazy definition and to get rid of expensive relocations.
|
||||
|
||||
* gtk/gtkiconfactory.[ch] gtk/gtkselection.[ch] gtk/gtkstyle.[ch]
|
||||
gtk/gtktextiter.[ch] gtk/gtktexttag.[ch] gtk/gtktreemodel.[ch]
|
||||
gtk/gtktypeutils.[ch] gtk/gtkwidget.[ch]: Switch boxed type
|
||||
definitions over manually coded get_type() functions.
|
||||
|
||||
* gtk/gtk.def: Updates for above
|
||||
|
||||
* gtk/{genmarshal.pl,makeenums.awk,makeenums.h,maketypes.awk}:
|
||||
Remove from CVS, no longer used.
|
||||
|
||||
* configure.in: Remove checks for awk.
|
||||
|
||||
Sat Mar 2 04:44:10 2002 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkaccelgroup.c (gtk_accel_group_connect_by_path): fix typo.
|
||||
|
@ -1,3 +1,23 @@
|
||||
Sat Mar 2 13:26:58 2002 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gtk/Makefile.am: Switch style of stamp file usage.
|
||||
|
||||
* gtk/Makefile.am gtk/typeutils.[ch]: Switch all the exported
|
||||
enumeration/fags TYPE variables over to macros for get_type() functions,
|
||||
for lazy definition and to get rid of expensive relocations.
|
||||
|
||||
* gtk/gtkiconfactory.[ch] gtk/gtkselection.[ch] gtk/gtkstyle.[ch]
|
||||
gtk/gtktextiter.[ch] gtk/gtktexttag.[ch] gtk/gtktreemodel.[ch]
|
||||
gtk/gtktypeutils.[ch] gtk/gtkwidget.[ch]: Switch boxed type
|
||||
definitions over manually coded get_type() functions.
|
||||
|
||||
* gtk/gtk.def: Updates for above
|
||||
|
||||
* gtk/{genmarshal.pl,makeenums.awk,makeenums.h,maketypes.awk}:
|
||||
Remove from CVS, no longer used.
|
||||
|
||||
* configure.in: Remove checks for awk.
|
||||
|
||||
Sat Mar 2 04:44:10 2002 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkaccelgroup.c (gtk_accel_group_connect_by_path): fix typo.
|
||||
|
@ -1,3 +1,23 @@
|
||||
Sat Mar 2 13:26:58 2002 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gtk/Makefile.am: Switch style of stamp file usage.
|
||||
|
||||
* gtk/Makefile.am gtk/typeutils.[ch]: Switch all the exported
|
||||
enumeration/fags TYPE variables over to macros for get_type() functions,
|
||||
for lazy definition and to get rid of expensive relocations.
|
||||
|
||||
* gtk/gtkiconfactory.[ch] gtk/gtkselection.[ch] gtk/gtkstyle.[ch]
|
||||
gtk/gtktextiter.[ch] gtk/gtktexttag.[ch] gtk/gtktreemodel.[ch]
|
||||
gtk/gtktypeutils.[ch] gtk/gtkwidget.[ch]: Switch boxed type
|
||||
definitions over manually coded get_type() functions.
|
||||
|
||||
* gtk/gtk.def: Updates for above
|
||||
|
||||
* gtk/{genmarshal.pl,makeenums.awk,makeenums.h,maketypes.awk}:
|
||||
Remove from CVS, no longer used.
|
||||
|
||||
* configure.in: Remove checks for awk.
|
||||
|
||||
Sat Mar 2 04:44:10 2002 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkaccelgroup.c (gtk_accel_group_connect_by_path): fix typo.
|
||||
|
@ -1,3 +1,23 @@
|
||||
Sat Mar 2 13:26:58 2002 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gtk/Makefile.am: Switch style of stamp file usage.
|
||||
|
||||
* gtk/Makefile.am gtk/typeutils.[ch]: Switch all the exported
|
||||
enumeration/fags TYPE variables over to macros for get_type() functions,
|
||||
for lazy definition and to get rid of expensive relocations.
|
||||
|
||||
* gtk/gtkiconfactory.[ch] gtk/gtkselection.[ch] gtk/gtkstyle.[ch]
|
||||
gtk/gtktextiter.[ch] gtk/gtktexttag.[ch] gtk/gtktreemodel.[ch]
|
||||
gtk/gtktypeutils.[ch] gtk/gtkwidget.[ch]: Switch boxed type
|
||||
definitions over manually coded get_type() functions.
|
||||
|
||||
* gtk/gtk.def: Updates for above
|
||||
|
||||
* gtk/{genmarshal.pl,makeenums.awk,makeenums.h,maketypes.awk}:
|
||||
Remove from CVS, no longer used.
|
||||
|
||||
* configure.in: Remove checks for awk.
|
||||
|
||||
Sat Mar 2 04:44:10 2002 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkaccelgroup.c (gtk_accel_group_connect_by_path): fix typo.
|
||||
|
@ -1,3 +1,23 @@
|
||||
Sat Mar 2 13:26:58 2002 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gtk/Makefile.am: Switch style of stamp file usage.
|
||||
|
||||
* gtk/Makefile.am gtk/typeutils.[ch]: Switch all the exported
|
||||
enumeration/fags TYPE variables over to macros for get_type() functions,
|
||||
for lazy definition and to get rid of expensive relocations.
|
||||
|
||||
* gtk/gtkiconfactory.[ch] gtk/gtkselection.[ch] gtk/gtkstyle.[ch]
|
||||
gtk/gtktextiter.[ch] gtk/gtktexttag.[ch] gtk/gtktreemodel.[ch]
|
||||
gtk/gtktypeutils.[ch] gtk/gtkwidget.[ch]: Switch boxed type
|
||||
definitions over manually coded get_type() functions.
|
||||
|
||||
* gtk/gtk.def: Updates for above
|
||||
|
||||
* gtk/{genmarshal.pl,makeenums.awk,makeenums.h,maketypes.awk}:
|
||||
Remove from CVS, no longer used.
|
||||
|
||||
* configure.in: Remove checks for awk.
|
||||
|
||||
Sat Mar 2 04:44:10 2002 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkaccelgroup.c (gtk_accel_group_connect_by_path): fix typo.
|
||||
|
@ -1,3 +1,23 @@
|
||||
Sat Mar 2 13:26:58 2002 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gtk/Makefile.am: Switch style of stamp file usage.
|
||||
|
||||
* gtk/Makefile.am gtk/typeutils.[ch]: Switch all the exported
|
||||
enumeration/fags TYPE variables over to macros for get_type() functions,
|
||||
for lazy definition and to get rid of expensive relocations.
|
||||
|
||||
* gtk/gtkiconfactory.[ch] gtk/gtkselection.[ch] gtk/gtkstyle.[ch]
|
||||
gtk/gtktextiter.[ch] gtk/gtktexttag.[ch] gtk/gtktreemodel.[ch]
|
||||
gtk/gtktypeutils.[ch] gtk/gtkwidget.[ch]: Switch boxed type
|
||||
definitions over manually coded get_type() functions.
|
||||
|
||||
* gtk/gtk.def: Updates for above
|
||||
|
||||
* gtk/{genmarshal.pl,makeenums.awk,makeenums.h,maketypes.awk}:
|
||||
Remove from CVS, no longer used.
|
||||
|
||||
* configure.in: Remove checks for awk.
|
||||
|
||||
Sat Mar 2 04:44:10 2002 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkaccelgroup.c (gtk_accel_group_connect_by_path): fix typo.
|
||||
|
@ -1,3 +1,23 @@
|
||||
Sat Mar 2 13:26:58 2002 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gtk/Makefile.am: Switch style of stamp file usage.
|
||||
|
||||
* gtk/Makefile.am gtk/typeutils.[ch]: Switch all the exported
|
||||
enumeration/fags TYPE variables over to macros for get_type() functions,
|
||||
for lazy definition and to get rid of expensive relocations.
|
||||
|
||||
* gtk/gtkiconfactory.[ch] gtk/gtkselection.[ch] gtk/gtkstyle.[ch]
|
||||
gtk/gtktextiter.[ch] gtk/gtktexttag.[ch] gtk/gtktreemodel.[ch]
|
||||
gtk/gtktypeutils.[ch] gtk/gtkwidget.[ch]: Switch boxed type
|
||||
definitions over manually coded get_type() functions.
|
||||
|
||||
* gtk/gtk.def: Updates for above
|
||||
|
||||
* gtk/{genmarshal.pl,makeenums.awk,makeenums.h,maketypes.awk}:
|
||||
Remove from CVS, no longer used.
|
||||
|
||||
* configure.in: Remove checks for awk.
|
||||
|
||||
Sat Mar 2 04:44:10 2002 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkaccelgroup.c (gtk_accel_group_connect_by_path): fix typo.
|
||||
|
@ -14,16 +14,14 @@ gtkmarshal.h
|
||||
gtkmarshal.c
|
||||
gtkmarshalers.h
|
||||
gtkmarshalers.c
|
||||
gtktypebuiltins.c
|
||||
gtktypebuiltins.h
|
||||
gtktypebuiltins_ids.c
|
||||
gtktypebuiltins_vars.c
|
||||
gtktypebuiltins_evals.c
|
||||
gtktypebuiltinss.c
|
||||
gtk.defs
|
||||
gtk-win32.rc
|
||||
testdnd
|
||||
stamp-gtktypebuiltins.h
|
||||
stamp-gtkmarshal.h
|
||||
stamp-gtkmarshalers.h
|
||||
stamp-gtk.defs
|
||||
gtk-query-immodules-2.0
|
||||
.saved
|
||||
|
122
gtk/Makefile.am
122
gtk/Makefile.am
@ -385,6 +385,7 @@ gtk_c_sources = @STRIP_BEGIN@ \
|
||||
gtktreestore.c \
|
||||
gtktreeview.c \
|
||||
gtktreeviewcolumn.c \
|
||||
gtktypebuiltins.c \
|
||||
gtktypeutils.c \
|
||||
gtkvbbox.c \
|
||||
gtkvbox.c \
|
||||
@ -423,9 +424,7 @@ gtk_built_sources = @STRIP_BEGIN@ \
|
||||
stamp-gtk.defs \
|
||||
stamp-gtktypebuiltins.h \
|
||||
stamp-gtkmarshalers.h \
|
||||
gtktypebuiltins_vars.c \
|
||||
gtktypebuiltins_ids.c \
|
||||
gtktypebuiltins_evals.c \
|
||||
gtktypebuiltins.c \
|
||||
gtkmarshalers.c \
|
||||
gtkmarshalers.h \
|
||||
gtkmarshal.c \
|
||||
@ -437,8 +436,6 @@ gtk_built_sources = @STRIP_BEGIN@ \
|
||||
# their own .lo rules and don't get publically installed
|
||||
gtk_extra_sources = @STRIP_BEGIN@ \
|
||||
gtkversion.h.in \
|
||||
maketypes.awk \
|
||||
makeenums.h \
|
||||
gtk-boxed.defs \
|
||||
gtkmarshalers.list \
|
||||
gtkmarshal.list \
|
||||
@ -456,44 +453,40 @@ EXTRA_DIST += $(gtk_built_sources)
|
||||
# rules to generate built sources
|
||||
#
|
||||
# setup autogeneration dependancies
|
||||
gen_sources = xgen-gdef xgen-gtbh xgen-gtbvc xgen-gtbic xgen-gtbec xgen-gmh xgen-gmc xgen-gmlh xgen-gmlc
|
||||
gen_sources = xgen-gdef xgen-gtbh xgen-gtic xgen-gmh xgen-gmc xgen-gmlh xgen-gmlc
|
||||
CLEANFILES = $(gen_sources)
|
||||
|
||||
## automake 1.5 supports this without the horrible 'oldest-source-stamp'
|
||||
## hack below
|
||||
## automake 1.5 supports this without $(OBJECTS): $(gtk_built_sources) hack
|
||||
#BUILT_SOURCES = $(gtk_built_sources)
|
||||
|
||||
Makefile: oldest-source-stamp # oh boy, does automake SUCK!
|
||||
oldest-source-stamp: $(gtk_built_sources)
|
||||
$(OBJECTS): oldest-source-stamp ${gtk_built_public_sources} # this is our oldest file, used for implicit auto-generation deps
|
||||
$(libgtk_x11_1_3_la_OBJECTS) $(libgtk_linux_fb_1_3_la_OBJECTS) $(libgtk_win32_1_3_la_OBJECTS): ${gtk_built_public_sources}
|
||||
|
||||
# initial creation of the real stamp-* files
|
||||
gtk.defs gtkmarshalers.h gtktypebuiltins.h: # never add deps here
|
||||
test -f "$(srcdir)/$(@F)" || touch $(srcdir)/$(@F)
|
||||
# normal autogeneration rules
|
||||
# all autogenerated files need to be generated in the srcdir,
|
||||
# so old versions get remade and are not confused with newer
|
||||
# versions in the build dir. thus a development setup requires
|
||||
# srcdir to be writable, passing --disable-rebuilds to
|
||||
# ../configure will supress all autogeneration rules.
|
||||
$(srcdir)/stamp-gtk.defs: @REBUILD@ gtk.defs gtk-boxed.defs $(gtk_public_h_sources)
|
||||
case @GLIB_MKENUMS@ in \
|
||||
.*) glib_mkenums=`pwd`/@GLIB_MKENUMS@ ;; \
|
||||
*) glib_mkenums=@GLIB_MKENUMS@ ;; \
|
||||
esac; \
|
||||
cd $(srcdir) \
|
||||
&& $$glib_mkenums --comments ";; @comment@" \
|
||||
--fprod "; enumerations from \"@filename@\"\n " \
|
||||
--vhead "(define-@type@ @EnumName@" \
|
||||
--vprod " (@valuenick@ @VALUENAME@)" \
|
||||
--vtail ")" \
|
||||
$(gtk_public_h_sources) > xgen-gdef \
|
||||
&& cat gtk-boxed.defs >> xgen-gdef \
|
||||
&& (cmp -s xgen-gdef gtk.defs || cp xgen-gdef gtk.defs) \
|
||||
&& rm -f xgen-gdef \
|
||||
&& echo timestamp > $(@F)
|
||||
$(srcdir)/gtk.defs: @REBUILD@ gtk.defs gtk-boxed.defs $(gtk_public_h_sources) \
|
||||
case @GLIB_MKENUMS@ in \
|
||||
.*) glib_mkenums=`pwd`/@GLIB_MKENUMS@ ;; \
|
||||
*) glib_mkenums=@GLIB_MKENUMS@ ;; \
|
||||
esac; \
|
||||
cd $(srcdir) \
|
||||
&& $$glib_mkenums --comments ";; @comment@" \
|
||||
--fprod "; enumerations from \"@filename@\"\n " \
|
||||
--vhead "(define-@type@ @EnumName@" \
|
||||
--vprod " (@valuenick@ @VALUENAME@)" \
|
||||
--vtail ")" \
|
||||
$(gtk_public_h_sources) > xgen-gdef \
|
||||
&& cat gtk-boxed.defs >> xgen-gdef \
|
||||
&& gtk.defs || cp xgen-gdef gtk.defs \
|
||||
&& rm -f xgen-gdef
|
||||
|
||||
$(srcdir)/stamp-gtkmarshalers.h: @REBUILD@ gtkmarshalers.list gtkmarshalers.h
|
||||
all-local: @REBUILD@ gtk.defs
|
||||
|
||||
$(srcdir)/gtkmarshalers.h: stamp-gtkmarshalers.h
|
||||
@true
|
||||
stamp-gtkmarshalers.h: @REBUILD@ gtkmarshalers.list
|
||||
case @GLIB_GENMARSHAL@ in \
|
||||
.*) glib_genmarshal=`pwd`/@GLIB_GENMARSHAL@ ;; \
|
||||
*) glib_genmarshal=@GLIB_GENMARSHAL@ ;; \
|
||||
@ -502,8 +495,8 @@ $(srcdir)/stamp-gtkmarshalers.h: @REBUILD@ gtkmarshalers.list gtkmarshalers.h
|
||||
&& $$glib_genmarshal --prefix=_gtk_marshal gtkmarshalers.list --header >> xgen-gmlh \
|
||||
&& (cmp -s xgen-gmlh gtkmarshalers.h || cp xgen-gmlh gtkmarshalers.h) \
|
||||
&& rm -f xgen-gmlh \
|
||||
&& echo timestamp > $(@F)
|
||||
$(srcdir)/gtkmarshalers.c: @REBUILD@ $(srcdir)/stamp-gtkmarshalers.h
|
||||
&& echo timestamp > $(@F)
|
||||
$(srcdir)/gtkmarshalers.c: @REBUILD@ gtkmarshalers.list
|
||||
case @GLIB_GENMARSHAL@ in \
|
||||
.*) glib_genmarshal=`pwd`/@GLIB_GENMARSHAL@ ;; \
|
||||
*) glib_genmarshal=@GLIB_GENMARSHAL@ ;; \
|
||||
@ -511,8 +504,11 @@ $(srcdir)/gtkmarshalers.c: @REBUILD@ $(srcdir)/stamp-gtkmarshalers.h
|
||||
cd $(srcdir) \
|
||||
&& $$glib_genmarshal --prefix=_gtk_marshal gtkmarshalers.list --body >> xgen-gmlc \
|
||||
&& cp xgen-gmlc gtkmarshalers.c \
|
||||
&& rm -f xgen-gmlc
|
||||
$(srcdir)/gtkmarshal.h: @REBUILD@ gtkmarshal.list
|
||||
&& rm -f xgen-gmlc
|
||||
|
||||
$(srcdir)/gtkmarshal.h: stamp-gtkmarshal.h
|
||||
@true
|
||||
stamp-gtkmarshal.h: @REBUILD@ gtkmarshal.list
|
||||
case @GLIB_GENMARSHAL@ in \
|
||||
.*) glib_genmarshal=`pwd`/@GLIB_GENMARSHAL@ ;; \
|
||||
*) glib_genmarshal=@GLIB_GENMARSHAL@ ;; \
|
||||
@ -521,9 +517,10 @@ $(srcdir)/gtkmarshal.h: @REBUILD@ gtkmarshal.list
|
||||
&& echo "#ifndef GTK_DISABLE_DEPRECATED" > xgen-gmh \
|
||||
&& $$glib_genmarshal --prefix=gtk_marshal gtkmarshal.list --header >> xgen-gmh \
|
||||
&& echo "#endif /* GTK_DISABLE_DEPRECATED */" >> xgen-gmh \
|
||||
&& cp xgen-gmh gtkmarshal.h \
|
||||
&& rm -f xgen-gmh
|
||||
$(srcdir)/gtkmarshal.c: @REBUILD@ gtkmarshal.h
|
||||
&& (cmp -s xgen-gmh gtkmarshal.h || cp xgen-gmh gtkmarshal.h) \
|
||||
&& rm -f xgen-gmh \
|
||||
&& echo timestamp > $(@F)
|
||||
$(srcdir)/gtkmarshal.c: @REBUILD@ gtkmarshal.list
|
||||
case @GLIB_GENMARSHAL@ in \
|
||||
.*) glib_genmarshal=`pwd`/@GLIB_GENMARSHAL@ ;; \
|
||||
*) glib_genmarshal=@GLIB_GENMARSHAL@ ;; \
|
||||
@ -533,37 +530,28 @@ $(srcdir)/gtkmarshal.c: @REBUILD@ gtkmarshal.h
|
||||
&& cp xgen-gmc gtkmarshal.c \
|
||||
&& rm -f xgen-gmc
|
||||
|
||||
$(srcdir)/stamp-gtktypebuiltins.h: @REBUILD@ maketypes.awk $(srcdir)/stamp-gtk.defs gtktypebuiltins.h
|
||||
cd $(srcdir) \
|
||||
&& LC_ALL=C $(AWK) -f maketypes.awk gtk.defs macros > xgen-gtbh \
|
||||
&& (cmp -s xgen-gtbh gtktypebuiltins.h || cp xgen-gtbh gtktypebuiltins.h) \
|
||||
$(srcdir)/gtktypebuiltins.h: stamp-gtktypebuiltins.h
|
||||
@true
|
||||
stamp-gtktypebuiltins.h: @REBUILD@ $(gtk_public_h_sources) Makefile
|
||||
( cd $(srcdir) && glib-mkenums \
|
||||
--fhead "#ifndef __GTK_TYPE_BUILTINS_H__\n#define __GTK_TYPE_BUILTINS_H__\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n" \
|
||||
--fprod "/* enumerations from \"@filename@\" */\n" \
|
||||
--vhead "GType @enum_name@_get_type (void);\n#define GTK_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \
|
||||
--ftail "G_END_DECLS\n\n#endif /* __GTK_TYPE_BUILTINS_H__ */" \
|
||||
$(gtk_public_h_sources) ) >> xgen-gtbh \
|
||||
&& (cmp -s xgen-gtbh $(srcdir)/gtktypebuiltins.h || cp xgen-gtbh $(srcdir)/gtktypebuiltins.h ) \
|
||||
&& rm -f xgen-gtbh \
|
||||
&& echo timestamp > $(@F)
|
||||
$(srcdir)/gtktypebuiltins_vars.c: @REBUILD@ maketypes.awk $(srcdir)/stamp-gtk.defs
|
||||
cd $(srcdir) \
|
||||
&& LC_ALL=C $(AWK) -f maketypes.awk gtk.defs variables > xgen-gtbvc \
|
||||
&& cp xgen-gtbvc $(@F) \
|
||||
&& rm -f xgen-gtbvc
|
||||
$(srcdir)/gtktypebuiltins_ids.c: @REBUILD@ maketypes.awk $(srcdir)/stamp-gtk.defs
|
||||
cd $(srcdir) \
|
||||
&& LC_ALL=C $(AWK) -f maketypes.awk gtk.defs entries > xgen-gtbic \
|
||||
&& cp xgen-gtbic $(@F) \
|
||||
&& rm -f xgen-gtbic
|
||||
$(srcdir)/gtktypebuiltins_evals.c: @REBUILD@ $(gtk_public_h_sources)
|
||||
case @GLIB_MKENUMS@ in \
|
||||
.*) glib_mkenums=`pwd`/@GLIB_MKENUMS@ ;; \
|
||||
*) glib_mkenums=@GLIB_MKENUMS@ ;; \
|
||||
esac; \
|
||||
cd $(srcdir) \
|
||||
&& $$glib_mkenums \
|
||||
$(srcdir)/gtktypebuiltins.c: @REBUILD@ $(gtk_public_h_sources) Makefile
|
||||
( cd $(srcdir) && glib-mkenums \
|
||||
--fhead "#define GTK_ENABLE_BROKEN\n#include \"gtk.h\"\n#include \"gtkprivate.h\"" \
|
||||
--fprod "\n/* enumerations from \"@filename@\" */" \
|
||||
--vhead "static const GtkEnumValue _@enum_name@_values[] = {" \
|
||||
--vprod " { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
|
||||
--vtail " { 0, NULL, NULL }\n};" \
|
||||
$(gtk_public_h_sources) > xgen-gtbec \
|
||||
&& cp xgen-gtbec $(@F) \
|
||||
&& rm -f xgen-gtbec
|
||||
|
||||
--vhead "GType\n@enum_name@_get_type (void)\n{\n static GType etype = 0;\n if (etype == 0) {\n static const G@Type@Value values[] = {" \
|
||||
--vprod " { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
|
||||
--vtail " { 0, NULL, NULL }\n };\n etype = g_@type@_register_static (\"@EnumName@\", values);\n }\n return etype;\n}\n" \
|
||||
$(gtk_public_h_sources) ) > xgen-gtbc \
|
||||
&& cp xgen-gtbc $(srcdir)/gtktypebuiltins.c \
|
||||
&& rm -f xgen-gtbc
|
||||
|
||||
# target platform:
|
||||
lib_LTLIBRARIES = $(gtktargetlib)
|
||||
|
@ -1,157 +0,0 @@
|
||||
#!/usr/bin/perl -w
|
||||
#
|
||||
# by Elliot Lee <sopwith@redhat.com>
|
||||
|
||||
%trans = ( "NONE"=>"void", "CHAR"=>"char",
|
||||
"BOOL"=>"gboolean", "INT"=>"gint",
|
||||
"UINT"=>"guint", "LONG"=>"glong",
|
||||
"ULONG"=>"gulong", "FLOAT"=>"gfloat",
|
||||
"DOUBLE"=>"gdouble", "STRING"=>"gpointer",
|
||||
"ENUM"=>"gint", "FLAGS"=>"gint",
|
||||
"BOXED"=>"gpointer",
|
||||
"POINTER"=>"gpointer",
|
||||
"OBJECT"=>"gpointer",
|
||||
|
||||
# complex types. These need special handling.
|
||||
"SIGNAL"=>"SIGNAL"
|
||||
);
|
||||
|
||||
if ($#ARGV != 2) {
|
||||
die ("Wrong number of arguments given, need <source> <target.h> <target.c>");
|
||||
}
|
||||
|
||||
open(IL, "<" . $ARGV[0]) || die ("Open failed: $!");
|
||||
open(OH, ">" . $ARGV[1]) || die ("Open failed: $!");
|
||||
open(OS, ">" . $ARGV[2]) || die ("Open failed: $!");
|
||||
|
||||
print OH <<EOT;
|
||||
#ifndef __GTK_MARSHAL_H__
|
||||
#define __GTK_MARSHAL_H__
|
||||
|
||||
#include <gtk/gtktypeutils.h>
|
||||
#include <gtk/gtkobject.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#define gtk_signal_default_marshaller gtk_marshal_NONE__NONE
|
||||
|
||||
EOT
|
||||
|
||||
print OS qq(#include "gtkmarshal.h"\n\n);
|
||||
|
||||
while (defined($aline = <IL>)) {
|
||||
chomp $aline;
|
||||
($retval, $paramlist) = split(/:/, $aline, 2);
|
||||
@params = split(/\s*,\s*/, $paramlist);
|
||||
|
||||
my $funcname = $retval."__".join("_",@params);
|
||||
my $defname;
|
||||
|
||||
next if (exists $defs{$funcname});
|
||||
|
||||
$doequiv = 0;
|
||||
for (@params, $retval) {
|
||||
if ($trans{$_} eq "gpointer" && $_ ne "POINTER") {
|
||||
$doequiv = 1;
|
||||
last;
|
||||
}
|
||||
if($_ eq "ENUM" || $_ eq "UINT" || $_ eq "ULONG") {
|
||||
$doequiv = 1;
|
||||
last;
|
||||
}
|
||||
}
|
||||
|
||||
# Translate all function pointers to gpointer
|
||||
$defname = $funcname;
|
||||
if($doequiv) {
|
||||
print OH "#define gtk_marshal_$funcname ";
|
||||
$defs{$defname} = 1;
|
||||
|
||||
for (@params, $retval) {
|
||||
if ($trans{$_} eq "gpointer") {
|
||||
$_ = "POINTER";
|
||||
}
|
||||
if($_ eq "ENUM") {
|
||||
$_ = "UINT";
|
||||
}
|
||||
if($_ eq "UINT") {
|
||||
$_ = "INT"; # Unvalidated assumption - please check
|
||||
}
|
||||
if($_ eq "ULONG") {
|
||||
$_ = "LONG";
|
||||
}
|
||||
}
|
||||
|
||||
$funcname = $retval."__".join("_",@params);
|
||||
|
||||
print OH "gtk_marshal_$funcname\n\n";
|
||||
next if (exists $defs{$funcname});
|
||||
}
|
||||
$defs{$funcname} = 1;
|
||||
|
||||
print OH <<EOT;
|
||||
void gtk_marshal_$funcname (GtkObject *object,
|
||||
GtkSignalFunc func,
|
||||
gpointer func_data,
|
||||
GtkArg *args);
|
||||
|
||||
EOT
|
||||
|
||||
print OS "typedef $trans{$retval} (*GtkSignal_$funcname) (GtkObject *object, \n";
|
||||
$argn = 1;
|
||||
for (@params) {
|
||||
if($_ eq "SIGNAL") {
|
||||
print OS "gpointer arg".$argn."a,\n";
|
||||
print OS "gpointer arg".$argn."b,\n";
|
||||
$argn++;
|
||||
} else {
|
||||
print OS "$trans{$_} arg".$argn++.",\n" unless $_ eq "NONE";
|
||||
}
|
||||
}
|
||||
print OS "gpointer user_data);\n";
|
||||
|
||||
print OS <<EOT;
|
||||
void gtk_marshal_$funcname (GtkObject *object,
|
||||
GtkSignalFunc func,
|
||||
gpointer func_data,
|
||||
GtkArg *args)
|
||||
{
|
||||
GtkSignal_$funcname rfunc;
|
||||
EOT
|
||||
|
||||
if($retval ne "NONE") {
|
||||
print OS " $trans{$retval} *return_val;\n";
|
||||
$retn = 0;
|
||||
$retn = scalar @params unless $params[0] eq "NONE";
|
||||
print OS " return_val = GTK_RETLOC_$retval (args[$retn]);\n";
|
||||
}
|
||||
print OS " rfunc = (GtkSignal_$funcname) func;\n";
|
||||
print OS " *return_val = " unless $retval eq "NONE";
|
||||
print OS " (* rfunc) (object,\n";
|
||||
|
||||
for($i = 0; $i < (scalar @params); $i++) {
|
||||
if ($params[$i] eq "SIGNAL") {
|
||||
print OS <<EOT;
|
||||
GTK_VALUE_SIGNAL(args[$i]).f,
|
||||
GTK_VALUE_SIGNAL(args[$i]).d,
|
||||
EOT
|
||||
} elsif ($params[$i] eq "NONE") {
|
||||
} else {
|
||||
print OS " GTK_VALUE_$params[$i](args[$i]),\n";
|
||||
}
|
||||
}
|
||||
|
||||
print OS " func_data);\n}\n\n";
|
||||
}
|
||||
print OH <<EOT;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#endif /* __GTK_MARSHAL_H__ */
|
||||
EOT
|
||||
|
||||
close(IL); close(OH); close(OS);
|
176
gtk/gtk.def
176
gtk/gtk.def
@ -1,91 +1,84 @@
|
||||
EXPORTS
|
||||
GTK_TYPE_ACCEL_FLAGS
|
||||
GTK_TYPE_ANCHOR_TYPE
|
||||
GTK_TYPE_ARG_FLAGS
|
||||
GTK_TYPE_ARROW_TYPE
|
||||
GTK_TYPE_ATTACH_OPTIONS
|
||||
GTK_TYPE_BORDER
|
||||
GTK_TYPE_BUTTONS_TYPE
|
||||
GTK_TYPE_BUTTON_ACTION
|
||||
GTK_TYPE_BUTTON_BOX_STYLE
|
||||
GTK_TYPE_CALENDAR_DISPLAY_OPTIONS
|
||||
GTK_TYPE_CELL_RENDERER_MODE
|
||||
GTK_TYPE_CELL_RENDERER_STATE
|
||||
GTK_TYPE_CELL_TYPE
|
||||
GTK_TYPE_CLIST_DRAG_POS
|
||||
GTK_TYPE_CORNER_TYPE
|
||||
GTK_TYPE_CTREE_EXPANDER_STYLE
|
||||
GTK_TYPE_CTREE_EXPANSION_TYPE
|
||||
GTK_TYPE_CTREE_LINE_STYLE
|
||||
GTK_TYPE_CTREE_POS
|
||||
GTK_TYPE_CURVE_TYPE
|
||||
GTK_TYPE_DEBUG_FLAG
|
||||
GTK_TYPE_DELETE_TYPE
|
||||
GTK_TYPE_DEST_DEFAULTS
|
||||
GTK_TYPE_DIALOG_FLAGS
|
||||
GTK_TYPE_DIRECTION_TYPE
|
||||
GTK_TYPE_EXPANDER_STYLE
|
||||
GTK_TYPE_ICON_SET
|
||||
GTK_TYPE_ICON_SIZE
|
||||
GTK_TYPE_IMAGE_TYPE
|
||||
GTK_TYPE_JUSTIFICATION
|
||||
GTK_TYPE_MATCH_TYPE
|
||||
GTK_TYPE_MENU_DIRECTION_TYPE
|
||||
GTK_TYPE_MESSAGE_TYPE
|
||||
GTK_TYPE_METRIC_TYPE
|
||||
GTK_TYPE_MOVEMENT_STEP
|
||||
GTK_TYPE_NOTEBOOK_TAB
|
||||
GTK_TYPE_OBJECT_FLAGS
|
||||
GTK_TYPE_ORIENTATION
|
||||
GTK_TYPE_PACK_TYPE
|
||||
GTK_TYPE_PATH_PRIORITY_TYPE
|
||||
GTK_TYPE_PATH_TYPE
|
||||
GTK_TYPE_POLICY_TYPE
|
||||
GTK_TYPE_POSITION_TYPE
|
||||
GTK_TYPE_PREVIEW_TYPE
|
||||
GTK_TYPE_PRIVATE_FLAGS
|
||||
GTK_TYPE_PROGRESS_BAR_ORIENTATION
|
||||
GTK_TYPE_PROGRESS_BAR_STYLE
|
||||
GTK_TYPE_RC_FLAGS
|
||||
GTK_TYPE_RC_TOKEN_TYPE
|
||||
GTK_TYPE_RELIEF_STYLE
|
||||
GTK_TYPE_REQUISITION
|
||||
GTK_TYPE_RESIZE_MODE
|
||||
GTK_TYPE_RESPONSE_TYPE
|
||||
GTK_TYPE_SCROLL_TYPE
|
||||
GTK_TYPE_SELECTION_DATA
|
||||
GTK_TYPE_SELECTION_MODE
|
||||
GTK_TYPE_SHADOW_TYPE
|
||||
GTK_TYPE_SIDE_TYPE
|
||||
GTK_TYPE_SIGNAL_RUN_TYPE
|
||||
GTK_TYPE_SIZE_GROUP_MODE
|
||||
GTK_TYPE_SORT_TYPE
|
||||
GTK_TYPE_SPIN_BUTTON_UPDATE_POLICY
|
||||
GTK_TYPE_SPIN_TYPE
|
||||
GTK_TYPE_STATE_TYPE
|
||||
GTK_TYPE_SUBMENU_DIRECTION
|
||||
GTK_TYPE_SUBMENU_PLACEMENT
|
||||
GTK_TYPE_TARGET_FLAGS
|
||||
GTK_TYPE_TEXT_ATTRIBUTES
|
||||
GTK_TYPE_TEXT_DIRECTION
|
||||
GTK_TYPE_TEXT_ITER
|
||||
GTK_TYPE_TEXT_WINDOW_TYPE
|
||||
GTK_TYPE_TOOLBAR_CHILD_TYPE
|
||||
GTK_TYPE_TOOLBAR_SPACE_STYLE
|
||||
GTK_TYPE_TOOLBAR_STYLE
|
||||
GTK_TYPE_TREE_ITER
|
||||
GTK_TYPE_TREE_MODEL_FLAGS
|
||||
GTK_TYPE_TREE_PATH
|
||||
GTK_TYPE_TREE_VIEW_COLUMN_SIZING
|
||||
GTK_TYPE_TREE_VIEW_DROP_POSITION
|
||||
GTK_TYPE_TREE_VIEW_MODE
|
||||
GTK_TYPE_UPDATE_TYPE
|
||||
GTK_TYPE_VISIBILITY
|
||||
GTK_TYPE_WIDGET_FLAGS
|
||||
GTK_TYPE_WIDGET_HELP_TYPE
|
||||
GTK_TYPE_WINDOW_POSITION
|
||||
GTK_TYPE_WINDOW_TYPE
|
||||
GTK_TYPE_WRAP_MODE
|
||||
gtk_accel_flags_get_type
|
||||
gtk_anchor_type_get_type
|
||||
gtk_arg_flags_get_type
|
||||
gtk_arrow_type_get_type
|
||||
gtk_attach_options_get_type
|
||||
gtk_buttons_type_get_type
|
||||
gtk_button_action_get_type
|
||||
gtk_button_box_style_get_type
|
||||
gtk_calendar_display_options_get_type
|
||||
gtk_cell_renderer_mode_get_type
|
||||
gtk_cell_renderer_state_get_type
|
||||
gtk_cell_type_get_type
|
||||
gtk_clist_drag_pos_get_type
|
||||
gtk_corner_type_get_type
|
||||
gtk_ctree_expander_style_get_type
|
||||
gtk_ctree_expansion_type_get_type
|
||||
gtk_ctree_line_style_get_type
|
||||
gtk_ctree_pos_get_type
|
||||
gtk_curve_type_get_type
|
||||
gtk_debug_flag_get_type
|
||||
gtk_delete_type_get_type
|
||||
gtk_dest_defaults_get_type
|
||||
gtk_dialog_flags_get_type
|
||||
gtk_direction_type_get_type
|
||||
gtk_expander_style_get_type
|
||||
gtk_icon_size_get_type
|
||||
gtk_image_type_get_type
|
||||
gtk_justification_get_type
|
||||
gtk_match_type_get_type
|
||||
gtk_menu_direction_type_get_type
|
||||
gtk_message_type_get_type
|
||||
gtk_metric_type_get_type
|
||||
gtk_movement_step_get_type
|
||||
gtk_notebook_tab_get_type
|
||||
gtk_object_flags_get_type
|
||||
gtk_orientation_get_type
|
||||
gtk_pack_type_get_type
|
||||
gtk_path_priority_type_get_type
|
||||
gtk_path_type_get_type
|
||||
gtk_policy_type_get_type
|
||||
gtk_position_type_get_type
|
||||
gtk_preview_type_get_type
|
||||
gtk_private_flags_get_type
|
||||
gtk_progress_bar_orientation_get_type
|
||||
gtk_progress_bar_style_get_type
|
||||
gtk_rc_flags_get_type
|
||||
gtk_rc_token_type_get_type
|
||||
gtk_relief_style_get_type
|
||||
gtk_resize_mode_get_type
|
||||
gtk_response_type_get_type
|
||||
gtk_scroll_type_get_type
|
||||
gtk_selection_mode_get_type
|
||||
gtk_shadow_type_get_type
|
||||
gtk_side_type_get_type
|
||||
gtk_signal_run_type_get_type
|
||||
gtk_size_group_mode_get_type
|
||||
gtk_sort_type_get_type
|
||||
gtk_spin_button_update_policy_get_type
|
||||
gtk_spin_type_get_type
|
||||
gtk_state_type_get_type
|
||||
gtk_submenu_direction_get_type
|
||||
gtk_submenu_placement_get_type
|
||||
gtk_target_flags_get_type
|
||||
gtk_text_direction_get_type
|
||||
gtk_text_search_flags_get_type
|
||||
gtk_text_window_type_get_type
|
||||
gtk_toolbar_child_type_get_type
|
||||
gtk_toolbar_space_style_get_type
|
||||
gtk_toolbar_style_get_type
|
||||
gtk_tree_model_flags_get_type
|
||||
gtk_tree_view_column_sizing_get_type
|
||||
gtk_tree_view_drop_position_get_type
|
||||
gtk_tree_view_mode_get_type
|
||||
gtk_update_type_get_type
|
||||
gtk_visibility_get_type
|
||||
gtk_widget_flags_get_type
|
||||
gtk_widget_help_type_get_type
|
||||
gtk_window_position_get_type
|
||||
gtk_window_type_get_type
|
||||
gtk_wrap_mode_get_type
|
||||
|
||||
gtk_accel_group_connect
|
||||
gtk_accel_group_connect_by_path
|
||||
@ -157,6 +150,7 @@ EXPORTS
|
||||
gtk_bindings_activate
|
||||
gtk_border_copy
|
||||
gtk_border_free
|
||||
gtk_border_get_type
|
||||
gtk_box_get_homogeneous
|
||||
gtk_box_get_spacing
|
||||
gtk_box_get_type
|
||||
@ -678,6 +672,7 @@ EXPORTS
|
||||
gtk_icon_set_add_source
|
||||
gtk_icon_set_copy
|
||||
gtk_icon_set_get_sizes
|
||||
gtk_icon_set_get_type
|
||||
gtk_icon_set_new
|
||||
gtk_icon_set_new_from_pixbuf
|
||||
gtk_icon_set_ref
|
||||
@ -698,6 +693,7 @@ EXPORTS
|
||||
gtk_icon_source_get_size_wildcarded
|
||||
gtk_icon_source_get_state
|
||||
gtk_icon_source_get_state_wildcarded
|
||||
gtk_icon_source_get_type
|
||||
gtk_icon_source_new
|
||||
gtk_icon_source_set_direction
|
||||
gtk_icon_source_set_direction_wildcarded
|
||||
@ -1203,6 +1199,7 @@ EXPORTS
|
||||
gtk_rc_style_unref
|
||||
gtk_requisition_copy
|
||||
gtk_requisition_free
|
||||
gtk_requisition_get_type
|
||||
gtk_rgb_to_hsv
|
||||
gtk_ruler_draw_pos
|
||||
gtk_ruler_draw_ticks
|
||||
@ -1241,6 +1238,7 @@ EXPORTS
|
||||
gtk_selection_data_free
|
||||
gtk_selection_data_get_targets
|
||||
gtk_selection_data_get_text
|
||||
gtk_selection_data_get_type
|
||||
gtk_selection_data_set
|
||||
gtk_selection_data_set_text
|
||||
gtk_selection_data_targets_include_text
|
||||
@ -1363,6 +1361,7 @@ EXPORTS
|
||||
gtk_text_anchored_child_set_layout
|
||||
gtk_text_attributes_copy
|
||||
gtk_text_attributes_copy_values
|
||||
gtk_text_attributes_get_type
|
||||
gtk_text_attributes_new
|
||||
gtk_text_attributes_ref
|
||||
gtk_text_attributes_unref
|
||||
@ -1493,6 +1492,7 @@ EXPORTS
|
||||
gtk_text_iter_get_tags
|
||||
gtk_text_iter_get_text
|
||||
gtk_text_iter_get_toggled_tags
|
||||
gtk_text_iter_get_type
|
||||
gtk_text_iter_get_visible_line_index
|
||||
gtk_text_iter_get_visible_line_offset
|
||||
gtk_text_iter_get_visible_slice
|
||||
@ -1718,6 +1718,7 @@ EXPORTS
|
||||
gtk_tree_item_set_subtree
|
||||
gtk_tree_iter_copy
|
||||
gtk_tree_iter_free
|
||||
gtk_tree_iter_get_type
|
||||
gtk_tree_model_foreach
|
||||
gtk_tree_model_get
|
||||
gtk_tree_model_get_column_type
|
||||
@ -1760,6 +1761,7 @@ EXPORTS
|
||||
gtk_tree_path_free
|
||||
gtk_tree_path_get_depth
|
||||
gtk_tree_path_get_indices
|
||||
gtk_tree_path_get_type
|
||||
gtk_tree_path_is_ancestor
|
||||
gtk_tree_path_is_descendant
|
||||
gtk_tree_path_new
|
||||
|
@ -1190,6 +1190,19 @@ gtk_icon_set_unref (GtkIconSet *icon_set)
|
||||
}
|
||||
}
|
||||
|
||||
GType
|
||||
gtk_icon_set_get_type (void)
|
||||
{
|
||||
static GType our_type = 0;
|
||||
|
||||
if (our_type == 0)
|
||||
our_type = g_boxed_type_register_static ("GtkTypeIconSet",
|
||||
(GBoxedCopyFunc) gtk_icon_set_ref,
|
||||
(GBoxedFreeFunc) gtk_icon_set_unref);
|
||||
|
||||
return our_type;
|
||||
}
|
||||
|
||||
/**
|
||||
* gtk_icon_set_copy:
|
||||
* @icon_set: a #GtkIconSet
|
||||
@ -1660,6 +1673,19 @@ gtk_icon_source_free (GtkIconSource *source)
|
||||
g_free (source);
|
||||
}
|
||||
|
||||
GType
|
||||
gtk_icon_source_get_type (void)
|
||||
{
|
||||
static GType our_type = 0;
|
||||
|
||||
if (our_type == 0)
|
||||
our_type = g_boxed_type_register_static ("GtkTypeIconSource",
|
||||
(GBoxedCopyFunc) gtk_icon_source_copy,
|
||||
(GBoxedFreeFunc) gtk_icon_source_free);
|
||||
|
||||
return our_type;
|
||||
}
|
||||
|
||||
/**
|
||||
* gtk_icon_source_set_filename:
|
||||
* @source: a #GtkIconSource
|
||||
|
@ -42,6 +42,8 @@ typedef struct _GtkIconFactoryClass GtkIconFactoryClass;
|
||||
#define GTK_IS_ICON_FACTORY(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GTK_TYPE_ICON_FACTORY))
|
||||
#define GTK_IS_ICON_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_ICON_FACTORY))
|
||||
#define GTK_ICON_FACTORY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_ICON_FACTORY, GtkIconFactoryClass))
|
||||
#define GTK_TYPE_ICON_SET (gtk_icon_set_get_type ())
|
||||
#define GTK_TYPE_ICON_SOURCE (gtk_icon_source_get_type ())
|
||||
|
||||
struct _GtkIconFactory
|
||||
{
|
||||
@ -99,6 +101,7 @@ G_CONST_RETURN gchar* gtk_icon_size_get_name (GtkIconSize size);
|
||||
|
||||
/* Icon sets */
|
||||
|
||||
GType gtk_icon_set_get_type (void);
|
||||
GtkIconSet* gtk_icon_set_new (void);
|
||||
GtkIconSet* gtk_icon_set_new_from_pixbuf (GdkPixbuf *pixbuf);
|
||||
|
||||
@ -125,6 +128,7 @@ void gtk_icon_set_get_sizes (GtkIconSet *icon_set,
|
||||
GtkIconSize **sizes,
|
||||
gint *n_sizes);
|
||||
|
||||
GType gtk_icon_source_get_type (void);
|
||||
GtkIconSource* gtk_icon_source_new (void);
|
||||
GtkIconSource* gtk_icon_source_copy (const GtkIconSource *source);
|
||||
void gtk_icon_source_free (GtkIconSource *source);
|
||||
|
@ -1819,6 +1819,19 @@ gtk_selection_data_free (GtkSelectionData *data)
|
||||
g_free (data);
|
||||
}
|
||||
|
||||
GType
|
||||
gtk_selection_data_get_type (void)
|
||||
{
|
||||
static GType our_type = 0;
|
||||
|
||||
if (our_type == 0)
|
||||
our_type = g_boxed_type_register_static ("GtkTypeSelectionData",
|
||||
(GBoxedCopyFunc) gtk_selection_data_copy,
|
||||
(GBoxedFreeFunc) gtk_selection_data_free);
|
||||
|
||||
return our_type;
|
||||
}
|
||||
|
||||
static int
|
||||
gtk_selection_bytes_per_item (gint format)
|
||||
{
|
||||
|
@ -39,6 +39,8 @@ extern "C" {
|
||||
typedef struct _GtkTargetList GtkTargetList;
|
||||
typedef struct _GtkTargetEntry GtkTargetEntry;
|
||||
|
||||
#define GTK_TYPE_SELECTION_DATA (gtk_selection_data_get_type ())
|
||||
|
||||
/* The contents of a selection are returned in a GtkSelectionData
|
||||
* structure. selection/target identify the request. type specifies
|
||||
* the type of the return; if length < 0, and the data should be
|
||||
@ -151,8 +153,10 @@ gboolean gtk_selection_notify (GtkWidget *widget,
|
||||
GdkEventSelection *event);
|
||||
gboolean gtk_selection_property_notify (GtkWidget *widget,
|
||||
GdkEventProperty *event);
|
||||
GtkSelectionData *gtk_selection_data_copy (GtkSelectionData *data);
|
||||
void gtk_selection_data_free (GtkSelectionData *data);
|
||||
|
||||
GType gtk_selection_data_get_type (void);
|
||||
GtkSelectionData *gtk_selection_data_copy (GtkSelectionData *data);
|
||||
void gtk_selection_data_free (GtkSelectionData *data);
|
||||
|
||||
|
||||
|
||||
|
@ -5545,6 +5545,19 @@ gtk_border_free (GtkBorder *border)
|
||||
g_free (border);
|
||||
}
|
||||
|
||||
GType
|
||||
gtk_border_get_type (void)
|
||||
{
|
||||
static GType our_type = 0;
|
||||
|
||||
if (our_type == 0)
|
||||
our_type = g_boxed_type_register_static ("GtkTypeBorder",
|
||||
(GBoxedCopyFunc) gtk_border_copy,
|
||||
(GBoxedFreeFunc) gtk_border_free);
|
||||
|
||||
return our_type;
|
||||
}
|
||||
|
||||
/**
|
||||
* gtk_style_get_font:
|
||||
* @style: a #GtkStyle
|
||||
|
@ -43,6 +43,8 @@ extern "C" {
|
||||
#define GTK_IS_STYLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_STYLE))
|
||||
#define GTK_STYLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_STYLE, GtkStyleClass))
|
||||
|
||||
#define GTK_TYPE_BORDER (gtk_border_get_type ())
|
||||
|
||||
/* Some forward declarations needed to rationalize the header
|
||||
* files.
|
||||
*/
|
||||
@ -849,8 +851,9 @@ void gtk_paint_resize_grip (GtkStyle *style,
|
||||
gint height);
|
||||
|
||||
|
||||
GtkBorder *gtk_border_copy (const GtkBorder *border);
|
||||
void gtk_border_free (GtkBorder *border);
|
||||
GType gtk_border_get_type (void);
|
||||
GtkBorder *gtk_border_copy (const GtkBorder *border);
|
||||
void gtk_border_free ( GtkBorder *border);
|
||||
|
||||
/* --- private API --- */
|
||||
const GValue* _gtk_style_peek_property_value (GtkStyle *style,
|
||||
|
@ -463,6 +463,19 @@ gtk_text_iter_free (GtkTextIter *iter)
|
||||
g_free (iter);
|
||||
}
|
||||
|
||||
GType
|
||||
gtk_text_iter_get_type (void)
|
||||
{
|
||||
static GType our_type = 0;
|
||||
|
||||
if (our_type == 0)
|
||||
our_type = g_boxed_type_register_static ("GtkTypeTextIter",
|
||||
(GBoxedCopyFunc) gtk_text_iter_copy,
|
||||
(GBoxedFreeFunc) gtk_text_iter_free);
|
||||
|
||||
return our_type;
|
||||
}
|
||||
|
||||
GtkTextLineSegment*
|
||||
_gtk_text_iter_get_indexable_segment (const GtkTextIter *iter)
|
||||
{
|
||||
|
@ -48,6 +48,8 @@ typedef enum {
|
||||
|
||||
typedef struct _GtkTextBuffer GtkTextBuffer;
|
||||
|
||||
#define GTK_TYPE_TEXT_ITER (gtk_text_iter_get_type ())
|
||||
|
||||
struct _GtkTextIter {
|
||||
/* GtkTextIter is an opaque datatype; ignore all these fields.
|
||||
* Initialize the iter with gtk_text_buffer_get_iter_*
|
||||
@ -83,6 +85,8 @@ GtkTextBuffer *gtk_text_iter_get_buffer (const GtkTextIter *iter);
|
||||
GtkTextIter *gtk_text_iter_copy (const GtkTextIter *iter);
|
||||
void gtk_text_iter_free (GtkTextIter *iter);
|
||||
|
||||
GType gtk_text_iter_get_type (void);
|
||||
|
||||
/*
|
||||
* Convert to different kinds of index
|
||||
*/
|
||||
|
@ -1865,6 +1865,19 @@ gtk_text_attributes_copy (GtkTextAttributes *src)
|
||||
return dest;
|
||||
}
|
||||
|
||||
GType
|
||||
gtk_text_attributes_get_type (void)
|
||||
{
|
||||
static GType our_type = 0;
|
||||
|
||||
if (our_type == 0)
|
||||
our_type = g_boxed_type_register_static ("GtkTypeTextAttributes",
|
||||
(GBoxedCopyFunc) gtk_text_attributes_ref,
|
||||
(GBoxedFreeFunc) gtk_text_attributes_unref);
|
||||
|
||||
return our_type;
|
||||
}
|
||||
|
||||
/**
|
||||
* gtk_text_attributes_copy_values:
|
||||
* @src: a #GtkTextAttributes
|
||||
|
@ -20,6 +20,8 @@ typedef struct _GtkTextAttributes GtkTextAttributes;
|
||||
#define GTK_IS_TEXT_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_TEXT_TAG))
|
||||
#define GTK_TEXT_TAG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_TEXT_TAG, GtkTextTagClass))
|
||||
|
||||
#define GTK_TYPE_TEXT_ATTRIBUTES (gtk_text_attributes_get_type ())
|
||||
|
||||
typedef struct _GtkTextTag GtkTextTag;
|
||||
typedef struct _GtkTextTagClass GtkTextTagClass;
|
||||
|
||||
@ -213,6 +215,8 @@ void gtk_text_attributes_copy_values (GtkTextAttributes *src,
|
||||
void gtk_text_attributes_unref (GtkTextAttributes *values);
|
||||
void gtk_text_attributes_ref (GtkTextAttributes *values);
|
||||
|
||||
GType gtk_text_attributes_get_type (void);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
@ -358,6 +358,19 @@ gtk_tree_path_copy (GtkTreePath *path)
|
||||
return retval;
|
||||
}
|
||||
|
||||
GType
|
||||
gtk_tree_path_get_type (void)
|
||||
{
|
||||
static GType our_type = 0;
|
||||
|
||||
if (our_type == 0)
|
||||
our_type = g_boxed_type_register_static ("GtkTypeTreePath",
|
||||
(GBoxedCopyFunc) gtk_tree_path_copy,
|
||||
(GBoxedFreeFunc) gtk_tree_path_free);
|
||||
|
||||
return our_type;
|
||||
}
|
||||
|
||||
/**
|
||||
* gtk_tree_path_compare:
|
||||
* @a: A #GtkTreePath.
|
||||
@ -569,6 +582,19 @@ gtk_tree_iter_free (GtkTreeIter *iter)
|
||||
g_free (iter);
|
||||
}
|
||||
|
||||
GType
|
||||
gtk_tree_iter_get_type (void)
|
||||
{
|
||||
static GType our_type = 0;
|
||||
|
||||
if (our_type == 0)
|
||||
our_type = g_boxed_type_register_static ("GtkTypeTreeIter",
|
||||
(GBoxedCopyFunc) gtk_tree_iter_copy,
|
||||
(GBoxedFreeFunc) gtk_tree_iter_free);
|
||||
|
||||
return our_type;
|
||||
}
|
||||
|
||||
/**
|
||||
* gtk_tree_model_get_flags:
|
||||
* @tree_model: A #GtkTreeModel.
|
||||
|
@ -29,6 +29,9 @@ G_BEGIN_DECLS
|
||||
#define GTK_IS_TREE_MODEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_TREE_MODEL))
|
||||
#define GTK_TREE_MODEL_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GTK_TYPE_TREE_MODEL, GtkTreeModelIface))
|
||||
|
||||
#define GTK_TYPE_TREE_ITER (gtk_tree_iter_get_type ())
|
||||
#define GTK_TYPE_TREE_PATH (gtk_tree_path_get_type ())
|
||||
|
||||
typedef struct _GtkTreeIter GtkTreeIter;
|
||||
typedef struct _GtkTreePath GtkTreePath;
|
||||
typedef struct _GtkTreeRowReference GtkTreeRowReference;
|
||||
@ -124,6 +127,7 @@ gint gtk_tree_path_get_depth (GtkTreePath *path);
|
||||
gint *gtk_tree_path_get_indices (GtkTreePath *path);
|
||||
void gtk_tree_path_free (GtkTreePath *path);
|
||||
GtkTreePath *gtk_tree_path_copy (GtkTreePath *path);
|
||||
GType gtk_tree_path_get_type (void);
|
||||
gint gtk_tree_path_compare (const GtkTreePath *a,
|
||||
const GtkTreePath *b);
|
||||
void gtk_tree_path_next (GtkTreePath *path);
|
||||
@ -163,6 +167,7 @@ void gtk_tree_row_reference_reordered (GObject *proxy,
|
||||
/* GtkTreeIter operations */
|
||||
GtkTreeIter * gtk_tree_iter_copy (GtkTreeIter *iter);
|
||||
void gtk_tree_iter_free (GtkTreeIter *iter);
|
||||
GType gtk_tree_iter_get_type (void);
|
||||
|
||||
GtkType gtk_tree_model_get_type (void) G_GNUC_CONST;
|
||||
GtkTreeModelFlags gtk_tree_model_get_flags (GtkTreeModel *tree_model);
|
||||
|
@ -101,28 +101,6 @@ gtk_type_new (GtkType type)
|
||||
return object;
|
||||
}
|
||||
|
||||
/* includes for various places
|
||||
* with enum definitions
|
||||
*/
|
||||
#define GTK_ENABLE_BROKEN
|
||||
#include "makeenums.h"
|
||||
/* type variable declarations
|
||||
*/
|
||||
#include "gtktypebuiltins_vars.c"
|
||||
GType GTK_TYPE_IDENTIFIER = 0;
|
||||
#include "gtktypebuiltins_evals.c" /* enum value definition arrays */
|
||||
|
||||
/* Hack to communicate with GLib object debugging for now
|
||||
*/
|
||||
#ifdef G_OS_WIN32
|
||||
#define IMPORT __declspec(dllimport)
|
||||
#else
|
||||
#define IMPORT
|
||||
#endif
|
||||
|
||||
#include <gtk.h> /* for gtktypebuiltins_ids.c */
|
||||
#include <gdk.h> /* gtktypebuiltins_ids.c */
|
||||
|
||||
void
|
||||
gtk_type_init (GTypeDebugFlags debug_flags)
|
||||
{
|
||||
@ -130,19 +108,6 @@ gtk_type_init (GTypeDebugFlags debug_flags)
|
||||
|
||||
if (!initialized)
|
||||
{
|
||||
static struct {
|
||||
gchar *type_name;
|
||||
GtkType *type_id;
|
||||
GtkType parent;
|
||||
gconstpointer pointer1;
|
||||
gpointer pointer2;
|
||||
} builtin_info[GTK_TYPE_N_BUILTINS + 1] = {
|
||||
#include "gtktypebuiltins_ids.c" /* type entries */
|
||||
{ NULL }
|
||||
};
|
||||
GTypeInfo tinfo = { 0, };
|
||||
guint i;
|
||||
|
||||
initialized = TRUE;
|
||||
|
||||
/* initialize GLib type system
|
||||
@ -152,38 +117,23 @@ gtk_type_init (GTypeDebugFlags debug_flags)
|
||||
/* GTK_TYPE_OBJECT
|
||||
*/
|
||||
gtk_object_get_type ();
|
||||
|
||||
/* GTK_TYPE_IDENTIFIER
|
||||
*/
|
||||
GTK_TYPE_IDENTIFIER = g_type_register_static (G_TYPE_STRING, "GtkIdentifier", &tinfo, 0);
|
||||
|
||||
/* enums and flags
|
||||
*/
|
||||
for (i = 0; i < GTK_TYPE_N_BUILTINS; i++)
|
||||
{
|
||||
GtkType type_id = 0;
|
||||
|
||||
if (builtin_info[i].parent == G_TYPE_ENUM)
|
||||
type_id = g_enum_register_static (builtin_info[i].type_name, builtin_info[i].pointer1);
|
||||
else if (builtin_info[i].parent == G_TYPE_FLAGS)
|
||||
type_id = g_flags_register_static (builtin_info[i].type_name, builtin_info[i].pointer1);
|
||||
else if (builtin_info[i].parent == GTK_TYPE_BOXED)
|
||||
{
|
||||
if (builtin_info[i].pointer1 && builtin_info[i].pointer2)
|
||||
type_id = g_boxed_type_register_static (builtin_info[i].type_name,
|
||||
builtin_info[i].pointer1,
|
||||
builtin_info[i].pointer2);
|
||||
else
|
||||
type_id = g_type_register_static (GTK_TYPE_BOXED, builtin_info[i].type_name, &tinfo, 0);
|
||||
}
|
||||
else
|
||||
g_assert_not_reached ();
|
||||
|
||||
*builtin_info[i].type_id = type_id;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
GType
|
||||
gtk_identifier_get_type (void)
|
||||
{
|
||||
static GType our_type = 0;
|
||||
|
||||
if (our_type == 0)
|
||||
{
|
||||
GTypeInfo tinfo = { 0, };
|
||||
our_type = g_type_register_static (G_TYPE_STRING, "GtkIdentifier", &tinfo, 0);
|
||||
}
|
||||
|
||||
return our_type;
|
||||
}
|
||||
|
||||
GtkEnumValue*
|
||||
gtk_type_enum_get_values (GtkType enum_type)
|
||||
{
|
||||
@ -243,3 +193,4 @@ gtk_type_flags_find_value (GtkType flags_type,
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
|
@ -105,6 +105,9 @@ G_END_DECLS
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
/* urg */
|
||||
#define GTK_TYPE_IDENTIFIER (gtk_identifier_get_type ())
|
||||
GType gtk_identifier_get_type (void);
|
||||
|
||||
/* --- typedefs --- */
|
||||
/* here we come with some necessary forward declarations for structures and
|
||||
@ -249,19 +252,6 @@ GtkEnumValue* gtk_type_enum_find_value (GtkType enum_type,
|
||||
GtkFlagValue* gtk_type_flags_find_value (GtkType flags_type,
|
||||
const gchar *value_name);
|
||||
|
||||
#ifdef G_OS_WIN32
|
||||
# ifdef GTK_COMPILATION
|
||||
# define GTKTYPEUTILS_VAR __declspec(dllexport)
|
||||
# else
|
||||
# define GTKTYPEUTILS_VAR extern __declspec(dllimport)
|
||||
# endif
|
||||
#else
|
||||
# define GTKTYPEUTILS_VAR extern
|
||||
#endif
|
||||
|
||||
/* urg */
|
||||
GTKTYPEUTILS_VAR GType GTK_TYPE_IDENTIFIER;
|
||||
|
||||
#endif /* GTK_DISABLE_DEPRECATED */
|
||||
|
||||
G_END_DECLS
|
||||
|
@ -6371,6 +6371,19 @@ gtk_requisition_free (GtkRequisition *requisition)
|
||||
g_free (requisition);
|
||||
}
|
||||
|
||||
GType
|
||||
gtk_requisition_get_type (void)
|
||||
{
|
||||
static GType our_type = 0;
|
||||
|
||||
if (our_type == 0)
|
||||
our_type = g_boxed_type_register_static ("GtkTypeRequisition",
|
||||
(GBoxedCopyFunc) gtk_requisition_copy,
|
||||
(GBoxedFreeFunc) gtk_requisition_free);
|
||||
|
||||
return our_type;
|
||||
}
|
||||
|
||||
AtkObject*
|
||||
gtk_widget_get_accessible (GtkWidget *widget)
|
||||
{
|
||||
@ -6430,4 +6443,3 @@ gtk_widget_ref_accessible (AtkImplementor *implementor)
|
||||
g_object_ref (G_OBJECT (accessible));
|
||||
return accessible;
|
||||
}
|
||||
|
||||
|
@ -131,6 +131,7 @@ typedef enum
|
||||
#define GTK_WIDGET_SET_FLAGS(wid,flag) G_STMT_START{ (GTK_WIDGET_FLAGS (wid) |= (flag)); }G_STMT_END
|
||||
#define GTK_WIDGET_UNSET_FLAGS(wid,flag) G_STMT_START{ (GTK_WIDGET_FLAGS (wid) &= ~(flag)); }G_STMT_END
|
||||
|
||||
#define GTK_TYPE_REQUISITION (gtk_requisition_get_type ())
|
||||
|
||||
/* forward declaration to avoid excessive includes (and concurrent includes)
|
||||
*/
|
||||
@ -737,8 +738,9 @@ void gtk_widget_class_path (GtkWidget *widget,
|
||||
gchar **path,
|
||||
gchar **path_reversed);
|
||||
|
||||
GtkRequisition *gtk_requisition_copy (const GtkRequisition *requisition);
|
||||
void gtk_requisition_free (GtkRequisition *requisition);
|
||||
GType gtk_requisition_get_type (void);
|
||||
GtkRequisition *gtk_requisition_copy (const GtkRequisition *requisition);
|
||||
void gtk_requisition_free (GtkRequisition *requisition);
|
||||
|
||||
#if defined (GTK_TRACE_OBJECTS) && defined (__GNUC__)
|
||||
# define gtk_widget_ref gtk_object_ref
|
||||
|
@ -1,152 +0,0 @@
|
||||
|
||||
BEGIN {
|
||||
type_name = ""; # GtkEnumType
|
||||
type_macro = ""; # GTK_TYPE_ENUM_TYPE
|
||||
type_ident = ""; # _gtk_enum_type
|
||||
type_flags = 0;
|
||||
type_counter = 0;
|
||||
delete value_names; # GTK_ENUM_VALUE
|
||||
delete value_nicks; # enum-value
|
||||
VI = 0;
|
||||
gen_arrays = 0;
|
||||
gen_defs = 0;
|
||||
comment_file = "";
|
||||
|
||||
for (i = 1; i < ARGC; i++)
|
||||
{
|
||||
if (ARGV[i] == "arrays")
|
||||
gen_arrays = 1;
|
||||
else if (ARGV[i] == "defs")
|
||||
gen_defs = 1;
|
||||
ARGV[i] = "";
|
||||
}
|
||||
|
||||
if (gen_arrays)
|
||||
printf ("/* generated by makeenums.awk */\n\n");
|
||||
else if (gen_defs)
|
||||
printf (";; generated by makeenums.awk ; -*- scheme -*-\n\n");
|
||||
else
|
||||
{
|
||||
printf ("hm? what do you want me to do?\n") > "/dev/stderr";
|
||||
exit 1;
|
||||
}
|
||||
}
|
||||
|
||||
function set_type (set_type_1)
|
||||
{
|
||||
type_name = set_type_1;
|
||||
type_macro = "GTK_TYPE";
|
||||
type_ident = "";
|
||||
for (i = 0; i < length (type_name); i++)
|
||||
{
|
||||
ch = substr (type_name, i + 1, 1);
|
||||
Ch = toupper (ch);
|
||||
if (Ch == ch)
|
||||
{
|
||||
type_macro = type_macro "_" Ch;
|
||||
type_ident = type_ident "_" tolower (ch);
|
||||
}
|
||||
else
|
||||
{
|
||||
type_macro = type_macro Ch;
|
||||
type_ident = type_ident ch;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function set_value (set_value_1, set_value_2)
|
||||
{
|
||||
value_names[VI] = set_value_1;
|
||||
value_nicks[VI] = tolower (set_value_2);
|
||||
while (match (value_nicks[VI], "_"))
|
||||
sub ("_", "-", value_nicks[VI]);
|
||||
}
|
||||
|
||||
function generate_arrays ()
|
||||
{
|
||||
if (gen_arrays)
|
||||
{
|
||||
printf ("static GtkEnumValue %s_values[] = {\n", type_ident);
|
||||
for (i = 0; i < VI; i++)
|
||||
{
|
||||
printf (" { %s, \"%s\", \"%s\" },\n",
|
||||
value_names[i], value_names[i], value_nicks[i]);
|
||||
}
|
||||
printf (" { 0, NULL, NULL }\n");
|
||||
printf ("};\n");
|
||||
}
|
||||
}
|
||||
|
||||
function generate_defs ()
|
||||
{
|
||||
if (gen_defs)
|
||||
{
|
||||
if (comment_file != "")
|
||||
{
|
||||
printf ("\n; enumerations from \"%s\"\n", comment_file);
|
||||
comment_file = "";
|
||||
}
|
||||
|
||||
printf ("\n(define-%s %s",
|
||||
type_flags ? "flags" : "enum",
|
||||
type_name);
|
||||
for (i = 0; i < VI; i++)
|
||||
{
|
||||
printf ("\n (%s %s)",
|
||||
value_nicks[i], value_names[i]);
|
||||
}
|
||||
printf (")\n");
|
||||
}
|
||||
}
|
||||
|
||||
function basename (basename_1)
|
||||
{
|
||||
sub ("\"", "", basename_1);
|
||||
while (match (basename_1, "/"))
|
||||
sub (".*/", "", basename_1);
|
||||
sub ("\"", "", basename_1);
|
||||
return basename_1;
|
||||
}
|
||||
|
||||
# parse keywords
|
||||
|
||||
/G_ENUM_E/ {
|
||||
if ($3 != "+" || $5 != "+")
|
||||
printf ("huh? G_ENUM_E keyword without arg?\n") > "/dev/stderr";
|
||||
else
|
||||
set_type($4);
|
||||
type_flags = 0;
|
||||
|
||||
generate_defs();
|
||||
generate_arrays();
|
||||
VI = 0;
|
||||
}
|
||||
|
||||
/G_ENUM_F/ {
|
||||
if ($3 != "+" || $5 != "+")
|
||||
printf ("huh? G_ENUM_F keyword without arg?\n") > "/dev/stderr";
|
||||
else
|
||||
set_type($4);
|
||||
type_flags = 1;
|
||||
|
||||
generate_defs();
|
||||
generate_arrays();
|
||||
VI = 0;
|
||||
}
|
||||
|
||||
/G_ENUM_V/ {
|
||||
if ($2 != "+" || $4 != "+" || $6 != "+")
|
||||
printf ("huh? G_ENUM_V keyword without arg?\n") > "/dev/stderr";
|
||||
else
|
||||
set_value($3, $5);
|
||||
VI += 1;
|
||||
}
|
||||
|
||||
# feature per file comments
|
||||
/# / {
|
||||
comment_file = basename($3);
|
||||
}
|
||||
|
||||
END {
|
||||
printf("\n");
|
||||
}
|
@ -1,5 +0,0 @@
|
||||
#include <gdk/gdkprivate.h>
|
||||
#include <gdk/gdk.h>
|
||||
#include <gtk/gtk.h>
|
||||
#include <gtk/gtkprivate.h>
|
||||
#include <gtk/gtkdebug.h>
|
@ -1,155 +0,0 @@
|
||||
|
||||
BEGIN {
|
||||
type_name = ""; # GtkEnumType
|
||||
type_macro = ""; # GTK_TYPE_ENUM_TYPE
|
||||
type_ident = ""; # _gtk_enum_type
|
||||
type_counter = 0;
|
||||
gen_macros = 0;
|
||||
gen_entries = 0;
|
||||
gen_vars = 0;
|
||||
boxed_copy = "";
|
||||
boxed_free = "";
|
||||
|
||||
for (i = 2; i < ARGC; i++)
|
||||
{
|
||||
if (ARGV[i] == "macros")
|
||||
gen_macros = 1;
|
||||
else if (ARGV[i] == "entries")
|
||||
gen_entries = 1;
|
||||
else if (ARGV[i] == "variables")
|
||||
gen_vars = 1;
|
||||
ARGV[i] = "";
|
||||
}
|
||||
|
||||
if (gen_macros)
|
||||
{
|
||||
printf ("/* type macros, generated by maketypes.awk */\n");
|
||||
printf ("\n");
|
||||
printf ("#ifdef G_OS_WIN32\n");
|
||||
printf ("# ifdef GTK_COMPILATION\n");
|
||||
printf ("# define GTKTYPEBUILTINS_VAR __declspec(dllexport)\n");
|
||||
printf ("# else\n");
|
||||
printf ("# define GTKTYPEBUILTINS_VAR extern __declspec(dllimport)\n");
|
||||
printf ("# endif\n");
|
||||
printf ("#else\n");
|
||||
printf ("# ifdef GTK_COMPILATION\n");
|
||||
printf ("# define GTKTYPEBUILTINS_VAR\n");
|
||||
printf ("# else\n");
|
||||
printf ("# define GTKTYPEBUILTINS_VAR extern\n");
|
||||
printf ("# endif\n");
|
||||
printf ("#endif\n");
|
||||
printf ("\n");
|
||||
}
|
||||
else if (gen_entries)
|
||||
printf ("/* type entries, generated by maketypes.awk */\n\n");
|
||||
else if (gen_vars)
|
||||
printf ("/* type variables, generated by maketypes.awk */\n\n");
|
||||
else
|
||||
{
|
||||
printf ("hm? what do you want me to do?\n") > "/dev/stderr";
|
||||
exit 1;
|
||||
}
|
||||
}
|
||||
|
||||
function set_type (set_type_1)
|
||||
{
|
||||
type_counter += 1;
|
||||
type_name = set_type_1;
|
||||
type_macro = "GTK_TYPE_";
|
||||
|
||||
tmp = type_name;
|
||||
# OK, the following is ridiculous, and sed s///g would be far easier
|
||||
gsub ("[A-Z]", "@&", tmp);
|
||||
gsub ("[^A-Z]@", "&_", tmp);
|
||||
gsub ("@", "", tmp);
|
||||
gsub ("[A-Z][A-Z][A-Z][0-9a-z]", "@&", tmp);
|
||||
gsub ("@..", "&_", tmp);
|
||||
gsub ("@", "", tmp);
|
||||
type_macro = type_macro toupper (tmp);
|
||||
type_ident = "_" tolower (tmp);
|
||||
|
||||
sub ("^GTK_TYPE_GTK_", "GTK_TYPE_", type_macro);
|
||||
}
|
||||
|
||||
function generate (generate_what)
|
||||
{
|
||||
if (gen_macros)
|
||||
{
|
||||
printf ("GTKTYPEBUILTINS_VAR GType %s;\n", type_macro);
|
||||
}
|
||||
if (gen_entries)
|
||||
{
|
||||
printf (" { \"%s\", &%s,\n", type_name, type_macro);
|
||||
if (generate_what == "BOXED")
|
||||
printf (" GTK_TYPE_%s, %s, %s, },\n", generate_what, boxed_copy, boxed_free);
|
||||
else
|
||||
printf (" GTK_TYPE_%s, %s_values },\n", generate_what, type_ident);
|
||||
}
|
||||
if (gen_vars)
|
||||
{
|
||||
printf ("GTKTYPEBUILTINS_VAR GType %s = 0;\n", type_macro);
|
||||
}
|
||||
}
|
||||
|
||||
# skip scheme comments
|
||||
";" {
|
||||
sub (";.*", "");
|
||||
}
|
||||
|
||||
# parse keywords
|
||||
|
||||
/\(define-enum/ {
|
||||
if ($2 == "")
|
||||
printf ("huh? define-enum keyword without arg?\n") > "/dev/stderr";
|
||||
else
|
||||
{
|
||||
set_type($2);
|
||||
generate("ENUM");
|
||||
}
|
||||
}
|
||||
|
||||
/\(define-flags/ {
|
||||
if ($2 == "")
|
||||
printf ("huh? define-flags keyword without arg?\n") > "/dev/stderr";
|
||||
else
|
||||
{
|
||||
set_type($2);
|
||||
generate("FLAGS");
|
||||
}
|
||||
}
|
||||
|
||||
/\(define-boxed/ {
|
||||
if ($2 == "")
|
||||
printf ("huh? define-boxed keyword without arg?\n") > "/dev/stderr";
|
||||
else
|
||||
{
|
||||
boxed_copy = "NULL";
|
||||
boxed_free = "NULL";
|
||||
set_type($2);
|
||||
do {
|
||||
getline;
|
||||
sub (";.*", "", $0);
|
||||
} while ($0 ~ /^[ \t]*$/);
|
||||
tmp_var1 = $1;
|
||||
if ($0 ~ /\)/) { generate("BOXED"); next; }
|
||||
do {
|
||||
getline;
|
||||
sub (";.*", "", $0);
|
||||
} while ($0 ~ /^[ \t]*$/);
|
||||
tmp_var2 = $1;
|
||||
sub (/\).*/, "", tmp_var2);
|
||||
if (tmp_var1 ~ /^[_A-Za-z][_A-Za-z0-9]*$/ &&
|
||||
tmp_var2 ~ /^[_A-Za-z][_A-Za-z0-9]*$/)
|
||||
{
|
||||
boxed_copy = tmp_var1;
|
||||
boxed_free = tmp_var2;
|
||||
# printf ("read boxed funcs: %s %s\n", boxed_copy, boxed_free) > "/dev/stderr";
|
||||
}
|
||||
generate("BOXED");
|
||||
}
|
||||
}
|
||||
|
||||
END {
|
||||
if (gen_macros)
|
||||
printf("\n#define\tGTK_TYPE_N_BUILTINS\t(%u)\n", type_counter);
|
||||
}
|
Loading…
Reference in New Issue
Block a user