yi-0.8.1: The Haskell-Scriptable Editor

Safe HaskellNone




data Tab Source

A tab, containing a collection of windows.


Eq Tab

Equality on tab identity (the tkey)

Show Tab 
Binary Tab 
Typeable * Tab 

tabWindowsA :: Functor f => (PointedList Window -> f (PointedList Window)) -> Tab -> f Tab Source

Accessor for the windows. If the windows (but not the focus) have changed when setting, then a relayout will be triggered to preserve the internal invariant.

tabLayoutManagerA :: Functor f => (AnyLayoutManager -> f AnyLayoutManager) -> Tab -> f Tab Source

Accessor for the layout manager. When setting, will trigger a relayout if the layout manager has changed.

tabDividerPositionA :: DividerRef -> Lens' Tab DividerPosition Source

Gets / sets the position of the divider with the given reference. The caller must ensure that the DividerRef is valid, otherwise an error will (might!) occur.

tkey :: Tab -> TabRef Source

For UI sync; fixes #304

tabMiniWindows :: Tab -> [Window] Source

Returns a list of all mini windows associated with the given tab

forceTab :: Tab -> Tab Source

Forces all windows in the tab

mapWindows :: (Window -> Window) -> Tab -> Tab Source

A specialised version of "fmap".

tabLayout :: Tab -> Layout WindowRef Source

Current layout. Invariant: must be the layout generated by tabLayoutManager, up to changing the divPoss.

tabFoldl :: (a -> Window -> a) -> a -> Tab -> a Source

Folds over the windows in the tab

makeTab :: TabRef -> PointedList Window -> Tab Source

Make a tab from multiple windows

makeTab1 :: TabRef -> Window -> Tab Source

Make a tab from one window