Signal/slot system

Support for event handling using signals and slots. More...

Classes

class  Wt::WMouseEvent
 A class providing details for a mouse event. More...
class  Wt::WKeyEvent
 A class providing details for a keyboard event. More...
class  Wt::WDropEvent
 A class providing details for a drop event. More...
class  Wt::WScrollEvent
 A class providing details for a scroll event. More...
class  Wt::JSignal< A1, A2, A3, A4, A5, A6 >
 A signal to relay JavaScript to C++ calls. More...
class  Wt::JSlot
 A slot that is only implemented in client side JavaScript code. More...
class  Wt::WObject
 A base class for objects that participate in the signal/slot system. More...
class  Wt::Signal< A1, A2, A3, A4, A5, A6 >
 A signal that propagates events to listeners. More...
class  Wt::EventSignal< E >
 A signal that conveys user-interface events. More...
class  Wt::WSignalMapper< T, A1 >
 A utility class to connect multiple senders to a single slot. More...

Enumerations

enum  Wt::KeyboardModifier {
  Wt::NoModifier = 0x0, Wt::ShiftModifier = 0x1, Wt::ControlModifier = 0x2, Wt::AltModifier = 0x4,
  Wt::MetaModifier = 0x8
}
 Enumeration for keyboard modifiers. More...
enum  Wt::Key {
  Wt::Key_unknown = 0, Wt::Key_Enter = 13, Wt::Key_Tab = 9, Wt::Key_Backspace = 8,
  Wt::Key_Shift = 16, Wt::Key_Control = 17, Wt::Key_Alt = 18, Wt::Key_PageUp = 33,
  Wt::Key_PageDown = 34, Wt::Key_End = 35, Wt::Key_Home = 36, Wt::Key_Left = 37,
  Wt::Key_Up = 38, Wt::Key_Right = 39, Wt::Key_Down = 40, Wt::Key_Insert = 45,
  Wt::Key_Delete = 46, Wt::Key_Escape = 27, Wt::Key_F1 = 112, Wt::Key_F2 = 113,
  Wt::Key_F3 = 114, Wt::Key_F4 = 115, Wt::Key_F5 = 116, Wt::Key_F6 = 117,
  Wt::Key_F7 = 118, Wt::Key_F8 = 119, Wt::Key_F9 = 120, Wt::Key_F10 = 121,
  Wt::Key_F11 = 122, Wt::Key_F12 = 123, Wt::Key_Space = ' ', Wt::Key_A = 'A',
  Wt::Key_B = 'B', Wt::Key_C = 'C', Wt::Key_D = 'D', Wt::Key_E = 'E',
  Wt::Key_F = 'F', Wt::Key_G = 'G', Wt::Key_H = 'H', Wt::Key_I = 'I',
  Wt::Key_J = 'J', Wt::Key_K = 'K', Wt::Key_L = 'L', Wt::Key_M = 'M',
  Wt::Key_N = 'N', Wt::Key_O = 'O', Wt::Key_P = 'P', Wt::Key_Q = 'Q',
  Wt::Key_R = 'R', Wt::Key_S = 'S', Wt::Key_T = 'T', Wt::Key_U = 'U',
  Wt::Key_V = 'V', Wt::Key_W = 'W', Wt::Key_X = 'X', Wt::Key_Y = 'Y',
  Wt::Key_Z = 'Z'
}
 Enumeration for key codes. More...

Detailed Description

Support for event handling using signals and slots.

To respond to user-interactivity events, or in general to communicate events from one widget to any other, Wt uses a signal/slot system.

A slot is any method of any descendant of WObject. To connect a signal with a slot, the only requirement is that the method signature of the slot must be compatible with the signal definition. In this way every method may be used as a slot, and it is not necessary to explicitly indicate a particular method to be a slot (as is needed in Qt), by putting them in a special section. Nevertheless, you may still do that if you wish to emphasize that these functions can be used as slots, or, if you have done extra work to optimize the implementation of these methods as client-side JavaScript code (see below).

A signal may be created by adding a Signal<X, ...> object to your class. You may specify up to 6 arguments which may be of arbitrary types that are Copyable, that may be passed through the signal to connected slots.

The library defines several user-event signals on various widgets, and it is easy and convenient to add signals and slots to widget classes to communicate events and trigger callbacks.

Event signals (EventSignal<E>) are signals that may be triggered internally by the library to respond to user interactivity events. The abstract base classes WInteractWidget and WFormWidget define most of these event signals. To react to one of these events, the programmer connects a self-defined or already existing slot to such a signal.

To connect a signal from multiple senders to a single slot, the WSignalMapper<T> class may be convenient. Using that class you can still identify the sender, using an arbitrary property of the sender which you define when making the connection. That property is passed as an additional slot argument.


Enumeration Type Documentation

enum Wt::Key

Enumeration for key codes.

These are key codes that identify a key on a keyboard. All keys listed here can be identified across all browsers and (Western) keyboards. A Key is returned by WKeyEvent::key(). If you want to identify a character, you should use the WKeyEvent::charCode() method instead.

See also:
WInteractWidget::keyWentDown, WInteractWidget::keyWentUp
Enumerator:
Key_unknown  Unknown key.
Key_Enter  Enter key.
Key_Tab  Tab key.
Key_Backspace  Backspace key.
Key_Shift  Shift key.
Key_Control  Control key.
Key_Alt  Alt key.
Key_PageUp  Page up key.
Key_PageDown  Page down key.
Key_End  End key.
Key_Home  Home key.
Key_Left  Left arrow key.
Key_Up  Up arrow key.
Key_Right  Right arrow key.
Key_Down  Down arrow key.
Key_Insert  Insert key.
Key_Delete  Delete key.
Key_Escape  Escape key.
Key_F1  F1 function key.
Key_F2  F2 function key.
Key_F3  F3 function key.
Key_F4  F4 function key.
Key_F5  F5 function key.
Key_F6  F6 function key.
Key_F7  F7 function key.
Key_F8  F8 function key.
Key_F9  F9 function key.
Key_F10  F10 function key.
Key_F11  F11 function key.
Key_F12  F12 function key.
Key_Space  Space.
Key_A  'A' key
Key_B  'B' key
Key_C  'C' key
Key_D  'D' key
Key_E  'E' key
Key_F  'F' key
Key_G  'G' key
Key_H  'H' key
Key_I  'I' key
Key_J  'J' key
Key_K  'K' key
Key_L  'L' key
Key_M  'M' key
Key_N  'N' key
Key_O  'O' key
Key_P  'P' key
Key_Q  'Q' key
Key_R  'R' key
Key_S  'S' key
Key_T  'T' key
Key_U  'U' key
Key_V  'V' key
Key_W  'W' key
Key_X  'X' key
Key_Y  'Y' key
Key_Z  'Z' key

Enumeration for keyboard modifiers.

See also:
WMouseEvent::modifiers(), WKeyEvent::modifiers()
Enumerator:
NoModifier  No modifiers.
ShiftModifier  Shift key pressed.
ControlModifier  Control key pressed.
AltModifier  Alt key pressed.
MetaModifier  Meta key pressed ("Windows" or "Command" (Mac) key).


Generated on Tue Sep 1 17:51:14 2009 for Wt by doxygen 1.5.6