| ||||||||
| ||||||||
| ||||||||
| 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.6 |