made GtkWidget::grab_focus a RUN_LAST and RUN_ACTION signal. moved stuff

Mon Dec 14 02:42:11 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkwidget.c: made GtkWidget::grab_focus a RUN_LAST and
        RUN_ACTION signal. moved stuff from gtk_widget_grab_focus() into
        gtk_widget_real_grab_focus() so a signal is always emitted
        if the focus is grabbed on a widget.
This commit is contained in:
Tim Janik
1998-12-14 01:59:43 +00:00
committed by Tim Janik
parent 7ea8bb92a6
commit edc1476865
8 changed files with 63 additions and 4 deletions

View File

@ -1,3 +1,10 @@
Mon Dec 14 02:42:11 1998 Tim Janik <timj@gtk.org>
* gtk/gtkwidget.c: made GtkWidget::grab_focus a RUN_LAST and
RUN_ACTION signal. moved stuff from gtk_widget_grab_focus() into
gtk_widget_real_grab_focus() so a signal is always emitted
if the focus is grabbed on a widget.
Mon Dec 14 02:13:01 1998 Tim Janik <timj@gtk.org> Mon Dec 14 02:13:01 1998 Tim Janik <timj@gtk.org>
* gtk/gtkmenuitem.c: fixed submenu popup timeouts, we decide whether or * gtk/gtkmenuitem.c: fixed submenu popup timeouts, we decide whether or

View File

@ -1,3 +1,10 @@
Mon Dec 14 02:42:11 1998 Tim Janik <timj@gtk.org>
* gtk/gtkwidget.c: made GtkWidget::grab_focus a RUN_LAST and
RUN_ACTION signal. moved stuff from gtk_widget_grab_focus() into
gtk_widget_real_grab_focus() so a signal is always emitted
if the focus is grabbed on a widget.
Mon Dec 14 02:13:01 1998 Tim Janik <timj@gtk.org> Mon Dec 14 02:13:01 1998 Tim Janik <timj@gtk.org>
* gtk/gtkmenuitem.c: fixed submenu popup timeouts, we decide whether or * gtk/gtkmenuitem.c: fixed submenu popup timeouts, we decide whether or

View File

@ -1,3 +1,10 @@
Mon Dec 14 02:42:11 1998 Tim Janik <timj@gtk.org>
* gtk/gtkwidget.c: made GtkWidget::grab_focus a RUN_LAST and
RUN_ACTION signal. moved stuff from gtk_widget_grab_focus() into
gtk_widget_real_grab_focus() so a signal is always emitted
if the focus is grabbed on a widget.
Mon Dec 14 02:13:01 1998 Tim Janik <timj@gtk.org> Mon Dec 14 02:13:01 1998 Tim Janik <timj@gtk.org>
* gtk/gtkmenuitem.c: fixed submenu popup timeouts, we decide whether or * gtk/gtkmenuitem.c: fixed submenu popup timeouts, we decide whether or

View File

@ -1,3 +1,10 @@
Mon Dec 14 02:42:11 1998 Tim Janik <timj@gtk.org>
* gtk/gtkwidget.c: made GtkWidget::grab_focus a RUN_LAST and
RUN_ACTION signal. moved stuff from gtk_widget_grab_focus() into
gtk_widget_real_grab_focus() so a signal is always emitted
if the focus is grabbed on a widget.
Mon Dec 14 02:13:01 1998 Tim Janik <timj@gtk.org> Mon Dec 14 02:13:01 1998 Tim Janik <timj@gtk.org>
* gtk/gtkmenuitem.c: fixed submenu popup timeouts, we decide whether or * gtk/gtkmenuitem.c: fixed submenu popup timeouts, we decide whether or

View File

@ -1,3 +1,10 @@
Mon Dec 14 02:42:11 1998 Tim Janik <timj@gtk.org>
* gtk/gtkwidget.c: made GtkWidget::grab_focus a RUN_LAST and
RUN_ACTION signal. moved stuff from gtk_widget_grab_focus() into
gtk_widget_real_grab_focus() so a signal is always emitted
if the focus is grabbed on a widget.
Mon Dec 14 02:13:01 1998 Tim Janik <timj@gtk.org> Mon Dec 14 02:13:01 1998 Tim Janik <timj@gtk.org>
* gtk/gtkmenuitem.c: fixed submenu popup timeouts, we decide whether or * gtk/gtkmenuitem.c: fixed submenu popup timeouts, we decide whether or

View File

