| |
gtk_signal_connect(GTK_OBJECT(window), "delete_event", GTK_SIGNAL_FUNC(delete_event_cb), NULL); gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(button_click_cb), label);
"gtk_signal_connect()" определяет, за каким GtkObject следить, к какому сигналу подключиться, обработчик, который подключить, и, наконец, аргумент "user_data" -- это произвольный gpointer, который будет передан в обоработчик. Макрос "GTK_SIGNAL_FUNC()" транслирует обработчик в стандартную функцию; так как обработчики имеют разнообразие типов, альтернативой будут десятки вариантов "gtk_signal_connect()".
Gtk+ выполняет обильное количество проверок безопасности во время выполнения; макрос "GTK_OBJECT()" включает проверку типа в дополнение к транслирванию C, а "gtk_signal_connect()" проверит, действительно ли объект может испускать сигнал, который вы указали.
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |