ボタンはその外観と振る舞いを定義するプロパティの連想リスト(associated list)をもち、アプリケーションの特別な目的のために他の任意のプロパティを使用できます。以下のプロパティはButtonパッケージにたいして特別な意味をもちます:
action
¶ユーザーがボタンを呼び出した際に呼び出す関数であり、単一の引数buttonを渡して呼び出される。デフォルトではこれは何も行わないignore
。
mouse-action
¶これはaction
と似ているが与えられた際には、(RET押下のかわりに)マウスクリックによりボタンが呼び出された場合naction
のかわりに使用される。与えられなければマウスクリックはかわりにaction
を使用する。
face
¶このタイプのボタンが表示される方法を制御するEmacsフェイス。デフォルトはbutton
フェイス。
mouse-face
¶ボタン上にマウスがある際の外観を制御する追加のフェイス(通常のbuttonフェイスとマージされる)。デフォルトはEmacsの通常のhighlight
フェイス。
keymap
¶そのボタンリージョン(button
region)でアクティブなバインディングを定義するボタンのキーマップ。デフォルトは変数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
¶すべてのボタンは非nil
のbutton
プロパティをもち、これはボタンを含むテキストリージョンを探すのに有用かもしれない(標準的なボタン関数はこれを行う)。
ボタン内のテキストリージョンにたいして定義された他のプロパティも存在しますが、それらは典型的な用途にたいしては一般的には無関係でしょう。