summaryrefslogtreecommitdiff
path: root/gtk/makeenums.awk
diff options
context:
space:
mode:
authorTim Janik <timj@gtk.org>1998-06-09 07:11:55 +0000
committerTim Janik <timj@src.gnome.org>1998-06-09 07:11:55 +0000
commita21d063ef867d0df151872f79cb04db8e730c42a (patch)
tree4e39ac11c98f2da3e38430d09843f6c74e007b07 /gtk/makeenums.awk
parent257c54a0210d75fd17d19d555a90c52a07693ef4 (diff)
downloadgtk+-a21d063ef867d0df151872f79cb04db8e730c42a.tar.gz
new functions gtk_selection_data_copy and gtk_selection_data_free.
Tue Jun 9 01:57:23 1998 Tim Janik <timj@gtk.org> * gtk/gtkselection.h: * gtk/gtkselection.c: new functions gtk_selection_data_copy and gtk_selection_data_free. * gtk/gtkwidget.c (gtk_widget_class_init): fixed gtk_signal_new() call for "selection_received", which was completely bogus. * other fixups to gtk_signal_new() calls all over the place. * gtk/gtktypebuiltins.h: types as variables (formerly macros). * gtk/gtktypebuiltins_vars.c: type variable implementations. * gtk/gtktypebuiltins_ids.c: array entries for builtin type declarations. * gtk/gtktypebuiltins_evals.c: enum value arrays. * gtk/gtk-boxed.defs: gtk and gdk structure definitions, used to build gtk.defs. * gtk/gtk.defs: generated file with scheme syntax for type definitions of gtk and gdk structures and enums. * gtk/gtktypeutils.h: * gtk/gtktypeutils.c: reworked type ids, so they are variables not macros anymore (this fixes binary incompatibility with new enum definitions). * gtk/gtkwidget.c (gtk_widget_real_key_press_event): proccess possible key bindings for this widget. * gtk/gtkwindow.c (gtk_window_key_press_event): chain parent class' handler. * gtk/gtkobject.h: * gtk/gtkobject.c: removed gtk_object_class_new_user_signal_no_recurse() again. new functions gtk_object_class_user_signal_new () and gtk_object_class_user_signal_newv (), to feature the GtkSignalRunType flag on the signal creation. Mon Jun 8 20:52:21 1998 Tim Janik <timj@gtk.org> * gtk/gtkcontainer.h: new signal GtkContainer::set_focus_child.
Diffstat (limited to 'gtk/makeenums.awk')
-rw-r--r--gtk/makeenums.awk23
1 files changed, 22 insertions, 1 deletions
diff --git a/gtk/makeenums.awk b/gtk/makeenums.awk
index 0e90e18eea..87bab0c0a7 100644
--- a/gtk/makeenums.awk
+++ b/gtk/makeenums.awk
@@ -10,6 +10,7 @@ BEGIN {
VI = 0;
gen_arrays = 0;
gen_defs = 0;
+ comment_file = "";
for (i = 1; i < ARGC; i++)
{
@@ -65,7 +66,7 @@ function generate_arrays ()
{
if (gen_arrays)
{
- printf ("static GtkEnumValue enum_values_%s[] = {\n", type_name);
+ printf ("static GtkEnumValue %s_values[] = {\n", type_ident);
for (i = 0; i < VI; i++)
{
printf (" { %s, \"%s\", \"%s\" },\n",
@@ -79,6 +80,12 @@ 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);
@@ -91,6 +98,15 @@ function generate_defs ()
}
}
+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/ {
@@ -125,6 +141,11 @@ function generate_defs ()
VI += 1;
}
+# feature per file comments
+/# / {
+ comment_file = basename($3);
+}
+
END {
printf("\n");
}