]> SALOME platform Git repositories - modules/gui.git/blob - src/Qtx/QtxDblValidator.cxx
Salome HOME
4b204f8db9f6d29f6157d345b8da2d04bf1f6105
[modules/gui.git] / src / Qtx / QtxDblValidator.cxx
1 // Copyright (C) 2005  OPEN CASCADE, CEA/DEN, EDF R&D, 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/
18 //
19 // File:      QtxDblValidator.cxx
20 // Author:    Alexandre SOLOVYOV
21
22 #include "QtxDblValidator.h"
23
24 /*!
25   Constructor
26   \param bot - minimal possible value
27   \param top - maximal possible value
28   \param dec - number of digits
29   \param o - parent object
30   \param name - name of validator
31 */
32 QtxDblValidator::QtxDblValidator( const double bot, const double top, const int dec,
33                                   QObject* o, const char* name )
34 : QDoubleValidator( bot, top, dec, o, name )
35 {
36 }
37
38 /*!
39   Destructor
40 */
41 QtxDblValidator::~QtxDblValidator()
42 {
43 }
44
45 /*!
46   Corrects string: if it represent double value less then bottom, it becomes equal to bottom,
47   if it is more then top, it becomes equal to top, if it isn't number is becomes '0'
48 */
49 void QtxDblValidator::fixup( QString& str ) const
50 {
51   bool ok = false;
52   double d = str.toDouble( &ok );
53   if( ok )
54   {
55     if( d<bottom() )
56       str = QString::number( bottom() );
57     else if( d>top() )
58       str = QString::number( top() );
59   }
60   else
61     str = "0";
62 }