Читаем Linux: Полное руководство полностью

После этого в первую ячейку таблицы добавьте кнопку и установите ее свойства следующим образом:

♦ Вкладка Эл. управления

 • Ширина окантовки: 0

 • Метка: ON

♦ Вкладка Общие

 • Ширина: 70

 • Высота: 70

Если вы забыли (или не знаете), что означает то или иное свойство виджита, подведите указатель мыши к метке поля свойства, и рядом с ним отобразится подсказка. Если же вам трудно установить маску для событий, нажмите кнопку «…» (рис. 24.5) рядом с полем выбора события, и вы увидите описание масок событий.

Рис. 24.5. Вкладка Общие для кнопки

Скопируйте получившуюся кнопку в следующую ячейку (Ctrl+C, Ctrl+V.). Для новой кнопки установите свойство Метка: СЕ. Проверить, что находится в буфере обмена, можно с помощью команды главного меню Glade: Вид, Буфер обмена.

Точно так же создайте еще 16 кнопок и разместите их так, как показано на рисунке 24.6.

Рис. 24.6. Калькулятор

Сейчас установим функции-обработчики для наших кнопок. Выделите кнопку ON и перейдите в окно свойств на вкладку Сигналы.

Рис. 24.7. Сигналы

Выберите сигнал clicked и нажмите OK. В поле обработчика введите имя функции-обработчика, например, on_button_ciick. Можно выбрать одну из стандартных функций, например, gtk_main_quit(), но не для этой кнопки — это ведь обработчик включения калькулятора, поэтому код для него мы должны будем писать самостоятельно. Теперь нажмите кнопку Добавить.

Аналогично создайте обработчики для остальных функций. Советую давать функциям понятные имена, например, on_button_N_click, где N — число от 0 до 9, или on_plus_click.

Вот и все, интерфейс калькулятора построен.

<p>24.3. Работа с проектом</p>

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

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

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

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

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

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

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

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

 • Язык: С.

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

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

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

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

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

 

  Calc

  calc

 

  src

  pixmaps

  C

  True

  True

 

 

  GtkWindow

  window1

  7

  window1

  GTK_WINDOW_TOPLEVEL

  GTK_WIN_POS_NONE

  False

  False

  True

  False

  

   GtkVBox

   vbox2

   False

   0

   

    GtkEntry

    entry1

    50

    True

    True

    True

    0

    0

   

     0

     False

     False

    

   

   ...

 

  ...

 

 ...

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

Рис. 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

#endif

#include

#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.

<p>24.4. Создание меню</p>
Перейти на страницу:

Все книги серии Полное руководство

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

Веб-аналитика: анализ информации о посетителях веб-сайтов
Веб-аналитика: анализ информации о посетителях веб-сайтов

Компании в веб-пространстве тратят колоссальные средства на веб-аналитику и оптимизацию своих веб-сайтов, которые, в свою очередь, приносят миллиарды долларов дохода. Если вы аналитик или работаете с веб-данными, то эта книга ознакомит вас с новейшими точками зрения на веб-аналитику и то, как с ее помощью сделать вашу компанию весьма успешной в веб. Вы изучите инструментальные средства и показатели, которые можно использовать, но что важнее всего, эта книга ознакомит вас с новыми многочисленными точками зрения на веб-аналитику. Книга содержит много советов, приемов, идей и рекомендаций, которые вы можете взять на вооружение. Изучение веб-аналитики по этой уникальной книге позволит познакомиться с проблемами и возможностями ее современной концепции. Написанная практиком, книга охватывает определения и теории, проливающие свет на сложившееся мнение об этой области, а также предоставляет поэтапное руководство по реализации успешной стратегии веб-аналитики.Эксперт в данной области Авинаш Кошик в присущем ему блестящем стиле разоблачает укоренившиеся мифы и ведет по пути к получению действенного понимания аналитики. Узнайте, как отойти от анализа посещаемости сайта, почему основное внимание следует уделять качественным данным, каковы методы обретения лучшего понимания, которое поможет выработать мировоззрение, ориентированное на мнение клиента, без необходимости жертвовать интересами компании.- Изучите все преимущества и недостатки методов сбора данных.- Выясните, как перестать подсчитывать количество просмотренных страниц, получить лучшее представление о своих клиентах.- Научитесь определять ценность показателей при помощи тройной проверки "Ну и что".- Оптимизируйте организационную структуру и выберите правильный инструмент аналитики.- Изучите и примените передовые аналитические концепции, включая анализ SEM/PPC, сегментацию, показатели переходов и др.- Используйте решения с быстрым началом для блогов и электронной торговли, а также веб-сайтов мелкого бизнеса.- Изучите ключевые компоненты платформы экспериментирования и проверки.- Используйте анализ конкурентной разведки для обретения понимания и принятия мер.Здесь также находятся:- Десять шагов по улучшению веб-аналитики.- Семь шагов по созданию управляемой данными культуры в организации.- Шесть способов замера успеха блога.- Три секрета создания эффективной веб-аналитики.- Десять признаков великого веб-аналитика.

Авинаш Кошик

ОС и Сети, интернет