Spec-Zone.ru › Elisp

Диалоговые окна

Диалоговое окно — это разновидность всплывающего меню; оно немного отличается, всегда появляется в центре фрейма и имеет только один уровень и одну или несколько кнопок. Основное назначение диалоговых окон — задавать вопросы, на которые пользователь может ответить «да», «нет» и несколькими другими вариантами. С помощью единственной кнопки они также могут заставить пользователя подтвердить важную информацию. Функции y-or-n-p и yes-or-no-p используют диалоговые окна вместо клавиатуры, когда вызываются из команд, инициированных щелчками мыши.

Функция: x-popup-dialog позиционирование содержимого &необязательный заголовок

Эта функция отображает диалоговое всплывающее окно и возвращает указание того, какой выбор сделал пользователь. Аргумент contents определяет предлагаемые варианты; он имеет такой формат:

(title (string . value)…)

что выглядит как список, который определяет один блок для x-popup-menu.

Значение возврата — value выбранного варианта.

Что касается x-popup-menu, элемент списка может быть просто строкой вместо ячейки cons (string . value). Это создает окно, которое нельзя выбрать.

Если nil появляется в списке, он разделяет левые элементы от правых; элементы, предшествующие nil, отображаются слева, а элементы, следующие за nil, отображаются справа. Если вы не включаете nil в список, то приблизительно половина элементов отображается с каждой стороны.

Диалоговые окна всегда отображаются в центре фрейма; аргумент position определяет, какой фрейм. Возможные значения такие же, как в x-popup-menu, но точные координаты или отдельного окна не имеют значения; имеет значение только фрейм.

Если header не nil, заголовок фрейма для окна — ‘Информация’, в противном случае — ‘Вопрос’. Первый используется для message-box (см. message-box). (На текстовых терминалах заголовок окна не отображается.)

В некоторых конфигурациях Emacs не может отобразить настоящее диалоговое окно; вместо этого он отображает те же элементы в всплывающем меню в центре фрейма.

Если пользователь закрывает диалоговое окно, не сделав допустимого выбора, например, используя менеджер окон, это приводит к выходу, и x-popup-dialog не возвращается.

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

Spec-Zone.ru

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