This module provides the main event loop functionality for this library. All vty-ui applications must use runUi to get anything done usefully.
- type Collection = IORef CollectionData
- data CollectionError = BadCollectionIndex Int
- runUi :: MonadIO m => Collection -> RenderContext -> m ()
- schedule :: MonadIO m => IO () -> m ()
- newCollection :: MonadIO m => m Collection
- addToCollection :: (MonadIO m, Show a) => Collection -> Widget a -> Widget FocusGroup -> m (m ())
- setCurrentEntry :: MonadIO m => Collection -> Int -> m ()
Schedule a widget-mutating
IO action to be run by the main event
loop. Use of this function is required to guarantee consistency
between interface presentation and internal state.
Add a widget and its focus group to a collection. Returns an action which, when invoked, will switch to the interface specified in the call.