すべてのボタンにはボタンタイプがあり、これによりボタンのプロパティのデフォルト値が定義されます。ボタンタイプは階層構造になっており、特化したタイプがより汎用的なタイプを継承しているため、特定のタスク向けの専用ボタンタイプを容易に定義できます。
name(シンボル)というボタンタイプを定義します。残りの引数はproperty
valueペアのシーケンスとなり、このタイプのボタンに対するプロパティのデフォルト値を指定します(ボタンのタイプは、ボタン作成時に:typeキーワード引数を用いてtypeプロパティを指定することで設定できます)。
さらに、キーワード引数 :supertype を使用して、name がデフォルトのプロパティ値を継承するボタンタイプを指定できます。なお、この継承は name が定義されている場合にのみ行われ、その後のスーパータイプへの変更はサブタイプには反映されません。
ボタンのデフォルトプロパティを定義するために define-button-type
を使用する必要はありません—タイプが指定されていないボタンには、組み込みの button-type button
が使用されます—とはいえ、そうすることで通常、結果として得られるコードがより明確かつ効率的になるため、推奨されます。