Configurando uma manipulador de signal ATK
- Guia de accessibilidade para desenvolvedores GNOME
- O que é acessibilidade?
- Exemplos que usam a API de acessibilidade
Usando o sinal column_inserted como um exemplo:
table_column_inserted_id = g_signal_connect_closure_by_id (my_atk_obj, g_signal_lookup("column_inserted", G_OBJECT_TYPE(my_atk_obj)), 0, g_cclosure_new(G_CALLBACK (_my_table_column_inserted_func), NULL, NULL), FALSE);
Isso fará com que _my_table_column_inserted_func() seja chamado sempre que um sinal column_inserted seja emitido no AtkObject my_atk_object
A conexão com um sinal é um pouco diferente se o sinal oferece suporte a detalhes. O sinal children_changed oferece suporte o detalhe add. Para conectar com um sinal quando o detalhe add também é especificado, essa técnica é usada:
child_added_id = g_signal_connect_closure (my_atk_obj,"children_changed::add", g_cclosure_new (G_CALLBACK(_my_children_changed_func), NULL, NULL), FALSE);
Isso fará com que _my_children_changed_func() seja chamada sempre que um sinal children_changed com o detalhe add seja emitido no AtkObject my_atk_obj.