Linux: Полное руководство
Шрифт:
♦ Обработчик — имя функции-обработчика.
♦ Иконка — иконка, соответствующая пункту меню.
♦ Подсказка — обычно эта подсказка отображается в строке статуса при выборе пункта меню.
♦ Тип элемента — обычный, зависимый (радиокнопка) или независимый (флажок) переключатель.
♦ Ускоритель — горячая комбинация клавиш.
Рис. 24.10. Редактор меню
С помощью стрелок вы можете изменять положение пунктов меню.
24.5. Интересные виджиты
Интересных
♦ Шкала — виджит, напоминающий спидометр, находится на вкладке элементов Gnome.
♦ Выбор цвета — если этот виджит расположить в контейнере, то получится окно выбора цвета, которое очень похоже на стандартное окно выбора цвета среды Gnome (вкладка Дополнительно),
♦ Выбор шрифта — позволяет пользователю выбрать шрифт (вкладка Дополнительно).
♦ Диалоговое окно свойств — уже готовое окно свойств (напоминает окно свойств проекта), содержащее вкладки и кнопки OK, Применить, Закрыть, Справка (вкладка Gnome).
Рис. 24.11. Шкала
Рис. 24.12. Выбор цвета
Рис. 24.13. Выбор шрифта
Рис. 24.14. Окно свойств
Глава 25
Пакет Dialog
25.1. Что такое Dialog?
Пакет dialog служит для вывода диалоговых окоп в сценариях bash. Элементы пользовательского интерфейса мы будем, как и в GTK+, называть виджитами. Пакет dialog позволяет использовать следующие виджиты:
♦ Infobox, Msgbox — выводят информационные сообщения;
♦ Inputbox — принимает ввод текстовой информации;
♦ Calendar — позволяет выбрать дату;
♦ Radiolist — список зависимых переключателей;
♦ Checklist — список независимых переключателей;
♦ Menubox — используется для организации меню;
♦ Gauge — шкала прогресса.
Установив пакет dialog, в каталоге
25.2. Сообщения
Начнем с самого простого — отображения небольших текстовых сообщений. Для этой цели можно использовать два виджита — Infobox или Msgbox. Первый отличается от второго тем, что не ждет подтверждения пользователя о прочтении, а закрывается через некоторое время. Виджит Msgbox ждет, пока пользователь нажмет кнопку OK или клавишу Enter.
Рассмотрим пример использования виджита Msgbox:
Листинг 25.1. Виджит Msgbox
Теперь разберемся, что есть что. Параметр --title программы dialog задает заголовок виджита (рис. 25.1) Параметр --msgbox сообщает программе тип виджита, который нужно отобразить. После этого параметра нужно указать текст сообщения, заключенный в кавычки. В тексте можно использовать управляющие последовательности (\b, \n, \t,\ a и др.). После сообщения задаются размеры виджита.
Рис. 25.1. Виджит Msgbox
Конструкция case проверяет возвращенное программой dialog значение. Если пользователь нажал OK (или <Ввод>), то программа возвращает 0, а если клавишу Esc, то 255.
Виджит Infobox следует использовать так:
Листинг 25.2. Использование виджита Infobox
Параметр
В цикле while мы проверяем, сколько секунд осталось, уменьшая значение переменной left.
25.3. Виджит Yes-no
Часто встречаются диалоговые окна, спрашивающие пользователя, согласен ли он с действиями программы, например, «Вы точно хотите выйти?» или «Удалить этот файл?». Пользователю же предлагается два варианта ответа — Да или Нет. Для организации такого диалога предназначен виджит yes-no.
Следующий листинг демонстрирует работу с этим виджитом:
Листинг 25.3. Работа с виджитом yes-no