Основы программирования в Linux
Шрифт:
Давайте рассмотрим программу, применяющую средства GNOME, в которой выполняется GNOME-замещение объекта
Введите эту программу и назовите ее gnome1.c:
Для компиляции
Виджет
Вы можете использовать комплект инструментов GTK+ для создания меню, но среда GNOME предоставляет полезные структуры и макросы, которые существенно облегчают эту задачу. В интерактивной документации описывается, как создавать меню средствами GTK+.
Меню GNOME
Создание строки раскрывающихся меню в среде GNOME на удивление просто. Каждый пункт в строке меню представляется как массив структур
После определения отдельных меню создается строка меню как таковая с помощью ссылок на эти массивы в еще одном массиве структур
Структура
Первый элемент в структуре,
Таблица 16.3
| Типы GnomeUIInfоТуре | Описание |
|---|---|
| GNOME_APP_UI_ENDOFINFO | Означает, что этот элемент — последний пункт меню в массиве |
| GNOME_APP_UI_ITEM | Обычный пункт меню или переключатель, если ему предшествует элемент GNOME_APP_UI_RADIOITEMS |
| GNOME_APP_UI_TOGGLEITEM | Пункт меню в виде кнопки-переключателя или кнопки-флажка |
| GNOME_APP_UI_RADIOITEMS | Группа
|
| GNOME_APP_UI_SUBTREE | Означает, что данный элемент представляет собой подменю. Задайте moreinfo для указания на массив подменю |
| GNOME_APP_UI_SEPARATOR | Вставляет разделительную линию в меню |
| GNOME_APP_UI_HELP | Создает список тем справки для использования в меню Help (Справка) |
| GNOME_APP_UI_BUILDER_DATA | Задает данные построения (builder data) для следующих элементов |
| GNOME_APP_UI_ITEM_CONFIGURABLE | Настраиваемый пункт меню |
| GNOME_APP_UI_SUBTREE_STOCK | Такой же, как GNOME_APP_UI_SUBTREE за исключением того, что надписи следует искать в каталоге gnome-libs |
| GNOME_APP_UI_INCLUDE | Такой же, как GNOME_APP_UI_SUBTREE за исключением того, что пункты включены в текущее меню, а не в подменю |
Второй и третий элементы структуры определяют текст пункта меню и всплывающей подсказки. (Подсказка выводится в строке состояния, у нижнего края окна.)
Назначение элемента
И наконец, элемент
Выполните упражнение 16.9.
Вы сможете опробовать меню с помощью данной короткой программы. Назовите ее menu1.с.
1. Определите для пунктов меню функцию обратного вызова, названную
2. Далее следуют определения меню. У вас есть подменю, меню верхнего уровня и массив строки меню:
Мечников. Избранник бога
5. Жизнь Лекаря с нуля
Фантастика:
альтернативная история
аниме
фэнтези
рейтинг книги
На границе империй. Том 6
6. Фортуна дама переменчивая
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
рейтинг книги
Японский городовой
7. Героями не становятся, ими умирают
Фантастика:
фэнтези
попаданцы
рейтинг книги
Мусорщик
3. Наемник
Фантастика:
боевая фантастика
космическая фантастика
рейтинг книги