Widget callbacks » History » Revision 9
« Previous |
Revision 9/26
(diff)
| Next »
iri, 02/28/2011 10:57 PM
Widget callbacks¶
A signal will be emitted when an event occurs on a widget.
To run any actions when a signal is emitted, you should define a callback, a function will run these actions.
Here, you can define all callbacks with an one function : _gtkWidgetCB
Its prototype is : fun [ObjGtkWidget u1 u0 I I] ObjGtkWidget
- ObjGtkWidget : Scol object : the widget
- u1 : the prototype of the callback (see below)
- u0 : the user parameter, at your convenience
- I : the flag of the callback = which signal is affected ? (see below)
- I : the mask : propagate or not the signal to the container ? Two values are availables
- SCOL_GTK_SIGNAL_MASK_PROPAGATE
- SCOL_GTK_SIGNAL_MASK_STOP
Warning : the prototype of the callback is different for each flag !
Flag currently availables :
- Table of contents
- Widget callbacks
- Any widgets
Any widgets¶
SCOL_GTK_WIDGET_BUTTONPRESSED¶
a mouse button has been pressed on a widget.
Prototype : fun [ObjGtkWidget u0 I I I [I I]] u2
1. widget | ObjGtkWidget | a widget | |
2. userparam | u0 | a user parameter, at your convenience | |
3. signal | I | the type of the signal | SCOL_GTK_EVENT_BUTTON_PRESSED (one click), |
SCOL_GTK_EVENT_BUTTON_PRESSED2 (double click), | |||
SCOL_GTK_EVENT_BUTTON_PRESSED3 (triple click), | |||
SCOL_GTK_EVENT_BUTTON_RELEASE (button released). | |||
So you can make one function to several definitions | |||
4. button | I | the mouse button | SCOL_GTK_EVENT_BUTTON_1, |
SCOL_GTK_EVENT_BUTTON_2, | |||
SCOL_GTK_EVENT_BUTTON_3, | |||
SCOL_GTK_EVENT_BUTTON_4, | |||
SCOL_GTK_EVENT_BUTTON_5, | |||
5. mask | I | the mask of the modifier keys | SCOL_GTK_EVENT_KEY_SHIFT |
SCOL_GTK_EVENT_KEY_CONTROL, | |||
SCOL_GTK_EVENT_KEY_ALT, | |||
SCOL_GTK_EVENT_KEY_CAPS (can not work : system, window manager, ...) | |||
SCOL_GTK_EVENT_KEY_HYPER (can not work : system, window manager, ...) | |||
SCOL_GTK_EVENT_KEY_SUPER (can not work : system, window manager, ...) | |||
SCOL_GTK_EVENT_KEY_OTHER (or nothing) | |||
6. position | I | the position of the click [x y], relative to the widget |
SCOL_GTK_WIDGET_BUTTONRELEASED¶
a mouse button has been released on a widget.
Prototype : fun [ObjGtkWidget u0 I I I [I I]] u2
See 'SCOL_GTK_WIDGET_BUTTONPRESSED' above.
SCOL_GTK_WIDGET_MOVERESIZE¶
a window has moved and/or resized.
Prototype : fun [ObjGtkWidget u0 [I I] [I I]] u2
- is the new position (x and y, relative at its parents or at the screen)
- is the new size (width and height)
SCOL_GTK_WIDGET_DESTROY¶
when a widget (typically a window or all top level container) is destroyed (all reference are destroyed).
Prototype : fun [ObjGtkWidget u0] u2
SCOL_GTK_WIDGET_ENTERLEAVE¶
when the pointer (typically a mouse) enter or leave a window (maybe an other object)
Prototype : fun [ObjGtkWidget u0 I I I [I I]] u2
table
1. widget | ObjGtkWidget | a widget (typically a window) | |
2. userparam | u0 | a user parameter, at your convenience | |
3 type | I | the pointer enters or leaves | 0 if enters, 1 if leaves |
4 mask | I | the mask of the modifier keys | SCOL_GTK_EVENT_KEY_SHIFT |
SCOL_GTK_EVENT_KEY_CONTROL, | |||
SCOL_GTK_EVENT_KEY_ALT, | |||
SCOL_GTK_EVENT_KEY_CAPS (can not work : system, window manager, ...) | |||
SCOL_GTK_EVENT_KEY_HYPER (can not work : system, window manager, ...) | |||
SCOL_GTK_EVENT_KEY_SUPER (can not work : system, window manager, ...) | |||
SCOL_GTK_EVENT_KEY_OTHER (or nothing) | |||
5 focus | I | the widget has (or not) the focus | 1 if is the focus window or an inferior |
6 coord | [I I] | the coordinate of the pointer (x, y) |
SCOL_GTK_WIDGET_KEYB_FOCUS¶
when the keyboard focus enters or leaves a widget.
Prototype : fun [ObjGtkWidget u0 I] u2
The supplemental parameter is :
in : I : 1 if enter, 0 if lost
Return Widgets
Updated by iri almost 14 years ago · 9 revisions