+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>
* gtk/gtkmenuitem.c: fixed submenu popup timeouts, we decide whether or
+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>
* gtk/gtkmenuitem.c: fixed submenu popup timeouts, we decide whether or
+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>
* gtk/gtkmenuitem.c: fixed submenu popup timeouts, we decide whether or
+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>
* gtk/gtkmenuitem.c: fixed submenu popup timeouts, we decide whether or
+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>
* gtk/gtkmenuitem.c: fixed submenu popup timeouts, we decide whether or
+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>
* gtk/gtkmenuitem.c: fixed submenu popup timeouts, we decide whether or
+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>
* gtk/gtkmenuitem.c: fixed submenu popup timeouts, we decide whether or
GdkEventKey *event);
static void gtk_widget_style_set (GtkWidget *widget,
GtkStyle *previous_style);
+static void gtk_widget_real_grab_focus (GtkWidget *focus_widget);
static void gtk_widget_redraw_queue_remove (GtkWidget *widget);
GTK_SIGNAL_OFFSET (GtkWidgetClass, remove_accelerator));
widget_signals[GRAB_FOCUS] =
gtk_signal_new ("grab_focus",
- GTK_RUN_FIRST,
+ GTK_RUN_LAST | GTK_RUN_ACTION,
object_class->type,
GTK_SIGNAL_OFFSET (GtkWidgetClass, grab_focus),
gtk_marshal_NONE__NONE,
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->grab_focus = gtk_widget_real_grab_focus;
klass->event = NULL;
klass->button_press_event = NULL;
klass->button_release_event = NULL;
* 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
reset_focus_recurse (GtkWidget *widget,
gpointer data)
}
}
-void
-gtk_widget_grab_focus (GtkWidget *focus_widget)
+static void
+gtk_widget_real_grab_focus (GtkWidget *focus_widget)
{
g_return_if_fail (focus_widget != NULL);
g_return_if_fail (GTK_IS_WIDGET (focus_widget));