|
|
|
|
|
Description |
|
|
Synopsis |
|
data Event w a | | on :: Event w a -> Attr w a | | mapEvent :: (a -> b) -> (a -> b -> a) -> Event w a -> Event w b | | propagateEvent | | class Selecting w where | | | select :: Selecting w => Event w (IO ()) | | class Commanding w where | | | command :: Commanding w => Event w (IO ()) | | class Reactive w where | | | mouse :: Reactive w => Event w (EventMouse -> IO ()) | | keyboard :: Reactive w => Event w (EventKey -> IO ()) | | closing :: Reactive w => Event w (IO ()) | | idle :: Reactive w => Event w (IO Bool) | | resize :: Reactive w => Event w (IO ()) | | focus :: Reactive w => Event w (Bool -> IO ()) | | activate :: Reactive w => Event w (Bool -> IO ()) | | class Paint w where | | | paint :: Paint w => Event w (DC () -> Rect -> IO ()) | | paintRaw :: Paint w => Event w (DC () -> Rect -> [Rect] -> IO ()) | | repaint :: Paint w => w -> IO () | | enter :: Reactive w => Event w (Point -> IO ()) | | leave :: Reactive w => Event w (Point -> IO ()) | | motion :: Reactive w => Event w (Point -> IO ()) | | drag :: Reactive w => Event w (Point -> IO ()) | | click :: Reactive w => Event w (Point -> IO ()) | | unclick :: Reactive w => Event w (Point -> IO ()) | | doubleClick :: Reactive w => Event w (Point -> IO ()) | | clickRight :: Reactive w => Event w (Point -> IO ()) | | unclickRight :: Reactive w => Event w (Point -> IO ()) | | anyKey :: Reactive w => Event w (Key -> IO ()) | | key :: Reactive w => Key -> Event w (IO ()) | | charKey :: Reactive w => Char -> Event w (IO ()) | | enterKey :: Reactive w => Event w (IO ()) | | tabKey :: Reactive w => Event w (IO ()) | | escKey :: Reactive w => Event w (IO ()) | | helpKey :: Reactive w => Event w (IO ()) | | delKey :: Reactive w => Event w (IO ()) | | homeKey :: Reactive w => Event w (IO ()) | | endKey :: Reactive w => Event w (IO ()) | | pgupKey :: Reactive w => Event w (IO ()) | | pgdownKey :: Reactive w => Event w (IO ()) | | downKey :: Reactive w => Event w (IO ()) | | upKey :: Reactive w => Event w (IO ()) | | leftKey :: Reactive w => Event w (IO ()) | | rightKey :: Reactive w => Event w (IO ()) | | rebind :: Event w (IO ()) -> Event w (IO ()) | | Modifiers (Modifiers, altDown, shiftDown, controlDown, metaDown) | | showModifiers | | noneDown | | justShift | | justAlt | | justControl | | justMeta | | isNoneDown | | isNoShiftAltControlDown | | EventMouse (MouseMotion, MouseEnter, MouseLeave, MouseLeftDown, MouseLeftUp, MouseLeftDClick, MouseLeftDrag, MouseRightDown, MouseRightUp, MouseRightDClick, MouseRightDrag, MouseMiddleDown, MouseMiddleUp, MouseMiddleDClick, MouseMiddleDrag, MouseWheel) | | showMouse | | mousePos | | mouseModifiers | | EventCalendar (CalendarDayChanged, CalendarDoubleClicked, CalendarMonthChanged, CalendarSelectionChanged, CalendarWeekdayClicked, CalendarYearChanged, CalendarUnknown) | | calendarEvent :: Event (CalendarCtrl a) (EventCalendar -> IO ()) | | EventKey (EventKey) | | Key (KeyChar, KeyOther, KeyBack, KeyTab, KeyReturn, KeyEscape, KeySpace, KeyDelete, KeyInsert, KeyPrior, KeyNext, KeyEnd, KeyHome, KeyLeft, KeyUp, KeyRight, KeyDown, KeyPageUp, KeyPageDown, KeyStart, KeyClear, KeyShift, KeyAlt, KeyControl, KeyMenu, KeyPause, KeyCapital, KeyHelp, KeySelect, KeyPrint, KeyExecute, KeySnapshot, KeyCancel, KeyLeftButton, KeyRightButton, KeyMiddleButton, KeyNum0, KeyNum1, KeyNum2, KeyNum3, KeyNum4, KeyNum5, KeyNum6, KeyNum7, KeyNum8, KeyNum9, KeyMultiply, KeyAdd, KeySeparator, KeySubtract, KeyDecimal, KeyDivide, KeyF1, KeyF2, KeyF3, KeyF4, KeyF5, KeyF6, KeyF7, KeyF8, KeyF9, KeyF10, KeyF11, KeyF12, KeyF13, KeyF14, KeyF15, KeyF16, KeyF17, KeyF18, KeyF19, KeyF20, KeyF21, KeyF22, KeyF23, KeyF24, KeyNumLock, KeyScroll) | | keyKey | | keyModifiers | | keyPos | | showKey | | showKeyModifiers | | newEvent :: String -> (w -> IO a) -> (w -> a -> IO ()) -> Event w a |
|
|
|
Event
|
|
data Event w a |
An event for a widget w that expects an event handler of type a.
|
|
|
on :: Event w a -> Attr w a |
Transform an event to an attribute.
|
|
mapEvent :: (a -> b) -> (a -> b -> a) -> Event w a -> Event w b |
Change the event type.
|
|
propagateEvent |
|
Basic events
|
|
Selecting
|
|
class Selecting w where |
Selecting widgets fire a select event when an item is selected.
| | Methods | select :: Event w (IO ()) | A select event is fired when an item is selected.
|
| | Instances | |
|
|
select :: Selecting w => Event w (IO ()) |
A select event is fired when an item is selected.
|
|
Commanding
|
|
class Commanding w where |
Commanding widgets fire a command event.
| | Methods | command :: Event w (IO ()) | A commanding event, for example a button press.
|
| | Instances | |
|
|
command :: Commanding w => Event w (IO ()) |
A commanding event, for example a button press.
|
|
Reactive
|
|
class Reactive w where |
Reactive widgets are almost all visible widgets on the screen.
| | Methods | | | Instances | |
|
|
mouse :: Reactive w => Event w (EventMouse -> IO ()) |
|
keyboard :: Reactive w => Event w (EventKey -> IO ()) |
|
closing :: Reactive w => Event w (IO ()) |
|
idle :: Reactive w => Event w (IO Bool) |
|
resize :: Reactive w => Event w (IO ()) |
|
focus :: Reactive w => Event w (Bool -> IO ()) |
|
activate :: Reactive w => Event w (Bool -> IO ()) |
|
class Paint w where |
Paint widgets can serve as a canvas.
Note: it is illegal to use both a paint and paintRaw
event handler at the same widget.
| | Methods | paint :: Event w (DC () -> Rect -> IO ()) | Paint double buffered to a device context. The context is always
cleared before drawing. Takes the current view rectangle (adjusted
for scrolling) as an argument.
| | paintRaw :: Event w (DC () -> Rect -> [Rect] -> IO ()) | Paint directly to the on-screen device context. Takes the current
view rectangle and a list of dirty rectangles as arguments.\
| | repaint :: w -> IO () | Emit a paint event to the specified widget.
|
| | Instances | |
|
|
paint :: Paint w => Event w (DC () -> Rect -> IO ()) |
Paint double buffered to a device context. The context is always
cleared before drawing. Takes the current view rectangle (adjusted
for scrolling) as an argument.
|
|
paintRaw :: Paint w => Event w (DC () -> Rect -> [Rect] -> IO ()) |
Paint directly to the on-screen device context. Takes the current
view rectangle and a list of dirty rectangles as arguments.\
|
|
repaint :: Paint w => w -> IO () |
Emit a paint event to the specified widget.
|
|
Event filters
|
|
Mouse filters
|
|
enter :: Reactive w => Event w (Point -> IO ()) |
|
leave :: Reactive w => Event w (Point -> IO ()) |
|
motion :: Reactive w => Event w (Point -> IO ()) |
|
drag :: Reactive w => Event w (Point -> IO ()) |
|
click :: Reactive w => Event w (Point -> IO ()) |
|
unclick :: Reactive w => Event w (Point -> IO ()) |
|
doubleClick :: Reactive w => Event w (Point -> IO ()) |
|
clickRight :: Reactive w => Event w (Point -> IO ()) |
|
unclickRight :: Reactive w => Event w (Point -> IO ()) |
|
Keyboard event filters
|
|
anyKey :: Reactive w => Event w (Key -> IO ()) |
|
key :: Reactive w => Key -> Event w (IO ()) |
|
charKey :: Reactive w => Char -> Event w (IO ()) |
|
enterKey :: Reactive w => Event w (IO ()) |
|
tabKey :: Reactive w => Event w (IO ()) |
|
escKey :: Reactive w => Event w (IO ()) |
|
helpKey :: Reactive w => Event w (IO ()) |
|
delKey :: Reactive w => Event w (IO ()) |
|
homeKey :: Reactive w => Event w (IO ()) |
|
endKey :: Reactive w => Event w (IO ()) |
|
pgupKey :: Reactive w => Event w (IO ()) |
|
pgdownKey :: Reactive w => Event w (IO ()) |
|
downKey :: Reactive w => Event w (IO ()) |
|
upKey :: Reactive w => Event w (IO ()) |
|
leftKey :: Reactive w => Event w (IO ()) |
|
rightKey :: Reactive w => Event w (IO ()) |
|
rebind :: Event w (IO ()) -> Event w (IO ()) |
|
Types
|
|
Modifiers
|
|
Modifiers (Modifiers, altDown, shiftDown, controlDown, metaDown) |
|
showModifiers |
|
noneDown |
|
justShift |
|
justAlt |
|
justControl |
|
justMeta |
|
isNoneDown |
|
isNoShiftAltControlDown |
|
Mouse events
|
|
EventMouse (MouseMotion, MouseEnter, MouseLeave, MouseLeftDown, MouseLeftUp, MouseLeftDClick, MouseLeftDrag, MouseRightDown, MouseRightUp, MouseRightDClick, MouseRightDrag, MouseMiddleDown, MouseMiddleUp, MouseMiddleDClick, MouseMiddleDrag, MouseWheel) |
|
showMouse |
|
mousePos |
|
mouseModifiers |
|
Calender event
|
|
EventCalendar (CalendarDayChanged, CalendarDoubleClicked, CalendarMonthChanged, CalendarSelectionChanged, CalendarWeekdayClicked, CalendarYearChanged, CalendarUnknown) |
|
calendarEvent :: Event (CalendarCtrl a) (EventCalendar -> IO ()) |
|
Keyboard events
|
|
EventKey (EventKey) |
|
Key (KeyChar, KeyOther, KeyBack, KeyTab, KeyReturn, KeyEscape, KeySpace, KeyDelete, KeyInsert, KeyPrior, KeyNext, KeyEnd, KeyHome, KeyLeft, KeyUp, KeyRight, KeyDown, KeyPageUp, KeyPageDown, KeyStart, KeyClear, KeyShift, KeyAlt, KeyControl, KeyMenu, KeyPause, KeyCapital, KeyHelp, KeySelect, KeyPrint, KeyExecute, KeySnapshot, KeyCancel, KeyLeftButton, KeyRightButton, KeyMiddleButton, KeyNum0, KeyNum1, KeyNum2, KeyNum3, KeyNum4, KeyNum5, KeyNum6, KeyNum7, KeyNum8, KeyNum9, KeyMultiply, KeyAdd, KeySeparator, KeySubtract, KeyDecimal, KeyDivide, KeyF1, KeyF2, KeyF3, KeyF4, KeyF5, KeyF6, KeyF7, KeyF8, KeyF9, KeyF10, KeyF11, KeyF12, KeyF13, KeyF14, KeyF15, KeyF16, KeyF17, KeyF18, KeyF19, KeyF20, KeyF21, KeyF22, KeyF23, KeyF24, KeyNumLock, KeyScroll) |
|
keyKey |
|
keyModifiers |
|
keyPos |
|
showKey |
|
showKeyModifiers |
|
Internal
|
|
newEvent :: String -> (w -> IO a) -> (w -> a -> IO ()) -> Event w a |
Create a new event from a get and set function.
|
|
Produced by Haddock version 0.9 |