42.20.4 Манипулирование кнопками

Это функции для получения и установки свойств кнопок. Часто они используются вызывающей функцией кнопки для определения действий.

Когда указан параметр button, это означает объект, отсылающий к конкретной кнопке, либо оверлею (для кнопок-оверлеев), либо позиции буфера или маркеру (для кнопок с текстовыми свойствами). Такой объект передается в качестве первого аргумента вызывающей функции кнопки при ее вызове.

Функция: button-start button

Возвращает позицию, с которой начинается button.

Функция: button-end button

Возвращает позицию, где заканчивается button.

Функция: button-get button prop

Получает свойство кнопки button с именем prop.

Функция: button-put button prop val

Устанавливает свойство prop кнопки button равным val.

Функция: button-activate button &optional use-mouse-action

Вызывает свойство action кнопки button (т.е. вызывает функцию, которая является значением этого свойства, передавая ей единственный аргумент button). Если use-mouse-action не равно nil, попытайтесь вызвать свойство mouse-action кнопки вместо action; если у кнопки нет свойства mouse-action, используйте action как обычно. Если свойство button-data присутствует в button, используйте его в качестве аргумента для функции action вместо button.

Функция: button-label button

Возвращает текстовую метку кнопки button.

Функция: button-type button

Возвращает тип кнопки button.

Функция: button-has-type-p button type

Возвращает t, если button имеет тип кнопки type или один из подтипов type.

Функция: button-at pos

Возвращает кнопку по позиции pos в текущем буфере или nil. Если кнопка по позиции pos является кнопкой с текстовым свойством, возвращаемое значение — маркер, указывающий на pos.

Функция: button-type-put type prop val

Устанавливает свойство prop типа кнопки type равным val.

Функция: button-type-get type prop

Получает свойство типа кнопки type с именем prop.

Функция: button-type-subtype-p type supertype

Возвращает t, если тип кнопки type является подтипом supertype.