gi-gtk-4.0.5: Gtk bindings
CopyrightWill Thompson and Iñaki García Etxebarria
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria
Safe HaskellSafe-Inferred
LanguageHaskell2010

GI.Gtk.Objects.Assistant

Description

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

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 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 AssistantPageTypeCustom 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 assistantGetPage.

GtkAssistant as GtkBuildable

The GtkAssistant implementation of the GtkBuildable interface exposes the actionArea 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.

Synopsis

Exported types

newtype Assistant Source #

Memory-managed wrapper type.

class (GObject o, IsDescendantOf Assistant o) => IsAssistant o Source #

Type class for types which can be safely cast to Assistant, for instance with toAssistant.

Instances

Instances details
(GObject o, IsDescendantOf Assistant o) => IsAssistant o Source # 
Instance details

Defined in GI.Gtk.Objects.Assistant

toAssistant :: (MonadIO m, IsAssistant o) => o -> m Assistant Source #

Cast to Assistant, for types for which this is known to be safe. For general casts, use castTo.

Methods

Click to display all available methods, including inherited ones

Expand

Methods

actionSetEnabled, activate, activateAction, activateDefault, addActionWidget, addController, addCssClass, addMnemonicLabel, addTickCallback, allocate, appendPage, bindProperty, bindPropertyFull, childFocus, close, commit, computeBounds, computeExpand, computePoint, computeTransform, contains, createPangoContext, createPangoLayout, destroy, dragCheckThreshold, errorBell, forceFloating, freezeNotify, fullscreen, fullscreenOnMonitor, getv, grabFocus, hasCssClass, hasDefault, hasFocus, hasGroup, hasVisibleFocus, hide, inDestruction, initTemplate, insertActionGroup, insertAfter, insertBefore, insertPage, isActive, isAncestor, isDrawable, isFloating, isFocus, isFullscreen, isMaximized, isSensitive, isVisible, keynavFailed, listMnemonicLabels, map, maximize, measure, minimize, mnemonicActivate, nextPage, notify, notifyByPspec, observeChildren, observeControllers, pick, prependPage, present, presentWithTime, previousPage, queueAllocate, queueDraw, queueResize, realize, ref, refSink, removeActionWidget, removeController, removeCssClass, removeMnemonicLabel, removePage, removeTickCallback, resetProperty, resetRelation, resetState, runDispose, shouldLayout, show, sizeAllocate, snapshotChild, stealData, stealQdata, thawNotify, translateCoordinates, triggerTooltipQuery, unfullscreen, unmap, unmaximize, unminimize, unparent, unrealize, unref, unsetStateFlags, updateButtonsState, updateProperty, updateRelation, updateState, watchClosure.

Getters

getAccessibleRole, getAllocatedBaseline, getAllocatedHeight, getAllocatedWidth, getAllocation, getAncestor, getApplication, getBuildableId, getCanFocus, getCanTarget, getChild, getChildVisible, getClipboard, getCssClasses, getCssName, getCurrentPage, getCursor, getData, getDecorated, getDefaultSize, getDefaultWidget, getDeletable, getDestroyWithParent, getDirection, getDisplay, getFirstChild, getFocus, getFocusChild, getFocusOnClick, getFocusVisible, getFocusable, getFontMap, getFontOptions, getFrameClock, getGroup, getHalign, getHandleMenubarAccel, getHasTooltip, getHeight, getHexpand, getHexpandSet, getHideOnClose, getIconName, getLastChild, getLayoutManager, getMapped, getMarginBottom, getMarginEnd, getMarginStart, getMarginTop, getMnemonicsVisible, getModal, getNPages, getName, getNative, getNextSibling, getNthPage, getOpacity, getOverflow, getPage, getPageComplete, getPageTitle, getPageType, getPages, getPangoContext, getParent, getPreferredSize, getPrevSibling, getPrimaryClipboard, getProperty, getQdata, getRealized, getReceivesDefault, getRenderer, getRequestMode, getResizable, getRoot, getScaleFactor, getSensitive, getSettings, getSize, getSizeRequest, getStateFlags, getStyleContext, getSurface, getSurfaceTransform, getTemplateChild, getTitle, getTitlebar, getTooltipMarkup, getTooltipText, getTransientFor, getValign, getVexpand, getVexpandSet, getVisible, getWidth.

Setters

