General events

In this context, a general event is any kind of event that is generated by the Window Server and delivered to the client, with the exception of redraw and priority key events.

Variant: ScreenPlay and non-ScreenPlay. Target audience: Application developers.

All events generated by the Window Server, except redraw events and priority key events, are delivered to the client in a TWsEvent which is requested asynchronously by the RWsSession::EventReady() function. When this request completes, it is handled by an active object CActive::RunL() function which must use RWsSession::GetEvent() to get the TWsEvent representing the event. The TWsEvent::Type() function is used to identify the event type which can then retrieve the appropriate type of data.

The following table lists for each event type returned by TWsEvent::Type(), what object TWsEvent::EventData() returns, and what the TWsEvent::Handle() represents.

TWsEvent::Type()

TWsEvent::EventData()

TWsEvent::Handle()

EEventNull

n/a

n/a

EEventKey

TKeyEvent

RWindowGroup client handle

EEventKeyUp

TKeyEvent

RWindowGroup client handle

EEventKeyDown

TKeyEvent

RWindowGroup client handle

EEventModifiersChanged

TModifiersChangedEvent

The client handle of the RWindowTreeNode on which EnableModifierChangedEvents() was called.

EEventPointer

TPointerEvent

RWindow client handle

EEventPointerEnter

TPointerEvent

RWindow client handle

EEventPointerExit

TPointerEvent

RWindow client handle

EEventPointerBufferReady

None - call RWindowBase::RetrievePointerMoveBuffer()

RWindow client handle

EEventDragDrop

TPointerEvent

RWindow client handle

EEventFocusLost

None

RWindowGroup client handle

EEventFocusGained

None

RWindowGroup client handle

EEventSwitchOn

None

The client handle of the RWindowTreeNode on which EnableOnEvents() was called.

EEventPassword

None

The client handle of the RWindowGroup of the window on which PasswordWindow() was called.

EEventWindowGroupsChanged

None

The client handle of the RWindowTreeNode on which RWindowTreeNode::EnableGroupChangeEvents() was called.

EEventErrorMessage

TWsErrorMessage

The client handle of the RWindowTreeNode on which EnableErrorMessages() was called.

EEventMessageReady

None

RWindowGroup client handle

EEventMarkInvalid

n/a

n/a

EEventSwitchOff

None

The client handle of the RWindowTreeNode passed into RWsSession::RequestOffEvents().

EEventKeySwitchOff

None

The client handle of the RWindowTreeNode passed into RWsSession::RequestOffEvents().

EEventScreenDeviceChanged

None

The client handle of the object on which RWindowGroup::EnableScreenChangeEvents() was called.

EEventDisplayChanged

TWsDisplayChangedEvent

The client handle of the CWsScreenDevice object on which MDisplayControl:: EnableDisplayChangeEvents() was called. See Display Control and Mapping in the Window Server Client for more information.

EEventFocusGroupChanged

None

The client handle of the RWindowTreeNode on which EnableFocusChangeEvents() was called.

EEventWindowVisibilityChanged

TWsVisibilityChangedEvent

The client handle of the RWindowTreeNode on which EnableVisibilityChangeEvents() was called.

EEventCaseOpened

None

The client handle of the RWindowTreeNode on which EnableOnEvents() was called.

EEventCaseClosed

None

The client handle of the RWindowTreeNode passed into RWsSession::RequestOffEvents().

EEventWindowGroupListChanged

None

The client handle of the RWindowTreeNode on which EnableGroupListChangeEvents() was called.

EEventKeyRepeat

n/a (only sent to the key click plug-in interface)

n/a

EEventUser

n/a

n/a