Composite(3XM) — NEWS-OS Programmer’s Manual
名称
Composite — Composite widget クラス
形式
#include <Xm/Xm.h>
解説
Composite widget は、他の widget を入れるコンテナとして用いられ、任意個の子 widget を持つことができます。 本 widget は (widget クラスにより直接実現されているか、Intrinsics 関数により間接的に実現されているかを問わず) 次のような役割を持っています
•子 widget の生成から破壊までの全般的な管理。
•composite widget が破壊されたときの子 widget や孫 widget の破壊。
•管理している子 widget のうちの表示可能なものの物理的配置 (ジオメトリの管理)。
•管理している子 widget のマップとアンマップ。 composite widget のインスタンスでは、子 widget 間の順番を指定する必要があります。 たとえば、論理的な順序で、機能後とにまとめられているコマンドボタンを必要とするアプリケーションや、 ファイル名を表すボタンをアルファペット順に並べる必要のあるアブリケーションなどです。
クラス
Composite は Core から動作とリソースを継承します。
クラスポインタは compositeWidgetClass です。
クラス名は Composite です。
新しいリソース
次の表は、データを指定するのに用いる widget リソースの一覧です。 継承されたクラスのリソースの値もまた widget の属性として設定することができます。 .Xdefaults ファイルの中で名前やクラスでリソースを参照する場合は、語頭の XmN または XmC を取り除いた名称を用いてください。 .Xdefaults ファイルの中でリソースに定義された値を設定するには、語頭の Xm を取り除いた名称を用いてください。 (大文字と小文字は区別されませんが、語間のアンダースコアは必要です。) 「アクセス」欄の文字は、与えられたリソースを、widget 生成時に設定できるか (C)、XtSetValues で設定できるか (S)、XtGetValues で取り出すことができるか (G)、あるいは利用できないか (N/A) を示します。
| Composite リソース一覧 | ||||
| 名称 | クラス | 型 | デフォルト | アクセス |
| XmNinsertPosition | XmCInsertPosition | XmRFunction | NULL | CSG |
XmNinsertPosition
後述する XtOrderProc 関数を指します。
以下のプロシージャで、composite widget のインスタンス中のポインタは、XtOrderProc 型です。 Cardinal (∗ XtOrderProc) (widget)
Widgetw;
wwidget を指定します。
composite widget によって、クライアントはその子 widget (通常は同種のボックスです) に対して、新たに生成した子 widget を子 widget の配列中のどこに挿入するかを決定する際に、そのクラスの insert_child プロシージャから widget インスタンスの insert_position プロシージャを呼び出すよう命令することができるようになります。 このように、composite クラスのクライアントは、各 composite widget のインスタンスを生成する際に、異なった insert_position プロシージャを設定することにより、そのクラスの widget インスタンスに対して、異なったソート基準を適用することができます。
insert_position 関数のリターン値は、その widget の前にいくつの子 widget が存在するかを示します。 リターン値が zero の場合は、他のすべての子 widget より前に位置することを示し、num_children に等しい場合は、他のすべての子 widget の後に位置するということを示します。 デフォルトでは insert_position 関数は num_children を返し、特定の composite widget のリソースのリスト、または composite widget が生成される際に用意される引数リストによってオーバーライドすることができます。
継承されるリソース
composite は、以下のスーパークラスから動作とリソースを継承しています。 これらのリソースに関する詳細は、そのスーパークラスの項を参照してください。
| Core リソース一覧 | ||||
| 名称 | クラス | 型 | デフォルト | アクセス |
| XmNaccelerators | XmCAccelerators | XtTranslations | NULL | CSG |
| XmNancestorSensitive | XmCSensitive | Boolean | True | G |
| XmNbackground | XmCBackground | Pixel | White | CSG |
| XmNbackgroundPixmap | XmCPixmap | Pixmap | XmUNSPECIFIED_PIXMAP | CSG |
| XmNborderColor | XmCBorderColor | Pixel | Black | CSG |
| XmNborderPixmap | XmCPixmap | Pixmap | XmUNSPECIFIED_PIXMAP | CSG |
| XmNborderWidth | XmCBorderWidth | Dimension | 1 | CSG |
| XmNcolormap | XmCColormap | Colormap | XtCopyFromParent | CG |
| XmNdepth | XmCDepth | int | XtCopyFromParent | CG |
| XmNdestroyCallback | XmCCallback | XtCallbackList | NULL | C |
| XmNheight | XmCHeight | Dimension | 0 | CSG |
| XmNmappedWhenManaged | XmCMappedWhenManaged | Boolean | True | CSG |
| XmNscreen | XmCScreen | Pointer | XtCopyScreen | CG |
| XmNsensitive | XmCSensitive | Boolean | True | CSG |
| XmNtranslations | XmCTranslations | XtTranslations | NULL | CSG |
| XmNwidth | XmCWidth | Dimension | 0 | CSG |
| XmNx | XmCPosition | Position | 0 | CSG |
| XmNy | XmCPosition | Position | 0 | CSG |
関連事項
NEWS-OSRelease 4.2.1R