Spec-Zone.ru › Elisp

Команды для кнопок в буфере

Это команды и функции для поиска кнопок в буфере Emacs и работы с ними.

push-button — это команда, с помощью которой пользователь активирует кнопку; по умолчанию она привязана в самой кнопке к клавишам RET и mouse-2 с помощью локальной карты клавиш в оверлее кнопки или её текстовых свойствах. Команды, полезные вне самих кнопок, такие как forward-button и backward-button, также доступны в карте клавиш, хранящейся в button-buffer-map; режим, использующий кнопки, может использовать button-buffer-map в качестве родительской карты клавиш для своей карты клавиш. В качестве альтернативы можно включить button-mode, что даёт практически тот же эффект: это дополнительный режим, который только устанавливает button-buffer-map в качестве карты клавиш дополнительного режима (обратите внимание, что отключение button-mode удалит все кнопки из текущего буфера).

Если у кнопки есть свойство follow-link, отличное от nil, и установлено mouse-1-click-follows-link, быстрый щелчок mouse-1 также активирует команду push-button. См. раздел Определение текста, на который можно нажать.

Команда: push-button &optional pos use-mouse-action

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

Команда: forward-button n &optional wrap display-message no-error

Перейти к следующей кнопке с номером n или к предыдущей кнопке с номером n, если n отрицательно. Если n равно нулю, перейти к началу любой кнопки в точке. Если wrap отлично от nil, при достижении любого конца буфера переход продолжается с другого конца. Если display-message отлично от nil, отображается строка help-echo кнопки. Любая кнопка со свойством skip, отличным от nil, пропускается. Возвращает найденную кнопку и сигнализирует об ошибке, если кнопки не найдены. Если no-error отлично от nil, возвращает nil вместо того, чтобы сигнализировать об ошибке.

Команда: backward-button n &optional wrap display-message no-error

Перейти к предыдущей кнопке с номером n или к следующей кнопке с номером n, если n отрицательно. Если n равно нулю, перейти к началу любой кнопки в точке. Если wrap отлично от nil, при достижении любого конца буфера переход продолжается с другого конца. Если display-message отлично от nil, отображается строка help-echo кнопки. Любая кнопка со свойством skip, отличным от nil, пропускается. Возвращает найденную кнопку и сигнализирует об ошибке, если кнопки не найдены. Если no-error отлично от nil, возвращает nil вместо того, чтобы сигнализировать об ошибке.

Функция: next-button pos &optional count-current
Функция: previous-button pos &optional count-current

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

Copyright © 1990-1996, 1998-2026 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Button-Buffer-Commands.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API