summaryrefslogtreecommitdiff
path: root/gtk/gtkwindow.c
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/gtkwindow.c
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/gtkwindow.c')
-rw-r--r--gtk/gtkwindow.c18
1 files changed, 8 insertions, 10 deletions
diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
index 0af3fe0b79..16fb06943b 100644
--- a/gtk/gtkwindow.c
+++ b/gtk/gtkwindow.c
@@ -159,7 +159,7 @@ gtk_window_class_init (GtkWindowClass *klass)
gtk_object_add_arg_type ("GtkWindow::auto_shrink", GTK_TYPE_BOOL, GTK_ARG_READWRITE, ARG_AUTO_SHRINK);
gtk_object_add_arg_type ("GtkWindow::allow_shrink", GTK_TYPE_BOOL, GTK_ARG_READWRITE, ARG_ALLOW_SHRINK);
gtk_object_add_arg_type ("GtkWindow::allow_grow", GTK_TYPE_BOOL, GTK_ARG_READWRITE, ARG_ALLOW_GROW);
- gtk_object_add_arg_type ("GtkWindow::window_position", GTK_TYPE_ENUM, GTK_ARG_READWRITE, ARG_WIN_POS);
+ gtk_object_add_arg_type ("GtkWindow::window_position", GTK_TYPE_WINDOW_POSITION, GTK_ARG_READWRITE, ARG_WIN_POS);
window_signals[MOVE_RESIZE] =
gtk_signal_new ("move_resize",
@@ -755,10 +755,6 @@ gtk_window_key_press_event (GtkWidget *widget,
if (window->focus_widget)
{
handled = gtk_widget_event (window->focus_widget, (GdkEvent*) event);
-
- if (!handled)
- handled = gtk_bindings_activate (GTK_OBJECT (window->focus_widget),
- event->keyval, event->state);
}
if (!handled)
@@ -829,6 +825,9 @@ gtk_window_key_press_event (GtkWidget *widget,
}
}
+ if (!handled && GTK_WIDGET_CLASS (parent_class)->key_press_event)
+ handled = GTK_WIDGET_CLASS (parent_class)->key_press_event (widget, event);
+
return handled;
}
@@ -848,12 +847,11 @@ gtk_window_key_release_event (GtkWidget *widget,
if (window->focus_widget)
{
handled = gtk_widget_event (window->focus_widget, (GdkEvent*) event);
-
- if (!handled)
- handled = gtk_bindings_activate (GTK_OBJECT (window->focus_widget),
- event->keyval, event->state | GDK_AFTER_MASK);
}
-
+
+ if (!handled && GTK_WIDGET_CLASS (parent_class)->key_release_event)
+ handled = GTK_WIDGET_CLASS (parent_class)->key_release_event (widget, event);
+
return handled;
}