Delayers handle delaying of actions; the main purpose is to delay graph redrawing actions during complex updates.
- data Delayer
- newDelayer :: IO Delayer
- class HasDelayer object where
- delay :: HasDelayer object => object -> IO a -> IO a
- data DelayedAction
- newDelayedAction :: IO () -> IO DelayedAction
- delayedAct :: Delayer -> DelayedAction -> IO ()
- cancelDelayedAct :: Delayer -> DelayedAction -> IO ()
- class HasAddDelayer eventSource where
- class HasAddDelayerIO eventSource where
carry out the given action preventing the Delayer from doing anything.
If this DelayedAction is queued, remove it from the queue.
Instances of HasAddDelayer are event sources to which you can attach a delayer, to indicate you are currently not interested in events.