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

на главную - закладки

Жанры

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 вы увидите три окна:

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

Изгой Проклятого Клана. Том 3

Пламенев Владимир
3. Изгой
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Изгой Проклятого Клана. Том 3

Лекарь Империи 6

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

Черный Маг Императора 7 (CИ)

Герда Александр
7. Черный маг императора
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Черный Маг Императора 7 (CИ)

Противостояние

Гаевский Михаил
2. Стратег
Фантастика:
боевая фантастика
космическая фантастика
5.25
рейтинг книги
Противостояние

Ларь

Билик Дмитрий Александрович
10. Бедовый
Фантастика:
городское фэнтези
мистика
5.75
рейтинг книги
Ларь

Играть... в тебя

Зайцева Мария
3. Звериные повадки Симоновых
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Играть... в тебя

Неудержимый. Книга XV

Боярский Андрей
15. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Неудержимый. Книга XV

Найденыш

Шмаков Алексей Семенович
2. Светлая Тьма
Фантастика:
юмористическое фэнтези
городское фэнтези
аниме
5.00
рейтинг книги
Найденыш

Некурящий. Трилогия

Федотов Антон Сергеевич
Некурящий
Фантастика:
фэнтези
боевая фантастика
попаданцы
5.00
рейтинг книги
Некурящий. Трилогия

Последний Паладин. Том 10

Саваровский Роман
10. Путь Паладина
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Последний Паладин. Том 10

Идеальный мир для Лекаря 10

Сапфир Олег
10. Лекарь
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 10

Камень Книга двенадцатая

Минин Станислав
12. Камень
Фантастика:
боевая фантастика
городское фэнтези
аниме
фэнтези
5.00
рейтинг книги
Камень Книга двенадцатая

Пустоцвет

Зика Натаэль
Любовные романы:
современные любовные романы
7.73
рейтинг книги
Пустоцвет

Эммануэль

Арсан Эммануэль
1. Эммануэль
Любовные романы:
эро литература
7.38
рейтинг книги
Эммануэль