Project

General

Profile

Actions

Widget callbacks » History » Revision 2

« Previous | Revision 2/26 (diff) | Next »
iri, 02/28/2011 12:03 AM


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

  1. ObjGtkWidget : Scol object : the widget
  2. u1 : the prototype of the callback (see below)
  3. u0 : the user parameter, at your convenience
  4. I : the flag of the callback = which signal is affected ? (see below)
  5. 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 :

SCOL_GTK_WIDGET_BUTTONPRESSED

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

1. the widget

2. the user parameter

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

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

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)

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

Return Widgets

Updated by iri almost 14 years ago · 2 revisions