Дополнительно о Событиях и Обработчиках сигналов

Функции Сигналов (Signal Functions)

Подключение и отключение Обработчиков

gulong g_signal_connect( GObject *object,
const gchar *name,
GCallback func,
gpointer func_data );

gulong g_signal_connect_after( GObject *object,
const gchar *name,
GCallback func,
gpointer func_data );

gulong g_signal_connect_swapped( GObject *object,
const gchar *name,
GCallback func,
GObject *slot_object );

void g_signal_handler_disconnect( GObject *object,
gulong handler_id );

void g_signal_handlers_disconnect_by_func( GObject *object,
GCallback func,
gpointer data );

Блокировка и разблокирование Обработчиков сигнала

void g_signal_handler_block( GObject *object,
gulong handler_id);

void g_signal_handlers_block_by_func( GObject *object,
GCallback func,
gpointer data );

void g_signal_handler_unblock( GObject *object,
gulong handler_id );

void g_signal_handler_unblock_by_func( GObject *object,
GCallback func,
gpointer data );

Воспроизведение и остановка Сигнала

void g_signal_emit( GObject *object,
guint signal_id,
... );

void g_signal_emit_by_name( GObject *object,
const gchar *name,
... );

void g_signal_emitv( const GValue *instance_and_params,
guint signal_id,
GQuark detail,
GValue *return_value );

void g_signal_stop_emission( GObject *object,
guint signal_id,
GQuark detail );

void g_signal_stop_emission_by_name( GObject *object,
const gchar *detailed_signal );