42.20.1 Свойства кнопок

Каждая кнопка имеет связанный список свойств, определяющих ее внешний вид и поведение, и могут использоваться другие произвольные свойства для целей, специфичных для приложения. Следующие свойства имеют особое значение для пакета Button:

action

Функция, которая вызывается, когда пользователь активирует кнопку, которой передается единственный аргумент button. По умолчанию это ignore, которая ничего не делает.

mouse-action

Это похоже на action, и при наличии будет использоваться вместо action для вызовов кнопки, результирующих из кликов мыши (вместо нажатия пользователем RET). Если отсутствует, клики мыши используют action.

face

Это лицо Emacs, контролирующее отображение кнопок этого типа; по умолчанию это лицо button.

mouse-face

Это дополнительное лицо, которое контролирует внешний вид во время наведения курсора мыши (объединяется с обычным лицом кнопки); по умолчанию это обычное лицо highlight Emacs.

keymap

Карта клавиш кнопки, определяющая привязки, активные в области кнопки. По умолчанию это обычная карта клавиш области кнопки, хранимая в переменной button-map, которая определяет RET и mouse-2 для вызова кнопки.

type

Тип кнопки. См. Типы кнопок.

help-echo

Строка, отображаемая системой справки всплывающих подсказок Emacs; по умолчанию, "mouse-2, RET: Нажмите эту кнопку". В качестве альтернативы — функция, возвращающая или форма, которая вычисляется в строку для отображения, или nil. Для подробностей см. Справка help-echo.

Функция вызывается с тремя аргументами: window, object и pos. Второй аргумент, object, — это либо оверлей, имевший свойство (для кнопок оверлея), либо буфер, содержащий кнопку (для кнопок с текстовыми свойствами). Остальные аргументы имеют то же значение, что и для специального текстового свойства help-echo.

Свойство follow-link, определяющее, как поведение клика mouse-1 на этой кнопке, См. Определение кликабельного текста.

button

Все кнопки имеют не-nil свойство button, которое может быть полезно при поиске областей текста, составляющих кнопки (что и делают стандартные функции кнопок).

Существуют другие свойства, определенные для областей текста в кнопке, но они обычно не представляют интереса для типичного использования.