  • Page principale
  • Classes
  • Fichiers

wxMaskEdit Documentation wxwidgets 2.6.2 or 2.6.3 or 2.6.7 or 2.7.1

02.00 31/08/2006

exemples:

V_DATE->wxMaskSet( wxT("####/##/##"),ME_DATE,GBLANKS);

V_TELEPHONE->wxMaskSet( wxT("(###)#.#.###.###.###"),ME_DATE,GBLANKS);

V_PRIX->wxMaskSet( wxT("###,###.##$"),ME_NDEC,GBLANKS);

V_QTE->wxMaskSet( wxT("§### ###.###Kg"),ME_NDECS,GZEROS);

V_MAIL->wxMaskSet( wxT("§§§§-###@HOTMAIL.com"),ME_LTRNUM,GBLANKS);

use § = letter or number # = number only

==================================================
 01.30 ->Adaptation of the function wxMaskEdit with wxTextCtrl for more simplicity.
01.50 ->Adaptation of the function GCC 3.4.2 or VC2005
01.60 -> Modification of the fonction to decimal type ME_NDEC ME_NDECS via ME_NUM ME_SIGNED
01.70 -> Adaptation of the function GCC 3.4.4 Change ToAsscii() ==> Tochar() Change of type of function for comptatibilité with decimal float of GCC AND BD2
01.80 ->Adaptation of the function new SetClear(); Change OnLostFocus process CRTL&TAB (pos caret first) hold last
Police default
 // font Underline = true
this->SetFont(wxFont(10,wxFONTFAMILY_SWISS, wxNORMAL,wxFONTWEIGHT_NORMAL ,true,wxT("Courier")));
process is correct for underline or no proportionel (Arial)

01.90 -> Modification taken into account "IsEditable" and new type "Dates" ME_DATE = 0 or 0000/00/00

__________________________________________New ________________________________________________________
02.00 -> Modification of management of cursor and taken into account centring to the left
_____________________________________________________________________________________________________
 major -> Redefining of the centring 1.50
Adaptation of posting
Retreats of errors warning all

NEW: NumberGroup::NBLANKS - > variable GBLANKS or GZEROS
_____________________________________________________________________________________________________

Bonjour voilà j'ai épuré le code
le but était de comprendre pourquoi le c++
cela était plus simple de réaliser un programme avec un utilitaire
ce code m'a aidé à comprendre wxwidget (un peu) de me familiariser avec l'héritage c++
de sortir de la programmation procédurale (linéaire)
je ne ¦prétends pas que cela est parfait mais je voulais être le plus proche de la saisie 5250 industriel
et ne pas remplacer word ect....

// Pas de contrôle si double entier ou long
// Le principe du contrôle de saisie n'est pas de prendre la main sur le résultats mais d'assurer la conformité attendue

J' espère que comme pour moi cela vous aidera et pourquoi pas continuerez.

Je remercie pour tous les exemples et les FAQ. wxdevcpp

Hello here I purified the code the goal was to include/understand
why C that was simpler to carry out a program with a utility
this code helped me has to include/understand wxwidget (a little)
to familiarize me with the heritage C to leave the procedural
programming (linear) I ¦prétends not that that is perfect but wanted to be closest to seizure 5250 industrialist and
not to replace Word ect....
J' hopes that as for me that will help you and why not will continue.
thank for all the examples and the FAQ.. wxdevcpp

// No complete or long control so double
// The principle of the control of seizure is not to take the hand
// on results but to assure the waited conformities

je remercie le site http://wxforum.shadonet.com/ qui est vraiement une source et une mine d'or.
fait avec wxdevccp

remplace
// wxTextCtrl* V_Nom;

RENAME wxTextCtrl to wxMaskEdit *V_Nom;

V_NOM = new
wxMaskEdit(this, ID_V_NOM,
wxT(""),wxPoint(117,87),
wxSize(104,21), 0,
wxDefaultValidator, wxT("V_NOM"),wxT(""),ME_CAPBLK,G BLANKS);

or

V_NOM = new wxMaskEdit(this, ID_V_NOM, wxT(""),wxPoint(117,87), wxSize(104,21));

default wxT(""),ME_LIBRE,GBLANKS

wxT("mask.....") § Alpha ect... # Num

ME_...... type contrôle

GBLANK cadrage / Centring blank

NZEROS cadrage / Centring 0

#define | ME_LTRNUM 0
#define | ME_CAPITAL 1
#define | ME_LIBRE 2
#define | ME_CAPBLK 3
#define | ME_LTRBLK 4
#define | ME_CAPLBR 5
#define | ME_SIGNED 6
#define | ME_ALPHA 7
#define | ME_NUM 8
#define | ME_NDEC 9
#define | ME_NDECS 10
#define
ME_DATE 10
#define | GZEROS false
#define | GBLANKS true

wxT("§§§§§§§§§§§§§§§§§§§§§") automatique SetMaxLength(20);

V_NOM->wxMaskSet( wxT("§§§§§§§§§§§§§§§§§§§§§"),ME_CAPBLK,GBLANKS);

/*
V_Nom = new wxTextCtrl(this, ID_V_NOM, wxT(""),wxPoint(117,87),
wxSize(104,21), 0, wxDefaultValidator ,wxT("V_Nom"));
V_Nom->SetMaxLength(20);

*/

caractère ALPHA ' §' NUM '#' NOT USE ' _' interprete '_' and underline _________________

source http://www.ombrebleu.com/wxsrc/src/ftp/

réalisé avec wxdevcpp 6.9 wxwidget 2.6.2

touche fonction delete home end decimal integer string possibilite extrac. text or absolut or *char

ex:
Text : 12/10/1951 absolut : 12101951 Date 0 is Null or 200601?3 not blank
Text : 00091234567.52 absolut : 0009123456752
*char if use decimal recomended 9123456.52 lol €

Généré le Tue Feb 7 21:54:09 2006 pour wxMaskEdit par doxygen 1.4.6-NO


wxMaskEdit: Liste des classes

  • Liste des classes
  • Hiérarchie des classes
  • Membres de classe

wxMaskEdit Liste des classes

Liste des classes, structures, unions et interfaces avec une brève description:
LetterGroup
NumberGroup
TextPart
wxMaskEdit
Généré le Fri Oct 27 13:01:34 2006 pour wxMaskEdit par doxygen 1.4.6-NO


wxMaskEdit: Index des fichiers

  • Liste des fichiers
  • Membres de fichier

wxMaskEdit Liste des fichiers

Liste de tous les fichiers avec une brève description:
C:/MinGW/include/wx/wxEdit/wxmaskedit.cpp [code]
C:/MinGW/include/wx/wxEdit/wxMaskEdit.h [code]
Généré le Fri Oct 27 13:01:34 2006 pour wxMaskEdit par doxygen 1.4.6-NO


wxMaskEdit: Référence du fichier C:/MinGW/include/wx/wxEdit/wxMaskEdit.h

  • Liste des fichiers
  • Membres de fichier

Référence du fichier C:/MinGW/include/wx/wxEdit/wxMaskEdit.h

#include <wx/wxprec.h>
#include <wx/wx.h>
#include <wx/textctrl.h>
#include <wx/string.h>

Aller au code source de ce fichier.

Classes

class | TextPart
class | NumberGroup
class | LetterGroup
class | wxMaskEdit

Macros

#define | ME_LTRNUM 0
#define | ME_CAPITAL 1
#define | ME_LIBRE 2
#define | ME_CAPBLK 3
#define | ME_LTRBLK 4
#define | ME_CAPLBR 5
#define | ME_SIGNED 6
#define | ME_ALPHA 7
#define | ME_NUM 8
#define | ME_NDEC 9
#define | ME_NDECS 10
#define | ME_DATE 11
#define | GZEROS false
#define | GBLANKS true

Fonctions

WX_DEFINE_ARRAY (TextPart *, TextPartArray)

Documentation des macros

#define GBLANKS true

Définition à la ligne 130 du fichier wxMaskEdit.h.

Référencé par wxMaskEdit::wxMaskEdit(), et wxMaskEdit::wxMaskSet().

#define GZEROS false

Définition à la ligne 129 du fichier wxMaskEdit.h.

Référencé par wxMaskEdit::wxMaskEdit(), et wxMaskEdit::wxMaskSet().

#define ME_ALPHA 7

Définition à la ligne 124 du fichier wxMaskEdit.h.

Référencé par wxMaskEdit::CtrlKey().

#define ME_CAPBLK 3

Définition à la ligne 120 du fichier wxMaskEdit.h.

Référencé par wxMaskEdit::CtrlKey().

#define ME_CAPITAL 1

Définition à la ligne 118 du fichier wxMaskEdit.h.

Référencé par wxMaskEdit::CtrlKey().

#define ME_CAPLBR 5

Définition à la ligne 122 du fichier wxMaskEdit.h.

Référencé par wxMaskEdit::CtrlKey().

#define ME_DATE 11

Définition à la ligne 128 du fichier wxMaskEdit.h.

Référencé par wxMaskEdit::CtrlKey(), et NumberGroup::OnKeyDown().

#define ME_LIBRE 2

Définition à la ligne 119 du fichier wxMaskEdit.h.

Référencé par wxMaskEdit::CtrlKey().

#define ME_LTRBLK 4

Définition à la ligne 121 du fichier wxMaskEdit.h.

Référencé par wxMaskEdit::CtrlKey().

#define ME_LTRNUM 0

Définition à la ligne 117 du fichier wxMaskEdit.h.

Référencé par wxMaskEdit::CtrlKey().

#define ME_NDEC 9

Définition à la ligne 126 du fichier wxMaskEdit.h.

Référencé par wxMaskEdit::CtrlKey(), NumberGroup::goNormBlank(), NumberGroup::goNormZero(), et NumberGroup::OnKeyDown().

#define ME_NDECS 10

Définition à la ligne 127 du fichier wxMaskEdit.h.

Référencé par wxMaskEdit::CtrlKey(), NumberGroup::goNormBlank(), NumberGroup::goNormZero(), et NumberGroup::OnKeyDown().

#define ME_NUM 8

Définition à la ligne 125 du fichier wxMaskEdit.h.

Référencé par wxMaskEdit::CtrlKey(), et NumberGroup::OnKeyDown().

#define ME_SIGNED 6

Définition à la ligne 123 du fichier wxMaskEdit.h.

Référencé par wxMaskEdit::CtrlKey(), et NumberGroup::OnKeyDown().

Documentation des fonctions

WX_DEFINE_ARRAY | ( | TextPart * | ,
 |  | TextPartArray |
 | ) |

Généré le Fri Oct 27 13:01:34 2006 pour wxMaskEdit par doxygen 1.4.6-NO


wxMaskEdit: Index hiérarchique

wxMaskEdit Hiérarchie des classes

Cette liste d'héritage est classée approximativement par ordre alphabétique:
  • TextPart
    • LetterGroup
    • NumberGroup
  • wxMaskEdit
Généré le Fri Oct 27 13:01:34 2006 pour wxMaskEdit par doxygen 1.4.6-NO


wxMaskEdit: Référence de la classe LetterGroup

Référence de la classe LetterGroup

#include <wxMaskEdit.h>

Graphe d'héritage de LetterGroup:

TextPart Liste de tous les membres

Fonctions membres publiques

LetterGroup (size_t ord)
virtual | ~LetterGroup ()
virtual wxString | getValue () const
virtual bool | isStatic () const
virtual int | OnKeyDown (wxKeyEvent &evt, size_t pos)
virtual void | normalize ()
virtual wxString | getTransform () const

Description détaillée

Définition à la ligne 97 du fichier wxMaskEdit.h.

Documentation des contructeurs et destructeur

LetterGroup ( size_t ord )

Définition à la ligne 276 du fichier wxmaskedit.cpp.

00277 : TextPart(ord)
00278 {
00279 }

~LetterGroup ( ) [virtual]

Définition à la ligne 281 du fichier wxmaskedit.cpp.

00282 {
00283 }

Documentation des fonctions membres

wxString getTransform ( ) const [virtual]

Réimplémentée à partir de TextPart.

Définition à la ligne 356 du fichier wxmaskedit.cpp.

Références TextPart::getValue().

00357 {
00358      wxString val( TextPart::getValue() );
00359          val.Replace("_", " ",true);
00360   return val;
00361
00362 }

wxString getValue ( ) const [virtual]

Réimplémentée à partir de TextPart.

Définition à la ligne 285 du fichier wxmaskedit.cpp.

Références TextPart::getValue(), et wxMaskEdit::IsControl().

00286 {
00287   wxString ret;
00288   size_t valLen = TextPart::getValue().Len();
00289
00290   for (size_t i = 0; i < valLen; i++) {
00291     if ( wxMaskEdit::IsControl(TextPart::getValue()[i]) ) {
00292       ret += "_";
00293     }
00294     else {
00295       ret += TextPart::getValue()[i];
00296     }
00297   }
00298
00299   return ret;
00300 }

bool isStatic ( ) const [virtual]

Réimplémentée à partir de TextPart.

Définition à la ligne 302 du fichier wxmaskedit.cpp.

00303 {
00304   return false;
00305 }

void normalize ( ) [virtual]

Réimplémentée à partir de TextPart.

Définition à la ligne 342 du fichier wxmaskedit.cpp.

Références TextPart::getSize(), TextPart::getValue(), et TextPart::setValue().

00343 {
00344   wxString val( TextPart::getValue() );
00345   //replace C's with blank lines, char values are NOT optional
00346   val.Replace("§", "_");
00347   //take what we have and pad with spaces
00348   size_t ldiff = this->getSize() - val.Len();
00349
00350   if (ldiff > 0) {
00351     val.Pad(ldiff, '_', false);
00352   }
00353   this->setValue(val);
00354 }

int OnKeyDown | ( | wxKeyEvent & | evt,
 |  | size_t | pos
 | ) | [virtual]

Réimplémentée à partir de TextPart.

Définition à la ligne 310 du fichier wxmaskedit.cpp.

Références TextPart::getStyle(), TextPart::getValue(), et TextPart::setValue().

00311 {
00312         int style = this->getStyle();
00313        wxString val( TextPart::getValue() );
00314
00315   if (evt.GetKeyCode() == WXK_BACK ) {
00316
00317     val[pos] = '§';
00318     this->setValue(val);
00319     return 0;
00320   }
00321   if (evt.GetKeyCode() == WXK_DELETE  ) {
00322
00323         val[pos] = '§';
00324         this->setValue(val);
00325         return 0;
00326   }
00327
00328
00329       val[pos] = evt.GetKeyCode();
00330
00331
00332 if (style== ME_CAPITAL  || style== ME_CAPBLK  || style== ME_CAPLBR ) {
00333           if (evt.GetKeyCode() >= 224 ) val[pos] = evt.GetKeyCode() -32;
00334           else val[pos]= toupper(evt.GetKeyCode());
00335           }
00336      this->setValue(val);
00337
00338      return 1;
00339
00340 }

