diff options
author | Kristian Rietveld <kris@imendio.com> | 2007-07-10 18:24:37 +0000 |
---|---|---|
committer | Kristian Rietveld <kristian@src.gnome.org> | 2007-07-10 18:24:37 +0000 |
commit | 15dee8e5299fee18e6a6b1ebc041bfd026b2176c (patch) | |
tree | d0a33a491a4120ef0f856c4f8f96259ace3f5c98 /gtk/gtkwidget.c | |
parent | 9f8051377f5aa989b2b6b6f06541dcccaf75a44b (diff) | |
download | gtk+-15dee8e5299fee18e6a6b1ebc041bfd026b2176c.tar.gz |
add getter/setter pair, slight addition to has-tooltip property
2007-07-10 Kristian Rietveld <kris@imendio.com>
* gtk/gtk.symbols:
* gtk/gtkwidget.[ch] (gtk_widget_{get,set}_has_tooltip): add
getter/setter pair, slight addition to has-tooltip property
documentation,
(gtk_widget_real_set_has_tooltip): renamed internal function.
svn path=/trunk/; revision=18439
Diffstat (limited to 'gtk/gtkwidget.c')
-rw-r--r-- | gtk/gtkwidget.c | 67 |
1 files changed, 58 insertions, 9 deletions
diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index a4390b5040..2056c4b513 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -245,7 +245,7 @@ static void gtk_widget_queue_shallow_draw (GtkWidget *widget); static gboolean gtk_widget_real_can_activate_accel (GtkWidget *widget, guint signal_id); -static void gtk_widget_set_has_tooltip (GtkWidget *widget, +static void gtk_widget_real_set_has_tooltip (GtkWidget *widget, gboolean has_tooltip, gboolean force); static void gtk_widget_buildable_interface_init (GtkBuildableIface *iface); @@ -613,6 +613,11 @@ gtk_widget_class_init (GtkWidgetClass *klass) * the widget will be queried using #GtkWidget::query-tooltip to determine * whether it will provide a tooltip or not. * + * Note that setting this property to %TRUE for the first time will change + * the event masks of the GdkWindows of this widget to include leave-notify + * and motion-notify events. This cannot and will not be undone when the + * property is set to %FALSE again. + * * Since: 2.12 */ g_object_class_install_property (gobject_class, @@ -2025,7 +2030,8 @@ gtk_widget_set_property (GObject *object, gtk_widget_set_no_show_all (widget, g_value_get_boolean (value)); break; case PROP_HAS_TOOLTIP: - gtk_widget_set_has_tooltip (widget, g_value_get_boolean (value), FALSE); + gtk_widget_real_set_has_tooltip (widget, + g_value_get_boolean (value), FALSE); break; case PROP_TOOLTIP_MARKUP: tooltip_window = g_object_get_qdata (object, quark_tooltip_window); @@ -2035,7 +2041,7 @@ gtk_widget_set_property (GObject *object, tooltip_markup, g_free); tmp = (tooltip_window != NULL || tooltip_markup != NULL); - gtk_widget_set_has_tooltip (widget, tmp, FALSE); + gtk_widget_real_set_has_tooltip (widget, tmp, FALSE); break; case PROP_TOOLTIP_TEXT: tooltip_window = g_object_get_qdata (object, quark_tooltip_window); @@ -2046,7 +2052,7 @@ gtk_widget_set_property (GObject *object, tooltip_markup, g_free); tmp = (tooltip_window != NULL || tooltip_markup != NULL); - gtk_widget_set_has_tooltip (widget, tmp, FALSE); + gtk_widget_real_set_has_tooltip (widget, tmp, FALSE); break; default: break; @@ -2854,7 +2860,9 @@ gtk_widget_realize (GtkWidget *widget) g_signal_emit (widget, widget_signals[REALIZE], 0); - gtk_widget_set_has_tooltip (widget, GPOINTER_TO_UINT (g_object_get_qdata (G_OBJECT (widget), quark_has_tooltip)), TRUE); + gtk_widget_real_set_has_tooltip (widget, + GPOINTER_TO_UINT (g_object_get_qdata (G_OBJECT (widget), quark_has_tooltip)), + TRUE); if (GTK_WIDGET_HAS_SHAPE_MASK (widget)) { @@ -8812,9 +8820,9 @@ gtk_widget_set_no_show_all (GtkWidget *widget, static void -gtk_widget_set_has_tooltip (GtkWidget *widget, - gboolean has_tooltip, - gboolean force) +gtk_widget_real_set_has_tooltip (GtkWidget *widget, + gboolean has_tooltip, + gboolean force) { gboolean priv_has_tooltip; @@ -8882,7 +8890,7 @@ gtk_widget_set_tooltip_window (GtkWidget *widget, tooltip_window, g_object_unref); tmp = (tooltip_window != NULL || tooltip_markup != NULL); - gtk_widget_set_has_tooltip (widget, tmp, FALSE); + gtk_widget_real_set_has_tooltip (widget, tmp, FALSE); if (tmp) gtk_widget_trigger_tooltip_query (widget); @@ -9017,6 +9025,47 @@ gtk_widget_get_tooltip_markup (GtkWidget *widget) return text; } +/** + * gtk_widget_set_has_tooltip: + * @widget: a #GtkWidget + * @has_tooltip: whether or not @widget has a tooltip. + * + * Sets the has-tooltip property on @widget to @has_tooltip. See + * GtkWidget:has-tooltip for more information. + * + * Since: 2.12 + */ +void +gtk_widget_set_has_tooltip (GtkWidget *widget, + gboolean has_tooltip) +{ + g_return_if_fail (GTK_IS_WIDGET (widget)); + + g_object_set (G_OBJECT (widget), "has-tooltip", has_tooltip, NULL); +} + +/** + * gtk_widget_get_has_tooltip: + * @widget: a #GtkWidget + * + * Returns the current value of the has-tooltip property. See + * GtkWidget:has-tooltip for more information. + * + * Return value: current value of has-tooltip on @widget. + * + * Since: 2.12 + */ +gboolean +gtk_widget_get_has_tooltip (GtkWidget *widget) +{ + gboolean has_tooltip = FALSE; + + g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE); + + g_object_get (G_OBJECT (widget), "has-tooltip", &has_tooltip, NULL); + + return has_tooltip; +} #define __GTK_WIDGET_C__ #include "gtkaliasdef.c" |