| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
library initialization, main event loop, and events | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Synopsis | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initialisation | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
initGUI :: IO [String] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initialize the GUI. This must be called before any other function in the Gtk2Hs library. This function initializes the GUI toolkit and parses all Gtk specific arguments. The remaining arguments are returned. If the initialization of the toolkit fails for whatever reason, an exception is thrown.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Support for OS threads | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
unsafeInitGUIForThreadedRTS :: IO [String] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
postGUISync :: IO a -> IO a | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Post an action to be run in the main GUI thread. The current thread blocks until the action completes and the result is returned. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
postGUIAsync :: IO () -> IO () | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Post an action to be run in the main GUI thread. The current thread continues and does not wait for the result of the action. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
threadsEnter :: IO () | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Acquired the global Gtk lock.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
threadsLeave :: IO () | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Release the global Gtk lock.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Main event loop | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
mainGUI :: IO () | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Run the Gtk+ main event loop. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
mainQuit :: IO () | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Exit the main event loop. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Less commonly used event loop functions | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
eventsPending :: IO Int | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Inquire the number of events pending on the event queue | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
mainLevel :: IO Int | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Inquire the main loop level.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
mainIteration :: IO Bool | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Process an event, block if necessary.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
mainIterationDo :: Bool -> IO Bool | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Process a single event.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Grab widgets | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
grabAdd :: WidgetClass wd => wd -> IO () | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
add a grab widget | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
grabGetCurrent :: IO (Maybe Widget) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
inquire current grab widget | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
grabRemove :: WidgetClass w => w -> IO () | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
remove a grab widget | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Timeout and idle callbacks | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
type Priority = Int | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Priorities for installing callbacks. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
priorityLow :: Int | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
priorityDefaultIdle :: Int | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
priorityHighIdle :: Int | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
priorityDefault :: Int | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
priorityHigh :: Int | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
timeoutAdd :: IO Bool -> Int -> IO HandlerId | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Sets a function to be called at regular intervals, with the default priority priorityDefault. The function is called repeatedly until it returns False, after which point the timeout function will not be called again. The first call to the function will be at the end of the first interval. Note that timeout functions may be delayed, due to the processing of other event sources. Thus they should not be relied on for precise timing. After each call to the timeout function, the time of the next timeout is recalculated based on the current time and the given interval (it does not try to 'catch up' time lost in delays). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
timeoutAddFull :: IO Bool -> Priority -> Int -> IO HandlerId | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Sets a function to be called at regular intervals, with the given priority. The function is called repeatedly until it returns False, after which point the timeout function will not be called again. The first call to the function will be at the end of the first interval. Note that timeout functions may be delayed, due to the processing of other event sources. Thus they should not be relied on for precise timing. After each call to the timeout function, the time of the next timeout is recalculated based on the current time and the given interval (it does not try to 'catch up' time lost in delays). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
timeoutRemove :: HandlerId -> IO () | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Remove a previously added timeout handler by its HandlerId. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
idleAdd :: IO Bool -> Priority -> IO HandlerId | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Add a callback that is called whenever the system is idle.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
idleRemove :: HandlerId -> IO () | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Remove a previously added idle handler by its HandlerId. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
inputAdd | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
inputRemove :: HandlerId -> IO () | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
data IOCondition | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
type HandlerId = CUInt | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Produced by Haddock version 2.7.2 |