La documentation de cette classe a été générée à partir des fichiers suivants:
  • C:/MinGW/include/wx/wxEdit/wxMaskEdit.h
  • C:/MinGW/include/wx/wxEdit/wxmaskedit.cpp
Généré le Fri Oct 27 13:01:35 2006 pour wxMaskEdit par doxygen 1.4.6-NO


wxMaskEdit: Référence de la classe NumberGroup

Référence de la classe NumberGroup

#include <wxMaskEdit.h>

Graphe d'héritage de NumberGroup:

TextPart Liste de tous les membres

Types publics

enum | NGBehaviour { NZEROS, NBLANKS }

Fonctions membres publiques

NumberGroup (size_t ord, NGBehaviour beh)
virtual | ~NumberGroup ()
virtual wxString | getValue () const
virtual bool | isStatic () const
virtual int | OnKeyDown (wxKeyEvent &evt, size_t pos)
virtual void | normalize ()
virtual wxString | getTransform () const

Attributs publics

enum NumberGroup::NGBehaviour | m_beh

Fonctions membres privées

void | goNormBlank ()
void | goNormZero ()

Description détaillée

Définition à la ligne 67 du fichier wxMaskEdit.h.

Documentation des énumérations membres

enum NGBehaviour

Valeurs énumérées:
NZEROS
NBLANKS

Définition à la ligne 70 du fichier wxMaskEdit.h.

00070                    {
00071     NZEROS,
00072     NBLANKS
00073   } m_beh;

Documentation des contructeurs et destructeur

NumberGroup | ( | size_t | ord,
 |  | NGBehaviour | beh
 | ) |

Définition à la ligne 114 du fichier wxmaskedit.cpp.

00115 : TextPart(ord), m_beh(beh)
00116 {
00117 }

~NumberGroup ( ) [virtual]

Définition à la ligne 119 du fichier wxmaskedit.cpp.

00120 {
00121 }

Documentation des fonctions membres

wxString getTransform ( ) const [virtual]

Réimplémentée à partir de TextPart.

Définition à la ligne 241 du fichier wxmaskedit.cpp.

Références TextPart::getSize(), TextPart::getValue(), m_beh, NBLANKS, et NZEROS.

00242 {
00243
00244 // No complete or long control so double
00245 // The principle of the controle of seizure is not to take the hand
00246 // on results but to assure the waited conformitée
00247
00248
00249   wxString val( TextPart::getValue() );
00250     size_t ncar = this->getSize();
00251     val.Replace("_", " ");
00252 // partit commune
00253    size_t ldiff = ncar - val.Len();
00254    if (m_beh == NZEROS)     val.Pad(ldiff, '0', false);
00255     //take what we have and pad with zeros
00256
00257    if (m_beh == NBLANKS) val.Pad(ldiff, ' ', false);
00258     //take what we have and pad with blank
00259
00260
00261   return val;
00262 }

wxString getValue ( ) const [virtual]

Réimplémentée à partir de TextPart.

Définition à la ligne 123 du fichier wxmaskedit.cpp.

Références TextPart::getValue(), et wxMaskEdit::IsControl().

00124 {
00125   wxString ret;
00126   size_t valLen = TextPart::getValue().Len();
00127
00128   for (size_t i = 0; i < valLen; i++) {
00129     if ( wxMaskEdit::IsControl(TextPart::getValue()[i]) ) {
00130       ret += "_";
00131     }
00132     else {
00133       ret += TextPart::getValue()[i];
00134     }
00135   }
00136
00137   return ret;
00138 }

void goNormBlank ( ) [private]

Définition à la ligne 186 du fichier wxmaskedit.cpp.

Références TextPart::getOrder(), TextPart::getSize(), TextPart::getStyle(), TextPart::getValue(), ME_NDEC, et ME_NDECS.

Référencé par normalize().

00187 {
00188   wxString val( TextPart::getValue() );
00189   //replace N's with nothing
00190     val.Replace("#", "_");
00191  // val.Replace("_", " ");
00192
00193   for (size_t i = this->getSize(), n =this->getSize()-1 ; i  >0 ; i-- , n--) if(val[n] == '_') val.Remove(n,1);
00194  //take what we have and pad with zeros
00195   size_t ldiff =  this->getSize() - val.Len();
00196
00197 if ( this->getStyle() == ME_NDEC || this->getStyle() == ME_NDECS) {
00198    if (TextPart::getOrder() < 2 )
00199   if ( ldiff > 0 ) val.Pad(ldiff, '_', false);
00200    if (TextPart::getOrder() == 2 )
00201   if ( ldiff > 0 ) val.Pad(ldiff, '0', true);
00202 }
00203
00204 if ( this->getStyle() == ME_NUM || this->getStyle() == ME_SIGNED) {
00205   if ( ldiff > 0 ) val.Pad(ldiff, '_', false);
00206 }
00207
00208 if ( this->getStyle() == ME_DATE) {
00209   if ( ldiff > 0 ) val.Pad(ldiff, '0', false);
00210 }
00211
00212   this->setValue(val);
00213 }

void goNormZero ( ) [private]

Définition à la ligne 215 du fichier wxmaskedit.cpp.

Références TextPart::getOrder(), TextPart::getSize(), TextPart::getStyle(), TextPart::getValue(), ME_NDEC, et ME_NDECS.

Référencé par normalize().

00216 {
00217   wxString val( TextPart::getValue() );
00218   //replace N's with nothing
00219   val.Replace("#", "_");
00220 //  val.Replace("_", " ");
00221
00222   for (size_t i = this->getSize(), n =this->getSize()-1 ; i  >0 ; i-- , n--) if(val[n] == '_') val.Remove(n,1);
00223
00224  //take what we have and pad with zeros
00225
00226   size_t ldiff =  this->getSize() - val.Len();
00227 if ( this->getStyle() == ME_NDEC || this->getStyle() == ME_NDECS) {
00228    if (TextPart::getOrder() < 2 )
00229   if ( ldiff > 0 ) val.Pad(ldiff, '0', false);
00230      if (TextPart::getOrder() == 2 )
00231   if ( ldiff > 0 ) val.Pad(ldiff, '0', true);
00232   }
00233   if ( this->getStyle() == ME_NUM || this->getStyle() == ME_SIGNED
00234   || this->getStyle() == ME_DATE) {
00235   if ( ldiff > 0 ) val.Pad(ldiff, '0', false);
00236   }
00237
00238    this->setValue(val);
00239 }

bool isStatic ( ) const [virtual]

Réimplémentée à partir de TextPart.

Définition à la ligne 140 du fichier wxmaskedit.cpp.

00141 {
00142   return false;
00143 }

void normalize ( ) [virtual]

Réimplémentée à partir de TextPart.

Définition à la ligne 174 du fichier wxmaskedit.cpp.

Références goNormBlank(), goNormZero(), m_beh, NBLANKS, et NZEROS.

00175 {
00176
00177     if (m_beh == NBLANKS) {
00178       this->goNormBlank();
00179     }
00180     else if (m_beh == NZEROS) {
00181       this->goNormZero();
00182     }
00183
00184 }

int OnKeyDown | ( | wxKeyEvent & | evt,
 |  | size_t | pos
 | ) | [virtual]

Réimplémentée à partir de TextPart.

Définition à la ligne 147 du fichier wxmaskedit.cpp.

Références TextPart::getStyle(), TextPart::getValue(), ME_DATE, ME_NDEC, ME_NDECS, ME_NUM, ME_SIGNED, et TextPart::setValue().

00148 {
00149     int style = this->getStyle();
00150    wxString val( TextPart::getValue() );
00151    if(style != ME_NUM && style != ME_SIGNED &&
00152       style != ME_NDEC && style != ME_NDECS && style != ME_DATE ) return 0 ;
00153
00154   if (evt.GetKeyCode() == WXK_BACK) {
00155     val[pos] = '#';
00156     this->setValue(val);
00157     return 0;
00158   }
00159   else if (evt.GetKeyCode() == WXK_DELETE) {
00160
00161      val[pos] = '#';
00162     this->setValue(val);
00163     return 0;
00164   }
00165
00166       val[pos] = evt.GetKeyCode();
00167       this->setValue(val);
00168       return 1;
00169
00170 }

Documentation des données membres

enum NumberGroup::NGBehaviour m_beh

Référencé par getTransform(), et normalize().

La documentation de cette classe a été générée à partir des fichiers suivants:
  • C:/MinGW/include/wx/wxEdit/wxMaskEdit.h
  • C:/MinGW/include/wx/wxEdit/wxmaskedit.cpp


wxMaskEdit: Référence de la classe TextPart

Référence de la classe TextPart

#include <wxMaskEdit.h>

Graphe d'héritage de TextPart:

LetterGroup NumberGroup Liste de tous les membres

Fonctions membres publiques

TextPart (size_t ord)
virtual | ~TextPart ()
virtual wxString | getValue () const
virtual void | setValue (const wxString &val)
virtual size_t | getOrder () const
virtual size_t | getSize () const
virtual void | append (char c)
virtual bool | isStatic () const
virtual int | OnKeyDown (wxKeyEvent &evt, size_t pos)
virtual void | normalize ()
virtual wxString | getTransform () const
virtual void | setStyle (size_t style)
virtual size_t | getStyle () const

Attributs privés

wxString | m_val
size_t | m_ord
size_t | m_style

Description détaillée

Définition à la ligne 35 du fichier wxMaskEdit.h.

Documentation des contructeurs et destructeur

TextPart ( size_t ord )

Définition à la ligne 38 du fichier wxmaskedit.cpp.

00039 : m_ord(ord)
00040 {
00041 }

~TextPart ( ) [virtual]

Définition à la ligne 43 du fichier wxmaskedit.cpp.

00044 {
00045 }

Documentation des fonctions membres

void append ( char c ) [virtual]

Définition à la ligne 66 du fichier wxmaskedit.cpp.

Références m_val.

Référencé par wxMaskEdit::ParseMask().

00067 {
00068   m_val += c;
00069 }

size_t getOrder ( ) const [virtual]

Définition à la ligne 56 du fichier wxmaskedit.cpp.

Références m_ord.

Référencé par NumberGroup::goNormBlank(), et NumberGroup::goNormZero().

00057 {
00058   return m_ord;
00059 }

size_t getSize ( ) const [virtual]

Définition à la ligne 61 du fichier wxmaskedit.cpp.

Références m_val.

Référencé par NumberGroup::getTransform(), NumberGroup::goNormBlank(), NumberGroup::goNormZero(), LetterGroup::normalize(), et wxMaskEdit::SetDisplay().

00062 {
00063   return m_val.Len();
00064 }

size_t getStyle ( ) const [virtual]

Définition à la ligne 99 du fichier wxmaskedit.cpp.

Références m_style.

Référencé par NumberGroup::goNormBlank(), NumberGroup::goNormZero(), LetterGroup::OnKeyDown(), et NumberGroup::OnKeyDown().

00100 {
00101  return m_style;
00102 }

wxString getTransform ( ) const [virtual]

Réimplémentée dans NumberGroup, et LetterGroup.

Définition à la ligne 90 du fichier wxmaskedit.cpp.

Références m_val.

00091 {
00092   return m_val;
00093 }

wxString getValue ( ) const [virtual]

Réimplémentée dans NumberGroup, et LetterGroup.

Définition à la ligne 46 du fichier wxmaskedit.cpp.

Références m_val.

Référencé par LetterGroup::getTransform(), NumberGroup::getTransform(), LetterGroup::getValue(), NumberGroup::getValue(), NumberGroup::goNormBlank(), NumberGroup::goNormZero(), LetterGroup::normalize(), LetterGroup::OnKeyDown(), et NumberGroup::OnKeyDown().

00047 {
00048   return m_val;
00049 }

bool isStatic ( ) const [virtual]

Réimplémentée dans NumberGroup, et LetterGroup.

Définition à la ligne 71 du fichier wxmaskedit.cpp.

Référencé par wxMaskEdit::FixInsPt().

00072 {
00073   return true;
00074 }

void normalize ( ) [virtual]

Réimplémentée dans NumberGroup, et LetterGroup.

Définition à la ligne 85 du fichier wxmaskedit.cpp.

00086 {
00087
00088 }

int OnKeyDown | ( | wxKeyEvent & | evt,
 |  | size_t | pos
 | ) | [virtual]

Réimplémentée dans NumberGroup, et LetterGroup.

Définition à la ligne 76 du fichier wxmaskedit.cpp.

Référencé par wxMaskEdit::SetDisplay().

00077 {
00078
00079 // instruction null   for warning vc2005
00080  if(evt.GetKeyCode() == WXK_DELETE && pos == 9999999 ) pos = 0 ;
00081
00082   return 0;
00083 }

void setStyle ( size_t style ) [virtual]

Définition à la ligne 95 du fichier wxmaskedit.cpp.

Références m_style.

Référencé par wxMaskEdit::ParseMask().

00096 {
00097     m_style = style ;
00098 }

void setValue ( const wxString & val ) [virtual]

Définition à la ligne 51 du fichier wxmaskedit.cpp.

Références m_val.

Référencé par LetterGroup::normalize(), LetterGroup::OnKeyDown(), et NumberGroup::OnKeyDown().

00052 {
00053   m_val = val;
00054 }

Documentation des données membres

size_t m_ord [private]

Définition à la ligne 62 du fichier wxMaskEdit.h.

Référencé par getOrder().

size_t m_style [private]

Définition à la ligne 63 du fichier wxMaskEdit.h.

Référencé par getStyle(), et setStyle().

wxString m_val [private]

Définition à la ligne 61 du fichier wxMaskEdit.h.

Référencé par append(), getSize(), getTransform(), getValue(), et setValue().

La documentation de cette classe a été générée à partir des fichiers suivants:
  • C:/MinGW/include/wx/wxEdit/wxMaskEdit.h
  • C:/MinGW/include/wx/wxEdit/wxmaskedit.cpp


wxMaskEdit: Référence de la classe wxMaskEdit

Référence de la classe wxMaskEdit

#include <wxMaskEdit.h>

Liste de tous les membres

Fonctions membres publiques

wxMaskEdit ()
wxMaskEdit (wxWindow *parent, wxWindowID id, const wxString &wxT="", const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=0, const wxValidator &validator=wxDefaultValidator, const wxString &name=wxTextCtrlNameStr, const wxString &mask="", unsigned int MskStyle=ME_LIBRE, bool GroupStyle=GBLANKS)
virtual | ~wxMaskEdit ()
wxString | getGroupText (size_t idx) const
wxString | getTextValue () const
wxString | getAbsValue () const
char * | ToChar () const
void | SetDisplay (const wxString &value)
void | SetClear ()
void | wxMaskSet (const wxString &mask, unsigned int MskStyle=ME_LIBRE, bool GroupStyle=GBLANKS)