setApplication, setCanFocus, setCanTarget, setChild, setChildVisible, setCssClasses, setCurrentPage, setCursor, setCursorFromName, setData, setDataFull, setDecorated, setDefaultSize, setDefaultWidget, setDeletable, setDestroyWithParent, setDirection, setDisplay, setFocus, setFocusChild, setFocusOnClick, setFocusVisible, setFocusable, setFontMap, setFontOptions, setForwardPageFunc, setHalign, setHandleMenubarAccel, setHasTooltip, setHexpand, setHexpandSet, setHideOnClose, setIconName, setLayoutManager, setMarginBottom, setMarginEnd, setMarginStart, setMarginTop, setMnemonicsVisible, setModal, setName, setOpacity, setOverflow, setPageComplete, setPageTitle, setPageType, setParent, setProperty, setReceivesDefault, setResizable, setSensitive, setSizeRequest, setStartupId, setStateFlags, setTitle, setTitlebar, setTooltipMarkup, setTooltipText, setTransientFor, setValign, setVexpand, setVexpandSet, setVisible.

addActionWidget

assistantAddActionWidget Source #

Arguments

:: (HasCallStack, MonadIO m, IsAssistant a, IsWidget b) 
=> a

assistant: a GtkAssistant

-> b

child: a GtkWidget

-> m () 

Adds a widget to the action area of a GtkAssistant.

appendPage

assistantAppendPage Source #

Arguments

:: (HasCallStack, MonadIO m, IsAssistant a, IsWidget b) 
=> a

assistant: a GtkAssistant

-> b

page: a GtkWidget

-> m Int32

Returns: the index (starting at 0) of the inserted page

Appends a page to the assistant.

commit

assistantCommit Source #

Arguments

:: (HasCallStack, MonadIO m, IsAssistant a) 
=> a

assistant: a GtkAssistant

-> m () 

Erases the visited page history.

GTK will then hide the back button on the current page, and removes the cancel button from subsequent pages.

Use this when the information provided up to the current page is hereafter deemed permanent and cannot be modified or undone. For example, showing a progress page to track a long-running, unreversible operation after the user has clicked apply on a confirmation page.

getCurrentPage

assistantGetCurrentPage Source #

Arguments

:: (HasCallStack, MonadIO m, IsAssistant a) 
=> a

assistant: a GtkAssistant

-> m Int32

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

Returns the page number of the current page.

getNPages

assistantGetNPages Source #

Arguments

:: (HasCallStack, MonadIO m, IsAssistant a) 
=> a

assistant: a GtkAssistant

-> m Int32

Returns: the number of pages in the assistant

Returns the number of pages in the assistant

getNthPage

assistantGetNthPage Source #

Arguments

:: (HasCallStack, MonadIO m, IsAssistant a) 
=> a

assistant: a GtkAssistant

-> Int32

pageNum: the index of a page in the assistant, or -1 to get the last page

-> m (Maybe Widget)

Returns: the child widget, or Nothing if pageNum is out of bounds

Returns the child widget contained in page number pageNum.

getPage

assistantGetPage Source #

Arguments

:: (HasCallStack, MonadIO m, IsAssistant a, IsWidget b) 
=> a

assistant: a GtkAssistant

-> b

child: a child of assistant

-> m AssistantPage

Returns: the GtkAssistantPage for child

Returns the GtkAssistantPage object for child.

getPageComplete

assistantGetPageComplete Source #

Arguments

:: (HasCallStack, MonadIO m, IsAssistant a, IsWidget b) 
=> a

assistant: a GtkAssistant

-> b

page: a page of assistant

-> m Bool

Returns: True if page is complete.

Gets whether page is complete.

getPageTitle

assistantGetPageTitle Source #

Arguments

:: (HasCallStack, MonadIO m, IsAssistant a, IsWidget b) 
=> a

assistant: a GtkAssistant

-> b

page: a page of assistant

-> m Text

Returns: the title for page

Gets the title for page.

getPageType

assistantGetPageType Source #

Arguments

:: (HasCallStack, MonadIO m, IsAssistant a, IsWidget b) 
=> a

assistant: a GtkAssistant

-> b

page: a page of assistant

-> m AssistantPageType

Returns: the page type of page

Gets the page type of page.

getPages

assistantGetPages Source #

Arguments

:: (HasCallStack, MonadIO m, IsAssistant a) 
=> a

assistant: a GtkAssistant

-> m ListModel

Returns: A list model of the pages.

Gets a list model of the assistant pages.

insertPage

assistantInsertPage Source #

Arguments

:: (HasCallStack, MonadIO m, IsAssistant a, IsWidget b) 
=> a

assistant: a GtkAssistant

-> b

page: a GtkWidget

-> Int32

position: the index (starting at 0) at which to insert the page, or -1 to append the page to the assistant

-> m Int32

Returns: the index (starting from 0) of the inserted page

Inserts a page in the assistant at a given position.

new

assistantNew Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> m Assistant

Returns: a newly created GtkAssistant

Creates a new GtkAssistant.

nextPage

assistantNextPage Source #

Arguments

:: (HasCallStack, MonadIO m, IsAssistant a) 
=> a

