Sets our main struct and passes it to the parent class.
Returns an empty widget path.
Appends the data from @widget to the widget hierarchy represented by @path. This function is a shortcut for adding information from @widget to the given @path. This includes setting the name or adding the style classes from @widget.
Appends a widget type to the widget hierarchy represented by @path.
Appends a widget type with all its siblings to the widget hierarchy represented by @path. Using this function instead of gtk_widget_path_append_type() will allow the CSS theming to use sibling matches in selectors and apply :nth-child() pseudo classes. In turn, it requires a lot more care in widget implementations as widgets need to make sure to call gtk_widget_reset_style() on all involved widgets when the @siblings path changes.
Returns a copy of @path
Increments the reference count on @path.
Decrements the reference count on @path, freeing the structure if the reference count reaches 0.
Returns the topmost object type, that is, the object type this path is representing.
the main Gtk struct as a void*
Get the main Gtk struct
Returns %TRUE if any of the parents of the widget represented in @path is of type @type, or any subtype of it.
Returns %TRUE if the widget type represented by this path is @type, or a subtype of it.
Adds the class @name to the widget at position @pos in the hierarchy defined in @path. See gtk_style_context_add_class().
Adds the region @name to the widget at position @pos in the hierarchy defined in @path. See gtk_style_context_add_region().
Removes all classes from the widget at position @pos in the hierarchy defined in @path.
Removes all regions from the widget at position @pos in the hierarchy defined in @path.
Returns the name corresponding to the widget found at the position @pos in the widget hierarchy defined by @path
Returns the object name that is at position @pos in the widget hierarchy defined in @path.
Returns the object #GType that is at position @pos in the widget hierarchy defined in @path.
Returns the index into the list of siblings for the element at @pos as returned by gtk_widget_path_iter_get_siblings(). If that function would return %NULL because the element at @pos has no siblings, this function will return 0.
Returns the list of siblings for the element at @pos. If the element was not added with siblings, %NULL is returned.
Returns the state flags corresponding to the widget found at the position @pos in the widget hierarchy defined by @path
Returns %TRUE if the widget at position @pos has the class @name defined, %FALSE otherwise.
Returns %TRUE if the widget at position @pos has the name @name, %FALSE otherwise.
See gtk_widget_path_iter_has_class(). This is a version that operates with GQuarks.
See gtk_widget_path_iter_has_name(). This is a version that operates on #GQuarks.
See gtk_widget_path_iter_has_region(). This is a version that operates with GQuarks.
Returns %TRUE if the widget at position @pos has the class @name defined, %FALSE otherwise.
Returns a list with all the class names defined for the widget at position @pos in the hierarchy defined in @path.
Returns a list with all the region names defined for the widget at position @pos in the hierarchy defined in @path.
Removes the class @name from the widget at position @pos in the hierarchy defined in @path.
Removes the region @name from the widget at position @pos in the hierarchy defined in @path.
Sets the widget name for the widget found at position @pos in the widget hierarchy defined by @path.
Sets the object name for a given position in the widget hierarchy defined by @path.
Sets the object type for a given position in the widget hierarchy defined by @path.
Sets the widget name for the widget found at position @pos in the widget hierarchy defined by @path.
Returns the number of #GtkWidget #GTypes between the represented widget and its topmost container.
Prepends a widget type to the widget hierachy represented by @path.
Dumps the widget path into a string representation. It tries to match the CSS style as closely as possible (Note that there might be paths that cannot be represented in CSS).
Decrements the reference count on @path, freeing the structure if the reference count reaches 0.
the main Gtk struct
GtkWidgetPath is a boxed type that represents a widget hierarchy from the topmost widget, typically a toplevel, to any child. This widget path abstraction is used in #GtkStyleContext on behalf of the real widget in order to query style information.
If you are using GTK+ widgets, you probably will not need to use this API directly, as there is gtk_widget_get_path(), and the style context returned by gtk_widget_get_style_context() will be automatically updated on widget hierarchy changes.
The widget path generation is generally simple:
Defining a button within a window
|[<!-- language="C" --> { GtkWidgetPath *path;
path = gtk_widget_path_new (); gtk_widget_path_append_type (path, GTK_TYPE_WINDOW); gtk_widget_path_append_type (path, GTK_TYPE_BUTTON); } ]|
Although more complex information, such as widget names, or different classes (property that may be used by other widget types) and intermediate regions may be included:
Defining the first tab widget in a notebook
|[<!-- language="C" --> { GtkWidgetPath *path; guint pos;
path = gtk_widget_path_new ();
pos = gtk_widget_path_append_type (path, GTK_TYPE_NOTEBOOK); gtk_widget_path_iter_add_region (path, pos, "tab", GTK_REGION_EVEN | GTK_REGION_FIRST);
pos = gtk_widget_path_append_type (path, GTK_TYPE_LABEL); gtk_widget_path_iter_set_name (path, pos, "first tab label"); } ]|
All this information will be used to match the style information that applies to the described widget.