Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ XtRemoveEve(3x) — HP-UX ANSI C A.09.00

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

XtAddEventHandler(1)

XtInsertEventHandler(1)

XtRemoveRawEventHandler(1)

XtEventHandler(2)

 

NAME

XtRemoveEventHandler − remove an event handler, or change the conditions under which it is called. 

Synopsis

void XtRemoveEventHandler(w, event_mask, nonmaskable, proc, client_data)

    Widget w;
    EventMask event_mask;
    Boolean nonmaskable;
    XtEventHandler proc;
    XtPointer client_data;

Inputs

wSpecifies the widget for which this handler is registered.  Must be of class Core or any subclass thereof. 

event_mask
Specifies the events for which to unregister this handler.

nonmaskable
Specifies whether this handler should be unregistered for nonmaskable events.

procSpecifies the handler procedure. 

client_data
Specifies the client data with which the procedure was registered.

Description

XtRemoveEventHandler() stops the proc/client_data event handler pair registered with XtAddEventHandler() or XtInsertEventHandler() from being called from widget w in response to the events specified in event_mask.  In addition, if nonmaskable is True, then the handler will no longer be called in response to the nonmaskable events: GraphicsExpose, NoExpose, SelectionClear, SelectionRequest, SelectionNotify, ClientMessage, and MappingNotify.  A handler is removed only if both the procedure proc and client_data match a previously registered handler/data pair.  If a handler to be removed fails to match a procedure, or if it has been registered with a different value of client_data, XtRemoveEventHandler() returns without reporting an error.  XtRemoveEventHandler() accepts the special value XtAllEvents in the event_handler argument as a signal that the event handler should no longer be called in response to any maskable events.  This value should not be combined with other event mask bits, and should not be used to select events in other functions.  If the widget is realized, and no other handler requires events of any of the specified types, XtRemoveEventHandler() calls XSelectInput(), as necessary to prevent the widget from receiving further events of those types. 

Usage

Note that XtRemoveEventHandler() does not necessarily remove an event handler; rather, it modifies the conditions for which it is called.  To prevent an event handler from being called at all, call XtRemoveEventHandler() with an event_mask of XtAllEvents and with nonmaskable True.  To remove or change the event mask for a "raw" event handler registered with XtAddRawEventHandler() or XtInsertRawEventHandler(), use XtRemoveRawEventHandler(). 

Structures

Each of the event types listed in the table below set a single bit in an event mask.  The event_mask argument is formed by combining these symbols with the bitwise OR operator (|).  Note that the nonmaskable event types do not appear in this table and cannot be requested in an event mask.

NoEventMask Button1MotionMask StructureNotifyMask


KeyPressMask Button2MotionMask ResizeRedirectMask


KeyReleaseMask Button3MotionMask SubstructureNotifyMask


ButtonPressMask Button4MotionMask SubstructureRedirectMask


ButtonReleaseMask Button5MotionMask FocusChangeMask


EnterWindowMask ButtonMotionMask PropertyChangeMask


LeaveWindowMask KeymapStateMask ColormapChangeMask


PointerMotionMask ExposureMask OwnerGrabButtonMask


PointerMotionHintMask VisibilityChangeMask



See Appendix C, Event Reference, for more information on event types and masks.  In addition to these standard X event masks, the Intrinsics define a special value for use by this function:

/* XtAllEvents is valid only for XtRemoveEventHandler and
 * XtRemoveRawEventHandler; don’t use it to select events!
 */
#define XtAllEvents ((EventMask) -1L)

See Also

XtAddEventHandler(1), XtInsertEventHandler(1), XtRemoveRawEventHandler(1),
XtEventHandler(2). 

Copyright O’Reilly & Assoc.  —  X Toolkit Intrinsics Reference Manual © O’Reilly & Associates

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026