各ボタンには、その外観や動作を定義するプロパティの一覧が関連付けられており、アプリケーション固有の目的で、その他の任意のプロパティを使用することもできます。以下のプロパティは、Buttonパッケージにおいて特別な意味を持ちます。
action ¶ユーザーがボタンを押した際に呼び出される関数で、単一の引数 button が渡されます。デフォルトでは
ignore となっており、何も行いません。
mouse-action ¶これは action
と同様で、指定されている場合は、マウスクリックによるボタン呼び出し時に(ユーザーが RET
を押下する代わりに)action
の代わりに使用されます。指定されていない場合は、マウスクリック時に代わりに action
が使用されます。
face ¶これは、この種のボタンの表示方法を制御するEmacsフェイスであり、デフォルトではbuttonフェイスとなっています。
mouse-face ¶これは、マウスオーバー時の外観を制御する追加のフェイスです(通常のボタンフェイスと統合されています)。デフォルトでは、通常のEmacs highlight フェイスが使用されます。
keymap ¶ボタンのキーマップ。ボタン領域内で有効なバインディングを定義します。デフォルトでは、変数 button-map に格納されている通常のボタン領域キーマップが使用され、RET と mouse-2 でボタンを呼び出すよう定義されています。
type ¶ボタンの種類。ボタンの種類を参照してください。
help-echo ¶Emacsのツールチップヘルプシステムに表示される文字列。デフォルトは "mouse-2, RET:
Push this button"。あるいは、表示する文字列を返す関数、またはその文字列に評価されるフォーム、あるいは
nil。詳細は Text help-echo を参照。
この関数は、window、object、pos の3つの引数で呼び出されます。2番目の引数 object
は、プロパティを持つオーバーレイ(オーバーレイボタンの場合)、またはボタンを含むバッファ(テキストプロパティボタンの場合)のいずれかです。その他の引数は、特殊なテキストプロパティ
help-echo と同様の意味を持ちます。
follow-link ¶このボタンにおける mouse-1 クリックの動作を定義する follow-link プロパティについては、クリック可能なテキストの定義 を参照してください。
button ¶すべてのボタンには non-nil button
プロパティがあり、これはボタンを構成するテキスト領域を特定する際に役立つ場合があります(標準的なボタン機能が行っているのはまさにこの処理です)。
ボタン内のテキスト領域には他にもプロパティが定義されていますが、一般的な用途ではあまり重要ではありません。