Project

General

Profile

Widget callbacks » History » Version 2

iri, 02/28/2011 12:03 AM

1 1 iri
h1. Widget callbacks
2
3
A signal will be emitted when an event occurs on a widget.
4
To run any actions when a signal is emitted, you should define a _callback_, a function will run these actions.
5
6
Here, you can define all callbacks with an one function : *_gtkWidgetCB*
7
8
Its prototype is : *fun [ObjGtkWidget u1 u0 I I] ObjGtkWidget*
9
10
# *ObjGtkWidget* : Scol object : the widget
11
# *u1* : the prototype of the callback (see below)
12
# *u0* : the user parameter, at your convenience
13
# *I* : the flag of the callback = which signal is affected ? (see below)
14
# *I* : the mask : propagate or not the signal to the container ? Two values are availables
15
* SCOL_GTK_SIGNAL_MASK_PROPAGATE
16
* SCOL_GTK_SIGNAL_MASK_STOP
17
18
+Warning+ : the prototype of the callback is different for each flag !
19
20
Flag currently availables :
21
22
h2. SCOL_GTK_WIDGET_BUTTONPRESSED
23
24
a mouse button has been pressed on a widget.
25
Prototype : *fun [ObjGtkWidget u0 I I I [I I]] u2*
26
27
h3. 1. the widget
28
29
h3. 2. the user parameter
30
31
h3. 3. the type of signal : 
32
33
* SCOL_GTK_EVENT_BUTTON_PRESSED (one click), 
34
* SCOL_GTK_EVENT_BUTTON_PRESSED2 (double click),
35
* SCOL_GTK_EVENT_BUTTON_PRESSED3 (triple click),
36
* SCOL_GTK_EVENT_BUTTON_RELEASE (button released).
37
So you can make one function to several definitions
38
39 2 iri
h3. 4. The mouse button :
40 1 iri
41
* SCOL_GTK_EVENT_BUTTON_1,
42
* SCOL_GTK_EVENT_BUTTON_2,
43
* SCOL_GTK_EVENT_BUTTON_3,
44
* SCOL_GTK_EVENT_BUTTON_4,
45
* SCOL_GTK_EVENT_BUTTON_5
46
47
h3. 5. The mask of the modifier keys
48
49
* SCOL_GTK_EVENT_KEY_SHIFT,
50
* SCOL_GTK_EVENT_KEY_CONTROL,
51
* SCOL_GTK_EVENT_KEY_ALT,
52
* SCOL_GTK_EVENT_KEY_CAPS,
53
* SCOL_GTK_EVENT_KEY_HYPER,
54
* SCOL_GTK_EVENT_KEY_SUPER,
55
* SCOL_GTK_EVENT_KEY_OTHER (or nothing)
56
57
h3. 6. the position of the click [x y], relative to the widget
58
59
Return [[Widgets]]