1 // SMESH SMESHGUI : GUI for SMESH component
3 // Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
6 // This library is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU Lesser General Public
8 // License as published by the Free Software Foundation; either
9 // version 2.1 of the License.
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 // Lesser General Public License for more details.
16 // You should have received a copy of the GNU Lesser General Public
17 // License along with this library; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 // See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
24 // File : SMESHGUI_aParameter.cxx
28 #include "SMESHGUI_aParameter.h"
31 #include <qvalidator.h>
32 #include <qtextedit.h>
34 #include "QAD_SpinBoxDbl.h"
36 SMESHGUI_aParameter::~SMESHGUI_aParameter() {}
38 //=================================================================================
39 // class : SMESHGUI_intParameter
41 //=================================================================================
42 SMESHGUI_intParameter::SMESHGUI_intParameter(const int theInitValue,
43 const QString& theLabel,
46 :SMESHGUI_aParameter(theLabel),
47 _top(theTop), _bottom(theBottom), _initValue( theInitValue )
50 SMESHGUI_aParameter::Type SMESHGUI_intParameter::GetType() const
52 return SMESHGUI_aParameter::INT;
54 bool SMESHGUI_intParameter::GetNewInt( int & theValue ) const
57 return _newValue != _initValue;
59 bool SMESHGUI_intParameter::GetNewDouble( double & Value ) const
63 bool SMESHGUI_intParameter::GetNewText( QString & Value ) const
67 void SMESHGUI_intParameter::InitializeWidget( QWidget* theQWidget) const
69 QSpinBox * aSpin = dynamic_cast< QSpinBox *>( theQWidget );
71 aSpin->setMinValue( _bottom );
72 aSpin->setMaxValue( _top );
73 aSpin->setValue( _initValue );
76 void SMESHGUI_intParameter::TakeValue( QWidget* theQWidget)
78 QSpinBox * aSpin = dynamic_cast< QSpinBox *>( theQWidget );
80 _newValue = aSpin->value();
82 //=================================================================================
83 // class : SMESHGUI_doubleParameter
85 //=================================================================================
86 SMESHGUI_doubleParameter::SMESHGUI_doubleParameter(const double theInitValue,
87 const QString& theLabel,
88 const double theBottom,
91 const int theDecimals)
92 :SMESHGUI_aParameter( theLabel ),
93 _top( theTop ), _bottom( theBottom ), _step( theStep ),
94 _initValue( theInitValue ), _decimals( theDecimals )
97 SMESHGUI_aParameter::Type SMESHGUI_doubleParameter::GetType() const
99 return SMESHGUI_aParameter::DOUBLE;
101 bool SMESHGUI_doubleParameter::GetNewInt( int & theValue ) const
105 bool SMESHGUI_doubleParameter::GetNewDouble( double & Value ) const
108 return _newValue != _initValue;
110 bool SMESHGUI_doubleParameter::GetNewText( QString & Value ) const
114 void SMESHGUI_doubleParameter::InitializeWidget( QWidget* theQWidget) const
116 QAD_SpinBoxDbl * aSpin = dynamic_cast< QAD_SpinBoxDbl *>( theQWidget );
118 aSpin->setPrecision( _decimals );
119 aSpin->setDblPrecision( _bottom );
120 aSpin->setRange( _bottom, _top );
121 aSpin->setValue( _initValue );
122 aSpin->setLineStep( _step );
125 void SMESHGUI_doubleParameter::TakeValue( QWidget* theQWidget)
127 QAD_SpinBoxDbl * aSpin = dynamic_cast< QAD_SpinBoxDbl *>( theQWidget );
129 _newValue = aSpin->value();
132 //=================================================================================
133 // class : SMESHGUI_strParameter
135 //=================================================================================
136 SMESHGUI_strParameter::SMESHGUI_strParameter(const QString& theInitValue,
137 const QString& theLabel)
138 :SMESHGUI_aParameter(theLabel),
139 _initValue( theInitValue )
142 SMESHGUI_aParameter::Type SMESHGUI_strParameter::GetType() const
144 return SMESHGUI_aParameter::TEXT;
146 bool SMESHGUI_strParameter::GetNewInt( int & theValue ) const
150 bool SMESHGUI_strParameter::GetNewDouble( double & Value ) const
154 bool SMESHGUI_strParameter::GetNewText( QString & theValue ) const
156 theValue = _newValue;
157 return _newValue != _initValue;
159 void SMESHGUI_strParameter::InitializeWidget( QWidget* theQWidget) const
161 QTextEdit * anEdit = dynamic_cast< QTextEdit *>( theQWidget );
163 anEdit->setText( _initValue );
166 void SMESHGUI_strParameter::TakeValue( QWidget* theQWidget)
168 QTextEdit * anEdit = dynamic_cast< QTextEdit *>( theQWidget );
170 _newValue = anEdit->text();