From 49ea86bccde551858cbf22ba19c5a1fe1eabf460 Mon Sep 17 00:00:00 2001 From: Padraig O'Briain Date: Thu, 7 Feb 2002 15:45:17 +0000 Subject: [PATCH] Change show_help signal to return gboolean instead of void. This allows * gtk/gtkwidget.[ch]: Change show_help signal to return gboolean instead of void. This allows the keypress which invokes the signal to be propagated to the focus widgets ancestors if not handled by the focus widget. * gtk/gtktoolips.[ch] Change _gtk_tooltips_show_tip () to return a gboolean indicating whether widget has tooltip to display. --- ChangeLog | 11 +++++++++++ ChangeLog.pre-2-0 | 11 +++++++++++ ChangeLog.pre-2-10 | 11 +++++++++++ ChangeLog.pre-2-2 | 11 +++++++++++ ChangeLog.pre-2-4 | 11 +++++++++++ ChangeLog.pre-2-6 | 11 +++++++++++ ChangeLog.pre-2-8 | 11 +++++++++++ gtk/gtktooltips.c | 5 +++-- gtk/gtktooltips.h | 2 +- gtk/gtkwidget.c | 21 ++++++++++++--------- gtk/gtkwidget.h | 2 +- 11 files changed, 94 insertions(+), 13 deletions(-) diff --git a/ChangeLog b/ChangeLog index ab6759871e..ebc5f529f6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2002-02-07 Padraig O'Briain + + * gtk/gtkwidget.[ch]: + Change show_help signal to return gboolean instead of void. This + allows the keypress which invokes the signal to be propagated to the + focus widgets ancestors if not handled by the focus widget. + + * gtk/gtktoolips.[ch] + Change _gtk_tooltips_show_tip () to return a gboolean indicating + whether widget has tooltip to display. + 2002-02-07 Padraig O'Briain * gtk/gtkwidget.[ch]: diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0 index ab6759871e..ebc5f529f6 100644 --- a/ChangeLog.pre-2-0 +++ b/ChangeLog.pre-2-0 @@ -1,3 +1,14 @@ +2002-02-07 Padraig O'Briain + + * gtk/gtkwidget.[ch]: + Change show_help signal to return gboolean instead of void. This + allows the keypress which invokes the signal to be propagated to the + focus widgets ancestors if not handled by the focus widget. + + * gtk/gtktoolips.[ch] + Change _gtk_tooltips_show_tip () to return a gboolean indicating + whether widget has tooltip to display. + 2002-02-07 Padraig O'Briain * gtk/gtkwidget.[ch]: diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index ab6759871e..ebc5f529f6 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,14 @@ +2002-02-07 Padraig O'Briain + + * gtk/gtkwidget.[ch]: + Change show_help signal to return gboolean instead of void. This + allows the keypress which invokes the signal to be propagated to the + focus widgets ancestors if not handled by the focus widget. + + * gtk/gtktoolips.[ch] + Change _gtk_tooltips_show_tip () to return a gboolean indicating + whether widget has tooltip to display. + 2002-02-07 Padraig O'Briain * gtk/gtkwidget.[ch]: diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index ab6759871e..ebc5f529f6 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,14 @@ +2002-02-07 Padraig O'Briain + + * gtk/gtkwidget.[ch]: + Change show_help signal to return gboolean instead of void. This + allows the keypress which invokes the signal to be propagated to the + focus widgets ancestors if not handled by the focus widget. + + * gtk/gtktoolips.[ch] + Change _gtk_tooltips_show_tip () to return a gboolean indicating + whether widget has tooltip to display. + 2002-02-07 Padraig O'Briain * gtk/gtkwidget.[ch]: diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index ab6759871e..ebc5f529f6 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,14 @@ +2002-02-07 Padraig O'Briain + + * gtk/gtkwidget.[ch]: + Change show_help signal to return gboolean instead of void. This + allows the keypress which invokes the signal to be propagated to the + focus widgets ancestors if not handled by the focus widget. + + * gtk/gtktoolips.[ch] + Change _gtk_tooltips_show_tip () to return a gboolean indicating + whether widget has tooltip to display. + 2002-02-07 Padraig O'Briain * gtk/gtkwidget.[ch]: diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index ab6759871e..ebc5f529f6 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,14 @@ +2002-02-07 Padraig O'Briain + + * gtk/gtkwidget.[ch]: + Change show_help signal to return gboolean instead of void. This + allows the keypress which invokes the signal to be propagated to the + focus widgets ancestors if not handled by the focus widget. + + * gtk/gtktoolips.[ch] + Change _gtk_tooltips_show_tip () to return a gboolean indicating + whether widget has tooltip to display. + 2002-02-07 Padraig O'Briain * gtk/gtkwidget.[ch]: diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index ab6759871e..ebc5f529f6 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,14 @@ +2002-02-07 Padraig O'Briain + + * gtk/gtkwidget.[ch]: + Change show_help signal to return gboolean instead of void. This + allows the keypress which invokes the signal to be propagated to the + focus widgets ancestors if not handled by the focus widget. + + * gtk/gtktoolips.[ch] + Change _gtk_tooltips_show_tip () to return a gboolean indicating + whether widget has tooltip to display. + 2002-02-07 Padraig O'Briain * gtk/gtkwidget.[ch]: diff --git a/gtk/gtktooltips.c b/gtk/gtktooltips.c index 6f035292cb..125a607327 100644 --- a/gtk/gtktooltips.c +++ b/gtk/gtktooltips.c @@ -537,7 +537,7 @@ gtk_tooltips_widget_remove (GtkWidget *widget, gtk_tooltips_destroy_data (tooltipsdata); } -void +gboolean _gtk_tooltips_show_tip (GtkWidget *widget) { /* Showing the tip from the keyboard */ @@ -551,10 +551,11 @@ _gtk_tooltips_show_tip (GtkWidget *widget) tooltipsdata = gtk_tooltips_data_get (widget); if (tooltipsdata == NULL) - return; + return FALSE; gtk_tooltips_set_active_widget (tooltipsdata->tooltips, widget); gtk_tooltips_timeout (tooltipsdata->tooltips); + return TRUE; } diff --git a/gtk/gtktooltips.h b/gtk/gtktooltips.h index 825e9635a2..d1e68b0ea5 100644 --- a/gtk/gtktooltips.h +++ b/gtk/gtktooltips.h @@ -94,7 +94,7 @@ GtkTooltipsData* gtk_tooltips_data_get (GtkWidget *widget); void gtk_tooltips_force_window (GtkTooltips *tooltips); -void _gtk_tooltips_show_tip (GtkWidget *widget); +gboolean _gtk_tooltips_show_tip (GtkWidget *widget); #ifdef __cplusplus } diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 2908ecf03c..74a020020d 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -179,7 +179,7 @@ static void gtk_widget_direction_changed (GtkWidget *widget, GtkTextDirection previous_direction); static void gtk_widget_real_grab_focus (GtkWidget *focus_widget); -static void gtk_widget_real_show_help (GtkWidget *widget, +static gboolean gtk_widget_real_show_help (GtkWidget *widget, GtkWidgetHelpType help_type); static void gtk_widget_dispatch_child_properties_changed (GtkWidget *object, @@ -1010,12 +1010,13 @@ gtk_widget_class_init (GtkWidgetClass *klass) _gtk_marshal_BOOLEAN__VOID, G_TYPE_BOOLEAN, 0); widget_signals[SHOW_HELP] = - gtk_signal_new ("show_help", - GTK_RUN_LAST | GTK_RUN_ACTION, - GTK_CLASS_TYPE (object_class), - GTK_SIGNAL_OFFSET (GtkWidgetClass, show_help), - _gtk_marshal_NONE__ENUM, - GTK_TYPE_NONE, 1, GTK_TYPE_WIDGET_HELP_TYPE); + g_signal_new ("show_help", + G_TYPE_FROM_CLASS (object_class), + G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, + GTK_SIGNAL_OFFSET (GtkWidgetClass, show_help), + _gtk_boolean_handled_accumulator, NULL, + _gtk_marshal_BOOLEAN__ENUM, + G_TYPE_BOOLEAN, 1, GTK_TYPE_WIDGET_HELP_TYPE); widget_signals[ACCEL_CLOSURES_CHANGED] = gtk_signal_new ("accel_closures_changed", 0, @@ -3394,12 +3395,14 @@ gtk_widget_real_grab_focus (GtkWidget *focus_widget) } } -static void +static gboolean gtk_widget_real_show_help (GtkWidget *widget, GtkWidgetHelpType help_type) { if (help_type == GTK_WIDGET_HELP_TOOLTIP) - _gtk_tooltips_show_tip (widget); + return _gtk_tooltips_show_tip (widget); + else + return FALSE; } static gboolean diff --git a/gtk/gtkwidget.h b/gtk/gtkwidget.h index 6eebb124f0..607aa79293 100644 --- a/gtk/gtkwidget.h +++ b/gtk/gtkwidget.h @@ -394,7 +394,7 @@ struct _GtkWidgetClass * sense, should cycle through them showing each tip alongside * whatever piece of the widget it applies to. */ - void (* show_help) (GtkWidget *widget, + gboolean (* show_help) (GtkWidget *widget, GtkWidgetHelpType help_type); /* accessibility support