Fonctions membres publiques statiques

static bool | IsControl (char c)

Fonctions membres privées

long | SzToL (size_t size_value=0)
void | OnKeyPress (wxKeyEvent &evt)
void | OnSetFocus (wxFocusEvent &evt)
void | OnLostFocus (wxFocusEvent &evt)
void | ParseMask (const wxString &mask, int style=0)
wxString | GenMaskText ()
void | DrawMask ()
void | FixInsPt (size_t pos, int dir)
TextPart * FindPart ()
size_t | FindItem ()
size_t | FindIdx ()
size_t | ItemPos (size_t item)
bool | CtrlKey (wxKeyEvent &evt)

Attributs privés

wxString | m_Text
wxString | m_mask
size_t | NbrIdx
size_t | Msk_Style
TextPartArray | m_parts
NumberGroup::NGBehaviour m_behav
bool | m_firstfocus

Attributs privés statiques

static const wxString | m_control = wxString("#§")

Description détaillée

Définition à la ligne 132 du fichier wxMaskEdit.h.

Documentation des contructeurs et destructeur

wxMaskEdit ( )

Définition à la ligne 390 du fichier wxmaskedit.cpp.

00391 : m_firstfocus(true)
00392 {
00393 }

wxMaskEdit | ( | wxWindow * | parent,
 |  | wxWindowID | id,
 |  | const wxString & | wxT = "",
 |  | const wxPoint & | pos = wxDefaultPosition,
 |  | const wxSize & | size = wxDefaultSize,
 |  | long | style = 0,
 |  | const wxValidator & | validator = wxDefaultValidator,
 |  | const wxString & | name = wxTextCtrlNameStr,
 |  | const wxString & | mask = "",
 |  | unsigned int | MskStyle = ME_LIBRE,
 |  | bool | GroupStyle = GBLANKS
 | ) |

Définition à la ligne 395 du fichier wxmaskedit.cpp.

Références GBLANKS, GZEROS, m_behav, m_firstfocus, m_Text, et SetDisplay().

00407   : m_behav(beh), m_firstfocus(true)
00408 {
00409 if ( GroupStyle == GBLANKS) m_behav = NumberGroup::NGBehaviour (GBLANKS);
00410  else   m_behav =  NumberGroup::NGBehaviour(GZEROS);
00411 this->m_firstfocus= true;
00412
00413  m_Text = txt;
00414 if ( MskStyle > 11 ) wxMessageBox("Non Conforme Style MaskEdit");
00415   //skip all events on construction
00416 this->wxTextCtrl::Create(parent, id, txt, pos, size,style,validator,name);
00417 // font Underline = true
00418 this->SetFont(wxFont(10,wxFONTFAMILY_SWISS, wxNORMAL,wxFONTWEIGHT_NORMAL ,true,wxT("Courier")));
00419
00420
00421 if (mask.Len() > 0 ) {
00422 this->ParseMask(mask, MskStyle);
00423 this->SetMaxLength(this->SzToL(mask.Length()));
00424
00425 this->SetDisplay(m_Text);
00426 }
00427
00428
00429
00430 }

~wxMaskEdit ( ) [virtual]

Définition à la ligne 433 du fichier wxmaskedit.cpp.

Références m_parts.

00434 {
00435   //delete all groups
00436   WX_CLEAR_ARRAY(m_parts);
00437 }

Documentation des fonctions membres

bool CtrlKey ( wxKeyEvent & evt ) [private]

Définition à la ligne 971 du fichier wxmaskedit.cpp.

Références m_mask, ME_ALPHA, ME_CAPBLK, ME_CAPITAL, ME_CAPLBR, ME_DATE, ME_LIBRE, ME_LTRBLK, ME_LTRNUM, ME_NDEC, ME_NDECS, ME_NUM, et ME_SIGNED.

00972 {
00973 // table ansi etendu
00974 // 128..163  ex: £ €    car speciaux.
00975 // 192..255  ex: àçèéö  ect....
00976
00977 //wxMessageBox(wxString::Format("%d",evt.GetKeyCode()));
00978 if (this->IsEditable() == false ) return false;
00979 if (evt.GetKeyCode() == '_' || evt.GetKeyCode() == '#' || evt.GetKeyCode() == '§' )  return  false;
00980
00981 if (evt.GetKeyCode() == WXK_RETURN)  return  true;
00982
00983 if (evt.GetKeyCode() == WXK_TAB)  return  true;
00984
00985 if (evt.GetKeyCode() ==  WXK_NUMPAD_TAB) return  true;
00986
00987 if (evt.GetKeyCode() == WXK_END)  return  true;
00988
00989 if (evt.GetKeyCode() == WXK_BACK ||
00990     evt.GetKeyCode() == WXK_DELETE) return  true;
00991
00992 if (evt.GetKeyCode() == WXK_LEFT || evt.GetKeyCode() == WXK_UP ||
00993     evt.GetKeyCode() == WXK_NUMPAD_LEFT)  return  true;
00994
00995  if (evt.GetKeyCode() == WXK_RIGHT || evt.GetKeyCode() == WXK_DOWN||
00996     evt.GetKeyCode() == WXK_NUMPAD_RIGHT) return  true;
00997
00998 //if (evt.GetKeyCode() == WXK_UP )wxMessageBox(wxString::Format("%d",evt.GetKeyCode()));
00999
01000 //@@@@@@  char
01001
01002 if   (evt.GetKeyCode() >= 255 ) return  false;
01003 //   && evt.GetKeyCode() < 326 && evt.GetKeyCode() > 335)  return  false; '0' '9'
01004
01005      size_t pos  = this->GetInsertionPoint();
01006 if (evt.GetKeyCode() == 32 && pos == 0 ) return false ;
01007
01008
01009
01010     if(this->Msk_Style == ME_LIBRE || this->Msk_Style == ME_CAPLBR )
01011   {  if (evt.GetKeyCode() >= 32 && evt.GetKeyCode() <= 127)  return  true;
01012      if (evt.GetKeyCode() >= 128 && evt.GetKeyCode() <= 255) return  true;
01013
01014     }
01015   if(this->Msk_Style == ME_CAPBLK  )
01016   {  if ( m_mask[pos] !='§' )   return false;
01017      if (evt.GetKeyCode() >= 'A' && evt.GetKeyCode() <= 'Z') return  true;
01018      if (evt.GetKeyCode() >= 'a' && evt.GetKeyCode() <= 'z') return  true;
01019      if (evt.GetKeyCode() >= 128 && evt.GetKeyCode() <= 255) return  true;
01020      if (evt.GetKeyCode() == ' ')return  true;
01021     }
01022   if(this->Msk_Style == ME_CAPITAL  )
01023   {  if ( m_mask[pos] !='§' )   return false;
01024      if (evt.GetKeyCode() >= 'A' && evt.GetKeyCode() <= 'Z') return  true;
01025      if (evt.GetKeyCode() >= 'a' && evt.GetKeyCode() <= 'z') return  true;
01026      if (evt.GetKeyCode() == 128 && evt.GetKeyCode() == 163) return  true;
01027      if (evt.GetKeyCode() >= 192 && evt.GetKeyCode() <= 255) return  true;
01028    }
01029   if(this->Msk_Style == ME_LTRNUM )
01030   {  if (evt.GetKeyCode() >= 'A' && evt.GetKeyCode() <= 'Z') return  true;
01031      if (evt.GetKeyCode() >= 'a' && evt.GetKeyCode() <= 'z') return  true;
01032      if (evt.GetKeyCode() == 128 && evt.GetKeyCode() == 163) return  true;
01033      if (evt.GetKeyCode() >= 192 && evt.GetKeyCode() <= 255) return  true;
01034      if (evt.GetKeyCode() >= '0' && evt.GetKeyCode() <= '9') return  true;
01035      if (evt.GetKeyCode() == ' ' ) return  true;
01036    }
01037   if(this->Msk_Style == ME_LTRBLK)
01038   {  if ( m_mask[pos] !='§' )   return false;
01039      if (evt.GetKeyCode() >= 'A' && evt.GetKeyCode() <= 'Z') return  true;
01040      if (evt.GetKeyCode() >= 'a' && evt.GetKeyCode() <= 'z') return  true;
01041      if (evt.GetKeyCode() == ' ' ) return  true;
01042    }
01043   if(this->Msk_Style == ME_ALPHA )
01044   {  if ( m_mask[pos] !='§' )   return false;
01045      if (evt.GetKeyCode() >= 'A' && evt.GetKeyCode() <= 'Z') return  true;
01046      if (evt.GetKeyCode() >= 'a' && evt.GetKeyCode() <= 'z') return  true;
01047      if (evt.GetKeyCode() == 128 && evt.GetKeyCode() == 163) return  true;
01048      if (evt.GetKeyCode() >= 192 && evt.GetKeyCode() <= 255) return  true;
01049      if (evt.GetKeyCode() == ' ' ) return  true;
01050    }
01051   if(this->Msk_Style == ME_NUM  || this->Msk_Style == ME_NDEC )
01052   { if ( m_mask[pos] !='#' )   return false;
01053     if (evt.GetKeyCode() >= '0' && evt.GetKeyCode() <= '9' ) return  true;
01054    }
01055
01056   if(this->Msk_Style == ME_SIGNED  || this->Msk_Style == ME_NDECS )
01057   {
01058      if (evt.GetKeyCode() == '-' && m_mask[pos] =='§') return  true;
01059      if (evt.GetKeyCode() == '+' && m_mask[pos] =='§') return  true;
01060      if ( m_mask[pos] !='#' )   return false;
01061      if (evt.GetKeyCode() >= '0' && evt.GetKeyCode() <= '9') return  true;
01062
01063    }
01064   if(this->Msk_Style == ME_DATE )
01065   { if ( m_mask[pos] !='#' )   return false;
01066     if (evt.GetKeyCode() >= '0' && evt.GetKeyCode() <= '9' ) return  true;
01067    }
01068
01069 return false;
01070 }

void DrawMask ( ) [private]

Définition à la ligne 527 du fichier wxmaskedit.cpp.

Références GenMaskText().

00528 {
00529   this->SetValue(GenMaskText());
00530 }

size_t FindIdx ( ) [private]

Définition à la ligne 594 du fichier wxmaskedit.cpp.

Références m_parts.

00595 {
00596   size_t pos = this->GetInsertionPoint();
00597   size_t currtot = 0;
00598
00599   for (size_t i = 0; i < m_parts.GetCount(); i++) {
00600     currtot += m_parts.Item(i)->getSize();
00601
00602     if (currtot > pos) {
00603       return m_parts.Item(i)->getSize() - (currtot - pos);
00604     }
00605   }
00606
00607   return 0;
00608 }

size_t FindItem ( ) [private]

Définition à la ligne 562 du fichier wxmaskedit.cpp.

Références m_parts.

00563 {
00564   size_t pos = this->GetInsertionPoint();
00565   size_t currtot = 0;
00566   size_t i ;
00567   for (i = 0; i < m_parts.GetCount(); i++) {
00568     currtot += m_parts.Item(i)->getSize();
00569
00570     if (currtot > pos) {
00571       return i;
00572     }
00573   }
00574
00575   return --i;
00576 }

TextPart * FindPart ( ) [private]

Définition à la ligne 544 du fichier wxmaskedit.cpp.

Références m_parts.

Référencé par FixInsPt(), OnKeyPress(), et SetDisplay().

00545 {
00546   size_t pos = this->GetInsertionPoint();
00547   size_t currtot = 0;
00548
00549   for (size_t i = 0; i < m_parts.GetCount(); i++) {
00550     currtot += m_parts.Item(i)->getSize();
00551
00552     if (currtot > pos) {
00553       return m_parts.Item(i);
00554     }
00555   }
00556
00557   return 0;
00558 }

void FixInsPt | ( | size_t | pos,
 |  | int | dir
 | ) | [private]

Définition à la ligne 877 du fichier wxmaskedit.cpp.

Références FindPart(), GenMaskText(), et TextPart::isStatic().

Référencé par OnSetFocus().

00878 {
00879   size_t masksz = this->GenMaskText().Len();
00880   if(pos >= masksz) {
00881     this->SetInsertionPoint(this->SzToL(masksz));
00882     return;
00883   }
00884
00885   if (pos <= 0 && dir <= 0) {
00886     this->SetInsertionPoint(0);
00887
00888     if (this->FindPart() && this->FindPart()->isStatic()) {
00889       FixInsPt(pos, 1);
00890     }
00891
00892     return;
00893   }
00894
00895   this->SetInsertionPoint(this->SzToL(pos));
00896
00897   if (dir == 0) return;
00898
00899   //check for static, and skip
00900   while (this->FindPart() &&
00901     this->FindPart()->isStatic()) {
00902
00903       if (pos == 0 && dir < 0) {
00904         if (this->FindPart() && this->FindPart()->isStatic()) {
00905           FixInsPt(pos, 1);
00906         }
00907
00908         break;
00909       }
00910       else if(pos >= masksz) {
00911         break;
00912       }
00913
00914       pos += dir;
00915       this->SetInsertionPoint(this->SzToL(pos));
00916   }
00917 }

wxString GenMaskText ( ) [private]

Définition à la ligne 532 du fichier wxmaskedit.cpp.

Références m_parts.

Référencé par DrawMask(), et FixInsPt().

00533 {
00534   wxString full;
00535
00536   for (size_t i = 0; i < m_parts.GetCount(); i++) {
00537     full += m_parts.Item(i)->getValue();
00538   }
00539   return full;
00540 }

wxString getAbsValue ( ) const

Définition à la ligne 801 du fichier wxmaskedit.cpp.

Références m_parts.

00802 {
00803   wxString ret;
00804     wxString trt ;
00805
00806   for (size_t i = 0; i < m_parts.GetCount(); i++) {
00807
00808     m_parts[i]->normalize();
00809
00810    trt  += m_parts[i]->getTransform();
00811
00812   }
00813
00814  for (size_t i = 0; i < m_mask.Length(); i++) {
00815   switch(this->Msk_Style)
00816 {
00817  case  ME_NDEC  : if ( trt[i] != ' ' ) ret += trt[i]; break;
00818
00819  case  ME_NDECS : if ( trt[i] != ' ' ) ret += trt[i]; break;
00820
00821  case  ME_NUM : if (m_mask[i] == '#' && trt[i] != ' ' ) ret += trt[i]; break;
00822
00823  case  ME_SIGNED : if (m_mask[i] == '#' && trt[i] != ' ' ) ret += trt[i]; break;
00824
00825  case  ME_DATE : if (m_mask[i] == '#') ret += trt[i]; break;
00826
00827 default:
00828             if ( m_mask[i] =='§')  if ( trt[i] != ' ' ) ret += trt[i];break;
00829 }
00830  } // for
00831    ret.Trim();
00832   return ret.Trim(true);
00833 }

