タイルの定義は、ダイアログ ボックスで使用できる新しいプロトタイプまたはサブアセンブリの作成に使用します。
タイルの定義の構文は、次のとおりです。
name : item1 [ : item2 : item3 ... ] { attribute = value; ... }
ここで、各 item は、既に定義されているタイルです。新しいタイル(name)は、指定したすべてのタイル(item1、item2、item3、…)の属性を継承します)。中括弧( {} )内の属性定義は、継承した定義に追加するか、または(属性の名前が同じ場合は)継承した定義を置き換えます。定義に複数の括弧がある場合、属性の優先順位は左から右の順になります。つまり、複数の項目で同じ属性を指定した場合、最初に現れる項目が使用されます。
1 つも子がない新しい定義はプロトタイプで、プロトタイプを参照するときにその属性を変更したり、属性を追加できます。子を持っているサブアセンブリの場合、その属性は変更できません。
タイルまたはタイル プロトタイプの名前には、文字、数字、アンダースコア( _ )だけを使用でき、必ず文字で始めなくてはなりません。
次に示すのは、ボタンの(内部)定義です。
button : tile { fixed_height = true; is_tab_stop = true; }
base.dcl ファイルでは、default_button は次のように定義されています。
default_button : button { is_default = true; }
default_button の fixed_height と is_tab_stop 属性は、button タイルの値を継承しています。新しい属性 is_default が追加され、その属性は true に設定されています。