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