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 :

colorier ce que l'on soughaite dans un gtk_text_view_new


Sujet :

GTK+ avec C & C++

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 16
    Par défaut colorier ce que l'on soughaite dans un gtk_text_view_new
    Bonjour, enfaite voila depuis quelques jours, je me suis mis en tête mettre de la couleur dans mon gtk_text_view_new.

    J'utilise pour cela gtk_text_buffer_insert_with_tags_by_name()

    Mon probléme est que j'aimerai pouvoir colorier juste de début de chaque phrase mais cela n'est pas chose facile....


    Merci pour l'aide que vous pourrez m'apporter.

  2. #2
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2009
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Portugal

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2009
    Messages : 27
    Par défaut
    J'ai fait une petite example. J'espere que ça t'aide.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
     
    #include <gtk/gtk.h>
    #include <stdlib.h>
     
    #define TITLE "Gtk Change colour..."
    #define WIDTH 100
    #define HEIGHT 100
     
    int main (int argc, char **argv)
    {
    GtkWidget *window;
    GtkWidget *vbox;
    GtkWidget *tv_in;
    GtkTextIter i_start, i_end;
    GtkTextBuffer *buffer;
    GdkColor color;
    GtkTextTag *tag;
    gchar *string = "This is a simple test...";
     
    	gtk_init (&argc, &argv);
     
    	window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
    	gtk_window_set_title (GTK_WINDOW(window), TITLE);
    	gtk_window_set_default_size (GTK_WINDOW(window), WIDTH, HEIGHT);
    	g_signal_connect (G_OBJECT(window), "destroy", G_CALLBACK(gtk_main_quit), NULL);
     
    	vbox = gtk_vbox_new (FALSE, 0);
    	gtk_container_add (GTK_CONTAINER(window), vbox);
     
    	tv_in = gtk_text_view_new ();
    	gtk_box_pack_start (GTK_BOX(vbox), tv_in, TRUE, TRUE, 0);
     
    	buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW(tv_in));
    	gtk_text_buffer_set_text (buffer, string, -1);
     
    	gdk_color_parse ("red", &color);
    	gtk_widget_modify_text (tv_in, GTK_STATE_NORMAL, &color);
    	tag = gtk_text_buffer_create_tag (buffer, "blue_foreground",
    		"foreground",
    		"blue",
    		NULL);  
    	gtk_text_buffer_get_iter_at_offset (buffer, &i_start, 7);
    	gtk_text_buffer_get_iter_at_offset (buffer, &i_end, 12);
    	gtk_text_buffer_apply_tag (buffer, tag, &i_start, &i_end);
     
    	g_free (string);
     
    	gtk_widget_show_all (window);
     
    	gtk_main ();
     
    	return EXIT_SUCCESS;
    }

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 16
    Par défaut
    désolé, mais cela ne m'aide pas du tout.... J'avais déjà essayer cette technique.....

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 16
    Par défaut
    Avec tout le monde inscrits sur ce forum, yen a pas un qui peut répondre à ma question?

  5. #5
    Membre Expert
    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
    Par défaut
    L'exemple donné par 0xpoint fonctionne parfaitement pour moi (après avoir retiré le g_free qui fait tout planter).

  6. #6
    Modérateur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    1 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 395
    Par défaut
    Citation Envoyé par Nonoel Voir le message
    Avec tout le monde inscrits sur ce forum, yen a pas un qui peut répondre à ma question?
    Ce n'est pas avec ce genre d'attitude que tu encourageras les gens à t'aider. Quelqu'un te donne un code exemple, et tu réponds qu'il ne te sert pas, sans dire pourquoi, ni ce que tu as essayé auparavant, ni ce qui te bloque.

    C'est sûr que si tu t'attends à avoir un code qui tombe du ciel sans faire d'effort, ce n'est pas le bon endroit...

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 16
    Par défaut
    0xpoint ton code fonctionne escuse moi, c juste que je n'arrive pas encore à l'intégrer dans mon programme, je ne sait pas pourquoi mais il ne m'affiche pas les couleurs a l'endroit demandé.

    liberforce toi mon grand t'es fortiche pour ouvrir ta bouche pour dire des bétises et faire des leçons de moral à deux balles mais pour filer une info t'es zéro ! ok c un forum d'enttraide libre mais la faut pas déconner !

  8. #8
    Membre Expert
    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
    Par défaut
    Nonoel, j'ai aussi trouvé ton message de relance désagréable et malvenu, donc n'en rajoute pas s'il te plaît. Un forum d'entraide, cela signifie entre autre que les gens t'aident bénévolement, donc s'ils te répondent, tant mieux, si personne ne te répond, eh bien tant pis, c'est la vie...

  9. #9
    Modérateur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    1 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 395
    Par défaut
    Citation Envoyé par Nonoel Voir le message
    liberforce toi mon grand t'es fortiche pour ouvrir ta bouche pour dire des bétises et faire des leçons de moral à deux balles mais pour filer une info t'es zéro ! ok c un forum d'enttraide libre mais la faut pas déconner !
    http://www.linux-france.org/article/...stions-fr.html

  10. #10
    Modérateur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    1 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 395
    Par défaut
    Citation Envoyé par teuf13 Voir le message
    L'exemple donné par 0xpoint fonctionne parfaitement pour moi (après avoir retiré le g_free qui fait tout planter).
    Etrangement, cela ne plante pas sous Windows/MinGW...

    @ 0xpoint: Si tu compiles avec tous les warnings activés (-Wall sous GCC) ce type d'erreur devrait être signalé: pour une chaîne en dur il faut toujours utiliser const, car elle se trouve dans l'exécutable final dans un segment en lecture seule...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    const gchar *string = "This is a simple test...";

  11. #11
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2009
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Portugal

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2009
    Messages : 27
    Par défaut
    Citation Envoyé par liberforce Voir le message
    Etrangement, cela ne plante pas sous Windows/MinGW...

    @ 0xpoint: Si tu compiles avec tous les warnings activés (-Wall sous GCC) ce type d'erreur devrait être signalé: pour une chaîne en dur il faut toujours utiliser const, car elle se trouve dans l'exécutable final dans un segment en lecture seule...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    const gchar *string = "This is a simple test...";
    Merci pour la correction liberforce.

  12. #12
    Membre actif
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 16
    Par défaut
    excusez moi pour mon comportement désagréable. Je reconnait que je n'ai pas vraiment pris le temps d'examiner le code qu'on ma donné et forcément je l'ai mal utilisé.

    Voila en tout cas j'ai résolu mon probléme.

    Merci 0xpoint !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 19/10/2006, 00h07
  2. Réponses: 3
    Dernier message: 18/08/2006, 16h15
  3. Réponses: 4
    Dernier message: 07/07/2006, 15h44
  4. [C#]saisir que un nombre decimal dans 1 textBox
    Par mcay dans le forum Windows Forms
    Réponses: 25
    Dernier message: 04/11/2005, 15h43
  5. est ce que un champs existe dans la base?
    Par cha_cha dans le forum Langage SQL
    Réponses: 9
    Dernier message: 03/10/2005, 11h25

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