Диалоговые окна
Диалоговое окно — это разновидность всплывающего меню; оно немного отличается, всегда появляется в центре фрейма и имеет только один уровень и одну или несколько кнопок. Основное назначение диалоговых окон — задавать вопросы, на которые пользователь может ответить «да», «нет» и несколькими другими вариантами. С помощью единственной кнопки они также могут заставить пользователя подтвердить важную информацию. Функции 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