3.17 DM_DispatchHandler

Mit Hilfe der Funktion DM_DispatchHandler kann beim IDM für Motif eine benutzerdefinierte Funktion (Handler) registriert werden, die vor der Funktion XtDispatchEvent aufgerufen wird. Dies ermöglicht, XEvents auf X-Ebene (und nicht nur auf der X-Toolkit-Ebene) zu verarbeiten.

DM_Boolean DML_default DM_EXPORT DM_DispatchHandler
(
  DM_DispatchHandlerProc  funcp,
  DM_UInt     chain_pos,
  DM_UInt     operation,
  DM_Options  options
)

Parameter

-> DM_DispatchHandlerProc funcp

Funktionspointer zur benutzerdefinierten Handlerfunktion. Diese Funktion erhält das XEvent als Parameter.

Die übergebene Funktion muss wie folgt definiert sein:

DM_Boolean DML_default DM_EXPORT MyHandler
(
  XEvent * event
)

-> DM_UInt chain_pos

Dieser Parameter bestimmt, ob die Handlerfunktion an den Anfang (DMF_InstallHead) oder an das Ende (DMF_InstallTail) der Liste der Handlerfunktionen eingefügt wird.

chain_pos wird nur ausgewertet, wenn der Parameter operation auf DMF_RegisterHandler gesetzt ist.

-> DM_UInt operation

In diesem Parameter wird der Funktion die eigentlich auszuführende Operation mitgeteilt. Dazu sind folgende Konstanten definiert:

operation

Bedeutung

DMF_RegisterHandler

Mit Hilfe dieses Wertes wird ein Handler installiert.

DMF_WithdrawHandler

Mit Hilfe dieses Wertes wird ein vorher installierter Handler deinstalliert.

DMF_DisableHandler

Mit Hilfe dieses Wertes wird ein Handler vorübergehend deaktiviert.

DMF_EnableHandler

Mit Hilfe dieses Wertes wird ein deaktivierter Handler wieder aktiviert.

-> DM_Options options

Ist options auf den Wert DMF_DontTrace gesetzt, erfolgt keine Protokollierung des Aufrufs im Tracefile.

Rückgabewert

DM_TRUE

Das XEvent wurde vollständig verarbeitet.

Es wird kein weiterer DispatchHandler aufgerufen und auch nicht die Funktion XtDispatchEvent.

DM_FALSE

Der nächste registrierte DispatchHandler, bzw. als letztes die Funktion XtDispatchEvent, wird aufgerufen.