Other Alias
XtIsRealized, XtUnrealizeWidget書式
void XtRealizeWidget(w)Widget w;
Boolean XtIsRealized(w)
Widget w;
void XtUnrealizeWidget(w)
Widget w;
引き数
- w
- ウィジェットを指定する。
説明
ウィジェットが既にリアライズされていれば、 XtRealizeWidget はすぐに復帰する。 リアライズされていなければ以下の処理を実行する:- •
- ウィジェットのトランスレーションテーブルにある全てのアクションの名前を 手続きに対応付ける(セクション 10.1.2 を参照)。
- •
- 管理する子を 1 つ以上持つ各々の composite ウィジェットに対して、 change_managed 手続きを呼ぶ。これは、指定されたウィジェットをルートと したウィジェットツリーを、下から上への順に実行する。
- •
- Core ウィジェットフィールドから得た情報で満たされた XSetWindowAttributes 構造体を生成し、ウィジェットの realize 手続きを呼ぶ。これはウィジェット の特定の属性を加え、さらに X のウィンドウを生成する。
- •
-
ウィジェットが
compositeWidgetClass
のサブクラスでないならば、
XtRealizeWidget
はここで戻る。サブクラスであれば、続けて以下を実行する:
-
- -
- ウィジェットに管理された子を再帰的に降りながら realize 手続きを呼ぶ。 子をインスタンス化する Primitive ウィジェットは、その子をリアライズする責 任がある。
- -
- mapped_when_managed が True になっている、管理している子のウィンドウの全てをマッピングする。 (管理されているウィジェットの mapped_when_managed が False である場合、ウィジェットは表示領域が割り当てられるものの、表示はされな い。ある人々は、ある特定の状態を表示するためにこれを好むようである)
-
もしウィジェットがトップレベルのシェルウィジェット (つまり親を持たない) であり、かつ mapped_when_managed が True であれば、 XtRealizeWidget はウィジェットのウィンドウをマッピングする。
XtIsRealized 関数は、ウィジェットがすでにリアライズ (X window ID が 0 でない ウィジェット) されていれば、 True を返す。
ウィジェット手続きの中には (例えば、set_values)、そのウィジェットが実 体化した後、異なる動作をするものがある。
XtUnrealizeWidget 関数は、既存のウィジェットとその子のウィンドウを破棄する (再帰的にウィ ジェットツリーを降りながら) 。 後から再びウィンドウを生成する場合は、再び XtRealizeWidget を呼べばよい。 ウィジェットが管理されていた場合、そのウィンドウが解放される前に自動的 に非管理状態となる。