wxString getGroupText ( size_t idx ) const

Définition à la ligne 791 du fichier wxmaskedit.cpp.

Références m_parts.

00792 {
00793           if ( this->NbrIdx < idx) return wxT("¤"); // prblm  ????
00794           else return m_parts[idx]->getTransform();
00795 }

wxString getTextValue ( ) const

Définition à la ligne 862 du fichier wxmaskedit.cpp.

Références m_parts.

00863 {
00864   wxString ret;
00865
00866   for (size_t i = 0; i < m_parts.GetCount(); i++) {
00867     m_parts[i]->normalize();
00868    ret  += m_parts[i]->getTransform();
00869   }
00870   ret.Replace("_", " ");
00871   return ret;
00872 }

bool IsControl ( char c ) [static]

Définition à la ligne 612 du fichier wxmaskedit.cpp.

Références m_control.

Référencé par LetterGroup::getValue(), NumberGroup::getValue(), et ParseMask().

00613 {
00614   return m_control.Find(c) != -1;
00615 }

size_t ItemPos ( size_t item ) [private]

Définition à la ligne 581 du fichier wxmaskedit.cpp.

Références m_parts.

00582 {
00583   size_t pos = 0;
00584
00585   for (size_t i = 0; i <= item; i++)
00586     pos += m_parts.Item(i)->getSize();
00587
00588
00589   return pos;
00590 }

void OnKeyPress ( wxKeyEvent & evt ) [private]

Définition à la ligne 658 du fichier wxmaskedit.cpp.

Références FindPart().

00659 {
00660  TextPart* p = this->FindPart();
00661  size_t pos = 0 ;
00662  size_t savpos = 0;
00663  wxString val_;
00664   //if alt or Edit are down, ignore this key, also
00665   // ignore return ( frame wxDEFAULT_FRAME_STYLE | wxTAB_TRAVERSAL
00666   // debug      wxMessageBox(wxString::Format("%d",pos));
00667
00668  if (false == this->CtrlKey(evt)  ){   evt.Skip();    return;  }
00669
00670  if ( evt.HasModifiers() ||
00671       evt.GetKeyCode() == WXK_RETURN ||
00672       evt.GetKeyCode() == WXK_TAB  ) {   evt.Skip();  return;  }
00673
00674
00675 // next part
00676  if (evt.GetKeyCode() == WXK_END )  {
00677      if (this->FindPart())
00678      { p->normalize();
00679      pos = this->ItemPos(this->FindItem()); //
00680      this->DrawMask();
00681      this->FixInsPt(pos,1);
00682      }
00683          return;
00684 }
00685
00686   //if this is part of ascii, send it to the Edits
00687   if ((evt.GetKeyCode() >= 32 &&  evt.GetKeyCode() <= 127 )
00688       ||(evt.GetKeyCode() >= 128 && evt.GetKeyCode() <= 255)
00689       ||(evt.GetKeyCode() >= 326 && evt.GetKeyCode() <= 335)
00690       || (evt.GetKeyCode() == WXK_BACK)
00691       || (evt.GetKeyCode() == WXK_DELETE) ) {
00692
00693         p = this->FindPart();
00694         pos = this->GetInsertionPoint();
00695         //find the textpart based on the current
00696         //cursor position
00697
00698         if (this->FindPart() && this->FindPart()->isStatic() && evt.GetKeyCode() != WXK_BACK) {
00699           pos++;
00700           this->FixInsPt(pos, 1);
00701         }
00702
00703 //  WXK_BACK
00704         if (evt.GetKeyCode() == WXK_BACK ) {
00705
00706             if (pos > 0 ) pos-- ;
00707             this->SetInsertionPoint(this->SzToL(pos));
00708             p = this->FindPart();
00709             if (m_mask[pos] != '#' && m_mask[pos] !='§' )   return;
00710             else {
00711               savpos =this->FindIdx();
00712               p->OnKeyDown(evt,savpos);
00713               this->DrawMask();
00714               this->SetInsertionPoint(this->SzToL(pos));
00715               return;
00716              }
00717
00718         }
00719 // WXK_DELETE
00720         else if (evt.GetKeyCode() == WXK_DELETE  ) {
00721
00722             size_t item    = this->FindItem();
00723
00724             pos=0;
00725             wxKeyEvent k(wxEVT_CHAR);
00726             k.m_keyCode = WXK_DELETE;
00727
00728             this->FixInsPt(0, 1);
00729
00730             for (size_t i = 0; i <= item; i++ ) {
00731
00732                 this->SetInsertionPoint(this->SzToL(pos));
00733                 p = this->FindPart();   savpos =pos;
00734
00735                     for (size_t n = 0; n <= p->getSize() ; n++) {
00736
00737                                  if (m_mask[pos] == '#' || m_mask[pos] =='§'  )
00738                                  if (i == item) p->OnKeyDown(k,n);
00739                                                        pos++;    }
00740                 pos--;
00741                                                  }
00742             this->DrawMask();
00743             this->FixInsPt(savpos, 1);
00744             pos = this->GetInsertionPoint();
00745             return;
00746        }
00747 // CHAR *all
00748        if (this->FindPart()) {
00749         int dir = p->OnKeyDown(evt,this->FindIdx());
00750         this->DrawMask();
00751         pos += dir;
00752         this->FixInsPt(pos, 1);
00753       }
00754
00755   }//handle arrow keys
00756   else if (evt.GetKeyCode() == WXK_LEFT || evt.GetKeyCode() == WXK_UP ||
00757     evt.GetKeyCode() == WXK_NUMPAD_LEFT) {
00758
00759 val_ = this->getAbsValue().Trim(false);
00760 if (val_.Len() ==  0) {  this->FixInsPt(pos, 1);   return;  }
00761
00762       pos = this->GetInsertionPoint();
00763       if (pos > 0) {
00764        // this->SetInsertionPoint(--pos);
00765         this->FixInsPt(--pos, 0);
00766       }
00767
00768   }
00769   else if (evt.GetKeyCode() == WXK_RIGHT || evt.GetKeyCode() == WXK_DOWN||
00770     evt.GetKeyCode() == WXK_NUMPAD_RIGHT) {
00771
00772       val_ = this->getAbsValue().Trim(false);
00773 if (val_.Len() ==  0) {  this->FixInsPt(pos, 1);  return;  }
00774
00775       pos = this->GetInsertionPoint();
00776       if (pos < val_.Len()) {
00777        // this->SetInsertionPoint(++pos);
00778         this->FixInsPt(++pos, 1);
00779       }
00780
00781   }
00782   else {
00783     evt.Skip();
00784   }
00785 }

void OnLostFocus ( wxFocusEvent & evt ) [private]

Définition à la ligne 634 du fichier wxmaskedit.cpp.

Références m_parts.

00635 {
00636   //record insrtion point
00637   long inspt = this->GetInsertionPoint();
00638
00639   //normalize all portions
00640   for (size_t i = 0; i < m_parts.GetCount(); i++) {
00641     m_parts.Item(i)->normalize();
00642   }
00643
00644   //redraw
00645   this->DrawMask();
00646
00647   //reset point
00648   this->SetInsertionPoint(inspt);
00649     m_firstfocus = true;
00650   evt.Skip();
00651 }

void OnSetFocus ( wxFocusEvent & evt ) [private]

Définition à la ligne 620 du fichier wxmaskedit.cpp.

Références FixInsPt(), et m_firstfocus.

00621 {
00622   if (m_firstfocus) {
00623     this->SetInsertionPoint(0);
00624     this->FixInsPt(0, 1);
00625
00626     m_firstfocus = false;
00627   }
00628
00629   evt.Skip();
00630 }

void ParseMask | ( | const wxString & | mask,
 |  | int | style = 0
 | ) | [private]

Définition à la ligne 481 du fichier wxmaskedit.cpp.

Références TextPart::append(), IsControl(), m_behav, m_mask, m_parts, Msk_Style, NbrIdx, et TextPart::setStyle().

Référencé par wxMaskSet().

00482 {
00483   m_mask = mask ;
00484
00485   char cEdit = 0x00;
00486   TextPart* part = 0;
00487   this->NbrIdx  = 0;
00488   this->Msk_Style = style;
00489   for (size_t i = 0; i < mask.Len(); i++) {
00490
00491     if ( mask[i] != cEdit  && IsControl(mask[i]) ) {
00492       if (part) m_parts.Add(part);
00493
00494       if (mask[i] == '#') {
00495         cEdit = '#';
00496         part = new NumberGroup(this->NbrIdx, m_behav);
00497                 this->NbrIdx ++;
00498
00499       }
00500      else if (mask[i] == '§' ) {
00501         cEdit = '§';
00502         part = new LetterGroup(this->NbrIdx);
00503                 this->NbrIdx ++;
00504
00505       }
00506     }
00507     else if (!IsControl(mask[i])) {
00508       if (part) m_parts.Add(part);
00509       cEdit = '0';
00510       part = new TextPart(this->NbrIdx);
00511                 this->NbrIdx ++;
00512     }
00513
00514     part->append( mask[i] );
00515     part->setStyle(style);
00516   }
00517
00518  if (part)  m_parts.Add( part );
00519
00520
00521  -- NbrIdx;
00522 }

void SetClear ( )

Définition à la ligne 963 du fichier wxmaskedit.cpp.

Références SetDisplay().

00964 {
00965     this->SetDisplay(wxT(""));
00966 }

void SetDisplay ( const wxString & value )

Définition à la ligne 922 du fichier wxmaskedit.cpp.

Références FindPart(), TextPart::getSize(), m_mask, m_parts, et TextPart::OnKeyDown().

Référencé par SetClear(), wxMaskEdit(), et wxMaskSet().

00923 {
00924       wxString  xval = value ;
00925       int     ncar = 0;
00926   //set insertion pt to 0
00927   this->SetInsertionPoint(0);
00928      wxKeyEvent k(wxEVT_CHAR);
00929
00930
00931 // clear *all Textpart
00932       TextPart* p = this->FindPart();
00933       for (size_t i = 0 , pos = 0; i < m_parts.GetCount(); i++ ) {
00934       this->SetInsertionPoint(this->SzToL(pos));
00935       p = this->FindPart();
00936
00937       k.m_keyCode = WXK_DELETE;
00938
00939       for (size_t n = 0; n < p->getSize(); n++) {
00940       if (m_mask[pos] == '#' || m_mask[pos] =='§') p->OnKeyDown(k,n); pos++; }
00941        }
00942
00943
00944 // initialise Textpart
00945       this->SetInsertionPoint(0); FixInsPt(0, 0);
00946     if (this->Msk_Style == ME_SIGNED || this->Msk_Style == ME_NDECS )
00947       {p = this->FindPart(); k.m_keyCode = '+'; p->OnKeyDown(k,0);}
00948
00949 if (value != "")  for (size_t i = 0; i < xval.Len(); i++) {
00950     ncar = xval[i]; if ( ncar <0 )  k.m_keyCode = 256 + ncar ; else k.m_keyCode = ncar;
00951     this->OnKeyPress(k);
00952   }
00953   this->DrawMask();
00954   wxFocusEvent e;
00955   this->OnLostFocus(e);
00956 }

long SzToL ( size_t size_value = 0 ) [private]

Définition à la ligne 441 du fichier wxmaskedit.cpp.

00441                                         {
00442     long long_value;
00443     wxString s =  wxString::Format(wxT("%d"), size_value) ;
00444     s.ToLong(&long_value);
00445
00446 //      char strValue[10] ;
00447 //      sprintf(strValue,"%d",size_value);
00448 //      return atol(strValue);
00449
00450         return long_value;
00451 }

char * ToChar ( ) const

Définition à la ligne 836 du fichier wxmaskedit.cpp.

Références m_parts.

00837 {
00838   wxString ret;
00839   wxString trt ;
00840   char * vchar ;
00841   for (size_t i = 0; i < m_parts.GetCount(); i++) {
00842
00843     m_parts[i]->normalize();
00844
00845    trt  += m_parts[i]->getTransform();
00846
00847   }
00848
00849  for (size_t i = 0; i < m_mask.Length(); i++) {
00850           if ( trt[i] != '_' & trt[i] != ' ' ) ret += trt[i];
00851   }
00852    ret.Trim(); ret.Trim(true);
00853    vchar = (char*) malloc( ret.Length() );
00854    strcpy(vchar,ret.c_str());
00855
00856   return &(vchar[0]);
00857 }

void wxMaskSet | ( | const wxString & | mask,
 |  | unsigned int | MskStyle = ME_LIBRE,
 |  | bool | GroupStyle = GBLANKS
 | ) |

Définition à la ligne 456 du fichier wxmaskedit.cpp.

Références GBLANKS, GZEROS, m_behav, m_firstfocus, m_parts, ParseMask(), et SetDisplay().

00462 {
00463 if ( GroupStyle == GBLANKS) m_behav = NumberGroup::NGBehaviour (GBLANKS);
00464  else   m_behav =  NumberGroup::NGBehaviour(GZEROS);
00465  this->m_firstfocus= true;
00466         //this->m_behav = beh;
00467
00468 WX_CLEAR_ARRAY(m_parts);
00469
00470 if ( MskStyle > 11 ) wxMessageBox("Non Conforme Style MaskEdit");
00471   //skip all events on construction
00472 this->ParseMask(mask, MskStyle);
00473 this->SetMaxLength(this->SzToL(mask.Length()));
00474
00475 // checked if that is appropriate, m_text comes from wxMaskEdit.
00476 this->SetDisplay(this->m_Text);
00477 }

Documentation des données membres

NumberGroup::NGBehaviour m_behav [private]

Définition à la ligne 198 du fichier wxMaskEdit.h.

Référencé par ParseMask(), wxMaskEdit(), et wxMaskSet().

const wxString m_control = wxString("#§") [static, private]

Définition à la ligne 195 du fichier wxMaskEdit.h.

Référencé par IsControl().

bool m_firstfocus [private]

Définition à la ligne 199 du fichier wxMaskEdit.h.

Référencé par OnSetFocus(), wxMaskEdit(), et wxMaskSet().

wxString m_mask [private]

Définition à la ligne 183 du fichier wxMaskEdit.h.

Référencé par CtrlKey(), ParseMask(), et SetDisplay().

TextPartArray m_parts [private]

Définition à la ligne 196 du fichier wxMaskEdit.h.

Référencé par FindIdx(), FindItem(), FindPart(), GenMaskText(), getAbsValue(), getGroupText(), getTextValue(), ItemPos(), OnLostFocus(), ParseMask(), SetDisplay(), ToChar(), wxMaskSet(), et ~wxMaskEdit().

wxString m_Text [private]

Définition à la ligne 181 du fichier wxMaskEdit.h.

Référencé par wxMaskEdit().

