Package: gtk

GBoxed gtk-widget-path

Superclasses

common-lisp:standard-object, common-lisp:t

Documented Subclasses

None

Direct Slots

None

Details

The gtk-widget-path structure 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 the gtk-style-context implementation 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 the gtk-widget-path function, and the style context returned by the gtk-widget-style-context function will be automatically updated on widget hierarchy changes.

Example

Defining a button within a window:
(let ((path (gtk-widget-path-new)))
  (gtk-widget-path-append-type path "GtkWindow")
  (gtk-widget-path-append-type path "GtkButton")
  ... )    
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:
(let ((path (gtk-widget-path-new)))
  (gtk-widget-path-iter-add-region
      path
      (gtk-widget-path-append-type path "GtkNotebook")
      "tab"
      '(:even :first))
  (setf (gtk-widget-path-iter-name
            path
            (gtk-widget-path-append-type path "GtkLabel"))
        "first tab label")
  ... )    
All this information will be used to match the style information that applies to the described widget.
 

See also

2021-11-27