XtManageChildren(3Xt) — NEWS-OS Programmer’s Manual
名称
XtManageChildren, XtManageChild, XtUnmanageChildren, XtUnmanageChild − 子ウィジェットをマネージするおよびマネージからはずす
形式
typedef Widget ∗WidgetList; void XtManageChildren(children, num_children)
WidgetList children;
Cardinal num_children; void XtManageChild(child)
Widget child; void XtUnmanageChildren(children, num_children)
WidgetList children;
Cardinal num_children; void XtUnmanageChild(child)
Widget child;
引数
child子ウィジェットを指定します。
children子ウィジェットのリストを指定します。
num_children
子ウィジェットの数を指定します。
解説
XtManageChildren 関数は、次のことを行います。
•子がすべて同じ親をもっていない場合、または親が compositeWidgetClass のサブクラスでない場合は、エラーを出します。
•共通の親がデストロイされている最中の場合は、すぐに戻ります。 そうでない場合、リスト上の一意の子のそれぞれについて、子がすでに マネージされているか、デストロイされている最中の場合は、 その子を無視し、 そうでない場合は、その子をマークします。
•親がリアライズされていてかつ、すべての子がマークされた後で、 XtManageChildren は、いくつかの新しくマネージされた子が見えるようにします。
−そのウィジェットの親の change_managed ルーチンを呼び出します。
−前にはマネージされていなかった、リアライズされていない子のそれぞれに 対して、 XtRealizeWidget を呼び出します。
−前にはマネージされていなかった、map_when_managed が True である子のそれぞれをマップします。
子をマネージすることは、子を順序付けること、および子を生成したり 削除したりすることと独立しています。 親のレイアウトルーチンは、 managed フィールドが True である子に注意して、他のすべての子は無視するべきです。 なお、いくつかのコンポジットウィジェット、特に固定ボックスは、 insert_child プロシージャから XtManageChild を呼び出すことに注意してください。 親がリアライズされた場合、 その change_managed プロシージャが、 そのマネージされている子のセットが変更されたことを知らせるために 呼び出されます。 親は、その子の再配置およびサイズ変更をすることができます。 親は、必要に応じて、 XtMoveWidget を呼ぶことで各子を動かします。 XtMoveWidget ははじめに x と y のフィールドを更新し、もしそのウィジェットが リアライズされているなら、それから XMoveWindow を呼び出します。 XtManageChild 関数は、長さ 1 の WidgetList を組立て、 XtManageChildren を呼び出します。 XtUnmanageChildren 関数は、次のことを行います。
•子がすべて同じ親をもっていない場合、 または親が compositeWidgetClass のサブクラスでない場合は、エラーを出します。
•共通の親がデストロイされている最中の場合は、すぐに戻ります。 そうでない場合は、リスト上の一意の子のそれぞれについて、 XtUnmanageChildren は次のことを行います。
−子がすでにマネージされていない場合、またはデストロイされている最中の 場合は、無視し、 そうでない場合は、マークします。
−子がリアライズされている場合は、 それをアンマップすることにより、見えなくします。
•親がリアライズされている場合は、すべての子がマークされた後で、 このウィジェットの親の change_managed ルーチンを呼び出します。 XtUnmanageChildren は、子をデストロイしません。 親のマネージされているセットから、ウィジェットを削除することは、 たいていの場合一時的な追放になるので、しばらくのちに再びその子を マネージしてもかまいません。 XtUnmanageChild 関数は、長さ 1 のウィジェットのリストを組立て、 XtUnmanageChildren を呼び出します。
関連事項
XtMapWidget(3Xt), XtRealizeWidget(3Xt)
X Toolkit Intrinsics − C Language Interface
Xlib − C Language X Interface
NEWS-OSRelease 4.2.1R