как основной объект вашего приложения для работы с компакт-дисками, когда будете модифицировать содержимое
GtkTreeView
в соответствии с запросами к базе данных компакт-дисков.
Мы завершили обзор виджетов GTK+ и теперь обратим наше внимание на другую половину: среду GNOME. Вы увидите, как вставлять меню в ваше приложение с помощью библиотек GNOME и как виджеты GNOME облегчают программирование для рабочего стола GNOME.
Виджеты GNOME
Комплект GTK+ спроектирован как нейтральный по отношению к рабочему столу, т.е. GTK+ не делает никаких допущений о том, что он выполняется в среде GNOME или даже в системе Linux. Причина заключается в том, что комплект инструментов GTK+ можно с относительной легкостью перенести для выполнения в ОС Windows или любой другой оконной системе. В результате GTK+ не хватает средств для связывания программы с рабочим столом, таких как средства сохранения настройки программы, отображение файлов помощи или программные апплеты (апплеты — это небольшие утилиты, выполняющиеся на краевых панелях (edge panels)).
Библиотеки среды включают виджеты GNOME, расширяющие комплект GTK+ и замещающие его части более легкими в применении виджетами. В этом разделе мы расскажем, как программировать с помощью виджетов GNOME.
Перед использованием библиотек GNOME их следует инициализировать при запуске ваших программ точно так же, как вы поступали с библиотеками GTK+. Вы вызываете функцию
gnome_program_init
также, как вы вызывали функцию
gtk_init
в чистых программах GTK+.
Эта функция принимает параметры
app_id
и
арр_version
, применяемые для описания вашей программы в среде GNOME,
module_info
, сообщающий GNOME о том, какой библиотечный модуль инициализировать, параметры командной строки и свойства
приложения, заданные как NULL-терминированный список пар "имя/значение".
расширяет возможности GtkWindow и облегчает вставку меню, панелей инструментов и строки состояния вдоль нижнего края окна. Поскольку он потомок
GtkWindow
, вы можете применять к виджету
GnomeApp
любую функцию виджета
GtkWindow
. Далее вы познакомитесь с созданием меню и добавите строку состояния в ваш финальный пример.
Примечание
Вы можете использовать комплект инструментов GTK+ для создания меню, но среда GNOME предоставляет полезные структуры и макросы, которые существенно облегчают эту задачу. В интерактивной документации описывается, как создавать меню средствами GTK+.
Меню GNOME
Создание строки раскрывающихся меню в среде GNOME на удивление просто. Каждый пункт в строке меню представляется как массив структур
GNOMEUIInfo
, причем каждый элемент массива соответствует одному пункту меню. Например, если у вас есть меню File (Файл), Edit (Правка) и View (Вид), то у вас будут три массива, описывающих содержимое каждого меню.
После определения отдельных меню создается строка меню как таковая с помощью ссылок на эти массивы в еще одном массиве структур
GNOMEUIInfo
.
Структура
GNOMEUIInfo
немного сложна и нуждается в дополнительных пояснениях.