Safe Haskell | None |
---|---|
Language | Haskell98 |
- data StateTree a = Branch {
- state :: State a
- enterWhen :: StateTransition
- leaveWhen :: StateTransition
- adjacents :: [StateTree a]
- type EnterWhen = StateTransition
- type LeaveWhen = StateTransition
- data StateTransition
- root :: State a -> [StateTree a] -> StateTree a
- enterState :: MousePos -> a -> StateTree a -> Maybe (a, StateTree a)
- leaveState :: a -> StateTree a -> (a, StateTree a)
- handleKeyEvent :: KeyInfo -> a -> StateTree a -> (a, StateTree a)
- handleMouseEvent :: MouseInfo -> a -> StateTree a -> (a, StateTree a)
Documentation
the tree of application states and how they entered and leaved
Branch | |
|
type EnterWhen = StateTransition Source #
at which event the next state should be entered
type LeaveWhen = StateTransition Source #
at which event the current state should be leaved
data StateTransition Source #
when a state should be entered or leaved
leaveState :: a -> StateTree a -> (a, StateTree a) Source #