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

wxWidgets Discussion :

Affichage de fichier XML


Sujet :

wxWidgets

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    268
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 268
    Points : 393
    Points
    393
    Par défaut Affichage de fichier XML
    Bonjour,

    Je souhaite afficher un fichier XML dans une fenêtre wxWidgets (via wxTextCtrl par exemple). Seulement j'aimerais que le texte soit coloré syntaxiquement, comme on peut le voir si on l'ouvre sous Firefox par exemple.

    Est-ce que wxWidgets sait faire ca ou bien faut-il se taper la coloration en fonction des mots clés par exemple ?

  2. #2
    Membre éprouvé

    Homme Profil pro
    Diverses et multiples
    Inscrit en
    Mai 2008
    Messages
    662
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Diverses et multiples

    Informations forums :
    Inscription : Mai 2008
    Messages : 662
    Points : 1 273
    Points
    1 273
    Par défaut
    Bonjours atm0sfe4r,

    As-tu regardé du côté de scintilla? C'est un moteur de coloration syntaxique, et il me semble qu'il est inclus dans wxWidgets... Sinon, je ne vois que la méthode "manuelle" (bon courage ), ou essayer d'utiliser une bibliothèque de coloration syntaxique (google est ton ami).

    A+, Bastien

  3. #3
    Membre habitué
    Homme Profil pro
    Inscrit en
    Février 2006
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 153
    Points : 168
    Points
    168
    Par défaut
    je plussois : wxStyledTextCtrl (wxSTC), livré avec wxWidgets, ou wxScintilla que tu peux télécharger, sont tes amis.
    --
    Jérémie
    Jérémie

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    268
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 268
    Points : 393
    Points
    393
    Par défaut
    Merci à vous deux, je ne savais pas que wxStyledCtrl existait, il me semble être tout à fait ce que je souhaite.

    Toutefois, j'ai un problème d'édition de liens. J'utilise Visual Studio et je ne trouve pas wxmsw28d_stc.lib dans C:\Program Files\wxWidgets\lib\vc_lib

    Une idée?

  5. #5
    Membre habitué
    Homme Profil pro
    Inscrit en
    Février 2006
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 153
    Points : 168
    Points
    168
    Par défaut
    Ah oui, il est dans contrib. A compiler donc (sauf si ce n'est déjà fait), et rajouter le repertoire $(WXWIN)/contrib/include et $(WXWIN)/contrib/vc_lib dans les settings qui vont bien de ton projet.
    --
    Jérémie
    Jérémie

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    268
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 268
    Points : 393
    Points
    393
    Par défaut
    Bon, voici ce que j'ai tenté afin d'afficher mon fichier XML et qu'il soit coloré syntaxiquement:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    // Creation du controle; "dial" est la parent, c'est un dialogue.
    wxStyledTextCtrl textCtrl(&dial, -1, wxDefaultPosition, dial.GetSize(), wxTE_MULTILINE | wxTE_READONLY | wxTE_RICH2);
     
    textCtrl.StyleClearAll();
    textCtrl.SetLexer(wxSTC_LEX_XML);
    textCtrl.SetIndent(10);
    textCtrl.LoadFile(fileName); // fileName est défini ailleurs
    Cela m'affiche bien le texte dans le dialogue, mais sans aucune coloration ni indentation...
    Quelqu'un sait-il comment procéder ?

  7. #7
    Membre averti Avatar de wxXav
    Homme Profil pro
    Développeur amateur
    Inscrit en
    Décembre 2008
    Messages
    214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur amateur

    Informations forums :
    Inscription : Décembre 2008
    Messages : 214
    Points : 354
    Points
    354
    Par défaut
    Salut.

    As-tu tenté d'appeler "SetLexer" après avoir chargé le fichier ?
    C'est juste une idée en passant.

    @+
    Xav'

  8. #8
    Membre habitué
    Homme Profil pro
    Inscrit en
    Février 2006
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 153
    Points : 168
    Points
    168
    Par défaut
    Voici comment je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        m_scintilla->SetLexer(wxSCI_LEX_XML);
        m_scintilla->StyleSetForeground(wxSCI_H_TAG, *wxBLUE);
        m_scintilla->StyleSetForeground(wxSCI_H_ATTRIBUTE, wxColour(0xc1, 0xa3, 0x3f));
        m_scintilla->StyleSetForeground(wxSCI_H_DOUBLESTRING, wxColour(0xff, 0x00, 0x00));
        m_scintilla->SetProperty( wxT( "fold.html" ), wxT( "1" ) );
     
        m_scintilla->LoadFile(sFilename);
    avec wxScintilla, mais je pense que c'est pareil avec wxSTC
    --
    Jérémie
    Jérémie

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    268
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 268
    Points : 393
    Points
    393
    Par défaut
    Je te remercie jfouche c'est niquel

    Je passe en résolu.

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

Discussions similaires

  1. [Débutant] Affichage de fichier XML - Bibliothèques de balises
    Par ikar_AAA dans le forum C#
    Réponses: 4
    Dernier message: 22/05/2014, 15h59
  2. affichage de fichier XML avec java
    Par smisoufafa dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 01/04/2008, 11h57
  3. Réponses: 1
    Dernier message: 27/04/2007, 15h03
  4. Réponses: 1
    Dernier message: 22/12/2005, 15h45
  5. Optimiser l'affichage d'un fichier XML de grosse taille...
    Par UnPeuPerdu dans le forum XML/XSL et SOAP
    Réponses: 11
    Dernier message: 03/06/2004, 16h01

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