| Copyright | (c) 2018 Francisco Vallarino |
|---|---|
| License | BSD-3-Clause (see the LICENSE file) |
| Maintainer | fjvallarino@gmail.com |
| Stability | experimental |
| Portability | non-portable |
| Safe Haskell | None |
| Language | Haskell2010 |
Monomer.Widgets.Containers.Stack
Contents
Description
Container which stacks its children along a main axis. The layout algorithm
considers the different type of size requirements and assigns space according to
the logic defined in SizeReq. If the requested fixed space is larger that the
viewport of the stack, the content will overflow.
Synopsis
- data StackCfg
- hstack :: Traversable t => t (WidgetNode s e) -> WidgetNode s e
- hstack_ :: Traversable t => [StackCfg] -> t (WidgetNode s e) -> WidgetNode s e
- vstack :: Traversable t => t (WidgetNode s e) -> WidgetNode s e
- vstack_ :: Traversable t => [StackCfg] -> t (WidgetNode s e) -> WidgetNode s e
- assignStackAreas :: Bool -> Rect -> Seq (WidgetNode s e) -> (Seq Rect, Double)
Configuration
Configuration options for stack:
ignoreEmptyArea: when the widgets do not use all the available space, ignoring the unassigned space allows for mouse events to pass through. This is useful in zstack layers.sizeReqUpdater: allows modifying theSizeReqgenerated by the stack.
Instances
Constructors
hstack :: Traversable t => t (WidgetNode s e) -> WidgetNode s e Source #
Creates a horizontal stack.
hstack_ :: Traversable t => [StackCfg] -> t (WidgetNode s e) -> WidgetNode s e Source #
Creates a horizontal stack. Accepts config.
vstack :: Traversable t => t (WidgetNode s e) -> WidgetNode s e Source #
Creates a vertical stack.
vstack_ :: Traversable t => [StackCfg] -> t (WidgetNode s e) -> WidgetNode s e Source #
Creates a vertical stack. Accepts config.
Helpers
Arguments
| :: Bool | True if horizontal, False for vertical. |
| -> Rect | The available space to assign. |
| -> Seq (WidgetNode s e) | The widgets that will be assigned space. |
| -> (Seq Rect, Double) | The assigned areas and used space in main axis. |
Assigns space from rect to each of the provided widgets based on their size requirements.