Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria (garetxe@gmail.com) |
Safe Haskell | None |
Language | Haskell2010 |
The GMainLoop
struct is an opaque data type
representing the main event loop of a GLib or GTK+ application.
Synopsis
- newtype MainLoop = MainLoop (ManagedPtr MainLoop)
- noMainLoop :: Maybe MainLoop
- mainLoopGetContext :: (HasCallStack, MonadIO m) => MainLoop -> m MainContext
- mainLoopIsRunning :: (HasCallStack, MonadIO m) => MainLoop -> m Bool
- mainLoopNew :: (HasCallStack, MonadIO m) => Maybe MainContext -> Bool -> m MainLoop
- mainLoopQuit :: (HasCallStack, MonadIO m) => MainLoop -> m ()
- mainLoopRef :: (HasCallStack, MonadIO m) => MainLoop -> m MainLoop
- mainLoopRun :: (HasCallStack, MonadIO m) => MainLoop -> m ()
- mainLoopUnref :: (HasCallStack, MonadIO m) => MainLoop -> m ()
Exported types
Memory-managed wrapper type.
Instances
BoxedObject MainLoop Source # | |
Methods
getContext
:: (HasCallStack, MonadIO m) | |
=> MainLoop |
|
-> m MainContext | Returns: the |
Returns the MainContext
of loop
.
isRunning
:: (HasCallStack, MonadIO m) | |
=> MainLoop |
|
-> m Bool | Returns: |
Checks to see if the main loop is currently being run via mainLoopRun
.
new
:: (HasCallStack, MonadIO m) | |
=> Maybe MainContext |
|
-> Bool |
|
-> m MainLoop | Returns: a new |
Creates a new MainLoop
structure.
quit
:: (HasCallStack, MonadIO m) | |
=> MainLoop |
|
-> m () |
Stops a MainLoop
from running. Any calls to mainLoopRun
for the loop will return.
Note that sources that have already been dispatched when
mainLoopQuit
is called will still be executed.
ref
:: (HasCallStack, MonadIO m) | |
=> MainLoop |
|
-> m MainLoop | Returns: |
Increases the reference count on a MainLoop
object by one.
run
:: (HasCallStack, MonadIO m) | |
=> MainLoop |
|
-> m () |
Runs a main loop until mainLoopQuit
is called on the loop.
If this is called for the thread of the loop's MainContext
,
it will process events from the loop, otherwise it will
simply wait.
unref
:: (HasCallStack, MonadIO m) | |
=> MainLoop |
|
-> m () |
Decreases the reference count on a MainLoop
object by one. If
the result is zero, free the loop and free all associated memory.