size_t Msk_Style [private]

Définition à la ligne 185 du fichier wxMaskEdit.h.

Référencé par ParseMask().

size_t NbrIdx [private]

Définition à la ligne 184 du fichier wxMaskEdit.h.

Référencé par ParseMask().

La documentation de cette classe a été générée à partir des fichiers suivants:
  • C:/MinGW/include/wx/wxEdit/wxMaskEdit.h
  • C:/MinGW/include/wx/wxEdit/wxmaskedit.cpp


wxMaskEdit: Référence du fichier C:/MinGW/include/wx/wxEdit/wxmaskedit.cpp

  • Liste des fichiers
  • Membres de fichier

Référence du fichier C:/MinGW/include/wx/wxEdit/wxmaskedit.cpp

#include "wx/wxEdit/wxMaskEdit.h"
#include <wx/msgdlg.h>

Aller au code source de ce fichier.

Généré le Fri Oct 27 13:01:34 2006 pour wxMaskEdit par doxygen 1.4.6-NO


wxMaskEdit: Fichier source de C:/MinGW/include/wx/wxEdit/wxmaskedit.cpp

  • Liste des fichiers
  • Membres de fichier

C:/MinGW/include/wx/wxEdit/wxmaskedit.cpp

Aller à la documentation de ce fichier.
00001 // Bonjour voilà j'ai épuré le code
00002 // le but était de comprendre pourquoi le c++
00003 // cela était plus simple de réaliser un programme avec un utilitaire
00004 // ce code m'a aidé a
00005 // comprendre wxwidget (un peu) de me familiariser avec l'héritage c++
00006 // de sortir de la programmation procédurale (linéaire)
00007 // je ne ¦prétends pas que cela est parfait mais je voulais
00008 // être le plus proche de la saisie 5250 industriel
00009 // et ne pas remplacer word ect....
00010 // J' espère que comme pour moi cela vous aidera et pourquoi pas continuerez.
00011 // Je remercie pour tous les exemples et les FAQ.
00012 // Hello here I purified the code the goal was to include/understand
00013 // why C that was simpler to carry out a program with a utility
00014 // this code helped me has to include/understand wxwidget (a little)
00015 // to familiarize me with the heritage C to leave the procedural
00016 // programming (linear) I ¦prétends not that that is perfect but
00017 // I wanted to be closest to seizure 5250 industrialist and
00018 // not to replace Word ect....
00019 // J' hopes that as for me that will help you and why not will continue.
00020 // I thank for all the examples and the FAQ.. wxdevcpp
00022 #ifndef __WXMASKEDIT_cpp__
00023 #define __WXMASKEDIT_cpp__
00024
00025
00026 #include "wx/wxEdit/wxMaskEdit.h"
00027 #include <wx/msgdlg.h>
00028
00029 // SUPPORT CLASSES
00031
00032
00033
00035 // TEXTPART
00037
00038 TextPart::TextPart(size_t ord )
00039 : m_ord(ord)
00040 {
00041 }
00042
00043 TextPart::~TextPart()
00044 {
00045 }
00046 wxString TextPart::getValue() const
00047 {
00048   return m_val;
00049 }
00050
00051 void TextPart::setValue(const wxString& val)
00052 {
00053   m_val = val;
00054 }
00055
00056 size_t TextPart::getOrder() const
00057 {
00058   return m_ord;
00059 }
00060
00061 size_t TextPart::getSize() const
00062 {
00063   return m_val.Len();
00064 }
00065
00066 void TextPart::append(char c)
00067 {
00068   m_val += c;
00069 }
00070
00071 bool TextPart::isStatic() const
00072 {
00073   return true;
00074 }
00075
00076  int TextPart::OnKeyDown(wxKeyEvent& evt, size_t pos)
00077 {
00078
00079 // instruction null   for warning vc2005
00080  if(evt.GetKeyCode() == WXK_DELETE && pos == 9999999 ) pos = 0 ;
00081
00082   return 0;
00083 }
00084
00085 void TextPart::normalize()
00086 {
00087
00088 }
00089
00090 wxString TextPart::getTransform() const
00091 {
00092   return m_val;
00093 }
00094
00095 void TextPart::setStyle(size_t style )
00096 {
00097     m_style = style ;
00098 }
00099 size_t TextPart::getStyle() const
00100 {
00101  return m_style;
00102 }
00104 // -TEXTPART
00106
00108
00109
00110
00112 // NUMBERGROUP
00114 NumberGroup::NumberGroup(size_t ord, NumberGroup::NGBehaviour beh)
00115 : TextPart(ord), m_beh(beh)
00116 {
00117 }
00118
00119 NumberGroup::~NumberGroup()
00120 {
00121 }
00122
00123 wxString NumberGroup::getValue() const
00124 {
00125   wxString ret;
00126   size_t valLen = TextPart::getValue().Len();
00127
00128   for (size_t i = 0; i < valLen; i++) {
00129     if ( wxMaskEdit::IsControl(TextPart::getValue()[i]) ) {
00130       ret += "_";
00131     }
00132     else {
00133       ret += TextPart::getValue()[i];
00134     }
00135   }
00136
00137   return ret;
00138 }
00139
00140 bool NumberGroup::isStatic() const
00141 {
00142   return false;
00143 }
00144 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
00145 //@@OnKeyDown   Numérique
00146 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
00147 int NumberGroup::OnKeyDown(wxKeyEvent& evt, size_t pos)
00148 {
00149     int style = this->getStyle();
00150    wxString val( TextPart::getValue() );
00151    if(style != ME_NUM && style != ME_SIGNED &&
00152       style != ME_NDEC && style != ME_NDECS && style != ME_DATE ) return 0 ;
00153
00154   if (evt.GetKeyCode() == WXK_BACK) {
00155     val[pos] = '#';
00156     this->setValue(val);
00157     return 0;
00158   }
00159   else if (evt.GetKeyCode() == WXK_DELETE) {
00160
00161      val[pos] = '#';
00162     this->setValue(val);
00163     return 0;
00164   }
00165
00166       val[pos] = evt.GetKeyCode();
00167       this->setValue(val);
00168       return 1;
00169
00170 }
00171 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
00172 //@@  Normalize format field
00173 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
00174 void NumberGroup::normalize()
00175 {
00176
00177     if (m_beh == NBLANKS) {
00178       this->goNormBlank();
00179     }
00180     else if (m_beh == NZEROS) {
00181       this->goNormZero();
00182     }
00183
00184 }
00185
00186 void NumberGroup::goNormBlank()
00187 {
00188   wxString val( TextPart::getValue() );
00189   //replace N's with nothing
00190     val.Replace("#", "_");
00191  // val.Replace("_", " ");
00192
00193   for (size_t i = this->getSize(), n =this->getSize()-1 ; i  >0 ; i-- , n--) if(val[n] == '_') val.Remove(n,1);
00194  //take what we have and pad with zeros
00195   size_t ldiff =  this->getSize() - val.Len();
00196
00197 if ( this->getStyle() == ME_NDEC || this->getStyle() == ME_NDECS) {
00198    if (TextPart::getOrder() < 2 )
00199   if ( ldiff > 0 ) val.Pad(ldiff, '_', false);
00200    if (TextPart::getOrder() == 2 )
00201   if ( ldiff > 0 ) val.Pad(ldiff, '0', true);
00202 }
00203
00204 if ( this->getStyle() == ME_NUM || this->getStyle() == ME_SIGNED) {
00205   if ( ldiff > 0 ) val.Pad(ldiff, '_', false);
00206 }
00207
00208 if ( this->getStyle() == ME_DATE) {
00209   if ( ldiff > 0 ) val.Pad(ldiff, '0', false);
00210 }
00211
00212   this->setValue(val);
00213 }
00214
00215 void NumberGroup::goNormZero()
00216 {
00217   wxString val( TextPart::getValue() );
00218   //replace N's with nothing
00219   val.Replace("#", "_");
00220 //  val.Replace("_", " ");
00221
00222   for (size_t i = this->getSize(), n =this->getSize()-1 ; i  >0 ; i-- , n--) if(val[n] == '_') val.Remove(n,1);
00223
00224  //take what we have and pad with zeros
00225
00226   size_t ldiff =  this->getSize() - val.Len();
00227 if ( this->getStyle() == ME_NDEC || this->getStyle() == ME_NDECS) {
00228    if (TextPart::getOrder() < 2 )
00229   if ( ldiff > 0 ) val.Pad(ldiff, '0', false);
00230      if (TextPart::getOrder() == 2 )
00231   if ( ldiff > 0 ) val.Pad(ldiff, '0', true);
00232   }
00233   if ( this->getStyle() == ME_NUM || this->getStyle() == ME_SIGNED
00234   || this->getStyle() == ME_DATE) {
00235   if ( ldiff > 0 ) val.Pad(ldiff, '0', false);
00236   }
00237
00238    this->setValue(val);
00239 }
00240
00241 wxString NumberGroup::getTransform() const
00242 {
00243
00244 // No complete or long control so double
00245 // The principle of the controle of seizure is not to take the hand
00246 // on results but to assure the waited conformitée
00247
00248
00249   wxString val( TextPart::getValue() );
00250     size_t ncar = this->getSize();
00251     val.Replace("_", " ");
00252 // partit commune
00253    size_t ldiff = ncar - val.Len();
00254    if (m_beh == NZEROS)     val.Pad(ldiff, '0', false);
00255     //take what we have and pad with zeros
00256
00257    if (m_beh == NBLANKS) val.Pad(ldiff, ' ', false);
00258     //take what we have and pad with blank
00259
00260
00261   return val;
00262 }
00263
00264
00265
00267 // -NUMBERGROUP
00269
00271
00272
00274 // LETTERGROUP
00276 LetterGroup::LetterGroup(size_t ord)
00277 : TextPart(ord)
00278 {
00279 }
00280
00281 LetterGroup::~LetterGroup()
00282 {
00283 }
00284
00285 wxString LetterGroup::getValue() const
00286 {
00287   wxString ret;
00288   size_t valLen = TextPart::getValue().Len();
00289
00290   for (size_t i = 0; i < valLen; i++) {
00291     if ( wxMaskEdit::IsControl(TextPart::getValue()[i]) ) {
00292       ret += "_";
00293     }
00294     else {
00295       ret += TextPart::getValue()[i];
00296     }
00297   }
00298
00299   return ret;
00300 }
00301
00302 bool LetterGroup::isStatic() const
00303 {
00304   return false;
00305 }
00306 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
00307 //@@OnKeyDown   ALPHA
00308 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
00309
00310 int LetterGroup::OnKeyDown(wxKeyEvent& evt, size_t pos )
00311 {
00312         int style = this->getStyle();
00313        wxString val( TextPart::getValue() );
00314
00315   if (evt.GetKeyCode() == WXK_BACK ) {
00316
00317     val[pos] = '§';
00318     this->setValue(val);
00319     return 0;
00320   }
00321   if (evt.GetKeyCode() == WXK_DELETE  ) {
00322
00323         val[pos] = '§';
00324         this->setValue(val);
00325         return 0;
00326   }
00327
00328
00329       val[pos] = evt.GetKeyCode();
00330
00331
00332 if (style== ME_CAPITAL  || style== ME_CAPBLK  || style== ME_CAPLBR ) {
00333           if (evt.GetKeyCode() >= 224 ) val[pos] = evt.GetKeyCode() -32;
00334           else val[pos]= toupper(evt.GetKeyCode());
00335           }
00336      this->setValue(val);
00337
00338      return 1;
00339
00340 }
00341
00342 void LetterGroup::normalize()
00343 {
00344   wxString val( TextPart::getValue() );
00345   //replace C's with blank lines, char values are NOT optional
00346   val.Replace("§", "_");
00347   //take what we have and pad with spaces
00348   size_t ldiff = this->getSize() - val.Len();
00349
00350   if (ldiff > 0) {
00351     val.Pad(ldiff, '_', false);
00352   }
00353   this->setValue(val);
00354 }
00355
00356 wxString LetterGroup::getTransform() const
00357 {
00358      wxString val( TextPart::getValue() );
00359          val.Replace("_", " ",true);
00360   return val;
00361
00362 }
00363
00364
00366 // -LETTERGROUP
00368
00369
00370
00371
00373
00374
00375
00376
00378 // -MASKEDIT
00380 IMPLEMENT_DYNAMIC_CLASS(wxMaskEdit, wxTextCtrl)
00381
00382 BEGIN_EVENT_TABLE(wxMaskEdit, wxTextCtrl)
00383   EVT_CHAR(wxMaskEdit::OnKeyPress)
00384   EVT_SET_FOCUS(wxMaskEdit::OnSetFocus)
00385   EVT_KILL_FOCUS(wxMaskEdit::OnLostFocus)
00386 END_EVENT_TABLE()
00387
00388 const wxString wxMaskEdit::m_control = wxString("#§");
00389
00390 wxMaskEdit::wxMaskEdit()
00391 : m_firstfocus(true)
00392 {
00393 }
00394
00395 wxMaskEdit::wxMaskEdit(wxWindow *parent, wxWindowID id,
00396                const wxString &txt,
00397                const wxPoint &pos,
00398                const wxSize &size,
00399                long  style,
00400                const wxValidator &validator ,
00401                const wxString &name,
00402                const wxString &mask,
00403                unsigned int MskStyle ,
00404                             bool  GroupStyle
00405 //               NumberGroup::NGBehaviour beh
00406 )
00407 //: m_behav(beh), m_firstfocus(true)
00408 {
00409 if ( GroupStyle == GBLANKS) m_behav = NumberGroup::NGBehaviour (GBLANKS);
00410  else   m_behav =  NumberGroup::NGBehaviour(GZEROS);
00411 this->m_firstfocus= true;
00412
00413  m_Text = txt;
00414 if ( MskStyle > 11 ) wxMessageBox("Non Conforme Style MaskEdit");
00415   //skip all events on construction
00416 this->wxTextCtrl::Create(parent, id, txt, pos, size,style,validator,name);
00417 // font Underline = true
00418 this->SetFont(wxFont(10,wxFONTFAMILY_SWISS, wxNORMAL,wxFONTWEIGHT_NORMAL ,true,wxT("Courier")));
00419
00420
00421 if (mask.Len() > 0 ) {
00422 this->ParseMask(mask, MskStyle);
00423 this->SetMaxLength(this->SzToL(mask.Length()));
00424
00425 this->SetDisplay(m_Text);
00426 }
00427
00428
00429
00430 }
00431
00432
00433 wxMaskEdit::~wxMaskEdit()
00434 {
00435   //delete all groups
00436   WX_CLEAR_ARRAY(m_parts);
00437 }
00438 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
00439 //@@ conversion size_t to long
00440 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
00441 long wxMaskEdit::SzToL(size_t size_value) {
00442     long long_value;
00443     wxString s =  wxString::Format(wxT("%d"), size_value) ;
00444     s.ToLong(&long_value);
00445
00446 //      char strValue[10] ;
00447 //      sprintf(strValue,"%d",size_value);
00448 //      return atol(strValue);
00449
00450         return long_value;
00451 }
00452
00453 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
00454 //@@ Creation Mask
00455 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
00456 void wxMaskEdit::wxMaskSet(
00457                const wxString &mask,
00458                unsigned int MskStyle ,
00459                             bool  GroupStyle
00460  //              NumberGroup::NGBehaviour beh
00461 )
00462 {
00463 if ( GroupStyle == GBLANKS) m_behav = NumberGroup::NGBehaviour (GBLANKS);
00464  else   m_behav =  NumberGroup::NGBehaviour(GZEROS);
00465  this->m_firstfocus= true;
00466         //this->m_behav = beh;
00467
00468 WX_CLEAR_ARRAY(m_parts);
00469
00470 if ( MskStyle > 11 ) wxMessageBox("Non Conforme Style MaskEdit");
00471   //skip all events on construction
00472 this->ParseMask(mask, MskStyle);
00473 this->SetMaxLength(this->SzToL(mask.Length()));
00474
00475 // checked if that is appropriate, m_text comes from wxMaskEdit.
00476 this->SetDisplay(this->m_Text);
00477 }
00478 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
00479 //@@ Creation TextPart
00480 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
00481 void wxMaskEdit::ParseMask(const wxString& mask, int style)
00482 {
00483   m_mask = mask ;
00484
00485   char cEdit = 0x00;
00486   TextPart* part = 0;
00487   this->NbrIdx  = 0;
00488   this->Msk_Style = style;
00489   for (size_t i = 0; i < mask.Len(); i++) {
00490
00491     if ( mask[i] != cEdit  && IsControl(mask[i]) ) {
00492       if (part) m_parts.Add(part);
00493
00494       if (mask[i] == '#') {
00495         cEdit = '#';
00496         part = new NumberGroup(this->NbrIdx, m_behav);
00497                 this->NbrIdx ++;
00498
00499       }
00500      else if (mask[i] == '§' ) {
00501         cEdit = '§';
00502         part = new LetterGroup(this->NbrIdx);
00503                 this->NbrIdx ++;
00504
00505       }
00506     }
00507     else if (!IsControl(mask[i])) {
00508       if (part) m_parts.Add(part);
00509       cEdit = '0';
00510       part = new TextPart(this->NbrIdx);
00511                 this->NbrIdx ++;
00512     }
00513
00514     part->append( mask[i] );
00515     part->setStyle(style);
00516   }
00517
00518  if (part)  m_parts.Add( part );
00519
00520
00521  -- NbrIdx;
00522 }
00523
00524 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
00525 //@@ MASK Gen
00526 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
00527 void wxMaskEdit::DrawMask()
00528 {
00529   this->SetValue(GenMaskText());
00530 }
00531
00532 wxString wxMaskEdit::GenMaskText()
00533 {
00534   wxString full;
00535
00536   for (size_t i = 0; i < m_parts.GetCount(); i++) {
00537     full += m_parts.Item(i)->getValue();
00538   }
00539   return full;
00540 }
00541 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
00542 //@@ Rtv Textpart Item
00543 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
00544 TextPart* wxMaskEdit::FindPart()
00545 {
00546   size_t pos = this->GetInsertionPoint();
00547   size_t currtot = 0;
00548
00549   for (size_t i = 0; i < m_parts.GetCount(); i++) {
00550     currtot += m_parts.Item(i)->getSize();
00551
00552     if (currtot > pos) {
00553       return m_parts.Item(i);
00554     }
00555   }
00556
00557   return 0;
00558 }
00559 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
00560 //@@ Rtv N Item
00561 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
00562 size_t wxMaskEdit::FindItem()
00563 {
00564   size_t pos = this->GetInsertionPoint();
00565   size_t currtot = 0;
00566   size_t i ;
00567   for (i = 0; i < m_parts.GetCount(); i++) {
00568     currtot += m_parts.Item(i)->getSize();
00569
00570     if (currtot > pos) {
00571       return i;
00572     }
00573   }
00574
00575   return --i;
00576 }
00577
00578 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
00579 //@@ fisrt position index Textpart encour
00580 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
00581 size_t wxMaskEdit::ItemPos(size_t item)
00582 {
00583   size_t pos = 0;
00584
00585   for (size_t i = 0; i <= item; i++)
00586     pos += m_parts.Item(i)->getSize();
00587
00588
00589   return pos;
00590 }
00591 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
00592 //@@ position index Textpart
00593 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
00594 size_t wxMaskEdit::FindIdx()
00595 {
00596   size_t pos = this->GetInsertionPoint();
00597   size_t currtot = 0;
00598
00599   for (size_t i = 0; i < m_parts.GetCount(); i++) {
00600     currtot += m_parts.Item(i)->getSize();
00601
00602     if (currtot > pos) {
00603       return m_parts.Item(i)->getSize() - (currtot - pos);
00604     }
00605   }
00606
00607   return 0;
00608 }
00609 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
00610 // car contrôle
00611 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
00612 bool wxMaskEdit::IsControl(char c)
00613 {
00614   return m_control.Find(c) != -1;
00615 }
00616 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
00617 // init Focus
00618 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
00619
00620 void wxMaskEdit::OnSetFocus(wxFocusEvent& evt)
00621 {
00622   if (m_firstfocus) {
00623     this->SetInsertionPoint(0);
00624     this->FixInsPt(0, 1);
00625
00626     m_firstfocus = false;
00627   }
00628
00629   evt.Skip();
00630 }
00631 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
00632 //@@ Re pos Focus
00633 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
00634 void wxMaskEdit::OnLostFocus(wxFocusEvent& evt)
00635 {
00636   //record insrtion point
00637   long inspt = this->GetInsertionPoint();
00638
00639   //normalize all portions
00640   for (size_t i = 0; i < m_parts.GetCount(); i++) {
00641     m_parts.Item(i)->normalize();
00642   }
00643
00644   //redraw
00645   this->DrawMask();
00646
00647   //reset point
00648   this->SetInsertionPoint(inspt);
00649     m_firstfocus = true;
00650   evt.Skip();
00651 }
00652
00653
00654 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
00655 //@@ traitement Keyboard
00656 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
00657
00658 void wxMaskEdit::OnKeyPress(wxKeyEvent& evt)
00659 {
00660  TextPart* p = this->FindPart();
00661  size_t pos = 0 ;
00662  size_t savpos = 0;
00663  wxString val_;
00664   //if alt or Edit are down, ignore this key, also
00665   // ignore return ( frame wxDEFAULT_FRAME_STYLE | wxTAB_TRAVERSAL
00666   // debug      wxMessageBox(wxString::Format("%d",pos));
00667
00668  if (false == this->CtrlKey(evt)  ){   evt.Skip();    return;  }
00669
00670  if ( evt.HasModifiers() ||
00671       evt.GetKeyCode() == WXK_RETURN ||
00672       evt.GetKeyCode() == WXK_TAB  ) {   evt.Skip();  return;  }
00673
00674
00675 // next part
00676  if (evt.GetKeyCode() == WXK_END )  {
00677      if (this->FindPart())
00678      { p->normalize();
00679      pos = this->ItemPos(this->FindItem()); //
00680      this->DrawMask();
00681      this->FixInsPt(pos,1);
00682      }
00683          return;
00684 }
00685
00686   //if this is part of ascii, send it to the Edits
00687   if ((evt.GetKeyCode() >= 32 &&  evt.GetKeyCode() <= 127 )
00688       ||(evt.GetKeyCode() >= 128 && evt.GetKeyCode() <= 255)
00689       ||(evt.GetKeyCode() >= 326 && evt.GetKeyCode() <= 335)
00690       || (evt.GetKeyCode() == WXK_BACK)
00691       || (evt.GetKeyCode() == WXK_DELETE) ) {
00692
00693         p = this->FindPart();
00694         pos = this->GetInsertionPoint();
00695         //find the textpart based on the current
00696         //cursor position
00697
00698         if (this->FindPart() && this->FindPart()->isStatic() && evt.GetKeyCode() != WXK_BACK) {
00699           pos++;
00700           this->FixInsPt(pos, 1);
00701         }
00702
00703 //  WXK_BACK
00704         if (evt.GetKeyCode() == WXK_BACK ) {
00705
00706             if (pos > 0 ) pos-- ;
00707             this->SetInsertionPoint(this->SzToL(pos));
00708             p = this->FindPart();
00709             if (m_mask[pos] != '#' && m_mask[pos] !='§' )   return;
00710             else {
00711               savpos =this->FindIdx();
00712               p->OnKeyDown(evt,savpos);
00713               this->DrawMask();
00714               this->SetInsertionPoint(this->SzToL(pos));
00715               return;
00716              }
00717
00718         }
00719 // WXK_DELETE
00720         else if (evt.GetKeyCode() == WXK_DELETE  ) {
00721
00722             size_t item    = this->FindItem();
00723
00724             pos=0;
00725             wxKeyEvent k(wxEVT_CHAR);
00726             k.m_keyCode = WXK_DELETE;
00727
00728             this->FixInsPt(0, 1);
00729
00730             for (size_t i = 0; i <= item; i++ ) {
00731
00732                 this->SetInsertionPoint(this->SzToL(pos));
00733                 p = this->FindPart();   savpos =pos;
00734
00735                     for (size_t n = 0; n <= p->getSize() ; n++) {
00736
00737                                  if (m_mask[pos] == '#' || m_mask[pos] =='§'  )
00738                                  if (i == item) p->OnKeyDown(k,n);
00739                                                        pos++;    }
00740                 pos--;
00741                                                  }
00742             this->DrawMask();
00743             this->FixInsPt(savpos, 1);
00744             pos = this->GetInsertionPoint();
00745             return;
00746        }
00747 // CHAR *all
00748        if (this->FindPart()) {
00749         int dir = p->OnKeyDown(evt,this->FindIdx());
00750         this->DrawMask();
00751         pos += dir;
00752         this->FixInsPt(pos, 1);
00753       }
00754
00755   }//handle arrow keys
00756   else if (evt.GetKeyCode() == WXK_LEFT || evt.GetKeyCode() == WXK_UP ||
00757     evt.GetKeyCode() == WXK_NUMPAD_LEFT) {
00758
00759 val_ = this->getAbsValue().Trim(false);
00760 if (val_.Len() ==  0) {  this->FixInsPt(pos, 1);   return;  }
00761
00762       pos = this->GetInsertionPoint();
00763       if (pos > 0) {
00764        // this->SetInsertionPoint(--pos);
00765         this->FixInsPt(--pos, 0);
00766       }
00767
00768   }
00769   else if (evt.GetKeyCode() == WXK_RIGHT || evt.GetKeyCode() == WXK_DOWN||
00770     evt.GetKeyCode() == WXK_NUMPAD_RIGHT) {
00771
00772       val_ = this->getAbsValue().Trim(false);
00773 if (val_.Len() ==  0) {  this->FixInsPt(pos, 1);  return;  }
00774
00775       pos = this->GetInsertionPoint();
00776       if (pos < val_.Len()) {
00777        // this->SetInsertionPoint(++pos);
00778         this->FixInsPt(++pos, 1);
00779       }
00780
00781   }
00782   else {
00783     evt.Skip();
00784   }
00785 }
00786
00787 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
00788 //@@ return value n Textpart ex: 00.000.00  = 5 grp = 01234 txt   6= "¤" 5 err
00789  //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
00790
00791 wxString wxMaskEdit::getGroupText(size_t idx) const
00792 {
00793           if ( this->NbrIdx < idx) return wxT("¤"); // prblm  ????
00794           else return m_parts[idx]->getTransform();
00795 }
00796
00797
00798 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
00799 // TEXT not mask
00800 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
00801 wxString wxMaskEdit::getAbsValue() const
00802 {
00803   wxString ret;
00804     wxString trt ;
00805
00806   for (size_t i = 0; i < m_parts.GetCount(); i++) {
00807
00808     m_parts[i]->normalize();
00809
00810    trt  += m_parts[i]->getTransform();
00811
00812   }
00813
00814  for (size_t i = 0; i < m_mask.Length(); i++) {
00815   switch(this->Msk_Style)
00816 {
00817  case  ME_NDEC  : if ( trt[i] != ' ' ) ret += trt[i]; break;
00818
00819  case  ME_NDECS : if ( trt[i] != ' ' ) ret += trt[i]; break;
00820
00821  case  ME_NUM : if (m_mask[i] == '#' && trt[i] != ' ' ) ret += trt[i]; break;
00822
00823  case  ME_SIGNED : if (m_mask[i] == '#' && trt[i] != ' ' ) ret += trt[i]; break;
00824
00825  case  ME_DATE : if (m_mask[i] == '#') ret += trt[i]; break;
00826
00827 default:
00828             if ( m_mask[i] =='§')  if ( trt[i] != ' ' ) ret += trt[i];break;
00829 }
00830  } // for
00831    ret.Trim();
00832   return ret.Trim(true);
00833 }
00834 // *** return to Ascii *char  TEXT and mask
00835
00836 char * wxMaskEdit::ToChar() const
00837 {
00838   wxString ret;
00839   wxString trt ;
00840   char * vchar ;
00841   for (size_t i = 0; i < m_parts.GetCount(); i++) {
00842
00843     m_parts[i]->normalize();
00844
00845    trt  += m_parts[i]->getTransform();
00846
00847   }
00848
00849  for (size_t i = 0; i < m_mask.Length(); i++) {
00850           if ( trt[i] != '_' & trt[i] != ' ' ) ret += trt[i];
00851   }
00852    ret.Trim(); ret.Trim(true);
00853    vchar = (char*) malloc( ret.Length() );
00854    strcpy(vchar,ret.c_str());
00855
00856   return &(vchar[0]);
00857 }
00858
00859 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
00860 // TEXT and mask
00861 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
00862 wxString wxMaskEdit::getTextValue() const
00863 {
00864   wxString ret;
00865
00866   for (size_t i = 0; i < m_parts.GetCount(); i++) {
00867     m_parts[i]->normalize();
00868    ret  += m_parts[i]->getTransform();
00869   }
00870   ret.Replace("_", " ");
00871   return ret;
00872 }
00873
00874 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
00875 //@@fix insert point
00876 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
00877 void wxMaskEdit::FixInsPt(size_t pos, int dir)
00878 {
00879   size_t masksz = this->GenMaskText().Len();
00880   if(pos >= masksz) {
00881     this->SetInsertionPoint(this->SzToL(masksz));
00882     return;
00883   }
00884
00885   if (pos <= 0 && dir <= 0) {
00886     this->SetInsertionPoint(0);
00887
00888     if (this->FindPart() && this->FindPart()->isStatic()) {
00889       FixInsPt(pos, 1);
00890     }
00891
00892     return;
00893   }
00894
00895   this->SetInsertionPoint(this->SzToL(pos));
00896
00897   if (dir == 0) return;
00898
00899   //check for static, and skip
00900   while (this->FindPart() &&
00901     this->FindPart()->isStatic()) {
00902
00903       if (pos == 0 && dir < 0) {
00904         if (this->FindPart() && this->FindPart()->isStatic()) {
00905           FixInsPt(pos, 1);
00906         }
00907
00908         break;
00909       }
00910       else if(pos >= masksz) {
00911         break;
00912       }
00913
00914       pos += dir;
00915       this->SetInsertionPoint(this->SzToL(pos));
00916   }
00917 }
00918 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
00919 //@@ SetDisplay     clear and SetValue data
00920 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
00921
00922 void wxMaskEdit::SetDisplay(const wxString& value)
00923 {
00924       wxString  xval = value ;
00925       int     ncar = 0;
00926   //set insertion pt to 0
00927   this->SetInsertionPoint(0);
00928      wxKeyEvent k(wxEVT_CHAR);
00929
00930
00931 // clear *all Textpart
00932       TextPart* p = this->FindPart();
00933       for (size_t i = 0 , pos = 0; i < m_parts.GetCount(); i++ ) {
00934       this->SetInsertionPoint(this->SzToL(pos));
00935       p = this->FindPart();
00936
00937       k.m_keyCode = WXK_DELETE;
00938
00939       for (size_t n = 0; n < p->getSize(); n++) {
00940       if (m_mask[pos] == '#' || m_mask[pos] =='§') p->OnKeyDown(k,n); pos++; }
00941        }
00942
00943
00944 // initialise Textpart
00945       this->SetInsertionPoint(0); FixInsPt(0, 0);
00946     if (this->Msk_Style == ME_SIGNED || this->Msk_Style == ME_NDECS )
00947       {p = this->FindPart(); k.m_keyCode = '+'; p->OnKeyDown(k,0);}
00948
00949 if (value != "")  for (size_t i = 0; i < xval.Len(); i++) {
00950     ncar = xval[i]; if ( ncar <0 )  k.m_keyCode = 256 + ncar ; else k.m_keyCode = ncar;
00951     this->OnKeyPress(k);
00952   }
00953   this->DrawMask();
00954   wxFocusEvent e;
00955   this->OnLostFocus(e);
00956 }
00957
00958
00959 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
00960 //@@ SetClear     clear and SetValue data
00961 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
00962
00963 void wxMaskEdit::SetClear()
00964 {
00965     this->SetDisplay(wxT(""));
00966 }
00967 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
00968 //@@ Contrôle Key
00969 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
00970
00971 bool wxMaskEdit::CtrlKey(wxKeyEvent& evt)
00972 {
00973 // table ansi etendu
00974 // 128..163  ex: £ €    car speciaux.
00975 // 192..255  ex: àçèéö  ect....
00976
00977 //wxMessageBox(wxString::Format("%d",evt.GetKeyCode()));
00978 if (this->IsEditable() == false ) return false;
00979 if (evt.GetKeyCode() == '_' || evt.GetKeyCode() == '#' || evt.GetKeyCode() == '§' )  return  false;
00980
00981 if (evt.GetKeyCode() == WXK_RETURN)  return  true;
00982
00983 if (evt.GetKeyCode() == WXK_TAB)  return  true;
00984
00985 if (evt.GetKeyCode() ==  WXK_NUMPAD_TAB) return  true;
00986
00987 if (evt.GetKeyCode() == WXK_END)  return  true;
00988
00989 if (evt.GetKeyCode() == WXK_BACK ||
00990     evt.GetKeyCode() == WXK_DELETE) return  true;
00991
00992 if (evt.GetKeyCode() == WXK_LEFT || evt.GetKeyCode() == WXK_UP ||
00993     evt.GetKeyCode() == WXK_NUMPAD_LEFT)  return  true;
00994
00995  if (evt.GetKeyCode() == WXK_RIGHT || evt.GetKeyCode() == WXK_DOWN||
00996     evt.GetKeyCode() == WXK_NUMPAD_RIGHT) return  true;
00997
00998 //if (evt.GetKeyCode() == WXK_UP )wxMessageBox(wxString::Format("%d",evt.GetKeyCode()));
00999
01000 //@@@@@@  char
01001
01002 if   (evt.GetKeyCode() >= 255 ) return  false;
01003 //   && evt.GetKeyCode() < 326 && evt.GetKeyCode() > 335)  return  false; '0' '9'
01004
01005      size_t pos  = this->GetInsertionPoint();
01006 if (evt.GetKeyCode() == 32 && pos == 0 ) return false ;
01007
01008
01009
01010     if(this->Msk_Style == ME_LIBRE || this->Msk_Style == ME_CAPLBR )
01011   {  if (evt.GetKeyCode() >= 32 && evt.GetKeyCode() <= 127)  return  true;
01012      if (evt.GetKeyCode() >= 128 && evt.GetKeyCode() <= 255) return  true;
01013
01014     }
01015   if(this->Msk_Style == ME_CAPBLK  )
01016   {  if ( m_mask[pos] !='§' )   return false;
01017      if (evt.GetKeyCode() >= 'A' && evt.GetKeyCode() <= 'Z') return  true;
01018      if (evt.GetKeyCode() >= 'a' && evt.GetKeyCode() <= 'z') return  true;
01019      if (evt.GetKeyCode() >= 128 && evt.GetKeyCode() <= 255) return  true;
01020      if (evt.GetKeyCode() == ' ')return  true;
01021     }
01022   if(this->Msk_Style == ME_CAPITAL  )
01023   {  if ( m_mask[pos] !='§' )   return false;
01024      if (evt.GetKeyCode() >= 'A' && evt.GetKeyCode() <= 'Z') return  true;
01025      if (evt.GetKeyCode() >= 'a' && evt.GetKeyCode() <= 'z') return  true;
01026      if (evt.GetKeyCode() == 128 && evt.GetKeyCode() == 163) return  true;
01027      if (evt.GetKeyCode() >= 192 && evt.GetKeyCode() <= 255) return  true;
01028    }
01029   if(this->Msk_Style == ME_LTRNUM )
01030   {  if (evt.GetKeyCode() >= 'A' && evt.GetKeyCode() <= 'Z') return  true;
01031      if (evt.GetKeyCode() >= 'a' && evt.GetKeyCode() <= 'z') return  true;
01032      if (evt.GetKeyCode() == 128 && evt.GetKeyCode() == 163) return  true;
01033      if (evt.GetKeyCode() >= 192 && evt.GetKeyCode() <= 255) return  true;
01034      if (evt.GetKeyCode() >= '0' && evt.GetKeyCode() <= '9') return  true;
01035      if (evt.GetKeyCode() == ' ' ) return  true;
01036    }
01037   if(this->Msk_Style == ME_LTRBLK)
01038   {  if ( m_mask[pos] !='§' )   return false;
01039      if (evt.GetKeyCode() >= 'A' && evt.GetKeyCode() <= 'Z') return  true;
01040      if (evt.GetKeyCode() >= 'a' && evt.GetKeyCode() <= 'z') return  true;
01041      if (evt.GetKeyCode() == ' ' ) return  true;
01042    }
01043   if(this->Msk_Style == ME_ALPHA )
01044   {  if ( m_mask[pos] !='§' )   return false;
01045      if (evt.GetKeyCode() >= 'A' && evt.GetKeyCode() <= 'Z') return  true;
01046      if (evt.GetKeyCode() >= 'a' && evt.GetKeyCode() <= 'z') return  true;
01047      if (evt.GetKeyCode() == 128 && evt.GetKeyCode() == 163) return  true;
01048      if (evt.GetKeyCode() >= 192 && evt.GetKeyCode() <= 255) return  true;
01049      if (evt.GetKeyCode() == ' ' ) return  true;
01050    }
01051   if(this->Msk_Style == ME_NUM  || this->Msk_Style == ME_NDEC )
01052   { if ( m_mask[pos] !='#' )   return false;
01053     if (evt.GetKeyCode() >= '0' && evt.GetKeyCode() <= '9' ) return  true;
01054    }
01055
01056   if(this->Msk_Style == ME_SIGNED  || this->Msk_Style == ME_NDECS )
01057   {
01058      if (evt.GetKeyCode() == '-' && m_mask[pos] =='§') return  true;
01059      if (evt.GetKeyCode() == '+' && m_mask[pos] =='§') return  true;
01060      if ( m_mask[pos] !='#' )   return false;
01061      if (evt.GetKeyCode() >= '0' && evt.GetKeyCode() <= '9') return  true;
01062
01063    }
01064   if(this->Msk_Style == ME_DATE )
01065   { if ( m_mask[pos] !='#' )   return false;
01066     if (evt.GetKeyCode() >= '0' && evt.GetKeyCode() <= '9' ) return  true;
01067    }
01068
01069 return false;
01070 }
01071 #endif
Généré le Fri Oct 27 13:01:34 2006 pour wxMaskEdit par doxygen 1.4.6-NO