assistant: a GtkAssistant

-> m () 

Navigate to the next page.

It is a programming error to call this function when there is no next page.

This function is for use when creating pages of the AssistantPageTypeCustom type.

prependPage

assistantPrependPage Source #

Arguments

:: (HasCallStack, MonadIO m, IsAssistant a, IsWidget b) 
=> a

assistant: a GtkAssistant

-> b

page: a GtkWidget

-> m Int32

Returns: the index (starting at 0) of the inserted page

Prepends a page to the assistant.

previousPage

assistantPreviousPage Source #

Arguments

:: (HasCallStack, MonadIO m, IsAssistant a) 
=> a

assistant: a GtkAssistant

-> m () 

Navigate to the previous visited page.

It is a programming error to call this function when no previous page is available.

This function is for use when creating pages of the AssistantPageTypeCustom type.

removeActionWidget

assistantRemoveActionWidget Source #

Arguments

:: (HasCallStack, MonadIO m, IsAssistant a, IsWidget b) 
=> a

assistant: a GtkAssistant

-> b

child: a GtkWidget

-> m () 

Removes a widget from the action area of a GtkAssistant.

removePage

assistantRemovePage Source #

Arguments

:: (HasCallStack, MonadIO m, IsAssistant a) 
=> a

assistant: a GtkAssistant

-> Int32

pageNum: the index of a page in the assistant, or -1 to remove the last page

-> m () 

Removes the pageNum’s page from assistant.

setCurrentPage

assistantSetCurrentPage Source #

Arguments

:: (HasCallStack, MonadIO m, IsAssistant a) 
=> a

assistant: a GtkAssistant

-> Int32

pageNum: index of the page to switch to, starting from 0. If negative, the last page will be used. If greater than the number of pages in the assistant, nothing will be done.

-> m () 

Switches the page to pageNum.

Note that this will only be necessary in custom buttons, as the assistant flow can be set with assistantSetForwardPageFunc.

setForwardPageFunc

assistantSetForwardPageFunc Source #

Arguments

:: (HasCallStack, MonadIO m, IsAssistant a) 
=> a

assistant: a GtkAssistant

-> Maybe AssistantPageFunc

pageFunc: the GtkAssistantPageFunc, or Nothing to use the default one

-> m () 

Sets the page forwarding function to be pageFunc.

This function will be used to determine what will be the next page when the user presses the forward button. Setting pageFunc to Nothing will make the assistant to use the default forward function, which just goes to the next visible page.

setPageComplete

assistantSetPageComplete Source #

Arguments

:: (HasCallStack, MonadIO m, IsAssistant a, IsWidget b) 
=> a

assistant: a GtkAssistant

-> b

page: a page of assistant

-> Bool

complete: the completeness status of the page

-> m () 

Sets whether page contents are complete.

This will make assistant update the buttons state to be able to continue the task.

setPageTitle

assistantSetPageTitle Source #

Arguments

:: (HasCallStack, MonadIO m, IsAssistant a, IsWidget b) 
=> a

assistant: a GtkAssistant

-> b

page: a page of assistant

-> Text

title: the new title for page

-> m () 

Sets a title for page.

The title is displayed in the header area of the assistant when page is the current page.

setPageType

assistantSetPageType Source #

Arguments

:: (HasCallStack, MonadIO m, IsAssistant a, IsWidget b) 
=> a

assistant: a GtkAssistant

-> b

page: a page of assistant

-> AssistantPageType

type: the new type for page

-> m () 

Sets the page type for page.

The page type determines the page behavior in the assistant.

updateButtonsState

assistantUpdateButtonsState Source #

Arguments

:: (HasCallStack, MonadIO m, IsAssistant a) 
=> a

assistant: a GtkAssistant

-> m () 

Forces assistant to recompute the buttons state.

GTK automatically takes care of this in most situations, e.g. when the user goes to a different page, or when the visibility or completeness of a page changes.

One situation where it can be necessary to call this function is when changing a value on the current page affects the future page flow of the assistant.

Properties

pages

GListModel containing the pages.

getAssistantPages :: (MonadIO m, IsAssistant o) => o -> m (Maybe ListModel) Source #

Get the value of the “pages” property. When overloading is enabled, this is equivalent to

get assistant #pages

useHeaderBar

True if the assistant uses a GtkHeaderBar for action buttons instead of the action-area.

For technical reasons, this property is declared as an integer property, but you should only set it to True or False.

