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

на главную

Жанры

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

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

Первый после бога

Ахманов Михаил Сергеевич
2. Зов из бездны
Фантастика:
научная фантастика
5.00
рейтинг книги
Первый после бога

На распутье

Кронос Александр
2. Лэрн
Фантастика:
фэнтези
героическая фантастика
стимпанк
5.00
рейтинг книги
На распутье

История Российская. Часть 2

Татищев Василий Никитич
2. История Российская
Старинная литература:
древнерусская литература
6.25
рейтинг книги
История Российская. Часть 2

Всеобщая история кино. Том 4 (первый полутом). Послевоенные годы в странах Европы 1919-1929

Садуль Жорж
Научно-образовательная:
культурология
5.00
рейтинг книги
Всеобщая история кино. Том 4 (первый полутом). Послевоенные годы в странах Европы 1919-1929

В боях за Поднебесную. Русский след в Китае

Окороков Александр Васильевич
Военные тайны XX века
Научно-образовательная:
военная история
5.00
рейтинг книги
В боях за Поднебесную. Русский след в Китае

Сицилианская защита

Васильев Андрей Александрович
5. Акула пера в Мире Файролла
Фантастика:
фэнтези
киберпанк
рпг
9.27
рейтинг книги
Сицилианская защита

Верность

Романовский Адриан Адамович
Приключения:
исторические приключения
морские приключения
5.00
рейтинг книги
Верность

Мифы и факты русской истории. От лихолетья Cмуты до империи Петра

Резников Кирилл Юрьевич
От Руси к империи
Научно-образовательная:
история
5.00
рейтинг книги
Мифы и факты русской истории. От лихолетья Cмуты до империи Петра

Журнал "Если" 1999, номер 11

Силверберг Роберт
11. Журнал Если 1999
Фантастика:
социально-философская фантастика
6.25
рейтинг книги
Журнал Если 1999, номер 11

США - Империя Зла

Емельянов Юрий Васильевич
Документальная литература:
публицистика
5.00
рейтинг книги
США - Империя Зла

Идеальный слог. Что и как говорить, чтобы вас слушали

Боумэн Алиса
Научно-образовательная:
психология
7.00
рейтинг книги
Идеальный слог. Что и как говорить, чтобы вас слушали

Князь Андер Арес 3

Грехов Тимофей
3. Андер Арес
Фантастика:
рпг
аниме
фэнтези
5.25
рейтинг книги
Князь Андер Арес 3

Проходная пешка

Каннинг Виктор
Детективы:
триллеры
5.00
рейтинг книги
Проходная пешка

Газлайтер. Том 28

Володин Григорий Григорьевич
28. История Телепата
Фантастика:
боевая фантастика
аниме
попаданцы
5.60
рейтинг книги
Газлайтер. Том 28