Query: xtpopup
OS: hpux
Section: 3
Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar
XtPopup() XtPopup()
Name
XtPopup - map a popup shell.
Synopsis
void XtPopup(popup_shell, grab_kind)
Widget popup_shell;
XtGrabKind grab_kind;
Inputs
popup_shell
Specifies a shell widget returned by XtCreatePopupShell().
grab_kind Specifies how user events should be constrained. (Can be one of XtGrabNone, XtGrabNonexclusive, XtGrabExclusive.)
Description
XtPopup() calls the functions registered on the shell's XtNpopupCallback list and pops up the shell widget (and its managed child). The
"Algorithm" section below explains this process in more detail.
If grab_kind is XtGrabNone, the resulting popup is "modeless", and does not lock out input events to the rest of the application. If it is
XtGrabNonexclusive, then the resulting popup is "modal" and locks out input to the main application window, but not to other modal popups
that are currently popped up. If it is XtGrabExclusive, then the resulting popup is modal and locks out input to the main application win-
dow and all previous popup windows. For more details on XtGrabNonexclusive and XtGrabExclusive, see XtAddGrab().
Usage
By default, XtPopup() maps its window to the upper-left corner of the display. You will generally want to position the shell by setting
its XtNx and XtNy resources before calling XtPopup().
The Intrinsics also provide convenience routines to popup a shell. To perform a pop up from a callback list, register one of the functions
XtCallbackNone(), XtCallbackNonexclusive(), or XtCallbackExclusive(). To do so from a translation table, use the XtMenuPopup action.
Widgets can be popped down with XtPopdown(), the XtCallbackPopdown() callback function, or the XtMenuPopdown action.
If you are using the Motif widget set, you will generally never need to call XtPopup() or XtPopdown(). The Motif XmDialogShell widget
automatically pops up when its child is managed, and pops down when its child is unmanaged.
Algorithm
The XtPopup() function performs the following:
o Calls XtCheckSubclass() to ensure popup_shell's class is a subclass of shellWidgetClass.
o Raises the window and returns if the shell's popped_up field is already True.
o Calls the callback procedures on the shell's XtNpopupCallback list, specifying a pointer to the value of grab_kind as the call_data
argument.
o Sets the shell popped_up field to True, the shell spring_loaded field to False, and the shell grab_kind field from grab_kind.
o If the shell's XtNcreatePopupChildProc resource is non-NULL, XtPopup() calls the specified procedure with popup_shell as the parameter.
o If grab_kind is either XtGrabNonexclusive or XtGrabExclusive, it calls:
XtAddGrab(popup_shell, (grab_kind == XtGrabExclusive), False)
o Calls XtRealizeWidget() with popup_shell specified.
o Calls XMapRaised() with the window of popup_shell.
Structures
The XtGrabKind type is defined as follows:
typedef enum {XtGrabNone, XtGrabNonexclusive, XtGrabExclusive} XtGrabKind;
See Also
XtAddGrab(1), XtCallbackExclusive(1), XtCallbackNone(1), XtCallbackNonexclusive(1), XtCallbackPopdown(1), XtCreatePopupShell(1), XtMenuPop-
down(1), XtMenuPopup(1), XtPopdown(1), XtPopupSpringLoaded(1).
Xt - Pop Ups XtPopup()
| Related Man Pages |
|---|
| menupopup(3) - debian |
| xtcallbacknonexclusive(3) - debian |
| xtcallbacknone(3) - debian |
| xtpopupspringloaded(3) - debian |
| xtcallbacknonexclusive(3) - centos |
| Similar Topics in the Unix Linux Community |
|---|
| webinject - dealing with popups |
| Writing an annoying popup window |
| perl window.open without blocker |