コンストレイントウィジェットはMotifではXmManagerメタクラスを継承した ウィジェットクラスとして実装されます。つまり次のような共通するリソース を持っているということです。
XmNbottomShadowColor/XmNbottomShadowPixmap XmNforeground XmNhelpCallback XmNhighlightColor/XmNhighlightPixmap XmNinitialFocus 子のうちデフォルトとするものを選ぶ XmNnavigationType XmNshadowThickness XmNstringDirection 文字の方向(右から左/左から右) XmNtopShadowColor/XmNtopShadowPixmap XmNtraversalOn XmNunitType XmNuserData
説明のないリソースはこれまでに出てきたものです。
コンストレイントという意味は、このウィジェットに子ウィジェットを付け 加えていくときに何らかの規則が働くということです。適当に間をあけて並べ るとか、ウィジェットの寸法を外枠に合わせて調整するとかです。そのやり方 が違うものが別のクラスとして定義されています。
XmDrawingArea 描画用の平面 XmBulletinBoard 単純なジェオメトリー管理 - XmForm 相対位置でのジェオメトリー管理 - XmSelectionBox 項目選択用 - XmFileSelectionBox ファイル選択用 - XmMessageBox メッセージ確認専用 XmFrame 枠を付けるだけ XmRowColumn 縦横に並べるジェオメトリー管理 XmPanedWindow 縦に並べる XmScrolledWindow スクロール出来るウィンドウ - XmMainWindow アプリケーション初期画面用 XmScale スライダー
それぞれに個別のリソースが追加されます。ドローイングエリアは図を表示す るためによく使います。リソースを見ておきましょう。
XmNexposeCallback ウィンドウの再描画が必要になった時のコールバック XmNinputCallback キーボードやマウスの入力に対応するコールバック XmNmarginHeight 子ウィジェットを置くときの高さ方向の間 XmNmarginWidth 子ウィジェットを置くときの横方向の間 XmNresizeCallback ウィンドウの寸法が変わった時のコールバック XmNresizePolicy 親ウィンドウの寸法が変わったときどうするか。