monomer-1.4.0.0: 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 HaskellNone
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
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 #

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 #

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 :: WidgetEvent e => (WidgetNode s e, WidgetNode s e) -> WidgetNode s e Source #

Creates a horizontal split between the two provided nodes.

hsplit_ :: WidgetEvent e => [SplitCfg s e] -> (WidgetNode s e, WidgetNode s e) -> WidgetNode s e Source #

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

vsplit :: WidgetEvent e => (WidgetNode s e, WidgetNode s e) -> WidgetNode s e Source #

Creates a vertical split between the two provided nodes.

vsplit_ :: WidgetEvent e => [SplitCfg s e] -> (WidgetNode s e, WidgetNode s e) -> WidgetNode s e Source #

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