XtAddEventHandler(3)

NAME
XtAddEventHandler, XtAddRawEventHandler, XtRemoveEventHandler, XtRemoveRawEventHandler, XtInsertEventHandler, XtInsertRawEventHandler - add and remove event handlers

SYNTAX
#include <X11/Intrinsic.h>

void XtAddEventHandler(Widget w, EventMask event_mask, Boolean nonmaskable, XtEventHandler proc, XtPointer client_data);

void XtAddRawEventHandler(Widget w, EventMask event_mask, Boolean nonmaskable, XtEventHandler proc, XtPointer client_data);

void XtRemoveEventHandler(Widget w, EventMask event_mask, Boolean nonmaskable, XtEventHandler proc, XtPointer client_data);

void XtRemoveRawEventHandler(Widget w, EventMask event_mask, Boolean nonmaskable, XtEventHandler proc, XtPointer client_data);

void XtInsertEventHandler(Widget w, EventMask event_mask, Boolean nonmaskable, XtEventHandler proc, XtPointer client_data, XtListPosition position);

void XtInsertRawEventHandler(Widget w, EventMask event_mask, Boolean nonmaskable, XtEventHandler proc, XtPointer client_data, XtListPosition position);

typedef enum { XtListHead, XtListTail } XtListPosition;

ARGUMENTS

client_data
    Specifies additional data to be passed to the client's event handler.

event_mask
    Specifies the event mask for which to call or unregister this procedure.

nonmaskable
    Specifies a Boolean value that indicates whether this procedure should be called or removed on the nonmaskable events ( GraphicsExpose, NoExpose, SelectionClear, SelectionRequest, SelectionNotify, ClientMessage, and MappingNotify).

proc
    Specifies the procedure that is to be added or removed.

w   Specifies the widget for which this event handler is being registered.

position
    Specifies when the event handler is to be called relative to other previously registered handlers.

DESCRIPTION
The XtAddEventHandler function registers a procedure with the dispatch mechanism that is to be called when an event that matches the mask occurs on the specified widget. If the procedure is already registered with the same client_data, the specified mask is ORed into the existing mask. If the widget is realized, XtAddEventHandler calls XSelectInput, if necessary.

The XtAddRawEventHandler function is similar to XtAddEventHandler except that it does not affect the widget's mask and never causes an XSelectInput for its events. Note that the widget might already have those mask bits set because of other nonraw event handlers registered on it.

The XtRemoveRawEventHandler function stops the specified procedure from receiving the specified events. Because the procedure is a raw event handler, this does not affect the widget's mask and never causes a call on XSelectInput.

XtInsertEventHandler is identical to XtAddEventHandler with the additional position argument. If position is XtListHead, the event handler is registered to that it will be called before any event handlers that were previously registered for the same widget. If position is XtListTail, the event handler is registered to be called after any previously registered event handlers. If the procedure is already registered with the same client_data value, the specified mask augments the existing mask and the procedure is repositioned in the list.

XtInsertRawEventHandler is similar to XtInsertEventHandler except that it does not modify the widget's event mask and never causes an XSelectInput for the specified events. If the procedure is already registered with the same client_data value, the specified mask augments the existing mask and the procedure is repositioned in the list.

SEE ALSO
XtAppNextEvent(3), XtBuildEventMask(3)
X Toolkit Intrinsics - C Language Interface
Xlib - C Language X Interface