Далее, вы захотите узнать как реагировать, когда пользователь манипулирует
виджетами. В этом простом приложении, есть две интересные вещи, которые могут
произойти: пользователь может нажать на кнопку, или закрыть окно, используя
рамку, предоставляемую оконным менеджером. Виджеты (на самом деле, все
наследники GtkObject) испускают сигналы,
когда происходит что-то интересное, и на что программа захочет ответить.
Для ответа на сигнал, вы должны подключить обработчик
к нему, то есть зарегистрировать функцию, которая будет вызываться тогда, когда
сигнал испущен. Вот снова этот код:
"gtk_signal_connect()" определяет, за каким
GtkObject следить, к какому сигналу подключиться,
обработчик, который подключить, и, наконец, аргумент
"user_data" -- это произвольный gpointer,
который будет передан в обоработчик. Макрос "GTK_SIGNAL_FUNC()"
транслирует обработчик в стандартную функцию; так как обработчики имеют
разнообразие типов, альтернативой будут десятки вариантов
"gtk_signal_connect()".
Gtk+ выполняет обильное количество проверок безопасности во время
выполнения; макрос "GTK_OBJECT()" включает проверку типа в
дополнение к транслирванию C, а "gtk_signal_connect()"
проверит, действительно ли объект может испускать сигнал, который вы указали.
Журнал "Linux Format" (Линукс Формат)- Единственный в России и странах СНГ журнал на русском языке,
посвящённый Linux и свободному ПО. Журнал для IT-директоров, IT-менеджеров, программистов, системных
администраторов, учителей школ и преподавателей ВУЗов и всех пользователей ПК. В каждом выпуске: Новости
индустрии OpenSource, обзоры новинок свободного ПО, обучающие и методические статьи.
Каждый, кто оформит подписку, получает бонус- объёмные наклейки на системный блок и подарки: с одним из
первых выпусков журнала в 2012 году- диск с архивом номеров за 2005-2011 г.г. и ежемесячно электронную
версию журнала в pdf-формате.
Подробнее о проведении акции вы можете прочитать на
странице сайта.