summaryrefslogtreecommitdiff
path: root/gtk/gtkwidget.c
diff options
context:
space:
mode:
authorFederico Mena Quintero <federico@nuclecu.unam.mx>1998-12-14 01:32:24 +0000
committerArturo Espinosa <unammx@src.gnome.org>1998-12-14 01:32:24 +0000
commit3441c3f2c4ca299c3e94ceccba4b419f20ae3a07 (patch)
tree84ee4ab2e8c522cc34a67930cab641cedfe3808a /gtk/gtkwidget.c
parent113448e030fa5a554354ce8a77771d8de44d5b02 (diff)
downloadgdk-pixbuf-3441c3f2c4ca299c3e94ceccba4b419f20ae3a07.tar.gz
Added a "grab_focus" signal for widgets. When the signal is emitted, the
1998-12-13 Federico Mena Quintero <federico@nuclecu.unam.mx> * gtk/gtkwidget.h (struct _GtkWidgetClass): Added a "grab_focus" signal for widgets. When the signal is emitted, the widget will grab the focus. This is needed to let the user press an accelerator key in a dialog box and have the corresponding widget be focused. * gtk/gtkwidget.c (gtk_widget_class_init): Create the "grab_focus" signal. The default handler is simply gtk_widget_grab_focus().
Diffstat (limited to 'gtk/gtkwidget.c')
-rw-r--r--gtk/gtkwidget.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c
index 9a400079d..b0797fe66 100644
--- a/gtk/gtkwidget.c
+++ b/gtk/gtkwidget.c
@@ -52,6 +52,7 @@ enum {
STYLE_SET,
ADD_ACCELERATOR,
REMOVE_ACCELERATOR,
+ GRAB_FOCUS,
EVENT,
BUTTON_PRESS_EVENT,
BUTTON_RELEASE_EVENT,
@@ -387,6 +388,13 @@ gtk_widget_class_init (GtkWidgetClass *klass)
widget_signals[REMOVE_ACCELERATOR] =
gtk_accel_group_create_remove (object_class->type, GTK_RUN_LAST,
GTK_SIGNAL_OFFSET (GtkWidgetClass, remove_accelerator));
+ widget_signals[GRAB_FOCUS] =
+ gtk_signal_new ("grab_focus",
+ GTK_RUN_FIRST,
+ object_class->type,
+ GTK_SIGNAL_OFFSET (GtkWidgetClass, grab_focus),
+ gtk_marshal_NONE__NONE,
+ GTK_TYPE_NONE, 0);
widget_signals[EVENT] =
gtk_signal_new ("event",
GTK_RUN_LAST,
@@ -721,6 +729,7 @@ gtk_widget_class_init (GtkWidgetClass *klass)
klass->style_set = gtk_widget_style_set;
klass->add_accelerator = (void*) gtk_accel_group_handle_add;
klass->remove_accelerator = (void*) gtk_accel_group_handle_remove;
+ klass->grab_focus = gtk_widget_grab_focus;
klass->event = NULL;
klass->button_press_event = NULL;
klass->button_release_event = NULL;