constructAssistantUseHeaderBar :: (IsAssistant o, MonadIO m) => Int32 -> m (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “use-header-bar” property. This is rarely needed directly, but it is used by new.

getAssistantUseHeaderBar :: (MonadIO m, IsAssistant o) => o -> m Int32 Source #

Get the value of the “use-header-bar” property. When overloading is enabled, this is equivalent to

get assistant #useHeaderBar

Signals

apply

type AssistantApplyCallback = IO () Source #

Emitted when the apply button is clicked.

The default behavior of the GtkAssistant is to switch to the page after the current page, unless the current page is the last one.

A handler for the apply signal should carry out the actions for which the wizard has collected data. If the action takes a long time to complete, you might consider putting a page of type AssistantPageTypeProgress after the confirmation page and handle this operation within the Assistant::prepare signal of the progress page.

afterAssistantApply :: (IsAssistant a, MonadIO m) => a -> ((?self :: a) => AssistantApplyCallback) -> m SignalHandlerId Source #

Connect a signal handler for the apply signal, to be run after the default handler. When overloading is enabled, this is equivalent to

after assistant #apply callback

By default the object invoking the signal is not passed to the callback. If you need to access it, you can use the implit ?self parameter. Note that this requires activating the ImplicitParams GHC extension.

onAssistantApply :: (IsAssistant a, MonadIO m) => a -> ((?self :: a) => AssistantApplyCallback) -> m SignalHandlerId Source #

Connect a signal handler for the apply signal, to be run before the default handler. When overloading is enabled, this is equivalent to

on assistant #apply callback

cancel

type AssistantCancelCallback = IO () Source #

Emitted when then the cancel button is clicked.

afterAssistantCancel :: (IsAssistant a, MonadIO m) => a -> ((?self :: a) => AssistantCancelCallback) -> m SignalHandlerId Source #

Connect a signal handler for the cancel signal, to be run after the default handler. When overloading is enabled, this is equivalent to

after assistant #cancel callback

By default the object invoking the signal is not passed to the callback. If you need to access it, you can use the implit ?self parameter. Note that this requires activating the ImplicitParams GHC extension.

onAssistantCancel :: (IsAssistant a, MonadIO m) => a -> ((?self :: a) => AssistantCancelCallback) -> m SignalHandlerId Source #

Connect a signal handler for the cancel signal, to be run before the default handler. When overloading is enabled, this is equivalent to

on assistant #cancel callback

close

type AssistantCloseCallback = IO () Source #

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 AssistantPageTypeConfirm) is clicked.

afterAssistantClose :: (IsAssistant a, MonadIO m) => a -> ((?self :: a) => AssistantCloseCallback) -> m SignalHandlerId Source #

Connect a signal handler for the close signal, to be run after the default handler. When overloading is enabled, this is equivalent to

after assistant #close callback

By default the object invoking the signal is not passed to the callback. If you need to access it, you can use the implit ?self parameter. Note that this requires activating the ImplicitParams GHC extension.

onAssistantClose :: (IsAssistant a, MonadIO m) => a -> ((?self :: a) => AssistantCloseCallback) -> m SignalHandlerId Source #

Connect a signal handler for the close signal, to be run before the default handler. When overloading is enabled, this is equivalent to

on assistant #close callback

escape

type AssistantEscapeCallback = IO () Source #

The action signal for the Escape binding.

afterAssistantEscape :: (IsAssistant a, MonadIO m) => a -> ((?self :: a) => AssistantEscapeCallback) -> m SignalHandlerId Source #

Connect a signal handler for the escape signal, to be run after the default handler. When overloading is enabled, this is equivalent to

after assistant #escape callback

By default the object invoking the signal is not passed to the callback. If you need to access it, you can use the implit ?self parameter. Note that this requires activating the ImplicitParams GHC extension.

onAssistantEscape :: (IsAssistant a, MonadIO m) => a -> ((?self :: a) => AssistantEscapeCallback) -> m SignalHandlerId Source #

Connect a signal handler for the escape signal, to be run before the default handler. When overloading is enabled, this is equivalent to

on assistant #escape callback

prepare

type AssistantPrepareCallback Source #

Arguments

 = Widget

page: the current page

-> IO () 

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

A handler for this signal can do any preparations which are necessary before showing page.

afterAssistantPrepare :: (IsAssistant a, MonadIO m) => a -> ((?self :: a) => AssistantPrepareCallback) -> m SignalHandlerId Source #

Connect a signal handler for the prepare signal, to be run after the default handler. When overloading is enabled, this is equivalent to

after assistant #prepare callback

By default the object invoking the signal is not passed to the callback. If you need to access it, you can use the implit ?self parameter. Note that this requires activating the ImplicitParams GHC extension.

onAssistantPrepare :: (IsAssistant a, MonadIO m) => a -> ((?self :: a) => AssistantPrepareCallback) -> m SignalHandlerId Source #

Connect a signal handler for the prepare signal, to be run before the default handler. When overloading is enabled, this is equivalent to

on assistant #prepare callback