IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

GTK+ avec C & C++ Discussion :

évènement sur un tag (GtkTextTag) dans un GtkTextBuffer non-éditable


Sujet :

GTK+ avec C & C++

  1. #1
    Futur Membre du Club
    Inscrit en
    Octobre 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 7
    Points : 6
    Points
    6
    Par défaut é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 sh : Sélectionner tout - Visualiser dans une fenêtre à part
    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 C : Sélectionner tout - Visualiser dans une fenêtre à part
    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 C : Sélectionner tout - Visualiser dans une fenêtre à part
    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/

  2. #2
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 259
    Points : 1 633
    Points
    1 633
    Par défaut
    Peut être que GtkTextBuffer ignore tous les evts claviers lorsqu'il est non éditable, je ne sais pas du tout.
    Je suppose que tu connais déjà GtkSourceView?

Discussions similaires

  1. Propriétés utilisées dans les TAG (GtkTextTag)
    Par acryline dans le forum GTK+ avec C & C++
    Réponses: 3
    Dernier message: 23/03/2011, 10h14
  2. Réponses: 4
    Dernier message: 17/03/2011, 12h04
  3. [XSLT] gérer un évènement sur un choix dans un combo XSL
    Par KRis dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 12/01/2009, 16h36
  4. Réponses: 5
    Dernier message: 20/09/2007, 19h04
  5. Naviguer dans un JTextArea non éditable
    Par GLDavid dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 22/05/2007, 15h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo