Основы программирования в Linux
Шрифт:
Эта функция создает диалоговое окно, снабженное пиктограммами, заголовком и настраиваемыми кнопками.
Вы
Таблица 16.4
Тип GtkButtonsType | Описание |
---|---|
GTK_BUTTONS_OK | Кнопка OK |
GTK_BUTTONS_CLOSE | Кнопка Close |
GTK_BUTTONS_CANCEL | Кнопка Cancel |
GTK_BUTTONS_YES_NO | Кнопки Yes и No |
GTK_BUTTONS_OK_CANCEL | Кнопки OK и Cancel |
GTK_BUTTONS_NONE | Нет кнопок |
Теперь остается только текст диалогового окна, который можно создать из строки подстановки, формируемой так же, как в функции
Это диалоговое окно будет отображаться так, как показано на рис. 16.14.
Рис. 16.14
Окно типа
Приложение для работы с базой данных компакт-дисков
В предыдущих главах вы разрабатывали базу данных компакт-дисков с помощью MySQL и интерфейса на языке С. Теперь вы увидите, как просто вставить внешний GUI средствами GNOME/GTK+ и создать пользовательский интерфейс с богатыми функциональными возможностями.
Для проверки примера приложения для работы с базой данных компакт-дисков у вас должны быть установлены СУБД MySQL и библиотеки разработки, т.е. должны выполняться те же самые требования, что и к аналогичному приложению в главе 8.
Из соображений простоты и ясности мы создадим базовый скелетный интерфейс, в котором реализовано лишь подмножество функций — к примеру, вы не сможете добавлять информацию о дорожках в компакт-диски или удалять CD. Но вы увидите в вашем приложении в действии виджеты, обсуждавшиеся в этой главе, и поймете, как они применяются в реальных программах.
Будет написан программный код для следующих ключевых действий:
регистрация в базе данных из GUI;
поиск компакт-диска;
отображение сведений о компакт-диске и его дорожках;
вставка компакт-диска в базу данных;
создание окна About (О программе);
формирование подтверждения при завершении работы пользователя.
Разделим код на три файла, совместно использующие заголовочный файл cdapp_gnome.h. В исходных файлах функции создания окон и диалоговых окон — функции формирования интерфейса — отделены от функций обратного вызова (упражнения 16.11-16.14).
Сначала рассмотрим файл cdapp_gnome.h и функции, которые вы должны реализовать.
1. Включите в исходный текст программы заголовочные файлы среды GNOME и заголовочный файл для функций интерфейса, разработанного вами в главе 8. В данном примере программы используются файлы app_mysql.h и app_mysql.c из главы 8 и созданная там же база данных.
2. В типе
3. У вас есть три функции создания окна в файле interface.c.
4. Функции обратного вызова для пунктов меню, панели инструментов, кнопок диалогового окна и кнопки поиска находятся в файле callbacks.с.