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
.
widget type to append
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.
a widget path describing a list of siblings. This path may not contain any siblings itself and it must not be modified afterwards.
index into siblings
for where the added element is positioned.
Returns a copy of 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.
Returns %TRUE if any of the parents of the widget represented
in path
is of type type,
or any subtype of it.
widget type to check in parents
Returns %TRUE if the widget type represented by this path
is type,
or a subtype of it.
widget type to match
Adds the class name
to the widget at position pos
in
the hierarchy defined in path
. See
gtk_style_context_add_class().
position to modify, -1 for the path head
a class name
Adds the region name
to the widget at position pos
in
the hierarchy defined in path
. See
gtk_style_context_add_region().
Region names must only contain lowercase letters and “-”, starting always with a lowercase letter.
position to modify, -1 for the path head
region name
flags affecting the region
Removes all classes from the widget at position pos
in the
hierarchy defined in path
.
position to modify, -1 for the path head
Removes all regions from the widget at position pos
in the
hierarchy defined in path
.
position to modify, -1 for the path head
Returns the name corresponding to the widget found at
the position pos
in the widget hierarchy defined by
path
position to get the widget name for, -1 for the path head
Returns the object name that is at position pos
in the widget
hierarchy defined in path
.
position to get the object name for, -1 for the path head
Returns the object #GType that is at position pos
in the widget
hierarchy defined in path
.
position to get the object type for, -1 for the path head
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.
position to get the sibling index for, -1 for the path head
Returns the list of siblings for the element at pos
. If the element
was not added with siblings, %NULL is returned.
position to get the siblings for, -1 for the path head
Returns the state flags corresponding to the widget found at
the position pos
in the widget hierarchy defined by
path
position to get the state for, -1 for the path head
Returns %TRUE if the widget at position pos
has the class name
defined, %FALSE otherwise.
position to query, -1 for the path head
class name
Returns %TRUE if the widget at position pos
has the name name,
%FALSE otherwise.
position to query, -1 for the path head
a widget name
See gtk_widget_path_iter_has_class(). This is a version that operates with GQuarks.
position to query, -1 for the path head
class name as a #GQuark
See gtk_widget_path_iter_has_name(). This is a version that operates on #GQuarks.
position to query, -1 for the path head
widget name as a #GQuark
See gtk_widget_path_iter_has_region(). This is a version that operates with GQuarks.
position to query, -1 for the path head
region name as a #GQuark
Returns %TRUE if the widget at position pos
has the class name
defined, %FALSE otherwise.
position to query, -1 for the path head
region name
Returns a list with all the class names defined for the widget
at position pos
in the hierarchy defined in path
.
position to query, -1 for the path head
Returns a list with all the region names defined for the widget
at position pos
in the hierarchy defined in path
.
position to query, -1 for the path head
Removes the class name
from the widget at position pos
in
the hierarchy defined in path
.
position to modify, -1 for the path head
class name
Removes the region name
from the widget at position pos
in
the hierarchy defined in path
.
position to modify, -1 for the path head
region name
Sets the widget name for the widget found at position pos
in the widget hierarchy defined by path
.
position to modify, -1 for the path head
widget name
Sets the object name for a given position in the widget hierarchy
defined by path
.
When set, the object name overrides the object type when matching CSS.
position to modify, -1 for the path head
object name to set or %NULL to unset
Sets the object type for a given position in the widget hierarchy
defined by path
.
position to modify, -1 for the path head
object type to set
Sets the widget name for the widget found at position pos
in the widget hierarchy defined by path
.
If you want to update just a single state flag, you need to do this manually, as this function updates all state flags.
gtk_widget_path_iter_set_state (path, pos, gtk_widget_path_iter_get_state (path, pos) | flag);
gtk_widget_path_iter_set_state (path, pos, gtk_widget_path_iter_get_state (path, pos) & ~flag);
position to modify, -1 for the path head
state flags
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
.
widget type to prepend
Increments the reference count on 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).
The main use of this code is for debugging purposes, so that you can g_print() the path or dump it in a gdb session.
Decrements the reference count on path,
freeing the structure
if the reference count reaches 0.
Returns an empty widget path.
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
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
All this information will be used to match the style information that applies to the described widget.