XtAddGrab(3Xt)

XtAddGrab(3Xt)

XtAddExposureToRegion Home Page Subroutines Index XtAddInput


NAME
       XtAddGrab, XtRemoveGrab - redirect user input to a modal
       widget

SYNTAX
       void XtAddGrab(w, exclusive, spring_loaded)
             Widget w;
             Boolean exclusive;
             Boolean spring_loaded;

       void XtRemoveGrab(w)
             Widget w;

ARGUMENTS
       exclusive Specifies whether user events should be dis-
                 patched exclusively to this widget or also to
                 previous widgets in the cascade.

       spring_loaded
                 Specifies whether this widget was popped up
                 because the user pressed a pointer button.

       w         Specifies the widget to add to or remove from
                 the modal cascade.

DESCRIPTION
       The XtAddGrab function appends the widget (and associated
       parameters) to the modal cascade and checks that exclusive
       is True if spring_loaded is True.  If these are not True,
       XtAddGrab generates an error.

       The modal cascade is used by XtDispatchEvent when it tries
       to dispatch a user event.  When at least one modal widget
       is in the widget cascade, XtDispatchEvent first determines
       if the event should be delivered.  It starts at the most
       recent cascade entry and follows the cascade up to and
       including the most recent cascade entry added with the
       exclusive parameter True.

       This subset of the modal cascade along with all descen-
       dants of these widgets comprise the active subset.  User
       events that occur outside the widgets in this subset are
       ignored or remapped.  Modal menus with submenus generally
       add a submenu widget to the cascade with exclusive False.
       Modal dialog boxes that need to restrict user input to the
       most deeply nested dialog box add a subdialog widget to
       the cascade with exclusive True.  User events that occur
       within the active subset are delivered to the appropriate
       widget, which is usually a child or further descendant of
       the modal widget.

       Regardless of where on the screen they occur, remap events
       are always delivered to the most recent widget in the
       active subset of the cascade that has spring_loaded True,

       if any such widget exists.

       The XtRemoveGrab function removes widgets from the modal
       cascade starting at the most recent widget up to and
       including the specified widget.  It issues an error if the
       specified widget is not on the modal cascade.

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

XtAddExposureToRegion Home Page Subroutines Index XtAddInput