Safe Haskell | None |
---|---|
Language | Haskell98 |
Graphics.UI.Frame.Panes
Description
The basic definitions for all panes
- class MonadIO delta => PaneMonad delta where
- data IDEPane delta = RecoverablePane alpha beta delta => PaneC alpha
- class (Typeable alpha, PaneMonad delta) => Pane alpha delta | alpha -> delta where
- class (Pane alpha delta, Typeable beta, Show beta, Read beta) => RecoverablePane alpha beta delta | beta -> alpha, alpha -> beta where
- data PaneDirection
- data PanePathElement
- type PanePath = [PanePathElement]
- data PaneLayout
- = HorizontalP PaneLayout PaneLayout Int
- | VerticalP PaneLayout PaneLayout Int
- | TerminalP {
- paneGroups :: Map Text PaneLayout
- paneTabs :: Maybe PaneDirection
- currentPage :: Int
- detachedId :: Maybe Text
- detachedSize :: Maybe (Int, Int)
- type PaneName = Text
- data Connection = GObjectClass alpha => ConnectC (ConnectId alpha)
- type Connections = [Connection]
- type StandardPath = PanePath
- data FrameState delta = FrameState {
- windows :: [Window]
- uiManager :: UIManager
- panes :: Map PaneName (IDEPane delta)
- paneMap :: Map PaneName (PanePath, Connections)
- activePane :: Maybe (PaneName, Connections)
- panePathFromNB :: !(Map Notebook PanePath)
- layout :: PaneLayout
- signalDisconnectAll :: Connections -> IO ()
Panes and pane layout
class MonadIO delta => PaneMonad delta where #
Minimal complete definition
setFrameState, getFrameState, runInIO, panePathForGroup, getThisPane, displayThisPane, getOrBuildThisPane, buildThisPane, activateThisPane, closeThisPane
Methods
setFrameState :: FrameState delta -> delta () #
getFrameState :: delta (FrameState delta) #
runInIO :: forall alpha beta. (beta -> delta alpha) -> delta (beta -> IO alpha) #
panePathForGroup :: Text -> delta PanePath #
getThisPane :: forall alpha beta. RecoverablePane alpha beta delta => delta (Maybe alpha) #
displayThisPane :: forall alpha beta. RecoverablePane alpha beta delta => alpha -> Bool -> delta () #
getOrBuildThisPane :: forall alpha beta. RecoverablePane alpha beta delta => Either PanePath Text -> delta (Maybe alpha) #
buildThisPane :: forall alpha beta. RecoverablePane alpha beta delta => PanePath -> Notebook -> (PanePath -> Notebook -> Window -> delta (Maybe alpha, Connections)) -> delta (Maybe alpha) #
activateThisPane :: forall alpha beta. RecoverablePane alpha beta delta => alpha -> Connections -> delta () #
closeThisPane :: forall alpha beta. RecoverablePane alpha beta delta => alpha -> delta Bool #
Constructors
RecoverablePane alpha beta delta => PaneC alpha |
class (Typeable alpha, PaneMonad delta) => Pane alpha delta | alpha -> delta where #
All kinds of panes are instances of pane
Minimal complete definition
Methods
getTopWidget :: alpha -> Widget #
gets the top Widget of this pane
primPaneName :: alpha -> Text #
paneName :: alpha -> PaneName #
getAddedIndex :: alpha -> Int #
class (Pane alpha delta, Typeable beta, Show beta, Read beta) => RecoverablePane alpha beta delta | beta -> alpha, alpha -> beta where #
Minimal complete definition
Methods
saveState :: alpha -> delta (Maybe beta) #
recoverState :: PanePath -> beta -> delta (Maybe alpha) #
builder :: PanePath -> Notebook -> Window -> delta (Maybe alpha, Connections) #
makeActive :: alpha -> delta () #
closePane :: alpha -> delta Bool #
getPane :: delta (Maybe alpha) #
forceGetPane :: Either PanePath Text -> delta alpha #
getOrBuildPane :: Either PanePath Text -> delta (Maybe alpha) #
displayPane :: alpha -> Bool -> delta () #
getAndDisplayPane :: Either PanePath Text -> Bool -> delta (Maybe alpha) #
buildPane :: PanePath -> Notebook -> (PanePath -> Notebook -> Window -> delta (Maybe alpha, Connections)) -> delta (Maybe alpha) #
data PanePathElement #
An element of a path to a pane
Constructors
SplitP PaneDirection | |
GroupP Text |
Instances
type PanePath = [PanePathElement] #
A path to a pane
data PaneLayout #
Description of a window layout Horizontal: top bottom Vertical: left right
Constructors
HorizontalP PaneLayout PaneLayout Int | |
VerticalP PaneLayout PaneLayout Int | |
TerminalP | |
Fields
|
Instances
data Connection #
Signal handlers for the different pane types
Constructors
GObjectClass alpha => ConnectC (ConnectId alpha) |
type Connections = [Connection] #
type StandardPath = PanePath #
data FrameState delta #
Constructors
FrameState | |
Fields
|
Instances
Show (FrameState delta) # | |
signalDisconnectAll :: Connections -> IO () #