Чтение онлайн

на главную

Жанры

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

Аллен Питер В.

Шрифт:

Теперь рассмотрим обработчики событий кнопок Да и Нет диалога:

gtk_signal_connect_object(GTK_OBJECT(yes_button),

 "clicked", GTK_SIGNAL_FUNC(gtk_widget_destroy),

 (gpointer)widget);

gtk_signal_connect_object(GTK_OBJECT(no_button), "clicked",

 GTK_SIGNAL_FUNC(gtk_widget_destroy),(gpointer)quit_form);

Кнопка

yes_button
вызывает функцию gtk_widget_destroy и передает ей параметр (gpointer)widget, то есть уничтожает главное окно приложения, а кнопка
no_button
передает функции gtk_widget_destroy
параметр (gpointer)quit_form. который указывает на окно диалога, то есть при нажатии этой кнопки будет закрыто само окно нашего диалога.

23.4.7. Меню

Меню программы вручную писать довольно неудобно, поэтому для разработки меню воспользуемся студией разработки графического интерфейса Glade.

23.4.8. Иерархия виджитов

GtkObject

+GtkWidget

| +GtkMisc

| | +GtkLabel

| | | +GtkAccelLabel

| | | `GtkTipsQuery

| | +GtkArrow

| | +GtkImage

| | `GtkPixmap

| +GtkContainer

| | +GtkBin

| | | +GtkAlignment

| | | +GtkFrame

| | | | `GtkAspectFrame

| | | +GtkButton

| | | | +GtkToggleButton

| | | | | `GtkCheckButton

| | | | | `GtkRadioButton

| | | | `GtkOptionMenu

| | | +GtkItem

| | | | +GtkMenuItem

| | | | | +GtkCheckMenuItem

| | | | | | `GtkRadioMenuItem

| | | | | `GtkTearoffMenuItem

| | | | +GtkListItem

| | | | `GtkTreeItem

| | | +GtkWindow

| | | | +GtkColorSelectionDialog

| | | | +GtkDialog

| | | | | `GtkInputDialog

| | | | +GtkDrawWindow

| | | | +GtkFileSelection

| | | | +GtkFontSelectionDialog

| | | | `GtkPlug

| | | +GtkEventBox

| | | +GtkHandleBox

| | | +GtkScrolledWindow

| | | `GtkViewport

| | +GtkBox

| | | +GtkButtonBox

| | | | +GtkHButtonBox

| | | | `GtkVButtonBox

| | | +GtkVBox

| | | | +GtkColorSelection

| | | | `GtkGammaCurve

| | | `GtkHBox

| | | +GtkCombo

| | | `GtkStatusbar

| | +GtkCList

| | | `GtkCTree

| | +GtkFixed

| | +GtkNotebook

| | | `GtkFontSelection

| | +GtkPaned

| | | +GtkHPaned

| | | `GtkVPaned

| | +GtkLayout

| | +GtkList

| | +GtkMenuShell

| | | +GtkMenuBar

| | | `GtkMenu

| | +GtkPacker

| | +GtkSocket

| | +GtkTable

| | +GtkToolbar

| | `GtkTree

| +GtkCalendar

| +GtkDrawingArea

| | `GtkCurve

| +GtkEditable

| | +GtkEntry

| | | `GtkSpinButton

| | `GtkText

| +GtkRuler

| | +GtkHRuler

| | `GtkVRuler

| +GtkRange

| | +GtkScale

| | | +GtkHScale

| | | `GtkVScale

| | `GtkScrollbar

| | +GtkHScrollbar

| | `GtkVScrollbar

| +GtkSeparator

| | +GtkHSeparator

| | `GtkVSeparator

| +GtkPreview

| `GtkProgress

| `GtkProgressBar

+GtkData

| +GtkAdjustment

| `GtkTooltips

`GtkItemFactory

Глава 24

Студия Glade

24.1.

Что такое Glade?

В предыдущей главе мы рассмотрели далеко не все виджиты и далеко не все сигналы, на которые должны реагировать рассмотренные виджиты. Это было сделано умышленно: для начала вам нужно было разобраться, что такое виджит и «с чем его едят», а также понять, что такое сигнал и функция-обработчик. С этого момента вам не нужно беспокоиться о том, что вы забыли имя виджита, имя сигнала или что означает та или иная маска сигнала, вам также не придется писать вручную прототипы функций обработчиков. За вас все сделает студия разработки графического интерфейса Glade. Почему вам не нужно знать имя виджита? Вам достаточно выбрать нужный вам виджит из палитры и поместить его в контейнер, причем контейнер также представляется визуально. Вам не нужно рисовать на бумажке или представлять перед собой координаты ячеек таблицы контейнера Glade, поскольку вы все видите перед собой. Если вы забыли (или не знаете) имя нужного вам сигнала, Glade при написании обработчика позволит вам выбрать нужный сигнал из списка. Если вам нужно замаскировать определенное событие, нет проблем: Glade не только отобразит доступные маски, но и выведет их описание. Код функций-обработчиков Glade также напишет самостоятельно — вам лишь нужно будет заполнить тело функции-обработчика, поскольку Glade пока еще не научился читать ваши мысли.

Что вам нужно для работы с Glade? Просто установите пакет glade (он входит в состав большинства современных дистрибутивов) и наслаждайтесь, Особенно приятно работать с Glade будет тем программистам, которые привыкли работать с визуальными средами разработки, например, Delphi или Visual С.

24.2. Знакомство с Glade

Наше знакомство с Glade мы начнем с разработки калькулятора, но прежде нужно познакомиться с интерфейсом самой студии. После запуска Glade вы увидите три окна:

Поделиться:
Популярные книги

Черный Маг Императора 10

Герда Александр
10. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Черный Маг Императора 10

Прапорщик. Назад в СССР. Книга 6

Гаусс Максим
6. Второй шанс
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Прапорщик. Назад в СССР. Книга 6

Ярар. Начало

Грехов Тимофей
1. Ярар
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Ярар. Начало

Адвокат

Константинов Андрей Дмитриевич
1. Бандитский Петербург
Детективы:
боевики
8.00
рейтинг книги
Адвокат

Кодекс Охотника. Книга ХХ

Винокуров Юрий
20. Кодекс Охотника
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга ХХ

Кодекс Охотника. Книга XVI

Винокуров Юрий
16. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XVI

Меченный смертью. Том 2

Юрич Валерий
2. Меченный смертью
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Меченный смертью. Том 2

Золото Советского Союза: назад в 1975

Майоров Сергей
Фантастика:
попаданцы
альтернативная история
5.25
рейтинг книги
Золото Советского Союза: назад в 1975

Жена по ошибке

Ардова Алиса
Любовные романы:
любовно-фантастические романы
7.71
рейтинг книги
Жена по ошибке

Наследник, скрывающий свой Род

Тарс Элиан
2. Десять Принцев Российской Империи
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Наследник, скрывающий свой Род

Барон ломает правила

Ренгач Евгений
11. Закон сильного
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Барон ломает правила

Личный аптекарь императора. Том 5

Карелин Сергей Витальевич
5. Личный аптекарь императора
Фантастика:
городское фэнтези
попаданцы
аниме
сказочная фантастика
фэнтези
7.50
рейтинг книги
Личный аптекарь императора. Том 5

На границе империй. Том 3

INDIGO
3. Фортуна дама переменчивая
Фантастика:
космическая фантастика
5.63
рейтинг книги
На границе империй. Том 3

Кодекс Охотника. Книга XXXV

Винокуров Юрий
35. Кодекс Охотника
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Кодекс Охотника. Книга XXXV