Salome HOME
e7fed65aa7dced6d637ecf2fea1600082bc2be17
[modules/gui.git] / src / QDS / QDS_Validator.h
1 // Copyright (C) 2005  CEA/DEN, EDF R&D, OPEN CASCADE, PRINCIPIA R&D
2 //
3 // This library is free software; you can redistribute it and/or
4 // modify it under the terms of the GNU Lesser General Public
5 // License as published by the Free Software Foundation; either
6 // version 2.1 of the License.
7 //
8 // This library is distributed in the hope that it will be useful
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11 // Lesser General Public License for more details.
12 //
13 // You should have received a copy of the GNU Lesser General Public
14 // License along with this library; if not, write to the Free Software
15 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
16 //
17 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 //
19 #ifndef QDS_VALIDATOR_H
20 #define QDS_VALIDATOR_H
21
22 #include "QDS.h"
23
24 #include <qvalidator.h>
25
26 /*!
27   class QDS_IntegerValidator
28 */
29 class QDS_EXPORT QDS_IntegerValidator : public QIntValidator
30 {
31 public:
32   QDS_IntegerValidator( QObject* p = 0 );
33   QDS_IntegerValidator( const QString& f, QObject* p = 0 );
34   virtual ~QDS_IntegerValidator();
35
36   virtual State validate( QString&, int& ) const;
37
38 private:
39   QString myFilter;
40 };
41
42 /*!
43   class QDS_DoubleValidator
44 */
45 class QDS_DoubleValidator : public QDoubleValidator
46 {
47 public:
48   QDS_DoubleValidator( QObject* p = 0 );
49   QDS_DoubleValidator( const QString& f, QObject* p = 0 );
50   virtual ~QDS_DoubleValidator();
51
52   virtual State validate( QString&, int& ) const;
53
54 private:
55   QString myFilter;
56 };
57
58 /*!
59   class QDS_StringValidator
60 */
61 class QDS_EXPORT QDS_StringValidator : public QValidator
62 {
63 public:
64   QDS_StringValidator( QObject* p = 0 );
65   QDS_StringValidator( const QString& f, QObject* p = 0 );
66   QDS_StringValidator( const QString& ft, const QString& fg, QObject* p = 0 );
67   virtual ~QDS_StringValidator();
68
69   virtual State validate( QString&, int& ) const;
70
71   int           length() const;
72   void          setLength( const int );
73
74 private:
75   int           myLen;
76   QString       myFlags;
77   QString       myFilter;
78 };
79
80 #endif