XtRealizeWidget(3Xt) — NEWS-OS Programmer’s Manual
名称
XtRealizeWidget, XtIsRealized, XtUnrealizeWidget − ウィジェットをリアライズする、およびアンリアライズする
形式
void XtRealizeWidget(w)
Widget w; Boolean XtIsRealized(w)
Widget w; void XtUnrealizeWidget(w)
Widget w;
引数
wウィジェットを指定します。
解説
ウィジェットがすでにリアライズされている場合は、 XtRealizeWidget は単に返されます。 そうでない場合は、次のことを行います。
•ウィジェットのトランスレーションテーブル中のすべてのアクション名を プロシージャにバインドします。 ( 10.1.2 節参照 ) 。
•指定されたウィジェットを根とするウィジェットツリーのポストオーダーの トラバーサルを作り、ひとつ以上のマネージされた子ウィジェットをもつ コンポジットウィジェットの change_managed プロシージャを呼び出します。
•Core ウィジェットのフィールドから得た情報で満たされる XSetWindowAttributes 構造体を構成し、ウィジェットのリアライズプロシージャを呼び出します。 ウィジェットのリアライズプロシージャでは、なんらかのウィジェット指定の 属性を付加し、 X ウィンドウを作成します。
•ウィジェットが compositeWidgetClass のサブクラスでない場合は、 XtRealizeWidget は返されます。そうでない場合は、次のことを続けて行います。
−ウィジェットのマネージされている子のそれぞれを、再帰的に降下し、 リアライズプロシージャを呼び出します。 子ウィジェットを例示するプリミティブウィジェットは、それらの 子ウィジェット自身をリアライズさせる責任があります。
−mapped_when_managed が True であるすべてのマネージされた子ウィンドウをマップします。 ( ウィジェットはマネージされているが、 mapped_when_managed が False の場合は、 ウィジェットはビジュアルスペースには割当てられるが、表示されません。 ある状態を示すのにこれを好む人もいます ) 。
ウィジェットがトップレベルのシェルウィジェット ( すなわち親ウィジェット をもたない ) で、
mapped_when_managed が True の場合は、 XtRealizeWidget は、ウィジェットウィンドウをマップします。 XtIsRealized 関数は、ウィジェットがリアライズしているとき、 すなわちウィジェットの X ウィンドウ ID がゼロでない場合は、 True を返します。 ウィジェットプロシージャによっては ( たとえば、 set_values ) 、 ウィジェットがリアライズされる前と後で異なった働きをするものもあります。 XtUnrealizeWidget 関数は、既存のウィジェットのウィンドウおよびそのすべての子を破壊します (再帰的にウィジェットツリーを降下する)。 後でウィンドウを再作成するには、再び XtRealizeWidget を呼び出します。 ウィジェットがマネージされている場合は、 そのウィンドウがフリーされる前に、自動的にマネージされなくなります。
関連事項
XtManageChildren(3Xt)
X Toolkit Intrinsics − C Language Interface
Xlib − C Language X Interface
NEWS-OSRelease 4.1C