XtPopdown(3Xt) XT FUNCTIONS XtPopdown(3Xt)NAME
XtPopdown, XtCallbackPopdown - unmap a pop-up
SYNTAX
void XtPopdown(popup_shell)
Widget popup_shell;
void XtCallbackPopdown(w, client_data, call_data)
Widget w;
XtPointer client_data;
XtPointer call_data;
void MenuPopdown(shell_name)
String shell_name;
ARGUMENTS
call_data Specifies the callback data, which is not used
by this procedure.
client_data
Specifies a pointer to the XtPopdownID struc-
ture.
popup_shell
Specifies the widget shell to pop down.
shell_name
Specifies the name of the widget shell to pop
down.
w Specifies the widget.
DESCRIPTION
The XtPopdown function performs the following:
o Calls XtCheckSubclass to ensure popup_shell is a sub-
class of Shell.
o Checks that popup_shell is currently popped_up; oth-
erwise, it generates an error.
o Unmaps popup_shell's window.
o If popup_shell's grab_kind is either XtGrabNonexclu-
sive or XtGrabExclusive, it calls XtRemoveGrab.
o Sets pop-up shell's popped_up field to False.
o Calls the callback procedures on the shell's pop-
down_callback list.
The XtCallbackPopdown function casts the client data
parameter to an XtPopdownID pointer:
X Version 11 Release 6.4 1
XtPopdown(3Xt) XT FUNCTIONS XtPopdown(3Xt)
typedef struct {
Widget shell_widget;
Widget enable_widget;
} XtPopdownIDRec, *XtPopdownID;
The shell_widget is the pop-up shell to pop down, and the
enable_widget is the widget that was used to pop it up.
XtCallbackPopdown calls XtPopdown with the specified
shell_widget and then calls XtSetSensitive to resensitize
the enable_widget.
If a shell name is not given, MenuPopdown calls XtPopdown
with the widget for which the translation is specified.
If a shell_name is specified in the translation table,
MenuPopdown tries to find the shell by looking up the wid-
get tree starting at the parent of the widget in which it
is invoked. If it finds a shell with the specified name
in the pop-up children of that parent, it pops down the
shell; otherwise, it moves up the parent chain as needed.
If MenuPopdown gets to the application top-level shell
widget and cannot find a matching shell, it generates an
error.
SEE ALSOXtCreatePopupShell(3Xt), XtPopup(3Xt)
X Toolkit Intrinsics - C Language Interface
Xlib - C Language X Interface
X Version 11 Release 6.4 2