évènement sur un tag (GtkTextTag) dans un GtkTextBuffer non-éditable
Bonsoir à tous,
Je bricole sur du code (libre, en GPLv3) autour de l'idée d'un éditeur syntaxique (plus ou moins reflexif). J'utilise GTK3 sous Linux/Debian (Sid ou Experimental) que je connais bien.
Je ne comprends pas comment on peut avoir un segment de texte (avec un tag) qui recoit des événements claviers sans être éditable.
Pour les quelques curieux intéressés, mon code est entièrement disponible via
Code:
git clone git://github.com/bstarynk/IaCa.git
Après l'avoir compilé, il faut le lancer (dans le répertoire du source) par
Puis on peut saisir name dans l'entrée textuelle, et activer le menu Edit => Named
Je crée un tag et je l'active par le bout de code suivant (fonction iacafirst_itemrefdisplayer du fichier module/first.c)
Code:
1 2 3 4 5 6
|
tagit = gtk_text_buffer_create_tag
(txbuf, NULL, "stretch", PANGO_STRETCH_SEMI_EXPANDED, NULL);
////....
g_signal_connect ((GObject *) tagit, "event",
G_CALLBACK (iacafirst_item_tag_event), itm); |
Et j'insère du texte avec ce tag par
Code:
1 2 3 4
|
gtk_text_buffer_insert_with_tags
(txbuf, &txit, nam, -1,
tagit, gtk_text_tag_table_lookup (tagtbl, "itemname"), NULL); |
Mais je ne comprends pas pourquoi les événements clavier ne sont pas reçus par ma fonction iacafirst_item_tag_event (alors que les événements boutons souris le sont). Le GtkTextBuffer est non-éditable.
Cordialement
-- Basile Starynkevitch http://starynkevitch.net/Basile/