`GtkAssistant` is used to represent a complex as a series of steps.
![An example GtkAssistant](assistant.png)
Each step consists of one or more pages. `GtkAssistant` guides the user through the pages, and controls the page flow to collect the data
needed for the operation.
`GtkAssistant` handles which buttons to show and to make sensitive based on page sequence knowledge and the [[email protected]]
of each page in addition to state information like the *completed* and *committed* page statuses.
If you have a case that doesn’t quite fit in `GtkAssistant`s way of handling buttons, you can use the
gtk_assistant_page_custom page type and handle buttons yourself.
`GtkAssistant` maintains a `GtkAssistantPage` object for each added child, which holds additional per-child properties. You obtain the
`GtkAssistantPage` for a child with [[email protected]_page].
GtkAssistant as GtkBuildable
The `GtkAssistant` implementation of the `GtkBuildable` interface exposes the action_area
as internal children with the name
“action_area”.
To add pages to an assistant in `GtkBuilder`, simply add it as a child to the `GtkAssistant` object. If you need to set per-object
properties, create a `GtkAssistantPage` object explicitly, and set the child widget as a property on it.
CSS nodes
`GtkAssistant` has a single CSS node with the name window and style class .assistant.