Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought



  XtAddGrab(3Xt)   X Version 11 (1 September 1988)   XtAddGrab(3Xt)



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




Page 1 (printed 8/30/91)

  XtAddGrab(3Xt)   X Version 11 (1 September 1988)   XtAddGrab(3Xt)



       This subset of the modal cascade along with all descendants
       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


















Page 2 (printed 8/30/91)

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