forked from AuroraMiddleware/gtk
GtkWidget: Add gtk_widget_get_path().
This function composes and returns a GtkWidgetPath representing the passed widget.
This commit is contained in:
parent
61360dfddf
commit
9794b6adf9
@ -13165,6 +13165,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)
|
||||
{
|
||||
@ -13178,7 +13199,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);
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
@ -944,6 +945,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
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user