Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ XtManageChild(3Xt) — NEWS-os 3.3

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

XtMapWidget(3Xt)

XtRealizeWidget(3Xt)

XtManageChildren(3Xt)  —  UNIX 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 3.3

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026