Linux. Полное руководство.

24.3. Работа с проектом.

Прежде всего нужно сохранить наш проект. Нажмите кнопку Сохранить в главном окне Glade. Перед сохранением Glade предложит установить свойства проекта:

♦ Вкладка «Общие».

 • Каталог проекта /hоmе/ваше_имя/Проекты/Проект — сразу же измените Проекты на Projects и Проект на имя нашего проекта — calc. Использовать написанные кириллицей названия не запрещается, но и не рекомендуется.

 • Название проекта: Calc.

 • Название программы: calc — так будет назван исполнимый файл.

 • Файл проекта: calc.glade.

 • Каталог исходного кода: src (~/Projects/Calc/src).

 • Каталог картинок: pixmap.

 • Язык: С.

 • Включить поддержку Gnome: Да.

♦ Вкладка «Параметры C».

 • Все оставить по умолчанию.

В результате в каталоге ~/Projects/Calc будет создан файл проекта calc.glade. Этот файл полностью описывает наш проект на языке XML. Фрагмент этого файла приведен в листинге 25.1 — просто для общего развития.

Листинг 25.1. Фрагмент файла проекта calc.glade.

<?xml version="1.0"?>

<GTK-Interface>

 <project>

  <name>Calc</name>

  <program_name>calc</program_name>

  <directory></directory>

  <source_directory>src</source—directory>

  <pixmaps_directory>pixmaps</pixmaps_directory >

  <language>C</language>

  <gnome_support>True</gnome_support>

  <gettext_support>True</gettext_support>

 </project>

 <widget>

  <class>GtkWindow</class>

  <name>window1</name>

  <border_width>7</border_width>

  <title>window1</title>

  <type>GTK_WINDOW_TOPLEVEL</type>

  <position>GTK_WIN_POS_NONE</position>

  <modal>False</modal>

  <allow_shrink>False</allow_shrink>

  <allow_grow>True</allow_grow>

  <auto_shrink>False</auto_shrink>

  <widget>

   <class>GtkVBox</class>

   <name>vbox2</name>

   <homogeneous>False</homogeneous>

   <spacing>0</spacing>

   <widget>

    <class>GtkEntry</class>

    <name>entry1</name>

    <height>50</height>

    <can_focus>True</can_focus>

    <editable>True</editable>

    <text_visible>True</text_visible>

    <text_max_length>0</text_max_length>

    <text>0</text>

    <child>

     <padding>0</padding>

     <expand>False</expand>

     <fill>False</fill>

    </child>

   </widget>

   ...

  </widget>

  ...

 </widget>

 ...

</GTK-Interface>

Но кроме этого файла в каталоге Calc ничего нет. А где же исходный код? А где картинки? Чтобы Glade сгенерировала исходный код, нажмите кнопку Построить в главном окне Glade. В результате в каталоге calc будет создана структура подкаталогов, показанная на рис. 24.8.

Linux. Полное руководство.

Рис. 24.8. Структура каталогов проекта.

В каталоге macros находятся макросы для поддержки среды Gnome. Каталог po предназначен только для вас — в него вы будете вносить сведения об изменениях в проекте. Каталог src содержит исходный код проекта.

О каталоге src нужно поговорить подробнее. В нем находятся следующие файлы:

♦ interface.*, support.* — эти файлы сгенерированы Glade, и вам не нужно их редактировать;

♦ callback.* — функции-обработчики. Автоматически сгенерированные функции первоначально не делают ничего, это только заготовки. Чтобы ваша программа что-нибудь делала, вам нужно отредактировать файл callback.c;

♦ make.c — вы можете редактировать этот файл, если вам это нужно.

Рассмотрим файл callback.c — его нужно редактировать в первую очередь. Glade создала для вас заготовки функций-обработчиков следующего вида:

Листинг 25.2. Фрагмент файла callback.c.

#ifdef HAVE_CONFIG_H.

# include <config.h>

#endif.

#include <gnome.h>

#include "callbacks.h".

#include "interface.h".

#include "support.h".

Void.

On_button_clicked (GtkButton *button,

 gpointer user_data) {

}

Void.

Ce_button_clicked (GtkButton *button,

 gpointer user_data) {

}

...

Void.

On_button9_clicked (GtkButton *button,

 gpointer user_data) {

}

Вписав в эти заготовки код, выполняющий нужные вам действия, можно попытаться собрать программу. Для этого перейдите в каталог calc и введите команду make.