@ -1,3 +1,10 @@
Mon Dec 14 02:42:11 1998 Tim Janik <timj@gtk.org>
* gtk/gtkwidget.c: made GtkWidget::grab_focus a RUN_LAST and
RUN_ACTION signal. moved stuff from gtk_widget_grab_focus() into
gtk_widget_real_grab_focus() so a signal is always emitted
if the focus is grabbed on a widget.
Mon Dec 14 02:13:01 1998 Tim Janik <timj@gtk.org> Mon Dec 14 02:13:01 1998 Tim Janik <timj@gtk.org>
* gtk/gtkmenuitem.c: fixed submenu popup timeouts, we decide whether or * gtk/gtkmenuitem.c: fixed submenu popup timeouts, we decide whether or

View File

@ -1,3 +1,10 @@
Mon Dec 14 02:42:11 1998 Tim Janik <timj@gtk.org>
* gtk/gtkwidget.c: made GtkWidget::grab_focus a RUN_LAST and
RUN_ACTION signal. moved stuff from gtk_widget_grab_focus() into
gtk_widget_real_grab_focus() so a signal is always emitted
if the focus is grabbed on a widget.
Mon Dec 14 02:13:01 1998 Tim Janik <timj@gtk.org> Mon Dec 14 02:13:01 1998 Tim Janik <timj@gtk.org>
* gtk/gtkmenuitem.c: fixed submenu popup timeouts, we decide whether or * gtk/gtkmenuitem.c: fixed submenu popup timeouts, we decide whether or

View File

@ -151,6 +151,7 @@ static gint gtk_widget_real_key_release_event (GtkWidget *widget,
GdkEventKey *event); GdkEventKey *event);
static void gtk_widget_style_set (GtkWidget *widget, static void gtk_widget_style_set (GtkWidget *widget,
GtkStyle *previous_style); GtkStyle *previous_style);
static void gtk_widget_real_grab_focus (GtkWidget *focus_widget);
static void gtk_widget_redraw_queue_remove (GtkWidget *widget); static void gtk_widget_redraw_queue_remove (GtkWidget *widget);
@ -390,7 +391,7 @@ gtk_widget_class_init (GtkWidgetClass *klass)
GTK_SIGNAL_OFFSET (GtkWidgetClass, remove_accelerator)); GTK_SIGNAL_OFFSET (GtkWidgetClass, remove_accelerator));
widget_signals[GRAB_FOCUS] = widget_signals[GRAB_FOCUS] =
gtk_signal_new ("grab_focus", gtk_signal_new ("grab_focus",
GTK_RUN_FIRST, GTK_RUN_LAST | GTK_RUN_ACTION,
object_class->type, object_class->type,
GTK_SIGNAL_OFFSET (GtkWidgetClass, grab_focus), GTK_SIGNAL_OFFSET (GtkWidgetClass, grab_focus),
gtk_marshal_NONE__NONE, gtk_marshal_NONE__NONE,
@ -729,7 +730,7 @@ gtk_widget_class_init (GtkWidgetClass *klass)
klass->style_set = gtk_widget_style_set; klass->style_set = gtk_widget_style_set;
klass->add_accelerator = (void*) gtk_accel_group_handle_add; klass->add_accelerator = (void*) gtk_accel_group_handle_add;
klass->remove_accelerator = (void*) gtk_accel_group_handle_remove; klass->remove_accelerator = (void*) gtk_accel_group_handle_remove;
klass->grab_focus = gtk_widget_grab_focus; klass->grab_focus = gtk_widget_real_grab_focus;
klass->event = NULL; klass->event = NULL;
klass->button_press_event = NULL; klass->button_press_event = NULL;
klass->button_release_event = NULL; klass->button_release_event = NULL;
@ -2842,6 +2843,15 @@ gtk_widget_intersect (GtkWidget *widget,
* results: * results:
*****************************************/ *****************************************/
void
gtk_widget_grab_focus (GtkWidget *widget)
{
g_return_if_fail (widget != NULL);
g_return_if_fail (GTK_IS_WIDGET (widget));
gtk_signal_emit (GTK_OBJECT (widget), widget_signals[GRAB_FOCUS]);
}
static void static void
reset_focus_recurse (GtkWidget *widget, reset_focus_recurse (GtkWidget *widget,
gpointer data) gpointer data)
@ -2859,8 +2869,8 @@ reset_focus_recurse (GtkWidget *widget,
} }
} }
void static void
gtk_widget_grab_focus (GtkWidget *focus_widget) gtk_widget_real_grab_focus (GtkWidget *focus_widget)
{ {
g_return_if_fail (focus_widget != NULL); g_return_if_fail (focus_widget != NULL);
g_return_if_fail (GTK_IS_WIDGET (focus_widget)); g_return_if_fail (GTK_IS_WIDGET (focus_widget));