GTK+ 2.0 Tutorial |
||
---|---|---|
Углубленное изучение (Moving On) |
Вот вариант объявления функции g_signal_connect().
gulong g_signal_connect( gpointer object,
const gchar *name,
GCallback func,
gpointer func_data );
|
Обратите внимание, возвращаемое значение имеет тип gulong? Это ярлык идентификации вашей функции обратного вызова. Как упоминалось выше, вы можете вызывать любое количество сигналов на объект и все они будут созданы в порядке очереди прикрепления.
Данный ярлык, позволяет вам удалять сигнал при использовании:
void g_signal_handler_disconnect( gpointer object,
gulong id );
|
При прохождении виджета вы можете отключить обработчик, вернув в функцию (signal_connect functions) пустое значение.
Вы также можете временно отключать обработчики сигналов из родственных функций g_signal_handler_block() и g_signal_handler_unblock().
void g_signal_handler_block( gpointer object,
gulong id );
void g_signal_handlers_block_by_func( gpointer object,
GCallback func,
gpointer data );
void g_signal_handler_unblock( gpointer object,
gulong id );
void g_signal_handlers_unblock_by_func( gpointer object,
GCallback func,
gpointer data );
|
Moving On |
An Upgraded Hello World |