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 :

Héritage de wxTextValidator


Sujet :

wxWidgets

  1. #1
    Membre éprouvé
    Avatar de Spout
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    904
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2007
    Messages : 904
    Points : 1 067
    Points
    1 067
    Par défaut Héritage de wxTextValidator
    Bonjour à tous

    Je voudrais faire mon propre validateur en héritant de wxTextValidator, mais j'ai quelques problèmes.

    Voici ma classe héritée:
    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
    #include <wx/valtext.h>
     
    // Declaration
    class MyValidator : wxTextValidator
    {
       MyValidator();
       MyValidator(const MyValidator& val);
       ~MyValidator() {};
     
       wxObject* Clone() const {return new MyValidator(*this);};
       bool Validate(wxWindow* parent);
    };
     
    // Implementation
    MyValidator::MyValidator()
    : wxTextValidator(wxFILTER_NONE, NULL)
    {
    }
     
    MyValidator::MyValidator(const MyValidator& val)
    {
       Copy(val);
    }
     
    bool MyValidator::Validate(wxWindow* parent)
    {
       // My validation procedure
       // ...
     
       return true; // or false
    }
    Et voici comment j'associe mon wxTextCtrl et ce MyValidator:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    MyInheritedPanel::MyInheritedPanel(wxWindow* parent)
    : MyBasePanel(parent)
    {
       // m_myTextCtrl is created in the MyBasePanel class
       m_myTextCtrl->SetValidator(MyValidator());
    }
    SetValidator() appelle le constructeur par défaut de la classe MyValidator, puis le constructeur par copie est appelé via la méthode Clone(), mais la méthode Validate() n'est jamais appelée lorsque je modifie le contenu de mon wxTextCtrl.

    Voyez-vous ce que je fais mal?
    Merci d'avance.

  2. #2
    Membre éprouvé
    Avatar de Spout
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    904
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2007
    Messages : 904
    Points : 1 067
    Points
    1 067
    Par défaut
    J'ai trouvé ma solution, il fallait en fait appeler explicitement le fonction Validate(), car elle n'est appelée automatiquement que pour les wxDialog.

    Plus d'infos ici: http://wxforum.shadonet.com/viewtopic.php?t=21253

  3. #3
    Membre émérite
    Avatar de Ti-R
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2003
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 683
    Points : 2 568
    Points
    2 568
    Par défaut
    Moi je n’ai pas eu le problème jusqu'à présent, au lieu d'utiliser wxTextValidator, j'ai fait une composition, et fait le traitement "à la main", et cela s'utilise comme le composant de base.

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

Discussions similaires

  1. [Postgresql]Héritage
    Par lheureuxaurelie dans le forum PostgreSQL
    Réponses: 13
    Dernier message: 02/10/2008, 10h18
  2. [Héritage] Vos commentaires....
    Par Fyna dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 03/05/2005, 23h10
  3. [XML Schemas]héritage multiple
    Par nicolas_jf dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 10/06/2003, 13h55
  4. [Postgres] Héritage + Clés
    Par k-reen dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 21/05/2003, 17h37
  5. Héritage entre Forms
    Par BarBal dans le forum Composants VCL
    Réponses: 7
    Dernier message: 29/08/2002, 18h44

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