wxMaskEdit: Fichier source de C:/MinGW/include/wx/wxEdit/wxMaskEdit.h

  • Liste des fichiers
  • Membres de fichier

C:/MinGW/include/wx/wxEdit/wxMaskEdit.h

Aller à la documentation de ce fichier.
00001 //wxMaskedEdit Control - wxext library -
00002 //(c) 2005 RSAISP Inc.
00003
00004 // This source code may be distributed and modified
00005 // in any way that you see fit, free of charge.
00006 // However, RSAISP Inc. asks that you please keep
00007 // http://dev.rsaisp.com/
00008 // this notice on any modified or copied source files
00009
00010 // Jean-Pierre Laroche
00011 // I changed and brought some modification to make simpler
00012 // the type and the most corresponding possible has a type 5250
00013 // J'ai changé et apporté quelque modification pour rendre plus simple
00014 // la saisie et le plus conforme possible à un type 5250
00016
00017 #ifndef WXMASKEDIT_H
00018 #define WXMASKEDIT_H
00019
00020 #include <wx/wxprec.h>
00021 #ifdef __BORLANDC__
00022         #pragma hdrstop
00023 #endif
00024 #ifndef WX_PRECOMP
00025         #include <wx/wx.h>
00026 #endif
00027 #include <wx/textctrl.h>
00028 #include <wx/string.h>
00029
00030
00031 class wxWindow;
00032 class wxPoint;
00033 class wxSize;
00034
00035 class TextPart {
00036 public:
00037   TextPart(size_t ord);
00038   virtual ~TextPart();
00039
00040   virtual wxString getValue() const;
00041   virtual void setValue(const wxString& val);
00042
00043   virtual size_t getOrder() const;
00044   virtual size_t getSize() const;
00045
00046   virtual void append(char c);
00047
00048   virtual bool isStatic() const;
00049
00050   virtual int OnKeyDown(wxKeyEvent& evt, size_t pos);
00051
00052   virtual void normalize();
00053
00054   virtual wxString getTransform() const;
00055
00056   virtual void setStyle(size_t style) ;
00057
00058   virtual size_t getStyle() const;
00059
00060 private:
00061   wxString m_val;
00062   size_t m_ord;
00063   size_t m_style;
00064
00065 };
00066
00067 class NumberGroup : public TextPart {
00068 public:
00069
00070   enum NGBehaviour {
00071     NZEROS,
00072     NBLANKS
00073   } m_beh;
00074
00075 public:
00076   NumberGroup(size_t ord, NGBehaviour beh);
00077   virtual ~NumberGroup();
00078
00079   virtual wxString getValue() const;
00080
00081   virtual bool isStatic() const;
00082
00083   virtual int OnKeyDown(wxKeyEvent& evt, size_t pos);
00084
00085   virtual void normalize();
00086
00087   virtual wxString getTransform() const;
00088
00089
00090
00091 private:
00092   void goNormBlank();
00093   void goNormZero();
00094
00095 };
00096
00097 class LetterGroup : public TextPart {
00098 public:
00099   LetterGroup(size_t ord);
00100   virtual ~LetterGroup();
00101
00102   virtual wxString getValue() const;
00103
00104   virtual bool isStatic() const;
00105
00106   virtual int OnKeyDown(wxKeyEvent& evt, size_t pos );
00107
00108   virtual void normalize();
00109
00110   virtual wxString getTransform() const;
00111
00112
00113 };
00114
00115
00116 WX_DEFINE_ARRAY(TextPart*, TextPartArray);
00117 #define  ME_LTRNUM   0  // A-z 0-9
00118 #define  ME_CAPITAL  1
00119 #define  ME_LIBRE    2  // ALL
00120 #define  ME_CAPBLK   3
00121 #define  ME_LTRBLK   4
00122 #define  ME_CAPLBR   5
00123 #define  ME_SIGNED   6
00124 #define  ME_ALPHA    7  // A-z *blank
00125 #define  ME_NUM      8  // 0-9
00126 #define  ME_NDEC     9  // 0-9 decimal
00127 #define  ME_NDECS    10 // 0-9 decimal signed
00128 #define  ME_DATE     11 // 0-9
00129 #define  GZEROS      false
00130 #define  GBLANKS     true
00131
00132 class wxMaskEdit : public wxTextCtrl
00133 {
00134
00135 public:
00136
00137 wxMaskEdit();
00138 wxMaskEdit(wxWindow *parent, wxWindowID id,
00139                const wxString &wxT ="",
00140                const wxPoint &pos = wxDefaultPosition,
00141                const wxSize &size = wxDefaultSize,
00142                long  style = 0,
00143                const wxValidator &validator = wxDefaultValidator ,
00144                const wxString &name = wxTextCtrlNameStr,
00145                const wxString &mask ="",
00146                unsigned int MskStyle = ME_LIBRE,
00147                            bool  GroupStyle = GBLANKS
00148  );
00149
00150
00151   virtual ~wxMaskEdit();
00152
00153   wxString getGroupText(size_t idx) const;
00154
00155   wxString getTextValue() const;
00156
00157   wxString getAbsValue() const;
00158
00159  char *   ToChar() const;
00160
00161
00162
00163   void     SetDisplay(const wxString& value);
00164   void     SetClear();
00165   static bool IsControl(char c) ;
00166
00167   void  wxMaskSet( const wxString &mask ,
00168                    unsigned int MskStyle = ME_LIBRE,   bool  GroupStyle = GBLANKS);
00169
00170  private:
00171   long SzToL(size_t size_value = 0);            // conversion size_t to long
00172
00173   void OnKeyPress(wxKeyEvent& evt);
00174   void OnSetFocus(wxFocusEvent& evt);
00175   void OnLostFocus(wxFocusEvent& evt);
00176
00177
00178
00179
00180   void ParseMask(const wxString& mask ,int style = 0);
00181  wxString m_Text;
00182  wxString GenMaskText();
00183   wxString m_mask;
00184   size_t  NbrIdx ;
00185  size_t   Msk_Style ;
00186   void DrawMask();
00187
00188   void FixInsPt(size_t pos, int dir);
00189
00190
00191   TextPart* FindPart();
00192   size_t    FindItem();
00193   size_t    FindIdx();
00194   size_t    ItemPos(size_t item);
00195   static const wxString m_control;
00196   TextPartArray m_parts;
00197
00198   NumberGroup::NGBehaviour m_behav;
00199   bool m_firstfocus;
00200
00201
00202
00203
00204 bool wxMaskEdit::CtrlKey(wxKeyEvent& evt);
00205
00206
00207   DECLARE_EVENT_TABLE()
00208   DECLARE_DYNAMIC_CLASS(wxMaskEdit)
00209 };
00210
00211 #endif
Généré le Fri Oct 27 13:01:34 2006 pour wxMaskEdit par doxygen 1.4.6-NO


