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+ Discussion :

[Gtk#] GtkSourceView texte en couleur


Sujet :

GTK+

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    150
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 150
    Par défaut [Gtk#] GtkSourceView texte en couleur
    Bonjour,

    Je dois exporter une application .NET/C# Windows sous Linux, ce qui est actuellement fait.

    Mais pour des soucis de performance, je souhaiterais utiliser le widget Gtksourceview afin de remplacer une RichTextBox.
    Cependant, je n'arrive pas bien à gérer les couleurs du texte, j'arrive a mettre tout le texte d'une certaine couleur avec la fonction ModifyText(), mais malheuresement je n'arrive pas à mettre une couleur en fonction du mot ou ligne.

    Je sais pas si j'ai été assez clair, en fait je cherche à faire une coloration syntaxique ce qui donnerait quelquechose un peu comme gedit



    Merci d'avance pour votre aide

    PS: je pense pas que cela soit utile mais j'utilise l'IDE MonoDevelop.

  2. #2
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Par défaut
    Bonjour,

    Apparemment la version 2 est déjà portée en C#, donc ça devrait simplifier les choses. Il faut récupérer le langage que tu souhaite et ensuite activer la coloration :
    Code c : 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
    static GtkSourceLanguage *get_language (void)
    {
      GtkSourceLanguage *language = NULL;
      GtkSourceLanguageManager *manager = NULL;
     
      manager = gtk_source_language_manager_new ();
      language = gtk_source_language_manager_get_language (manager, "xml");
      return language;
    }
     
    /* constructor */
    static void exl_source_view_init (ExlSourceView *this)
    {
      GtkSourceBuffer *p_buffer = NULL;
     
      g_return_if_fail (this != NULL);
     
      {
        GtkSourceLanguage *language = NULL;
     
        language = get_language ();
        g_return_if_fail (language);
        p_buffer = gtk_source_buffer_new_with_language (language);
      }
     
      gtk_text_view_set_buffer (GTK_TEXT_VIEW (this), GTK_TEXT_BUFFER (p_buffer));
     
      gtk_source_buffer_set_highlight_syntax (p_buffer, TRUE);
    }

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    150
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 150
    Par défaut
    Merci de ta réponse,

    Donc je dois modifier les sources ou utiliser ses fonctions dans mon code source à moi ??

    [Edit] J'ai essayé d'adapter le code que tu m'a fourni mais j'ai pas du tt les même fonctions ou au moins des fonctions qui y ressemblerais, nulle part j'ai d'attributs ou méthodes faisant réfèrence à des couleurs.
    La seule que j'ai trouvé me permet juste de choisir la couleur de tout le text contenu dans la GtkSourceView.

    J'ai bien le composant GtkSourceView 2.0 pour le langages C#, j'ai bien vérifié dans le dossier "language-specs" et le csharp est bien présent.

    Donc si tu pouvais encore m'éclairer dans ces pénombres qu'est le developpement sous Linux ou juste me donner le liens vers un bon tuto sur ce composant dans un environnement C#.

  4. #4
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Par défaut
    Citation Envoyé par Spaeda Voir le message
    Donc je dois modifier les sources ou utiliser ses fonctions dans mon code source à moi ??
    C'est un extrait d'un de mes programmes. Il s'agit d'une classe héritée de GtkSourceView et la fonction exl_source_view_init est le constructeur.

    tu as un exemple complet dans la doc de mono : http://www.go-mono.com/docs/index.as...aGtkSourceView

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    150
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 150
    Par défaut
    merci, j'ai trouvé comment faire avec les languages commum (C#, VB, PHP, etc), cependant, l'application de base est un IDE pour un langage de script très peu utilisé et donc j'aurais besoin de pouvoir colorer mots par mots ou alors de pouvoir créer moi même le langage (MIME Type, dsl si je raconte une annerie mais j'ai pas encore tout compris a Mime).

  6. #6
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Par défaut
    Citation Envoyé par Spaeda Voir le message
    merci, j'ai trouvé comment faire avec les languages commum (C#, VB, PHP, etc), cependant, l'application de base est un IDE pour un langage de script très peu utilisé et donc j'aurais besoin de pouvoir colorer mots par mots ou alors de pouvoir créer moi même le langage
    Dans ce cas, il suffit de créer un fichier XML comme ceux présent dans le dossier language-specs

    Citation Envoyé par Spaeda Voir le message
    (MIME Type, dsl si je raconte une annerie mais j'ai pas encore tout compris a Mime).
    Type MIME.

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

Discussions similaires

  1. texte en couleur
    Par Pepito dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 02/08/2005, 16h41
  2. [VB.NET] Comment envoyer du texte enrichi(couleurs,style...)
    Par fdiedler dans le forum Windows Forms
    Réponses: 14
    Dernier message: 17/03/2005, 14h49
  3. [VB.NET] Comment envoyer un texte modifié(couleurs,style...)
    Par fdiedler dans le forum Windows Forms
    Réponses: 8
    Dernier message: 14/03/2005, 18h11
  4. Ecrire du texte en couleurs dans un composant
    Par wutang dans le forum Composants
    Réponses: 11
    Dernier message: 12/07/2004, 10h55
  5. Afficher du texte en couleur sous Borland C++ 4.02
    Par Cthulhu 22 dans le forum Autres éditeurs
    Réponses: 7
    Dernier message: 18/11/2003, 00h53

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