Assistant

GtkAssistant is used to represent a complex as a series of steps.

An example GtkAssistant

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 [enum@Gtk.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 GtkAssistants 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 [method@Gtk.Assistant.get_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.

Constructors

this
this(GtkAssistant* gtkAssistant, bool ownedRef)

Sets our main struct and passes it to the parent class.

this
this()

Creates a new GtkAssistant.

Members

Functions

addActionWidget
void addActionWidget(Widget child)

Adds a widget to the action area of a GtkAssistant.

addOnApply
gulong addOnApply(void delegate(Assistant) dlg, ConnectFlags connectFlags)

Emitted when the apply button is clicked.

addOnCancel
gulong addOnCancel(void delegate(Assistant) dlg, ConnectFlags connectFlags)

Emitted when then the cancel button is clicked.

addOnClose
gulong addOnClose(void delegate(Assistant) dlg, ConnectFlags connectFlags)

Emitted either when the close button of a summary page is clicked, or when the apply button in the last page in the flow (of type %GTK_ASSISTANT_PAGE_CONFIRM) is clicked.

addOnEscape
gulong addOnEscape(void delegate(Assistant) dlg, ConnectFlags connectFlags)

The action signal for the Escape binding.

addOnPrepare
gulong addOnPrepare(void delegate(Widget, Assistant) dlg, ConnectFlags connectFlags)

Emitted when a new page is set as the assistant's current page, before making the new page visible.

appendPage
int appendPage(Widget page)

Appends a page to the @assistant.

commit
void commit()

Erases the visited page history.

getAssistantStruct
GtkAssistant* getAssistantStruct(bool transferOwnership)

Get the main Gtk struct

getCurrentPage
int getCurrentPage()

Returns the page number of the current page.

getNPages
int getNPages()

Returns the number of pages in the @assistant

getNthPage
Widget getNthPage(int pageNum)

Returns the child widget contained in page number @page_num.

getPage
AssistantPage getPage(Widget child)

Returns the GtkAssistantPage object for @child.

getPageComplete
bool getPageComplete(Widget page)

Gets whether @page is complete.

getPageTitle
string getPageTitle(Widget page)

Gets the title for @page.

getPageType
GtkAssistantPageType getPageType(Widget page)

Gets the page type of @page.

getPages
ListModelIF getPages()

Gets a list model of the assistant pages.

getStruct
void* getStruct()

the main Gtk struct as a void*

insertPage
int insertPage(Widget page, int position)

Inserts a page in the @assistant at a given position.

nextPage
void nextPage()

Navigate to the next page.

prependPage
int prependPage(Widget page)

Prepends a page to the @assistant.

previousPage
void previousPage()

Navigate to the previous visited page.

removeActionWidget
void removeActionWidget(Widget child)

Removes a widget from the action area of a GtkAssistant.

removePage
void removePage(int pageNum)

Removes the @page_num’s page from @assistant.

setCurrentPage
void setCurrentPage(int pageNum)

Switches the page to @page_num.

setForwardPageFunc
void setForwardPageFunc(GtkAssistantPageFunc pageFunc, void* data, GDestroyNotify destroy)

Sets the page forwarding function to be @page_func.

setPageComplete
void setPageComplete(Widget page, bool complete)

Sets whether @page contents are complete.

setPageTitle
void setPageTitle(Widget page, string title)

Sets a title for @page.

setPageType
void setPageType(Widget page, GtkAssistantPageType type)

Sets the page type for @page.

updateButtonsState
void updateButtonsState()

Forces @assistant to recompute the buttons state.

Static functions

getType
GType getType()

Variables

gtkAssistant
GtkAssistant* gtkAssistant;

the main Gtk struct

Inherited Members

From Window

gtkWindow
GtkWindow* gtkWindow;

the main Gtk struct

getWindowStruct
GtkWindow* getWindowStruct(bool transferOwnership)

Get the main Gtk struct

getStruct
void* getStruct()

the main Gtk struct as a void*

__anonymous
mixin NativeT!(GtkWindow)
Undocumented in source.
__anonymous
mixin RootT!(GtkWindow)
Undocumented in source.
__anonymous
mixin ShortcutManagerT!(GtkWindow)
Undocumented in source.
getType
GType getType()
getDefaultIconName
string getDefaultIconName()

Returns the fallback icon name for windows.

getToplevels
ListModelIF getToplevels()

Returns a list of all existing toplevel windows.

listToplevels
ListG listToplevels()

Returns a list of all existing toplevel windows.

setAutoStartupNotification
void setAutoStartupNotification(bool setting)

Sets whether the window should request startup notification.

setDefaultIconName
void setDefaultIconName(string name)

Sets an icon to be used as fallback.

setInteractiveDebugging
void setInteractiveDebugging(bool enable)

Opens or closes the interactive debugger.

close
void close()

Requests that the window is closed.

destroy
void destroy()

Drop the internal reference GTK holds on toplevel windows.

fullscreen
void fullscreen()

Asks to place @window in the fullscreen state.

fullscreenOnMonitor
void fullscreenOnMonitor(MonitorGdk monitor)

Asks to place @window in the fullscreen state on the given @monitor.

getApplication
Application getApplication()

Gets the GtkApplication associated with the window.

getChild
Widget getChild()

Gets the child widget of @window.

getDecorated
bool getDecorated()

Returns whether the window has been set to have decorations.

getDefaultSize
void getDefaultSize(int width, int height)

Gets the default size of the window.

getDefaultWidget
Widget getDefaultWidget()

Returns the default widget for @window.

getDeletable
bool getDeletable()

Returns whether the window has been set to have a close button.

getDestroyWithParent
bool getDestroyWithParent()

Returns whether the window will be destroyed with its transient parent.

getFocus
Widget getFocus()

Retrieves the current focused widget within the window.

getFocusVisible
bool getFocusVisible()

Gets whether “focus rectangles” are supposed to be visible.

getGroup
WindowGroup getGroup()

Returns the group for @window.

getHandleMenubarAccel
bool getHandleMenubarAccel()

Returns whether this window reacts to F10 key presses by activating a menubar it contains.

getHideOnClose
bool getHideOnClose()

Returns whether the window will be hidden when the close button is clicked.

getIconName
string getIconName()

Returns the name of the themed icon for the window.

getMnemonicsVisible
bool getMnemonicsVisible()

Gets whether mnemonics are supposed to be visible.

getModal
bool getModal()

Returns whether the window is modal.

getResizable
bool getResizable()

Gets the value set by gtk_window_set_resizable().

getTitle
string getTitle()

Retrieves the title of the window.

getTitlebar
Widget getTitlebar()

Returns the custom titlebar that has been set with gtk_window_set_titlebar().

getTransientFor
Window getTransientFor()

Fetches the transient parent for this window.

hasGroup
bool hasGroup()

Returns whether @window has an explicit window group.

isActive
bool isActive()

Returns whether the window is part of the current active toplevel.

isFullscreen
bool isFullscreen()

Retrieves the current fullscreen state of @window.

isMaximized
bool isMaximized()

Retrieves the current maximized state of @window.

maximize
void maximize()

Asks to maximize @window, so that it fills the screen.

minimize
void minimize()

Asks to minimize the specified @window.

present
void present()

Presents a window to the user.

presentWithTime
void presentWithTime(uint timestamp)

Presents a window to the user.

setApplication
void setApplication(Application application)

Sets or unsets the GtkApplication associated with the window.

setChild
void setChild(Widget child)

Sets the child widget of @window.

setDecorated
void setDecorated(bool setting)

Sets whether the window should be decorated.

setDefaultSize
void setDefaultSize(int width, int height)

Sets the default size of a window.

setDefaultWidget
void setDefaultWidget(Widget defaultWidget)

Sets the default widget.

setDeletable
void setDeletable(bool setting)

Sets whether the window should be deletable.

setDestroyWithParent
void setDestroyWithParent(bool setting)

If @setting is %TRUE, then destroying the transient parent of @window will also destroy @window itself.

setDisplay
void setDisplay(Display display)

Sets the GdkDisplay where the @window is displayed.

setFocus
void setFocus(Widget focus)

Sets the focus widget.

setFocusVisible
void setFocusVisible(bool setting)

Sets whether “focus rectangles” are supposed to be visible.

setHandleMenubarAccel
void setHandleMenubarAccel(bool handleMenubarAccel)

Sets whether this window should react to F10 key presses by activating a menubar it contains.

setHideOnClose
void setHideOnClose(bool setting)

If @setting is %TRUE, then clicking the close button on the window will not destroy it, but only hide it.

setIconName
void setIconName(string name)

Sets the icon for the window from a named themed icon.

setMnemonicsVisible
void setMnemonicsVisible(bool setting)

Sets whether mnemonics are supposed to be visible.

setModal
void setModal(bool modal)

Sets a window modal or non-modal.

setResizable
void setResizable(bool resizable)

Sets whether the user can resize a window.

setStartupId
void setStartupId(string startupId)

Sets the startup notification ID.

setTitle
void setTitle(string title)

Sets the title of the GtkWindow.

setTitlebar
void setTitlebar(Widget titlebar)

Sets a custom titlebar for @window.

setTransientFor
void setTransientFor(Window parent)

Dialog windows should be set transient for the main application window they were spawned from. This allows window managers to e.g. keep the dialog on top of the main window, or center the dialog over the main window. [ctor@Gtk.Dialog.new_with_buttons] and other convenience functions in GTK will sometimes call gtk_window_set_transient_for() on your behalf.

unfullscreen
void unfullscreen()

Asks to remove the fullscreen state for @window, and return to its previous state.

unmaximize
void unmaximize()

Asks to unmaximize @window.

unminimize
void unminimize()

Asks to unminimize the specified @window.

addOnActivateDefault
gulong addOnActivateDefault(void delegate(Window) dlg, ConnectFlags connectFlags)

Emitted when the user activates the default widget of @window.

addOnActivateFocus
gulong addOnActivateFocus(void delegate(Window) dlg, ConnectFlags connectFlags)

Emitted when the user activates the currently focused widget of @window.

addOnCloseRequest
gulong addOnCloseRequest(bool delegate(Window) dlg, ConnectFlags connectFlags)

Emitted when the user clicks on the close button of the window.

addOnEnableDebugging
gulong addOnEnableDebugging(bool delegate(bool, Window) dlg, ConnectFlags connectFlags)

Emitted when the user enables or disables interactive debugging.

addOnKeysChanged
gulong addOnKeysChanged(void delegate(Window) dlg, ConnectFlags connectFlags)

emitted when the set of accelerators or mnemonics that are associated with @window changes.

Meta