Project

General

Profile

Widget callbacks » History » Revision 2

Revision 1 (iri, 02/28/2011 12:02 AM) → Revision 2/26 (iri, 02/28/2011 12:03 AM)

h1. 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 : 

 h2. SCOL_GTK_WIDGET_BUTTONPRESSED 

 a mouse button has been pressed on a widget. 
 Prototype : *fun [ObjGtkWidget u0 I I I [I I]] u2* 

 h3. 1. the widget 

 h3. 2. the user parameter 

 h3. 3. the type of 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 

 h3. 4. 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 

 h3. 5. 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, 
 * SCOL_GTK_EVENT_KEY_HYPER, 
 * SCOL_GTK_EVENT_KEY_SUPER, 
 * SCOL_GTK_EVENT_KEY_OTHER (or nothing) 

 h3. 6. the position of the click [x y], relative to the widget 

 Return [[Widgets]]