Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
- Exported types
- Methods
- addChild
- addNamed
- addTitled
- getChildByName
- getHhomogeneous
- getInterpolateSize
- getPage
- getPages
- getTransitionDuration
- getTransitionRunning
- getTransitionType
- getVhomogeneous
- getVisibleChild
- getVisibleChildName
- new
- remove
- setHhomogeneous
- setInterpolateSize
- setTransitionDuration
- setTransitionType
- setVhomogeneous
- setVisibleChild
- setVisibleChildFull
- setVisibleChildName
- Properties
The GtkStack widget is a container which only shows
one of its children at a time. In contrast to GtkNotebook,
GtkStack does not provide a means for users to change the
visible child. Instead, the StackSwitcher
widget can be
used with GtkStack to provide this functionality.
Transitions between pages can be animated as slides or
fades. This can be controlled with stackSetTransitionType
.
These animations respect the Settings
:gtk-enable-animations
setting.
GtkStack maintains a StackPage
object for each added
child, which holds additional per-child properties. You
obtain the StackPage
for a child with stackGetPage
.
GtkStack as GtkBuildable
To set child-specific properties in a .ui file, create GtkStackPage objects explicitly, and set the child widget as a property on it: > > class="GtkStack" id="stack" > child > class="GtkStackPage" > name="name"page1/property > name="title"In the beginning…/property > name="child" > class="GtkLabel" > name="label"It was dark/property > /object > /property > /object > /child
CSS nodes
GtkStack has a single CSS node named stack.
Accessibility
GtkStack uses the GTK_ACCESSIBLE_ROLE_TAB_PANEL
for the stack
pages, which are the accessible parent objects of the child widgets.
Synopsis
- newtype Stack = Stack (ManagedPtr Stack)
- class (GObject o, IsDescendantOf Stack o) => IsStack o
- toStack :: (MonadIO m, IsStack o) => o -> m Stack
- stackAddChild :: (HasCallStack, MonadIO m, IsStack a, IsWidget b) => a -> b -> m StackPage
- stackAddNamed :: (HasCallStack, MonadIO m, IsStack a, IsWidget b) => a -> b -> Maybe Text -> m StackPage
- stackAddTitled :: (HasCallStack, MonadIO m, IsStack a, IsWidget b) => a -> b -> Maybe Text -> Text -> m StackPage
- stackGetChildByName :: (HasCallStack, MonadIO m, IsStack a) => a -> Text -> m (Maybe Widget)
- stackGetHhomogeneous :: (HasCallStack, MonadIO m, IsStack a) => a -> m Bool
- stackGetInterpolateSize :: (HasCallStack, MonadIO m, IsStack a) => a -> m Bool
- stackGetPage :: (HasCallStack, MonadIO m, IsStack a, IsWidget b) => a -> b -> m StackPage
- stackGetPages :: (HasCallStack, MonadIO m, IsStack a) => a -> m SelectionModel
- stackGetTransitionDuration :: (HasCallStack, MonadIO m, IsStack a) => a -> m Word32
- stackGetTransitionRunning :: (HasCallStack, MonadIO m, IsStack a) => a -> m Bool
- stackGetTransitionType :: (HasCallStack, MonadIO m, IsStack a) => a -> m StackTransitionType
- stackGetVhomogeneous :: (HasCallStack, MonadIO m, IsStack a) => a -> m Bool
- stackGetVisibleChild :: (HasCallStack, MonadIO m, IsStack a) => a -> m (Maybe Widget)
- stackGetVisibleChildName :: (HasCallStack, MonadIO m, IsStack a) => a -> m (Maybe Text)
- stackNew :: (HasCallStack, MonadIO m) => m Stack
- stackRemove :: (HasCallStack, MonadIO m, IsStack a, IsWidget b) => a -> b -> m ()
- stackSetHhomogeneous :: (HasCallStack, MonadIO m, IsStack a) => a -> Bool -> m ()
- stackSetInterpolateSize :: (HasCallStack, MonadIO m, IsStack a) => a -> Bool -> m ()
- stackSetTransitionDuration :: (HasCallStack, MonadIO m, IsStack a) => a -> Word32 -> m ()
- stackSetTransitionType :: (HasCallStack, MonadIO m, IsStack a) => a -> StackTransitionType -> m ()
- stackSetVhomogeneous :: (HasCallStack, MonadIO m, IsStack a) => a -> Bool -> m ()
- stackSetVisibleChild :: (HasCallStack, MonadIO m, IsStack a, IsWidget b) => a -> b -> m ()
- stackSetVisibleChildFull :: (HasCallStack, MonadIO m, IsStack a) => a -> Text -> StackTransitionType -> m ()
- stackSetVisibleChildName :: (HasCallStack, MonadIO m, IsStack a) => a -> Text -> m ()
- constructStackHhomogeneous :: (IsStack o, MonadIO m) => Bool -> m (GValueConstruct o)
- getStackHhomogeneous :: (MonadIO m, IsStack o) => o -> m Bool
- setStackHhomogeneous :: (MonadIO m, IsStack o) => o -> Bool -> m ()
- constructStackInterpolateSize :: (IsStack o, MonadIO m) => Bool -> m (GValueConstruct o)
- getStackInterpolateSize :: (MonadIO m, IsStack o) => o -> m Bool
- setStackInterpolateSize :: (MonadIO m, IsStack o) => o -> Bool -> m ()
- getStackPages :: (MonadIO m, IsStack o) => o -> m (Maybe SelectionModel)
- constructStackTransitionDuration :: (IsStack o, MonadIO m) => Word32 -> m (GValueConstruct o)
- getStackTransitionDuration :: (MonadIO m, IsStack o) => o -> m Word32
- setStackTransitionDuration :: (MonadIO m, IsStack o) => o -> Word32 -> m ()
- getStackTransitionRunning :: (MonadIO m, IsStack o) => o -> m Bool
- constructStackTransitionType :: (IsStack o, MonadIO m) => StackTransitionType -> m (GValueConstruct o)
- getStackTransitionType :: (MonadIO m, IsStack o) => o -> m StackTransitionType
- setStackTransitionType :: (MonadIO m, IsStack o) => o -> StackTransitionType -> m ()
- constructStackVhomogeneous :: (IsStack o, MonadIO m) => Bool -> m (GValueConstruct o)
- getStackVhomogeneous :: (MonadIO m, IsStack o) => o -> m Bool
- setStackVhomogeneous :: (MonadIO m, IsStack o) => o -> Bool -> m ()
- constructStackVisibleChild :: (IsStack o, MonadIO m, IsWidget a) => a -> m (GValueConstruct o)
- getStackVisibleChild :: (MonadIO m, IsStack o) => o -> m (Maybe Widget)
- setStackVisibleChild :: (MonadIO m, IsStack o, IsWidget a) => o -> a -> m ()
- constructStackVisibleChildName :: (IsStack o, MonadIO m) => Text -> m (GValueConstruct o)
- getStackVisibleChildName :: (MonadIO m, IsStack o) => o -> m (Maybe Text)
- setStackVisibleChildName :: (MonadIO m, IsStack o) => o -> Text -> m ()
Exported types
Memory-managed wrapper type.
Instances
Eq Stack Source # | |
GObject Stack Source # | |
Defined in GI.Gtk.Objects.Stack | |
ManagedPtrNewtype Stack Source # | |
Defined in GI.Gtk.Objects.Stack toManagedPtr :: Stack -> ManagedPtr Stack | |
TypedObject Stack Source # | |
Defined in GI.Gtk.Objects.Stack | |
HasParentTypes Stack Source # | |
Defined in GI.Gtk.Objects.Stack | |
IsGValue (Maybe Stack) Source # | Convert |
Defined in GI.Gtk.Objects.Stack gvalueGType_ :: IO GType gvalueSet_ :: Ptr GValue -> Maybe Stack -> IO () gvalueGet_ :: Ptr GValue -> IO (Maybe Stack) | |
type ParentTypes Stack Source # | |
Defined in GI.Gtk.Objects.Stack |
class (GObject o, IsDescendantOf Stack o) => IsStack o Source #
Instances
(GObject o, IsDescendantOf Stack o) => IsStack o Source # | |
Defined in GI.Gtk.Objects.Stack |
Methods
Click to display all available methods, including inherited ones
Methods
actionSetEnabled, activate, activateAction, activateDefault, addChild, addController, addCssClass, addMnemonicLabel, addNamed, addTickCallback, addTitled, allocate, bindProperty, bindPropertyFull, childFocus, computeBounds, computeExpand, computePoint, computeTransform, contains, createPangoContext, createPangoLayout, dragCheckThreshold, errorBell, forceFloating, freezeNotify, getv, grabFocus, hasCssClass, hasDefault, hasFocus, hasVisibleFocus, hide, inDestruction, initTemplate, insertActionGroup, insertAfter, insertBefore, isAncestor, isDrawable, isFloating, isFocus, isSensitive, isVisible, keynavFailed, listMnemonicLabels, map, measure, mnemonicActivate, notify, notifyByPspec, observeChildren, observeControllers, pick, queueAllocate, queueDraw, queueResize, realize, ref, refSink, remove, removeController, removeCssClass, removeMnemonicLabel, removeTickCallback, resetProperty, resetRelation, resetState, runDispose, shouldLayout, show, sizeAllocate, snapshotChild, stealData, stealQdata, thawNotify, translateCoordinates, triggerTooltipQuery, unmap, unparent, unrealize, unref, unsetStateFlags, updateProperty, updateRelation, updateState, watchClosure.
Getters
getAccessibleRole, getAllocatedBaseline, getAllocatedHeight, getAllocatedWidth, getAllocation, getAncestor, getBuildableId, getCanFocus, getCanTarget, getChildByName, getChildVisible, getClipboard, getCssClasses, getCssName, getCursor, getData, getDirection, getDisplay, getFirstChild, getFocusChild, getFocusOnClick, getFocusable, getFontMap, getFontOptions, getFrameClock, getHalign, getHasTooltip, getHeight, getHexpand, getHexpandSet, getHhomogeneous, getInterpolateSize, getLastChild, getLayoutManager, getMapped, getMarginBottom, getMarginEnd, getMarginStart, getMarginTop, getName, getNative, getNextSibling, getOpacity, getOverflow, getPage, getPages, getPangoContext, getParent, getPreferredSize, getPrevSibling, getPrimaryClipboard, getProperty, getQdata, getRealized, getReceivesDefault, getRequestMode, getRoot, getScaleFactor, getSensitive, getSettings, getSize, getSizeRequest, getStateFlags, getStyleContext, getTemplateChild, getTooltipMarkup, getTooltipText, getTransitionDuration, getTransitionRunning, getTransitionType, getValign, getVexpand, getVexpandSet, getVhomogeneous, getVisible, getVisibleChild, getVisibleChildName, getWidth.
Setters
setCanFocus, setCanTarget, setChildVisible, setCssClasses, setCursor, setCursorFromName, setData, setDataFull, setDirection, setFocusChild, setFocusOnClick, setFocusable, setFontMap, setFontOptions, setHalign, setHasTooltip, setHexpand, setHexpandSet, setHhomogeneous, setInterpolateSize, setLayoutManager, setMarginBottom, setMarginEnd, setMarginStart, setMarginTop, setName, setOpacity, setOverflow, setParent, setProperty, setReceivesDefault, setSensitive, setSizeRequest, setStateFlags, setTooltipMarkup, setTooltipText, setTransitionDuration, setTransitionType, setValign, setVexpand, setVexpandSet, setVhomogeneous, setVisible, setVisibleChild, setVisibleChildFull, setVisibleChildName.
addChild
:: (HasCallStack, MonadIO m, IsStack a, IsWidget b) | |
=> a |
|
-> b |
|
-> m StackPage | Returns: the |
Adds a child to stack
.
addNamed
:: (HasCallStack, MonadIO m, IsStack a, IsWidget b) | |
=> a |
|
-> b |
|
-> Maybe Text |
|
-> m StackPage | Returns: the |
Adds a child to stack
.
The child is identified by the name
.
addTitled
:: (HasCallStack, MonadIO m, IsStack a, IsWidget b) | |
=> a |
|
-> b |
|
-> Maybe Text |
|
-> Text |
|
-> m StackPage | Returns: the |
Adds a child to stack
.
The child is identified by the name
. The title
will be used by StackSwitcher
to represent
child
in a tab bar, so it should be short.
getChildByName
getHhomogeneous
:: (HasCallStack, MonadIO m, IsStack a) | |
=> a |
|
-> m Bool | Returns: whether |
Gets whether stack
is horizontally homogeneous.
See stackSetHhomogeneous
.
getInterpolateSize
stackGetInterpolateSize Source #
:: (HasCallStack, MonadIO m, IsStack a) | |
=> a |
|
-> m Bool | Returns: |
Returns whether the Stack
is set up to interpolate between
the sizes of children on page switch.
getPage
:: (HasCallStack, MonadIO m, IsStack a, IsWidget b) | |
=> a |
|
-> b |
|
-> m StackPage | Returns: the |
Returns the StackPage
object for child
.
getPages
:: (HasCallStack, MonadIO m, IsStack a) | |
=> a |
|
-> m SelectionModel | Returns: a |
Returns a ListModel
that contains the pages of the stack,
and can be used to keep an up-to-date view. The model also
implements SelectionModel
and can be used to track and
modify the visible page.
getTransitionDuration
stackGetTransitionDuration Source #
:: (HasCallStack, MonadIO m, IsStack a) | |
=> a |
|
-> m Word32 | Returns: the transition duration |
Returns the amount of time (in milliseconds) that
transitions between pages in stack
will take.
getTransitionRunning
stackGetTransitionRunning Source #
:: (HasCallStack, MonadIO m, IsStack a) | |
=> a |
|
-> m Bool | Returns: |
Returns whether the stack
is currently in a transition from one page to
another.
getTransitionType
stackGetTransitionType Source #
:: (HasCallStack, MonadIO m, IsStack a) | |
=> a |
|
-> m StackTransitionType | Returns: the current transition type of |
Gets the type of animation that will be used
for transitions between pages in stack
.
getVhomogeneous
:: (HasCallStack, MonadIO m, IsStack a) | |
=> a |
|
-> m Bool | Returns: whether |
Gets whether stack
is vertically homogeneous.
See stackSetVhomogeneous
.
getVisibleChild
:: (HasCallStack, MonadIO m, IsStack a) | |
=> a |
|
-> m (Maybe Widget) | Returns: the visible child of the |
Gets the currently visible child of stack
, or Nothing
if
there are no visible children.
getVisibleChildName
stackGetVisibleChildName Source #
:: (HasCallStack, MonadIO m, IsStack a) | |
=> a |
|
-> m (Maybe Text) | Returns: the name of the visible child of the |
Returns the name of the currently visible child of stack
, or
Nothing
if there is no visible child.
new
:: (HasCallStack, MonadIO m) | |
=> m Stack | Returns: a new |
Creates a new Stack
container.
remove
:: (HasCallStack, MonadIO m, IsStack a, IsWidget b) | |
=> a |
|
-> b |
|
-> m () |
Removes a child widget from stack
.
setHhomogeneous
setInterpolateSize
stackSetInterpolateSize Source #
:: (HasCallStack, MonadIO m, IsStack a) | |
=> a |
|
-> Bool |
|
-> m () |
setTransitionDuration
stackSetTransitionDuration Source #
:: (HasCallStack, MonadIO m, IsStack a) | |
=> a |
|
-> Word32 |
|
-> m () |
Sets the duration that transitions between pages in stack
will take.
setTransitionType
stackSetTransitionType Source #
:: (HasCallStack, MonadIO m, IsStack a) | |
=> a |
|
-> StackTransitionType |
|
-> m () |
Sets the type of animation that will be used for
transitions between pages in stack
. Available
types include various kinds of fades and slides.
The transition type can be changed without problems at runtime, so it is possible to change the animation based on the page that is about to become current.
setVhomogeneous
setVisibleChild
:: (HasCallStack, MonadIO m, IsStack a, IsWidget b) | |
=> a |
|
-> b |
|
-> m () |
Makes child
the visible child of stack
.
If child
is different from the currently
visible child, the transition between the
two will be animated with the current
transition type of stack
.
Note that the child
widget has to be visible itself
(see widgetShow
) in order to become the visible
child of stack
.
setVisibleChildFull
stackSetVisibleChildFull Source #
:: (HasCallStack, MonadIO m, IsStack a) | |
=> a |
|
-> Text |
|
-> StackTransitionType |
|
-> m () |
Makes the child with the given name visible.
Note that the child widget has to be visible itself
(see widgetShow
) in order to become the visible
child of stack
.
setVisibleChildName
stackSetVisibleChildName Source #
:: (HasCallStack, MonadIO m, IsStack a) | |
=> a |
|
-> Text |
|
-> m () |
Makes the child with the given name visible.
If child
is different from the currently
visible child, the transition between the
two will be animated with the current
transition type of stack
.
Note that the child widget has to be visible itself
(see widgetShow
) in order to become the visible
child of stack
.
Properties
hhomogeneous
True
if the stack allocates the same width for all children.
constructStackHhomogeneous :: (IsStack o, MonadIO m) => Bool -> m (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “hhomogeneous
” property. This is rarely needed directly, but it is used by new
.
getStackHhomogeneous :: (MonadIO m, IsStack o) => o -> m Bool Source #
Get the value of the “hhomogeneous
” property.
When overloading is enabled, this is equivalent to
get
stack #hhomogeneous
setStackHhomogeneous :: (MonadIO m, IsStack o) => o -> Bool -> m () Source #
Set the value of the “hhomogeneous
” property.
When overloading is enabled, this is equivalent to
set
stack [ #hhomogeneous:=
value ]
interpolateSize
No description available in the introspection data.
constructStackInterpolateSize :: (IsStack o, MonadIO m) => Bool -> m (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “interpolate-size
” property. This is rarely needed directly, but it is used by new
.
getStackInterpolateSize :: (MonadIO m, IsStack o) => o -> m Bool Source #
Get the value of the “interpolate-size
” property.
When overloading is enabled, this is equivalent to
get
stack #interpolateSize
setStackInterpolateSize :: (MonadIO m, IsStack o) => o -> Bool -> m () Source #
Set the value of the “interpolate-size
” property.
When overloading is enabled, this is equivalent to
set
stack [ #interpolateSize:=
value ]
pages
No description available in the introspection data.
getStackPages :: (MonadIO m, IsStack o) => o -> m (Maybe SelectionModel) Source #
Get the value of the “pages
” property.
When overloading is enabled, this is equivalent to
get
stack #pages
transitionDuration
No description available in the introspection data.
constructStackTransitionDuration :: (IsStack o, MonadIO m) => Word32 -> m (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “transition-duration
” property. This is rarely needed directly, but it is used by new
.
getStackTransitionDuration :: (MonadIO m, IsStack o) => o -> m Word32 Source #
Get the value of the “transition-duration
” property.
When overloading is enabled, this is equivalent to
get
stack #transitionDuration
setStackTransitionDuration :: (MonadIO m, IsStack o) => o -> Word32 -> m () Source #
Set the value of the “transition-duration
” property.
When overloading is enabled, this is equivalent to
set
stack [ #transitionDuration:=
value ]
transitionRunning
No description available in the introspection data.
getStackTransitionRunning :: (MonadIO m, IsStack o) => o -> m Bool Source #
Get the value of the “transition-running
” property.
When overloading is enabled, this is equivalent to
get
stack #transitionRunning
transitionType
No description available in the introspection data.
constructStackTransitionType :: (IsStack o, MonadIO m) => StackTransitionType -> m (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “transition-type
” property. This is rarely needed directly, but it is used by new
.
getStackTransitionType :: (MonadIO m, IsStack o) => o -> m StackTransitionType Source #
Get the value of the “transition-type
” property.
When overloading is enabled, this is equivalent to
get
stack #transitionType
setStackTransitionType :: (MonadIO m, IsStack o) => o -> StackTransitionType -> m () Source #
Set the value of the “transition-type
” property.
When overloading is enabled, this is equivalent to
set
stack [ #transitionType:=
value ]
vhomogeneous
True
if the stack allocates the same height for all children.
constructStackVhomogeneous :: (IsStack o, MonadIO m) => Bool -> m (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “vhomogeneous
” property. This is rarely needed directly, but it is used by new
.
getStackVhomogeneous :: (MonadIO m, IsStack o) => o -> m Bool Source #
Get the value of the “vhomogeneous
” property.
When overloading is enabled, this is equivalent to
get
stack #vhomogeneous
setStackVhomogeneous :: (MonadIO m, IsStack o) => o -> Bool -> m () Source #
Set the value of the “vhomogeneous
” property.
When overloading is enabled, this is equivalent to
set
stack [ #vhomogeneous:=
value ]
visibleChild
No description available in the introspection data.
constructStackVisibleChild :: (IsStack o, MonadIO m, IsWidget a) => a -> m (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “visible-child
” property. This is rarely needed directly, but it is used by new
.
getStackVisibleChild :: (MonadIO m, IsStack o) => o -> m (Maybe Widget) Source #
Get the value of the “visible-child
” property.
When overloading is enabled, this is equivalent to
get
stack #visibleChild
setStackVisibleChild :: (MonadIO m, IsStack o, IsWidget a) => o -> a -> m () Source #
Set the value of the “visible-child
” property.
When overloading is enabled, this is equivalent to
set
stack [ #visibleChild:=
value ]
visibleChildName
No description available in the introspection data.
constructStackVisibleChildName :: (IsStack o, MonadIO m) => Text -> m (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “visible-child-name
” property. This is rarely needed directly, but it is used by new
.
getStackVisibleChildName :: (MonadIO m, IsStack o) => o -> m (Maybe Text) Source #
Get the value of the “visible-child-name
” property.
When overloading is enabled, this is equivalent to
get
stack #visibleChildName
setStackVisibleChildName :: (MonadIO m, IsStack o) => o -> Text -> m () Source #
Set the value of the “visible-child-name
” property.
When overloading is enabled, this is equivalent to
set
stack [ #visibleChildName:=
value ]