定義は、再使用可能なオブジェクトとして宣言されているユーザー定義のウィジェット階層です。定義は、他のアイコンと同様に、パレット上に挿入して使用することができます。
ウィジェット階層は、定義として指定する前に、数多くのコンストレイントを満たさなければいけません。まず、階層の最上位にあるウィジェットに名前がついていること、階層最上位が構造または C++ クラスとして指定されていること、ウィジェットが既存の定義の一部を形成していない、または既存の定義を含んでいないこと、そして階層に大域的または静的ウィジェットが含まれていない(そして、包含クラスの外側になる) こと、を満たす必要があります。これらのクラス属性は、コアリソースパネルの「コード生成」のページを使用して指定できます。
階層を定義としてマークするには、定義にする階層の最上位を選択します。そして、X-Designer ウィンドウの上部にあるウィジェットメニューの「定義」オプションを設定します。ウィジェットおよびすべての子孫は、定義を形成することを示す色付きのボックスで囲まれます。
パレットに定義を追加する場合には、まず最初にデザインを保存しなければいけません。1 つの保存ファイルには、多くの定義を持たせることができます。
定義を追加するには、パレットメニューから「定義を編集」オプションを選択して、定義を編集ダイアログを表示します。パレットに定義を簡単に追加する方法では、パレットメニューから「定義」オプションを使用します。現在選択されているウィジェットが定義を形成し、デザインが保存されてパレットに定義が追加されます。この場合、アイコンは使用されず、ウィジェット名をラベルに持つ単純なプッシュボタンがパレットに挿入されます。
定義は、パレット上にある通常のウィジェットとまったく同様に使用することができます。定義のインスタンスは、構成領域に追加されます。そして、インスタンス化された構造には、インスタンスの個々の構成要素に対して設定されるリソースと同様に、新しいウィジェットを追加することができます。
定義から生成された C++ コードは、公開ヘッダ・ファイルの形式をとる宣言(クラスを定義する) 部と、クラスの実装を提供するコードモジュール部で構成されます。
注意
定義階層は通常、直接修正することができず、また、定義の構成要素に対してのリソース・パネルは読み出し専用となっています。定義を変更するには、まず定義トグルをオフにし、変更を行なった後で定義トグルを再度オンにします。
関連項目: