XtPopdown(3Xt)

名前
XtPopdown, XtCallbackPopdown - ポップアップのアンマップ

書式
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;

引き数

call_data
    コールバックデータを指定。 これは、この手続きには使用されない。

client_data
    構造体へのポインタを指定。

popup_shell
    ポップダウンするウィジェットシェルを指定。

shell_name
    ポップダウンするウィジェットシェルの名前を指定。

w   ウィジェットを指定。

説明
関数 の動作は以下である:

•   を呼び、popup_shell が のサブクラスであることを確認する。

•   popup_shell が現在ポップアップされていることを確認する。 ポップアップされていなければ、エラーを起こす。

•   popup_shell のウィンドウをアンマップする。

•   popup_shell の grab_kind が または ならば、 を呼ぶ。

•   ポップアップシェルの popped_up フィールドに をセットする。

•   シェルの popdown_callback リストのコールバック手続きを呼ぶ。

関数 は、クライアントデータのパラメータを へのポインタにキャストする:

typedef struct {
    Widget shell_widget;
    Widget enable_widget; } XtPopdownIDRec, *XtPopdownID;

shell_widget はポップダウンさせるポップアップシェルであり、 enable_widget はこれをポップアップさせるときに使われたウィジェットであ る。

関数 は、指定された shell_widget を使って を呼び、その後で enable_widget が再びイベントに反応できるようにするた め を呼ぶ。

シェルの名前が与えられなかった場合、 はトランスレーションが指定されているウィジェットを使って を呼ぶ。 shell_name がトランスレーションテーブル内で指定されている場合、 はウィジェットツリーを検索してシェルを見つけようとする。この検索は、こ の関数が呼び出されたウィジェットの親ウィジェットから始められる。 その親ウィジェットの子ウィジェットであるポップアップの中に指定した名前 を持つシェルが見つかった場合、そのシェルはポップダウンされる。 そうでない場合には、必要に応じて繋がっている親ウィジェットを上に向かっ て参照してゆく。 がアプリケーションのトップレベルのシェルウィジェットに達し、しかもマッ チするシェルが見つからなかった場合には、この関数はエラーを起こす。

関連項目
XtCreatePopupShell(3Xt), XtPopup(3Xt)
X Toolkit Intrinsics - C Language Interface
Xlib - C Language X Interface