monomer-1.6.0.1: A GUI library for writing native Haskell applications.
Copyright(c) 2018 Francisco Vallarino
LicenseBSD-3-Clause (see the LICENSE file)
Maintainerfjvallarino@gmail.com
Stabilityexperimental
Portabilitynon-portable
Safe HaskellSafe-Inferred
LanguageHaskell2010

Monomer.Widgets.Containers.Split

Description

Splits the assigned space into two areas, vertically or horizontally, which are assigned to its two child nodes. The space assigned depends on the style and size requirements of each child node.

actionPanel = vstack [
    button "Image 1" ShowImage1,
    button "Image 2" ShowImage2,
    button "Image 3" ShowImage3
  ]
contentPanel = scroll (image activeImage)

mainPanel = hsplit (actionPanel, contentPanel)
Synopsis

Configuration

data SplitCfg s e Source #

Configuration options for split:

Instances

Instances details
Monoid (SplitCfg s e) Source # 
Instance details

Defined in Monomer.Widgets.Containers.Split

Methods

mempty :: SplitCfg s e #

mappend :: SplitCfg s e -> SplitCfg s e -> SplitCfg s e #

mconcat :: [SplitCfg s e] -> SplitCfg s e #

Semigroup (SplitCfg s e) Source # 
Instance details

Defined in Monomer.Widgets.Containers.Split

Methods

(<>) :: SplitCfg s e -> SplitCfg s e -> SplitCfg s e #

sconcat :: NonEmpty (SplitCfg s e) -> SplitCfg s e #

stimes :: Integral b => b -> SplitCfg s e -> SplitCfg s e #

Default (SplitCfg s e) Source # 
Instance details

Defined in Monomer.Widgets.Containers.Split

Methods

def :: SplitCfg s e #

WidgetEvent e => CmbOnChange (SplitCfg s e) Double e Source # 
Instance details

Defined in Monomer.Widgets.Containers.Split

Methods

onChange :: (Double -> e) -> SplitCfg s e Source #

CmbOnChangeReq (SplitCfg s e) s e Double Source # 
Instance details

Defined in Monomer.Widgets.Containers.Split

Methods

onChangeReq :: (Double -> WidgetRequest s e) -> SplitCfg s e Source #

splitHandlePos :: ALens' s Double -> SplitCfg s e Source #

Lens to a model field which provides the handle position.

splitHandlePosV :: Double -> SplitCfg s e Source #

Value which provides the handle position.

splitHandleSize :: Double -> SplitCfg s e Source #

Width of the handle.

splitIgnoreChildResize :: Bool -> SplitCfg s e Source #

Whether to ignore changes in size to its children.

Constructors

hsplit Source #

Arguments

:: WidgetEvent e 
=> (WidgetNode s e, WidgetNode s e)

The child nodes.

-> WidgetNode s e

The created split.

Creates a horizontal split between the two provided nodes.

hsplit_ Source #

Arguments

:: WidgetEvent e 
=> [SplitCfg s e]

The config options.

-> (WidgetNode s e, WidgetNode s e)

The child nodes.

-> WidgetNode s e

The created split.

Creates a horizontal split between the two provided nodes. Accepts config.

vsplit Source #

Arguments

:: WidgetEvent e 
=> (WidgetNode s e, WidgetNode s e)

The child nodes.

-> WidgetNode s e

The created split.

Creates a vertical split between the two provided nodes.

vsplit_ Source #

Arguments

:: WidgetEvent e 
=> [SplitCfg s e]

The config options.

-> (WidgetNode s e, WidgetNode s e)

The child nodes.

-> WidgetNode s e

The created split.

Creates a vertical split between the two provided nodes. Accepts config.