gi-gtk-3.0.32: Gtk bindings
CopyrightWill Thompson Iñaki García Etxebarria and Jonas Platte
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria
Safe HaskellNone
LanguageHaskell2010

GI.Gtk.Objects.Stack

Description

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.

The GtkStack widget was added in GTK+ 3.10.

CSS nodes

GtkStack has a single CSS node named stack.

Synopsis

Exported types

newtype Stack Source #

Memory-managed wrapper type.

Constructors

Stack (ManagedPtr Stack) 

Instances

Instances details
Eq Stack Source # 
Instance details

Defined in GI.Gtk.Objects.Stack

Methods

(==) :: Stack -> Stack -> Bool #

(/=) :: Stack -> Stack -> Bool #

IsGValue Stack Source #

Convert Stack to and from GValue with toGValue and fromGValue.

Instance details

Defined in GI.Gtk.Objects.Stack

GObject Stack Source # 
Instance details

Defined in GI.Gtk.Objects.Stack

Methods

gobjectType :: IO GType #

HasParentTypes Stack Source # 
Instance details

Defined in GI.Gtk.Objects.Stack

type ParentTypes Stack Source # 
Instance details

Defined in GI.Gtk.Objects.Stack

class (GObject o, IsDescendantOf Stack o) => IsStack o Source #

Type class for types which can be safely cast to Stack, for instance with toStack.

Instances

Instances details
(GObject o, IsDescendantOf Stack o) => IsStack o Source # 
Instance details

Defined in GI.Gtk.Objects.Stack

toStack :: (MonadIO m, IsStack o) => o -> m Stack Source #

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

noStack :: Maybe Stack Source #

A convenience alias for Nothing :: Maybe Stack.

Methods

Overloaded methods

addNamed

stackAddNamed Source #

Arguments

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

stack: a Stack

-> b

child: the widget to add

-> Text

name: the name for child

-> m () 

Adds a child to stack. The child is identified by the name.

Since: 3.10

addTitled

stackAddTitled Source #

Arguments

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

stack: a Stack

-> b

child: the widget to add

-> Text

name: the name for child

-> Text

title: a human-readable title for child

-> m () 

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.

Since: 3.10

getChildByName

stackGetChildByName Source #

Arguments

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

stack: a Stack

-> Text

name: the name of the child to find

-> m (Maybe Widget)

Returns: the requested child of the Stack

Finds the child of the Stack with the name given as the argument. Returns Nothing if there is no child with this name.

Since: 3.12

getHhomogeneous

stackGetHhomogeneous Source #

Arguments

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

stack: a Stack

-> m Bool

Returns: whether stack is horizontally homogeneous.

Gets whether stack is horizontally homogeneous. See stackSetHhomogeneous.

Since: 3.16

getHomogeneous

stackGetHomogeneous Source #

Arguments

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

stack: a Stack

-> m Bool

Returns: whether stack is homogeneous.

Gets whether stack is homogeneous. See stackSetHomogeneous.

Since: 3.10

getInterpolateSize

stackGetInterpolateSize Source #

Arguments

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

stack: A Stack

-> m Bool

Returns: True if child sizes are interpolated

Returns wether the Stack is set up to interpolate between the sizes of children on page switch.

Since: 3.18

getTransitionDuration

stackGetTransitionDuration Source #

Arguments

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

stack: a Stack

-> m Word32

Returns: the transition duration

Returns the amount of time (in milliseconds) that transitions between pages in stack will take.

Since: 3.10

getTransitionRunning

stackGetTransitionRunning Source #

Arguments

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

stack: a Stack

-> m Bool

Returns: True if the transition is currently running, False otherwise.

Returns whether the stack is currently in a transition from one page to another.

Since: 3.12

getTransitionType

stackGetTransitionType Source #

Arguments

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

stack: a Stack

-> m StackTransitionType

Returns: the current transition type of stack

Gets the type of animation that will be used for transitions between pages in stack.

Since: 3.10

getVhomogeneous

stackGetVhomogeneous Source #

Arguments

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

stack: a Stack

-> m Bool

Returns: whether stack is vertically homogeneous.

Gets whether stack is vertically homogeneous. See stackSetVhomogeneous.

Since: 3.16

getVisibleChild

stackGetVisibleChild Source #

