other versions
- wheezy 4.1.0.20011224-6
XtManageChildren(3Xt) | XT FUNCTIONS | XtManageChildren(3Xt) |
名前¶
XtManageChildren, XtManageChild, XtUnmanageChildren, XtUnmanageChild, XtChangeManagedSet, XtIsManaged - 子ウィジェットのマネージとマネージ解除を行う書式¶
typedef Widget *WidgetList;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; void XtChangeManagedSet( unmanage_children, num_unmanage_children, manage_children, num_manage_children, post_unmanage_pre_manage_hook, client_data)
WidgetList unmanage_children;
Cardinal num_unmanage_children;
WidgetList manage_children;
Cardinal num_manage_children;
XtCSMProc post_unmanage_pre_manage_hook;
XtPointer client_data; Boolean XtIsManaged( widget)
Widget widget
引き数¶
- child
- 子ウィジェットを指定する。
- children
- 子ウィジェットのリストを指定する。
- num_children
- 子ウィジェットの数を指定する。
- widget
- ウィジェットを指定する。
- manage_children
- マネージセットに追加する子ウィジェットのリストを指定する。
- num_manage_children
- manage_children リスト内のエントリー数を指定する。
- unmanage_children
- マネージセットから取り除く子ウィジェットのリストを指定する。
- num_unmanage_children
- unmanage_children リスト内のエントリー数を指定する。
- post_unmanage_pre_manage_hook
- マネージ解除後、マネージ前に呼び出すフック手続きを指定する。
- client_data
- フック手続きに渡すクライアントデータを指定する。
説明¶
関数 XtManageChildren は以下の処理を行う:- •
- 親の異なる子ウィジェットが含まれる場合や親ウィジェットが compositeWidgetClass のサブクラスでない場合に、エラーを出す。
- •
- 共通の親が破棄されようとしている場合は、即座に戻ってくる。そうでなけれ ば、リスト中のユニークな子ウィジェットのそれぞれに対して、 XtManageChildren は、その子ウィジェットが既にマネージされているか、破棄されようとしてい る場合にはこれをを無視する。また、マークが付いていなければ、これにマー クを付ける。
- •
- 親ウィジェットがリアライズされていて、かつ全ての子ウィジェットにマーク が付けられている場合、新しくマネージされた子ウィジェットの一部は表示可 能になる。
- -
- そのウィジェットの親ウィジェットの change_managed 手続きを呼ぶ。
- -
- 前にマネージ解除された子ウィジェットのうち、リアライズ解除されているも のそれぞれについて XtRealizeWidget を呼ぶ。
- -
- 前にマネージ解除された子ウィジェットのうち、map_when_managed が True であるものそれぞれをマップする。
- •
- 親の異なる子ウィジェットが含まれる場合や親ウィジェットが compositeWidgetClass のサブクラスでない場合に、エラーを出す。
- •
- 共通の親が破棄されようとしている場合は、即座に戻ってくる。そうでなけれ ば、リスト中のユニークな子ウィジェットのそれぞれに対して、 XtUnmanageChildren が以下の処理を行う:
- -
- その子ウィジェットが既にマネージ解除されているか、破棄されようとしてい る場合にはこれをを無視する。また、マークが付いていなければ、これにマー クを付ける。
- -
- 子ウィジェットがリアライズされている場合、これはマップ解除によって不可 視の状態にされる。
- •
- 親ウィジェットがリアライズされていれば、全ての子ウィジェットにマークを 付け終った後で、親ウィジェットの change_managed 手続きを呼ぶ。
- •
- manage_children リストと unmanage_children リストで指定さ れたウィジェットに親の異なるものが含まれる場合や、親ウィジェットが compositeWidgetClass のサブクラスでない場合に、エラーを出す。
- •
- 共通の親が破棄されようとしている場合は、即座に戻ってくる。
- •
- CompositeClassExtension が定義されていない場合、または CompositeClassExtension は定義されているが allows_change_managed_set フィールドの値が False であり、かつ XtChangeManagedSet が NULL でない post_unmanage_pre_manage_hook 手続きを指定して呼 び出された場合には、 XtChangeManagedSet は以下の動作を行う:
- -
- XtUnmanageChildren ( unmanage_children, num_unmanage_children) を呼び出す。
- -
- 指定された post_unmanage_pre_manage_hook を呼び出す。
- -
- XtManageChildren ( manage_children, num_manage_children) を呼び出し、その後すぐに戻る。
- •
- そうでない場合で、allows_change_managed_set の値が True である CompositeClassExtension が定義されている場合、または CompositeClassExtension が定義されておらず、かつ NULL である post_unmanage_pre_manage_hook 手続きを使って XtChangeManagedSet が呼び出された場合には、以下の処理が行われる:
- -
- unmanage_children リストの子ウィジェットそれぞれについて処理を行 う。この子ウィジェットが既にマネージ解除されているか破棄されようとして いる場合には、これは無視される。そうでない場合には、マネージ解除のマー クが付けられ、さらにリアライズされている場合は、アンマップされて不可視 にされる。
- -
- post_unmanage_pre_manage_hook 手続きが NULL でない場合、この手続 きが指定されたように呼び出される。
- -
- manage_children リストの子ウィジェットそれぞれに対して処理を行う。 子ウィジェットが既にマネージされているか、破棄されようとしている場合に は、これは無視される。そうでない場合には、マネージされるものとしてマー クが付けられる。
- •
- 親ウィジェットがリアライズされており、子ウィジェット全てにマークが付け られた後ならば、まず親ウィジェットの change_managed 手続きが呼ばれ、続 いて以下の処理が行われることで、新しくマネージされた子ウィジェットの一 部が可視状態になる:
- -
- 以前にマネージ解除された子ウィジェットで、リアライズされていないものの それぞれに対して XtRealizeWidget を呼ぶ。
- -
- 以前にマネージ解除された子ウィジェットで、map_when_managed が True であるものをそれぞれマップする。
関連項目¶
XtMapWidget(3Xt), XtRealizeWidget(3Xt)Release 6.5 | X Version 11 |