X Version 11 (Release 6.1)

XtAddEventHandler(X3xt)


XtAddEventHandler -- add and remove event handlers

Synopsis

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

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

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

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

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

void XtInsertRawEventHandler(w, event_mask, nonmaskable, proc, client_data, position) 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).

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

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

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

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 XtRemoveEventHandler stops the specified procedure from being called in response to the specified events. A handler is removed if both the procedure proc and client_data match a registered handler/data pair.

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.

The 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.

References

XtAppNextEvent(X3xt), XtBuildEventMask(X3xt)

X Toolkit Intrinsics - C Language Interface
Xlib - C Language X Interface


© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 25 April 2004