フォームウィジェットは、「アタッチメント」に沿って子を配置するコンポジットウィジェットです。アタッチメントは、別のウィジェットまたはフォーム自体に相対したウィジェットの位置を指定します。
フォームウィジェットは、サイズ変更時には、これらのアタッチメントにより制約されたウィジェットの相対位置を保持します。また、子が追加、サイズ変更、あるいは削除された場合にも相対位置を維持します。
X-Designer には、フォームおよび構成要素ウィジェットアタッチメントの設定タスクを簡単にするフォーム配置エディタがあります。
フォームは、ブリテンボードウィジェットから派生しているため、同じリソースパネルを共有します。
フォームウィジェットの詳細については、OSF/Motif プログラマーズ・リファレンスの XmForm(3X) を参照してください。
ヒント
フォーム内でアタッチメントが作成される順序には、意味があります。フォームは、内部的に一貫性を維持するために、アタッチメントを変更する場合があります。
フォーム配置に問題が生じた場合には、アタッチメントを別の順序で作成する、あるいはフォームをリセットしてみると良いでしょう。
フォームは、「アタッチメントの循環」という制限事項があります。たとえば、ウィジェット B の上部をウィジェット A の下部にアタッチし、更にウィジェット A の上部をウィジェット B の下部にアタッチすることはできません。X-Designer フォーム配置エディタは、これらの無効なアタッチメントの作成を自動的に防ぎます。
Motif は、指定されたアタッチメントを満たすまで、あるいは反復移動の上限に達するまでウィジェットを移動させます。アタッチメントが解決されない場合には、Motif は警告を発します。
デフォルトでは、Motif はフォームの子の上端を親フォームの上部に、左端をフォームの左側にアタッチします。この動作については、マニュアルに示されていません。
関連項目: