[gtk+/gtk-style-context: 20/260] GtkWidget: Add gtk_widget_get_path().
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/gtk-style-context: 20/260] GtkWidget: Add gtk_widget_get_path().
- Date: Wed, 20 Oct 2010 10:23:05 +0000 (UTC)
commit fe22744ab5faabd2be00748deca34620c9d8a6e4
Author: Carlos Garnacho <carlosg gnome org>
Date: Fri Mar 12 19:02:33 2010 +0100
GtkWidget: Add gtk_widget_get_path().
This function composes and returns a GtkWidgetPath representing
the passed widget.
gtk/gtkwidget.c | 24 +++++++++++++++++++++++-
gtk/gtkwidget.h | 3 +++
2 files changed, 26 insertions(+), 1 deletions(-)
---
diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c
index 552e9f3..7e0b4e6 100644
--- a/gtk/gtkwidget.c
+++ b/gtk/gtkwidget.c
@@ -13213,6 +13213,27 @@ _gtk_widget_set_height_request_needed (GtkWidget *widget,
widget->priv->height_request_needed = height_request_needed;
}
+GtkWidgetPath *
+gtk_widget_get_path (GtkWidget *widget)
+{
+ GtkWidgetPath *path;
+
+ g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL);
+ g_return_val_if_fail (GTK_WIDGET_REALIZED (widget), NULL);
+
+ path = gtk_widget_path_new ();
+
+ while (widget)
+ {
+ gtk_widget_path_prepend_widget_desc (path,
+ G_OBJECT_TYPE (widget),
+ widget->name);
+ widget = widget->parent;
+ }
+
+ return path;
+}
+
GtkStyleContext *
gtk_widget_get_style_context (GtkWidget *widget)
{
@@ -13226,7 +13247,8 @@ gtk_widget_get_style_context (GtkWidget *widget)
if (G_UNLIKELY (!context))
{
context = g_object_new (GTK_TYPE_STYLE_CONTEXT, NULL);
- g_object_set_qdata_full (widget, quark_style_context, context,
+ g_object_set_qdata_full (G_OBJECT (widget),
+ quark_style_context, context,
(GDestroyNotify) g_object_unref);
}
diff --git a/gtk/gtkwidget.h b/gtk/gtkwidget.h
index c05bd77..bcb5674 100644
--- a/gtk/gtkwidget.h
+++ b/gtk/gtkwidget.h
@@ -37,6 +37,7 @@
#include <gtk/gtkstyle.h>
#include <gtk/gtksettings.h>
#include <gtk/gtkstylecontext.h>
+#include <gtk/gtkwidgetpath.h>
#include <atk/atk.h>
G_BEGIN_DECLS
@@ -916,6 +917,8 @@ gboolean gtk_widget_in_destruction (GtkWidget *widget);
GtkStyleContext * gtk_widget_get_style_context (GtkWidget *widget);
+GtkWidgetPath * gtk_widget_get_path (GtkWidget *widget);
+
G_END_DECLS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]