gtk.assistant

Module for [Assistant] class

Types 3

gtk.assistant.Assistant is used to represent a complex as a series of steps.

!An example GtkAssistant

Each step consists of one or more pages. gtk.assistant.Assistant guides the user through the pages, and controls the page flow to collect the data needed for the operation.

gtk.assistant.Assistant handles which buttons to show and to make sensitive based on page sequence knowledge and the gtk.types.AssistantPageType 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 gtk.assistant.Assistants way of handling buttons, you can use the gtk.types.AssistantPageType.Custom page type and handle buttons yourself.

gtk.assistant.Assistant maintains a gtk.assistant_page.AssistantPage object for each added child, which holds additional per-child properties. You obtain the gtk.assistant_page.AssistantPage for a child with gtk.assistant.Assistant.getPage.

GtkAssistant as GtkBuildable

The gtk.assistant.Assistant implementation of the gtk.buildable.Buildable interface exposes the @action_area as internal children with the name “action_area”.

To add pages to an assistant in gtk.builder.Builder, simply add it as a child to the gtk.assistant.Assistant object. If you need to set per-object properties, create a gtk.assistant_page.AssistantPage object explicitly, and set the child widget as a property on it.

CSS nodes

gtk.assistant.Assistant has a single CSS node with the name window and style class .assistant.

Deprecated

This widget will be removed in GTK 5
Methods
GType _getGType() static nothrow
GType _gType() @property nothrow
Assistant self() nothrowReturns `this`, for use in `with` statements.
AssistantGidBuilder builder() static nothrowGet builder for [gtk.assistant.Assistant] Returns: New builder object
gio.list_model.ListModel pages() @property nothrowGet `pages` property. Returns: [gio.list_model.ListModel] containing the pages.
int useHeaderBar() @property nothrowGet `useHeaderBar` property. Returns: true if the assistant uses a [gtk.header_bar.HeaderBar] for action buttons instead of the action-area.
void addActionWidget(gtk.widget.Widget child) nothrowAdds a widget to the action area of a [gtk.assistant.Assistant].
int appendPage(gtk.widget.Widget page) nothrowAppends a page to the assistant.
void commit() nothrowErases the visited page history.
int getCurrentPage() nothrowReturns the page number of the current page. Returns: The index (starting from 0) of the current page in the assistant, or -1 if the assistant has no pages, or no current page
int getNPages() nothrowReturns the number of pages in the assistant Returns: the number of pages in the assistant
gtk.widget.Widget getNthPage(int pageNum) nothrowReturns the child widget contained in page number page_num.
gtk.assistant_page.AssistantPage getPage(gtk.widget.Widget child) nothrowReturns the [gtk.assistant_page.AssistantPage] object for child.
bool getPageComplete(gtk.widget.Widget page) nothrowGets whether page is complete.
string getPageTitle(gtk.widget.Widget page) nothrowGets the title for page.
gtk.types.AssistantPageType getPageType(gtk.widget.Widget page) nothrowGets the page type of page.
gio.list_model.ListModel getPages() nothrowGets a list model of the assistant pages. Returns: A list model of the pages.
int insertPage(gtk.widget.Widget page, int position) nothrowInserts a page in the assistant at a given position.
void nextPage() nothrowNavigate to the next page.
int prependPage(gtk.widget.Widget page) nothrowPrepends a page to the assistant.
void previousPage() nothrowNavigate to the previous visited page.
void removeActionWidget(gtk.widget.Widget child) nothrowRemoves a widget from the action area of a [gtk.assistant.Assistant].
void removePage(int pageNum) nothrowRemoves the page_num’s page from assistant.
void setCurrentPage(int pageNum) nothrowSwitches the page to page_num.
void setForwardPageFunc(gtk.types.AssistantPageFunc pageFunc = null) nothrowSets the page forwarding function to be page_func.
void setPageComplete(gtk.widget.Widget page, bool complete) nothrowSets whether page contents are complete.
void setPageTitle(gtk.widget.Widget page, string title) nothrowSets a title for page.
void setPageType(gtk.widget.Widget page, gtk.types.AssistantPageType type) nothrowSets the page type for page.
void updateButtonsState() nothrowForces assistant to recompute the buttons state.
gulong connectApply(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == void) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] : gtk.assistant.Assistant))) && Parameters!T.length < 2) nothrowConnect to `Apply` signal.
gulong connectCancel(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == void) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] : gtk.assistant.Assistant))) && Parameters!T.length < 2) nothrowConnect to `Cancel` signal.
gulong connectClose(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == void) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] : gtk.assistant.Assistant))) && Parameters!T.length < 2) nothrowConnect to `Close` signal.
gulong connectEscape(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == void) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] : gtk.assistant.Assistant))) && Parameters!T.length < 2) nothrowConnect to `Escape` signal.
gulong connectPrepare(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == void) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] : gtk.widget.Widget))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] : gtk.assistant.Assistant))) && Parameters!T.length < 3) nothrowConnect to `Prepare` signal.
Constructors
this(void * ptr, Flag!"Take" take)
this()Creates a new [gtk.assistant.Assistant]. Returns: a newly created [gtk.assistant.Assistant]

Fluent builder implementation template for gtk.assistant.Assistant

Methods
T useHeaderBar(int propval) nothrowSet `useHeaderBar` property. Params: propval = true if the assistant uses a [gtk.header_bar.HeaderBar] for action buttons instead of the action-area.

Fluent builder for gtk.assistant.Assistant

Methods
Assistant build() nothrowCreate object from builder. Returns: New object