Читаем Основы программирования в Linux полностью

 window = gtk_window_new(GTK_WINDOW_TOPLEVEL);

 gtk_window_set_default_size(GTK_WINDOW(window), 300, 200);

 g_signal_connect(GTK_OBJECT(window), "destroy",

  GTK_SIGNAL_FUNC(сloseApp), NULL);

2. Далее вы создаете модель дерева, передавая количество столбцов и тип каждого из них:

 store = gtk_tree_store_new(N_COLUMNS, G_TYPE_STRING, G_TYPE_STRING,

  G_TYPE_STRING);

3. Следующий этап — вставка родительской и дочерней строк в дерево:

 gtk_tree_store_append(store, &parent_iter, NULL);

 gtk_tree_store_set(store, &parent_iter,

  COLUMN_TITLE, "Dark Side of the Moon",

  COLUMN_ARTIST, "Pink Floyd",

  COLUMN_CATALOGUE, "B000024D4P", -1);

 gtk_tree_store_append(store, &child_iter, &parent_iter);

 gtk_tree_store_set (store, &child_iter,

  COLUMN_TITLE, "Speak to Me", -1);

 view = gtk_tree_view_new_with_model(GTK_TREE_MODEL(store));

4. Наконец, добавьте столбцы в представление, задавая источники данных для них и заголовки:

 renderer = gtk_cell_renderer_text_new();

 gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(view),

  COLUMN_TITLE, "Title", renderer, "text",

  COLUMN_TITLE, NULL);

 gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(view),

  COLUMN_ARTIST, "Artist", renderer, "text",

  COLUMN_ARTIST, NULL);

 gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(view),

  COLUMN_CATALOGUE, "Catalogue", renderer, "text",

  COLUMN_CATALOGUE, NULL);

 gtk_container_add(GTK_CONTAINER(window), view);

 gtk_widget_show_all(window); gtk_main();

 return 0;

}

Вы будете применять GtkTreeView как основной объект вашего приложения для работы с компакт-дисками, когда будете модифицировать содержимое 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-терминированный список пар "имя/значение".

GnomeProgram* gnome_program_init(const char *app_id,

 const char *app_version, const GnomeModuleInfо *module_infо,

 int argc, char **argv, const char *first_property_name, ...);

Необязательный список свойств позволяет задать такие характеристики, как, например, каталог для поиска растровой графики.

Выполните упражнение 16.8.

Упражнение 16.8. Окно GNOME

Перейти на страницу:

Похожие книги

Сетевые средства Linux
Сетевые средства Linux

В этой книге описаны принципы действия и область применения многих серверов, выполняющихся в системе Linux. Здесь рассматриваются DHCP-сервер, серверы Samba и NFS, серверы печати, NTP-сервер, средства удаленной регистрации и система X Window. He забыты и средства, традиционно используемые для обеспечения работы Internet-служб: серверы DNS, SMTP, HTTP и FTP. Большое внимание уделено вопросам безопасности сети. В данной книге нашли отражения также средства удаленного администрирования — инструменты Linuxconf, Webmin и SWAT.Данная книга несомненно окажется полезной как начинающим, так и опытным системным администраторам.Отзывы о книге Сетевые средства LinuxПоявилась прекрасная книга по Linux, осталось воспользоваться ею. Не упустите свой шанс.Александр Стенцин, Help Net Security. Если вы стремитесь в полной мере использовать сетевые возможности Linux — эта книга для вас. Я настоятельно рекомендую прочитать ее.Майкл Дж. Джордан, Linux OnlineВыхода подобной книги давно ожидали читатели. Менее чем на 700 страницах автор смог изложить суть самых различных вопросов, связанных с работой Linux. Автор является высококвалифицированным специалистом в своей области и щедро делится своими знаниями с читателями.Роджер Бертон, West, DiverseBooks.com

Родерик В. Смит

ОС и Сети / Книги по IT
Сетевые средства Linux
Сетевые средства Linux

В этой книге описаны принципы действия и область применения многих серверов, выполняющихся в системе Linux. Здесь рассматриваются DHCP-сервер, серверы Samba и NFS, серверы печати, NTP-сервер, средства удаленной регистрации и система X Window. He забыты и средства, традиционно используемые для обеспечения работы Internet-служб: серверы DNS, SMTP, HTTP и FTP. Большое внимание уделено вопросам безопасности сети. В данной книге нашли отражения также средства удаленного администрирования — инструменты Linuxconf, Webmin и SWAT.Данная книга несомненно окажется полезной как начинающим, так и опытным системным администраторам.Отзывы о книге Сетевые средства LinuxПоявилась прекрасная книга по Linux, осталось воспользоваться ею. Не упустите свой шанс.Александр Стенцин, Help Net Security. Если вы стремитесь в полной мере использовать сетевые возможности Linux — эта книга для вас. Я настоятельно рекомендую прочитать ее.Майкл Дж. Джордан, Linux OnlineВыхода подобной книги давно ожидали читатели. Менее чем на 700 страницах автор смог изложить суть самых различных вопросов, связанных с работой Linux. Автор является высококвалифицированным специалистом в своей области и щедро делится своими знаниями с читателями.Роджер Бертон, West, DiverseBooks.com

Родерик В. Смит

ОС и Сети, интернет / ОС и Сети / Книги по IT
Полное руководство по Microsoft Windows XP
Полное руководство по Microsoft Windows XP

В книге известного американского автора описывается среда ОС Windows XP и принципы ее функционирования, приведен сравнительный анализ Windows XP с предшествующими версиями операционной системы Windows. Рассматриваются вопросы применения и модификации нового интерфейса с целью получения прямого доступа ко всем функциям Windows XP обсуждаются варианты подключения к компьютерным сетям. Несколько разделов посвящены работе с реестром и конфигурационными файлами, мультимедийным функциям и разнообразным системным службам, а также методам решения проблем с программным обеспечением и оборудованием. Особое внимание уделено обеспечению безопасности операционной системы.Издание адресовано пользователям и сетевым администраторам, желающим активно применять возможности операционной системы Windows XP (в том числе и недокументированные).

Питер Нортон , Джон Поль Мюллер

ОС и Сети / Книги по IT