Arguments

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

stack: a Stack

-> m (Maybe Widget)

Returns: the visible child of the Stack

Gets the currently visible child of stack, or Nothing if there are no visible children.

Since: 3.10

getVisibleChildName

stackGetVisibleChildName Source #

Arguments

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

stack: a Stack

-> m (Maybe Text)

Returns: the name of the visible child of the Stack

Returns the name of the currently visible child of stack, or Nothing if there is no visible child.

Since: 3.10

new

stackNew Source #

Arguments

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

Returns: a new Stack

Creates a new Stack container.

Since: 3.10

setHhomogeneous

stackSetHhomogeneous Source #

Arguments

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

stack: a Stack

-> Bool

hhomogeneous: True to make stack horizontally homogeneous

-> m () 

Sets the Stack to be horizontally homogeneous or not. If it is homogeneous, the Stack will request the same width for all its children. If it isn't, the stack may change width when a different child becomes visible.

Since: 3.16

setHomogeneous

stackSetHomogeneous Source #

Arguments

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

stack: a Stack

-> Bool

homogeneous: True to make stack homogeneous

-> m () 

Sets the Stack to be homogeneous or not. If it is homogeneous, the Stack will request the same size for all its children. If it isn't, the stack may change size when a different child becomes visible.

Since 3.16, homogeneity can be controlled separately for horizontal and vertical size, with the Stack:hhomogeneous and Stack:vhomogeneous.

Since: 3.10

setInterpolateSize

stackSetInterpolateSize Source #

Arguments

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

stack: A Stack

-> Bool

interpolateSize: the new value

-> m () 

Sets whether or not stack will interpolate its size when changing the visible child. If the Stack:interpolate-size property is set to True, stack will interpolate its size between the current one and the one it'll take after changing the visible child, according to the set transition duration.

Since: 3.18

setTransitionDuration

stackSetTransitionDuration Source #

Arguments

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

stack: a Stack

-> Word32

duration: the new duration, in milliseconds

-> m () 

Sets the duration that transitions between pages in stack will take.

Since: 3.10

setTransitionType

stackSetTransitionType Source #

Arguments

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

stack: a Stack

-> StackTransitionType

transition: the new transition type

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

Since: 3.10

setVhomogeneous

stackSetVhomogeneous Source #

Arguments

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

stack: a Stack

-> Bool

vhomogeneous: True to make stack vertically homogeneous

-> m () 

Sets the Stack to be vertically homogeneous or not. If it is homogeneous, the Stack will request the same height for all its children. If it isn't, the stack may change height when a different child becomes visible.

Since: 3.16

setVisibleChild

stackSetVisibleChild Source #

Arguments

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

stack: a Stack

-> b

child: a child of stack

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

Since: 3.10

setVisibleChildFull

stackSetVisibleChildFull Source #

Arguments

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

stack: a Stack

-> Text

name: the name of the child to make visible

-> StackTransitionType

transition: the transition type to use

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

Since: 3.10

setVisibleChildName

stackSetVisibleChildName Source #

Arguments

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

stack: a Stack

-> Text

name: the name of the child to make visible

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

Since: 3.10

Properties

hhomogeneous

True if the stack allocates the same width for all children.

Since: 3.16

constructStackHhomogeneous :: IsStack o => Bool -> IO (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 ]

homogeneous

No description available in the introspection data.

constructStackHomogeneous :: IsStack o => Bool -> IO (GValueConstruct o) Source #

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

getStackHomogeneous :: (MonadIO m, IsStack o) => o -> m Bool Source #

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

get stack #homogeneous

setStackHomogeneous :: (MonadIO m, IsStack o) => o -> Bool -> m () Source #

Set the value of the “homogeneous” property. When overloading is enabled, this is equivalent to

set stack [ #homogeneous := value ]

interpolateSize

No description available in the introspection data.

constructStackInterpolateSize :: IsStack o => Bool -> IO (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 ]

transitionDuration

No description available in the introspection data.

constructStackTransitionDuration :: IsStack o => Word32 -> IO (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 => StackTransitionType -> IO (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.

Since: 3.16

constructStackVhomogeneous :: IsStack o => Bool -> IO (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, IsWidget a) => a -> IO (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 => Text -> IO (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 ]