Safe Haskell | None |
---|---|
Language | Haskell2010 |
- data HSplit s t = HSplit {
- _leftWidget :: s
- _rightWidget :: t
- _layout :: Layout
- data Layout
- data Focus
- leftWidget :: forall s t s. Lens (HSplit s t) (HSplit s t) s s
- rightWidget :: forall s t t. Lens (HSplit s t) (HSplit s t) t t
- layout :: forall s t. Lens' (HSplit s t) Layout
- currentWidget :: Lens' (HSplit s t) (Either s t)
- leftWidgetFocused :: Traversal' (HSplit s t) s
- rightWidgetFocused :: Traversal' (HSplit s t) t
- (%) :: Integral a => a -> a -> Ratio a
Split-view widget state
The internal state of the split-view widget. Tracks the state of both child widgets and the current layout.
HSplit | |
|
Auto-generated lenses
Additional lenses
currentWidget :: Lens' (HSplit s t) (Either s t) Source #
The currently focused child widget
>>>
view currentWidget $ HSplit { _leftWidget = "foo", _layout = LeftOnly }
Left "foo"
leftWidgetFocused :: Traversal' (HSplit s t) s Source #
Traverses the left widget if focused
>>>
has leftWidgetFocused $ HSplit { _layout = LeftOnly }
True
>>>
has leftWidgetFocused $ HSplit { _layout = RightOnly }
False
>>>
has leftWidgetFocused $ HSplit { _layout = Split FocusLeft (1 % 2) }
True
rightWidgetFocused :: Traversal' (HSplit s t) t Source #
Traverses the right widget if focused
>>>
has rightWidgetFocused $ HSplit { _layout = RightOnly }
True
>>>
has rightWidgetFocused $ HSplit { _layout = LeftOnly }
False
>>>
has rightWidgetFocused $ HSplit { _layout = Split FocusRight (1 % 2) }
True