wxMaskEdit: Liste des membres

LetterGroup Liste des membres

Liste complète des membres de LetterGroup, y compris les membres hérités:

append(char c) | TextPart | [virtual]
getOrder() const | TextPart | [virtual]
getSize() const | TextPart | [virtual]
getStyle() const | TextPart | [virtual]
getTransform() const | LetterGroup | [virtual]
getValue() const | LetterGroup | [virtual]
isStatic() const | LetterGroup | [virtual]
LetterGroup(size_t ord) | LetterGroup |
normalize() | LetterGroup | [virtual]
OnKeyDown(wxKeyEvent &evt, size_t pos) | LetterGroup | [virtual]
setStyle(size_t style) | TextPart | [virtual]
setValue(const wxString &val) | TextPart | [virtual]
TextPart(size_t ord) | TextPart |
~LetterGroup() | LetterGroup | [virtual]
~TextPart() | TextPart | [virtual]


wxMaskEdit: Liste des membres

NumberGroup Liste des membres

Liste complète des membres de NumberGroup, y compris les membres hérités:

append(char c) | TextPart | [virtual]
getOrder() const | TextPart | [virtual]
getSize() const | TextPart | [virtual]
getStyle() const | TextPart | [virtual]
getTransform() const | NumberGroup | [virtual]
getValue() const | NumberGroup | [virtual]
goNormBlank() | NumberGroup | [private]
goNormZero() | NumberGroup | [private]
isStatic() const | NumberGroup | [virtual]
m_beh | NumberGroup |
NBLANKS valeur énumérée | NumberGroup |
NGBehaviour énumération | NumberGroup |
normalize() | NumberGroup | [virtual]
NumberGroup(size_t ord, NGBehaviour beh) | NumberGroup |
NZEROS valeur énumérée | NumberGroup |
OnKeyDown(wxKeyEvent &evt, size_t pos) | NumberGroup | [virtual]
setStyle(size_t style) | TextPart | [virtual]
setValue(const wxString &val) | TextPart | [virtual]
TextPart(size_t ord) | TextPart |
~NumberGroup() | NumberGroup | [virtual]
~TextPart() | TextPart | [virtual]


