NAME
XtPopdown, XtCallbackPopdown - unmap a pop-up
SYNTAX
void XtPopdown(Widget _p_o_p_u_p___s_h_e_l_l);
void XtCallbackPopdown(Widget _w, XtPointer _c_l_i_e_n_t___d_a_t_a, XtPointer
_c_a_l_l___d_a_t_a);
void MenuPopdown(String _s_h_e_l_l___n_a_m_e);
ARGUMENTS
-
_c_a_l_l___d_a_t_a
Specifies the callback data,
-
which is not used by this procedure.
-
_c_l_i_e_n_t___d_a_t_a
Specifies a pointer to the
-
_X_t_P_o_p_d_o_w_n_I_D
structure.
-
_p_o_p_u_p___s_h_e_l_l
Specifies the widget shell to pop down.
-
-
_s_h_e_l_l___n_a_m_e
Specifies the name of the widget shell to pop down.
-
-
_w
Specifies the widget.
-
DESCRIPTION
The
_X_t_P_o_p_d_o_w_n
function performs the following:
-
·
Calls
-
_X_t_C_h_e_c_k_S_u_b_c_l_a_s_s
to ensure popup_shell is a subclass of
_S_h_e_l_l.
-
·
Checks that popup_shell is currently popped_up;
-
otherwise, it generates an error.
-
·
Unmaps popup_shell's window.
-
-
·
If popup_shell's grab_kind is either
-
_X_t_G_r_a_b_N_o_n_e_x_c_l_u_s_i_v_e
or
_X_t_G_r_a_b_E_x_c_l_u_s_i_v_e,
it calls
_X_t_R_e_m_o_v_e_G_r_a_b.
-
·
Sets pop-up shell's popped_up field to
-
_F_a_l_s_e.
-
·
Calls the callback procedures on the shell's popdown_callback list.
-
The
_X_t_C_a_l_l_b_a_c_k_P_o_p_d_o_w_n
function casts the client data parameter to an
_X_t_P_o_p_d_o_w_n_I_D
pointer:
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.
_X_t_C_a_l_l_b_a_c_k_P_o_p_d_o_w_n
calls
_X_t_P_o_p_d_o_w_n
with the specified shell_widget
and then calls
_X_t_S_e_t_S_e_n_s_i_t_i_v_e
to resensitize the enable_widget.
If a shell name is not given,
_M_e_n_u_P_o_p_d_o_w_n
calls
_X_t_P_o_p_d_o_w_n
with the widget for which the translation is specified.
If a shell_name is specified in the translation table,
_M_e_n_u_P_o_p_d_o_w_n
tries to find the shell by looking up the widget 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
_M_e_n_u_P_o_p_d_o_w_n
gets to the application top-level shell widget
and cannot find a matching shell,
it generates an error.
SEE ALSO
XtCreatePopupShell(3Xt),
XtPopup(3Xt)
_X _T_o_o_l_k_i_t _I_n_t_r_i_n_s_i_c_s _- _C _L_a_n_g_u_a_g_e _I_n_t_e_r_f_a_c_e
_X_l_i_b _- _C _L_a_n_g_u_a_g_e _X _I_n_t_e_r_f_a_c_e