From 8296bf70353180c7b975a02767c12339a768cf2e Mon Sep 17 00:00:00 2001 From: Michael Natterer Date: Fri, 7 Aug 2009 14:48:00 +0200 Subject: [PATCH] =?UTF-8?q?Bug=2069872=20=E2=80=93=20GTK=5FWIDGET=5FSET=5F?= =?UTF-8?q?FLAGS=20should=20be=20deprecated?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add gtk_widget_has_grab() as replacement for GTK_WIDGET_HAS_GRAB(). --- gtk/gtk.symbols | 3 ++- gtk/gtkwidget.c | 21 +++++++++++++++++++++ gtk/gtkwidget.h | 2 ++ 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols index bf2e861bbd..64e69ab663 100644 --- a/gtk/gtk.symbols +++ b/gtk/gtk.symbols @@ -5002,7 +5002,9 @@ gtk_widget_get_visible gtk_widget_get_visual gtk_widget_grab_default gtk_widget_grab_focus +gtk_widget_has_default gtk_widget_has_focus +gtk_widget_has_grab gtk_widget_has_screen gtk_widget_hide gtk_widget_hide_all @@ -5099,7 +5101,6 @@ gtk_widget_set_has_window gtk_widget_get_has_window gtk_widget_set_can_default gtk_widget_get_can_default -gtk_widget_has_default gtk_widget_set_can_focus gtk_widget_get_can_focus #endif diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 28422b2e28..267bd40fd0 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -5471,6 +5471,27 @@ gtk_widget_grab_default (GtkWidget *widget) g_warning (G_STRLOC ": widget not within a GtkWindow"); } +/** + * gtk_widget_has_grab: + * @widget: a #GtkWidget + * + * Determines whether the widget is currently grabbing events, so it + * is the only widget receiving input events (keyboard and mouse). + * + * See also gtk_grab_add(). + * + * Return value: %TRUE if the widget is in the grab_widgets stack + * + * Since: 2.18 + **/ +gboolean +gtk_widget_has_grab (GtkWidget *widget) +{ + g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE); + + return (GTK_WIDGET_FLAGS (widget) & GTK_HAS_GRAB) != 0; +} + /** * gtk_widget_set_name: * @widget: a #GtkWidget diff --git a/gtk/gtkwidget.h b/gtk/gtkwidget.h index d5de8bd13c..3a79f554b0 100644 --- a/gtk/gtkwidget.h +++ b/gtk/gtkwidget.h @@ -561,6 +561,8 @@ gboolean gtk_widget_get_can_default (GtkWidget *widget); gboolean gtk_widget_has_default (GtkWidget *widget); void gtk_widget_grab_default (GtkWidget *widget); +gboolean gtk_widget_has_grab (GtkWidget *widget); + void gtk_widget_set_name (GtkWidget *widget, const gchar *name); G_CONST_RETURN gchar* gtk_widget_get_name (GtkWidget *widget);