wxMaskEdit: Liste des membres

TextPart Liste des membres

Liste complète des membres de TextPart, y compris les membres hérités:

append(char c) | TextPart | [virtual]
getOrder() const | TextPart | [virtual]
getSize() const | TextPart | [virtual]
getStyle() const | TextPart | [virtual]
getTransform() const | TextPart | [virtual]
getValue() const | TextPart | [virtual]
isStatic() const | TextPart | [virtual]
m_ord | TextPart | [private]
m_style | TextPart | [private]
m_val | TextPart | [private]
normalize() | TextPart | [virtual]
OnKeyDown(wxKeyEvent &evt, size_t pos) | TextPart | [virtual]
setStyle(size_t style) | TextPart | [virtual]
setValue(const wxString &val) | TextPart | [virtual]
TextPart(size_t ord) | TextPart |
~TextPart() | TextPart | [virtual]


wxMaskEdit: Liste des membres

wxMaskEdit Liste des membres

Liste complète des membres de wxMaskEdit, y compris les membres hérités:

CtrlKey(wxKeyEvent &evt) | wxMaskEdit | [private]
DrawMask() | wxMaskEdit | [private]
FindIdx() | wxMaskEdit | [private]
FindItem() | wxMaskEdit | [private]
FindPart() | wxMaskEdit | [private]
FixInsPt(size_t pos, int dir) | wxMaskEdit | [private]
GenMaskText() | wxMaskEdit | [private]
getAbsValue() const | wxMaskEdit |
getGroupText(size_t idx) const | wxMaskEdit |
getTextValue() const | wxMaskEdit |
IsControl(char c) | wxMaskEdit | [static]
ItemPos(size_t item) | wxMaskEdit | [private]
m_behav | wxMaskEdit | [private]
m_control | wxMaskEdit | [private, static]
m_firstfocus | wxMaskEdit | [private]
m_mask | wxMaskEdit | [private]
m_parts | wxMaskEdit | [private]
m_Text | wxMaskEdit | [private]
Msk_Style | wxMaskEdit | [private]
NbrIdx | wxMaskEdit | [private]
OnKeyPress(wxKeyEvent &evt) | wxMaskEdit | [private]
OnLostFocus(wxFocusEvent &evt) | wxMaskEdit | [private]
OnSetFocus(wxFocusEvent &evt) | wxMaskEdit | [private]
ParseMask(const wxString &mask, int style=0) | wxMaskEdit | [private]
SetClear() | wxMaskEdit |
SetDisplay(const wxString &value) | wxMaskEdit |
SzToL(size_t size_value=0) | wxMaskEdit | [private]
ToChar() const | wxMaskEdit |
wxMaskEdit() | wxMaskEdit |
wxMaskEdit(wxWindow *parent, wxWindowID id, const wxString &wxT="", const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=0, const wxValidator &validator=wxDefaultValidator, const wxString &name=wxTextCtrlNameStr, const wxString &mask="", unsigned int MskStyle=ME_LIBRE, bool GroupStyle=GBLANKS) | wxMaskEdit |
wxMaskSet(const wxString &mask, unsigned int MskStyle=ME_LIBRE, bool GroupStyle=GBLANKS) | wxMaskEdit |
~wxMaskEdit() | wxMaskEdit | [virtual]


wxMaskEdit: Membres de classe

  • Tout
  • Fonctions
  • Variables
  • Énumérations
  • Valeurs énumérées
  • a
  • c
  • d
  • f
  • g
  • i
  • l
  • m
  • n
  • o
  • p
  • s
  • t
  • w
  • ~

Liste de tous les membres de classe avec liens vers les classes auxquelles ils appartiennent:

- a -

  • append() : TextPart

- c -

  • CtrlKey() : wxMaskEdit

- d -

  • DrawMask() : wxMaskEdit

- f -

  • FindIdx() : wxMaskEdit
  • FindItem() : wxMaskEdit
  • FindPart() : wxMaskEdit
  • FixInsPt() : wxMaskEdit

- g -

  • GenMaskText() : wxMaskEdit
  • getAbsValue() : wxMaskEdit
  • getGroupText() : wxMaskEdit
  • getOrder() : TextPart
  • getSize() : TextPart
  • getStyle() : TextPart
  • getTextValue() : wxMaskEdit
  • getTransform() : LetterGroup, NumberGroup, TextPart
  • getValue() : LetterGroup, NumberGroup, TextPart
  • goNormBlank() : NumberGroup
  • goNormZero() : NumberGroup

- i -

  • IsControl() : wxMaskEdit
  • isStatic() : LetterGroup, NumberGroup, TextPart
  • ItemPos() : wxMaskEdit

- l -

  • LetterGroup() : LetterGroup

- m -

  • m_beh : NumberGroup
  • m_behav : wxMaskEdit
  • m_control : wxMaskEdit
  • m_firstfocus : wxMaskEdit
  • m_mask : wxMaskEdit
  • m_ord : TextPart
  • m_parts : wxMaskEdit
  • m_style : TextPart
  • m_Text : wxMaskEdit
  • m_val : TextPart
  • Msk_Style : wxMaskEdit

- n -

  • NBLANKS : NumberGroup
  • NbrIdx : wxMaskEdit
  • NGBehaviour : NumberGroup
  • normalize() : LetterGroup, NumberGroup, TextPart
  • NumberGroup() : NumberGroup
  • NZEROS : NumberGroup

- o -

  • OnKeyDown() : LetterGroup, NumberGroup, TextPart
  • OnKeyPress() : wxMaskEdit
  • OnLostFocus() : wxMaskEdit
  • OnSetFocus() : wxMaskEdit

- p -

  • ParseMask() : wxMaskEdit

- s -

  • SetClear() : wxMaskEdit
  • SetDisplay() : wxMaskEdit
  • setStyle() : TextPart
  • setValue() : TextPart
  • SzToL() : wxMaskEdit

- t -

  • TextPart() : TextPart
  • ToChar() : wxMaskEdit

- w -

  • wxMaskEdit() : wxMaskEdit
  • wxMaskSet() : wxMaskEdit

- ~ -

  • ~LetterGroup() : LetterGroup
  • ~NumberGroup() : NumberGroup
  • ~TextPart() : TextPart
  • ~wxMaskEdit() : wxMaskEdit


wxMaskEdit: Membres de classe - Énumérations

  • Tout
  • Fonctions
  • Variables
  • Énumérations
  • Valeurs énumérées

  • NGBehaviour : NumberGroup


wxMaskEdit: Membres de classe - Valeurs énumérées

  • Tout
  • Fonctions
  • Variables
  • Énumérations
  • Valeurs énumérées

  • NBLANKS : NumberGroup
  • NZEROS : NumberGroup


wxMaskEdit: Membres de classe - Fonctions

  • Tout
  • Fonctions
  • Variables
  • Énumérations
  • Valeurs énumérées
  • a
  • c
  • d
  • f
  • g
  • i
  • l
  • n
  • o
  • p
  • s
  • t
  • w
  • ~

- a -

  • append() : TextPart

- c -

  • CtrlKey() : wxMaskEdit

- d -

  • DrawMask() : wxMaskEdit

- f -

  • FindIdx() : wxMaskEdit
  • FindItem() : wxMaskEdit
  • FindPart() : wxMaskEdit
  • FixInsPt() : wxMaskEdit

- g -

  • GenMaskText() : wxMaskEdit
  • getAbsValue() : wxMaskEdit
  • getGroupText() : wxMaskEdit
  • getOrder() : TextPart
  • getSize() : TextPart
  • getStyle() : TextPart
  • getTextValue() : wxMaskEdit
  • getTransform() : LetterGroup, NumberGroup, TextPart
  • getValue() : LetterGroup, NumberGroup, TextPart
  • goNormBlank() : NumberGroup
  • goNormZero() : NumberGroup

- i -

  • IsControl() : wxMaskEdit
  • isStatic() : LetterGroup, NumberGroup, TextPart
  • ItemPos() : wxMaskEdit

- l -

  • LetterGroup() : LetterGroup

- n -

  • normalize() : LetterGroup, NumberGroup, TextPart
  • NumberGroup() : NumberGroup

- o -

  • OnKeyDown() : LetterGroup, NumberGroup, TextPart
  • OnKeyPress() : wxMaskEdit
  • OnLostFocus() : wxMaskEdit
  • OnSetFocus() : wxMaskEdit

- p -

  • ParseMask() : wxMaskEdit

- s -

  • SetClear() : wxMaskEdit
  • SetDisplay() : wxMaskEdit
  • setStyle() : TextPart
  • setValue() : TextPart
  • SzToL() : wxMaskEdit

- t -

  • TextPart() : TextPart
  • ToChar() : wxMaskEdit

- w -

  • wxMaskEdit() : wxMaskEdit
  • wxMaskSet() : wxMaskEdit

- ~ -

  • ~LetterGroup() : LetterGroup
  • ~NumberGroup() : NumberGroup
  • ~TextPart() : TextPart
  • ~wxMaskEdit() : wxMaskEdit


wxMaskEdit: Membres de classe - Variables

  • Tout
  • Fonctions
  • Variables
  • Énumérations
  • Valeurs énumérées

  • m_beh : NumberGroup
  • m_behav : wxMaskEdit
  • m_control : wxMaskEdit
  • m_firstfocus : wxMaskEdit
  • m_mask : wxMaskEdit
  • m_ord : TextPart
  • m_parts : wxMaskEdit
  • m_style : TextPart
  • m_Text : wxMaskEdit
  • m_val : TextPart
  • Msk_Style : wxMaskEdit
  • NbrIdx : wxMaskEdit


wxMaskEdit: Membres de classe

  • Liste des fichiers
  • Membres de fichier
  • Tout
  • Fonctions
  • Macros
Liste de tous les membres de fichier avec liens vers les fichiers auxquels ils appartiennent:

  • GBLANKS : wxMaskEdit.h
  • GZEROS : wxMaskEdit.h
  • ME_ALPHA : wxMaskEdit.h
  • ME_CAPBLK : wxMaskEdit.h
  • ME_CAPITAL : wxMaskEdit.h
  • ME_CAPLBR : wxMaskEdit.h
  • ME_DATE : wxMaskEdit.h
  • ME_LIBRE : wxMaskEdit.h
  • ME_LTRBLK : wxMaskEdit.h
  • ME_LTRNUM : wxMaskEdit.h
  • ME_NDEC : wxMaskEdit.h
  • ME_NDECS : wxMaskEdit.h
  • ME_NUM : wxMaskEdit.h
  • ME_SIGNED : wxMaskEdit.h
  • WX_DEFINE_ARRAY() : wxMaskEdit.h


wxMaskEdit: Membres de classe

  • Liste des fichiers
  • Membres de fichier
  • Tout
  • Fonctions
  • Macros

  • GBLANKS : wxMaskEdit.h
  • GZEROS : wxMaskEdit.h
  • ME_ALPHA : wxMaskEdit.h
  • ME_CAPBLK : wxMaskEdit.h
  • ME_CAPITAL : wxMaskEdit.h
  • ME_CAPLBR : wxMaskEdit.h
  • ME_DATE : wxMaskEdit.h
  • ME_LIBRE : wxMaskEdit.h
  • ME_LTRBLK : wxMaskEdit.h
  • ME_LTRNUM : wxMaskEdit.h
  • ME_NDEC : wxMaskEdit.h
  • ME_NDECS : wxMaskEdit.h
  • ME_NUM : wxMaskEdit.h
  • ME_SIGNED : wxMaskEdit.h


wxMaskEdit: Membres de classe

  • Liste des fichiers
  • Membres de fichier
  • Tout
  • Fonctions
  • Macros

  • WX_DEFINE_ARRAY() : wxMaskEdit.h