Библиотека сайта rus-linux.net
Возможности тулкита GTK+ и сопутствующих библиотек
Автор: А.Панин
Дата публикации: 3 декабря 2014 г.
Специализированный механизм для работы с данными конфигурации приложений
3. Пример использования
GSettings
. Описание схемы параметров конфигурации данного приложения было приведено выше
в Листинге 1, "Файл описания схемы конфигурации приложения", исходный код приводится в Листинге 2, "Исходный код приложения", а также содержится в архиве gsettings.tar.gz вместе с файлом Makefile для упрощения сборки и файлом описания схемы параметров конфигурации приложения. Для лучшего понимания в коде используются комментарии. В рамках функции application_settings_changed()
реализован обработчик изменений значений параметров конфигурации приложения, осуществляемых сторонними приложениями. Для проверки работоспособности этого обработчика вы можете воспользоваться редактором dconf, изменяя значения параметров конфигурации приложения в процессе его работы. Помимо уже упомянутой функции для обработки изменений значений параметров конфигурации, осуществленных средствами сторонних приложений, в данном примере заслуживают внимания следующие функции: функция для получения доступа к значениям параметров конфигурации приложения (application_open_settings()
), функция для сохранения изменений значений параметров конфигурации приложения (application_close_settings()
), функция для вывода значений параметров конфигурации приложения в диалоге для их редактирования (application_show_settings()
), функция для применения значений параметров конфигурации приложения (application_apply_settings()
), функция для изменения значений параметров конфигурации приложения (application_save_settings()
) и функция для изменения пути к последнему открытому текстовому файлу (application_save_opened_file()
). Вы можете осуществить сборку приложения либо просто перейдя в директорию с извлеченным из архива файлом исходного кода и введя команду make
, либо воспользовавшись следующей командой (также перед запуском приложения следует осуществить компиляцию схемы конфигурации приложения с помощью команд, приведенных выше):
gcc `pkg-config --cflags --libs gtk+-3.0` `pkg-config --cflags --libs gio-2.0` gsettings.c -o gsettings
Листинг 2. Исходный код приложения
gcc `pkg-config --cflags --libs glib-2.0` `pkg-config --cflags --libs gio-2.0` <имя файла исходного кода> -o <имя исполняемого файла>
На Рисунке 2 показано главное окно приложения и окно редактора dconf, который может использоваться для динамического изменения значений параметров конфигурации данного приложения.
Рисунок 2. Изменение значений параметров конфигурации приложения
Заключение
В рамках трех статей были рассмотрены три механизма хранения данных конфигурации приложений на основе тулкита GTK+ и/или библиотеки GLib. Механизм на основе файлов с парами ключ-значение прост в использовании, но не позволяет хранить сложные многоуровневые структуры данных; механизм на основе файлов формата XML сложен в использовании, но при этом является достаточно гибким и позволяет хранить и обрабатывать сложные многоуровневые структуры данных; механизм на основе класса GSettings прост в использовании, позволяет отслеживать изменения значений параметров конфигурации приложения, осуществляемые сторонними приложениями, но предназначен для хранения исключительно конфигурационных данных приложения, пусть и в рамках многоуровневых схем, и, к тому же, требует наличия главного цикла обработки событий. В любом случае, решение о том, какой из механизмов использовать, а также решение об использовании своего собственного механизма хранения данных конфигурации приложения может быть принято исключительно разработчиком приложения, то есть вами.
Следующая статья серии : Механизм загрузки ресурсов приложений.