XtCallbackExclusive()XtCallbackExclusive()NameXtCallbackExclusive - callback function to pop up a widget.
Synopsis
void XtCallbackExclusive(w, client_data, call_data)
Widget w;
XtPointer client_data;
XtPointer call_data;
Inputs
w Specifies the widget.
client_data
Specifies the popup shell.
call_data Specifies the callback data, which is not used by this proce‐
dure.
DescriptionXtCallbackExclusive() calls XtPopup() on the widget passed in the
client_data argument with grab_mode set to XtGrabExclusive. Then it
calls XtSetSensitive() on w to make that widget insensitive.
XtCallbackExclusive() is a convenience procedure designed to be regis‐
tered on a widget's callback list (which is why it has a third, unused
argument). The widget to be popped up should be registered as
client_data for the callback. The reason that this callback makes its
invoking widget insensitive is so that the user cannot request to popup
the shell again while it is already up.
Usage
To popup a shell with a non-exclusive grab or with no grab at all, you
can use XtCallbackNonexclusive() or XtCallbackNone(). To popdown a
shell from a callback, use XtCallbackPopdown().
Note that this function does not attempt to place the popup shell at
any particular location, and for that reason may not be appropriate in
many circumstances.
It is also possible to pop up a shell with the XtMenuPopup action.
Example
To arrange for the shell pshell to be popped up when the user clicks on
the button widget button, you would use code like the following:
XtAddCallback(button,XtNcallback,XtCallbackExclusive,pshell);
A companion example is presented on the XtCallbackPopdown() reference
page.
See AlsoXtCallbackNone(1), XtCallbackNonexclusive(1), XtCallbackPopdown(1),
XtMenuPopdown(1), XtMenuPopup(1), XtPopdown(1), XtPopup(1), XtSetSensi‐
tive(1).
Xt - Pop Ups XtCallbackExclusive()