| ||||||||
| ||||||||
Contents | ||||||||
Description | ||||||||
Event handlers are registered with setXXXHandler for a particular widget. Allthough event handlers can be unregistered explicitly, all registered widget handlers will be automatically unregistered when a widget is destroyed. When quit is called, it will close all windows, unregister all event handlers and destroy all timers. | ||||||||
Synopsis | ||||||||
Clean up | ||||||||
unregisterAllWindowHandlers :: WindowHandle -> IO () | ||||||||
Unregister all event handlers and menu handlers associated with a specific window. This function is automatically called when a window is destroyed. | ||||||||
Timers | ||||||||
registerTimer :: TimerHandle -> IO () | ||||||||
unregisterTimer :: TimerHandle -> IO () | ||||||||
getAllTimerHandles :: IO [TimerHandle] | ||||||||
getAllTimerHandles returns list of handles for all created timers. | ||||||||
Events | ||||||||
setTimerHandler :: TimerHandle -> IO () -> IO () | ||||||||
setTimerDefHandler :: TimerHandle -> IO () | ||||||||
getTimerHandler :: TimerHandle -> IO (IO ()) | ||||||||
setTimerDestroyHandler :: TimerHandle -> IO () -> IO () | ||||||||
setTimerDestroyDefHandler :: TimerHandle -> IO () | ||||||||
getTimerDestroyHandler :: TimerHandle -> IO (IO ()) | ||||||||
Windows | ||||||||
registerWindow :: WindowHandle -> IO () | ||||||||
registerWindow should be called by all top-level window creation functions. The windows are automatically unregistered when destroyed. | ||||||||
unregisterWindow :: WindowHandle -> IO () | ||||||||
getAllWindowHandles :: IO [WindowHandle] | ||||||||
getAllWindowHandles returns list of handles for all opened windows, sorted in Z-order. | ||||||||
Events | ||||||||
setContainerReLayoutHandler :: WindowHandle -> IO () -> IO () | ||||||||
setContainerReLayoutDefHandler :: WindowHandle -> IO () | ||||||||
getContainerReLayoutHandler :: WindowHandle -> IO (IO ()) | ||||||||
setWindowDismissHandler :: WindowHandle -> IO () -> IO () | ||||||||
setWindowDismissDefHandler :: WindowHandle -> IO () | ||||||||
getWindowDismissHandler :: WindowHandle -> IO (IO ()) | ||||||||
setWindowDestroyHandler :: WindowHandle -> IO () -> IO () | ||||||||
setWindowDestroyDefHandler :: WindowHandle -> IO () | ||||||||
getWindowDestroyHandler :: WindowHandle -> IO (IO ()) | ||||||||
setWindowPaintHandler :: WindowHandle -> (CanvasHandle -> Rect -> IO ()) -> IO () | ||||||||
Register a window repaint handler. The handler should not release the canvas handle argument. | ||||||||
setWindowPaintDefHandler :: WindowHandle -> IO () | ||||||||
getWindowPaintHandler :: WindowHandle -> IO (CanvasHandle -> Rect -> IO ()) | ||||||||
setWindowResizeHandler :: WindowHandle -> (Size -> IO ()) -> IO () | ||||||||
setWindowResizeDefHandler :: WindowHandle -> IO () | ||||||||
getWindowResizeHandler :: WindowHandle -> IO (Size -> IO ()) | ||||||||
setWindowScrollHandler :: WindowHandle -> (Point -> IO ()) -> IO () | ||||||||
setWindowScrollDefHandler :: WindowHandle -> IO () | ||||||||
getWindowScrollHandler :: WindowHandle -> IO (Point -> IO ()) | ||||||||
setWindowMouseHandler :: WindowHandle -> (MouseEvent -> IO ()) -> IO () | ||||||||
setWindowMouseDefHandler :: WindowHandle -> IO () | ||||||||
getWindowMouseHandler :: WindowHandle -> IO (MouseEvent -> IO ()) | ||||||||
setWindowKeyboardHandler :: WindowHandle -> (KeyboardEvent -> IO ()) -> IO () | ||||||||
setWindowKeyboardDefHandler :: WindowHandle -> IO () | ||||||||
getWindowKeyboardHandler :: WindowHandle -> IO (KeyboardEvent -> IO ()) | ||||||||
setWindowActivateHandler :: WindowHandle -> IO () -> IO () | ||||||||
setWindowActivateDefHandler :: WindowHandle -> IO () | ||||||||
getWindowActivateHandler :: WindowHandle -> IO (IO ()) | ||||||||
setWindowDeactivateHandler :: WindowHandle -> IO () -> IO () | ||||||||
setWindowDeactivateDefHandler :: WindowHandle -> IO () | ||||||||
getWindowDeactivateHandler :: WindowHandle -> IO (IO ()) | ||||||||
setWindowContextMenuHandler :: WindowHandle -> (Point -> Modifiers -> IO ()) -> IO () | ||||||||
setWindowContextMenuDefHandler :: WindowHandle -> IO () | ||||||||
getWindowContextMenuHandler :: WindowHandle -> IO (Point -> Modifiers -> IO ()) | ||||||||
Process events | ||||||||
setProcessDismissHandler :: IO () -> IO () | ||||||||
setProcessDismissDefHandler :: IO () | ||||||||
getProcessDismissHandler :: IO (IO ()) | ||||||||
setProcessDestroyHandler :: IO () -> IO () | ||||||||
setProcessDestroyDefHandler :: IO () | ||||||||
getProcessDestroyHandler :: IO (IO ()) | ||||||||
Control commands | ||||||||
setControlCommandHandler :: WindowHandle -> IO () -> IO () | ||||||||
setControlCommandDefHandler :: WindowHandle -> IO () | ||||||||
getControlCommandHandler :: WindowHandle -> IO (IO ()) | ||||||||
Menu events | ||||||||
setMenuCommandHandler :: MenuHandle -> IO () -> IO () | ||||||||
setMenuCommandDefHandler :: MenuHandle -> IO () | ||||||||
getMenuCommandHandler :: MenuHandle -> IO (IO ()) | ||||||||
setMenuUpdateHandler :: MenuHandle -> IO () -> IO () | ||||||||
setMenuUpdateDefHandler :: MenuHandle -> IO () | ||||||||
getMenuUpdateHandler :: MenuHandle -> IO (IO ()) | ||||||||
setMenuDestroyHandler :: MenuHandle -> IO () -> IO () | ||||||||
setMenuDestroyDefHandler :: MenuHandle -> IO () | ||||||||
getMenuDestroyHandler :: MenuHandle -> IO (IO ()) | ||||||||
ToolBar events | ||||||||
setToolCommandHandler :: ToolHandle -> IO () -> IO () | ||||||||
setToolCommandDefHandler :: ToolHandle -> IO () | ||||||||
getToolCommandHandler :: ToolHandle -> IO (IO ()) | ||||||||
setToolDestroyHandler :: ToolHandle -> IO () -> IO () | ||||||||
setToolDestroyDefHandler :: ToolHandle -> IO () | ||||||||
getToolDestroyHandler :: ToolHandle -> IO (IO ()) | ||||||||
Internals | ||||||||
toolBitmaps :: MVar (PtrMap WindowHandle Bitmap) | ||||||||
menuBitmaps :: MVar (PtrMap MenuHandle Bitmap) | ||||||||
windowBitmaps :: MVar (PtrMap WindowHandle Bitmap) | ||||||||
Produced by Haddock version 0.4 |