<parameter name="type_of_marker" value="1" />
<parameter name="deflection_coeff" value="0.001" />
<parameter name="marker_scale" value="1" />
+ <!-- Input field precisions -->
+ <parameter name="def_precision" value="3" />
+ <parameter name="length_precision" value="6" />
+ <parameter name="angle_precision" value="3" />
+ <parameter name="len_tol_precision" value="-9" />
+ <parameter name="ang_tol_precision" value="-9" />
+ <parameter name="weight_precision" value="3" />
+ <parameter name="density_precision" value="3" />
+ <parameter name="parametric_precision" value="6" />
+ <parameter name="param_tol_precision" value="-9" />
</section>
</document>
double aStep = resMgr->doubleValue( "Geometry", "SettingsGeomStep", 100 );
/* min, max, step and decimals for spin boxes & initial values */
- initSpinBox( GroupPntVecR->SpinBox_DX, 0.000001, COORD_MAX, aStep, 6 ); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox( GroupPntVecR->SpinBox_DX, 0.000001, COORD_MAX, aStep, "length_precision" );
GroupPntVecR->SpinBox_DX->setValue( 100 );
/* signals and slots connections */
double aMajorR( 200. ), aMinorR( 100. );
/* min, max, step and decimals for spin boxes & initial values */
- initSpinBox( GroupPoints->SpinBox_DX, 0.000001, COORD_MAX, step, 6 ); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox( GroupPoints->SpinBox_DY, 0.000001, COORD_MAX, step, 6 ); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox( GroupPoints->SpinBox_DX, 0.000001, COORD_MAX, step, "length_precision" );
+ initSpinBox( GroupPoints->SpinBox_DY, 0.000001, COORD_MAX, step, "length_precision" );
GroupPoints->SpinBox_DX->setValue( aMajorR );
GroupPoints->SpinBox_DY->setValue( aMinorR );
double step = resMgr->doubleValue( "Geometry", "SettingsGeomStep", 100 );
for ( DataMap::iterator anIter = myData.begin(); anIter != myData.end(); ++anIter ) {
- initSpinBox( anIter.value(), COORD_MIN, COORD_MAX, step, 6 ); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox( anIter.value(), COORD_MIN, COORD_MAX, step, "length_precision" );
connect( anIter.value(), SIGNAL( valueChanged( double ) ),
this, SLOT( onValueChanged( double ) ) );
}
double aTrimSize = 2000.0;
/* min, max, step and decimals for spin boxes */
- initSpinBox( GroupPntDir->SpinBox_DX, 0.000001, COORD_MAX, aStep, 6 ); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox( GroupPntDir->SpinBox_DX, 0.000001, COORD_MAX, aStep, "length_precision" );
GroupPntDir->SpinBox_DX->setValue( aTrimSize );
- initSpinBox( Group3Pnts->SpinBox_DX, 0.000001, COORD_MAX, aStep, 6 ); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox( Group3Pnts->SpinBox_DX, 0.000001, COORD_MAX, aStep, "length_precision" );
Group3Pnts->SpinBox_DX->setValue( aTrimSize );
- initSpinBox( GroupFace->SpinBox_DX, 0.000001, COORD_MAX, aStep, 6 ); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox( GroupFace->SpinBox_DX, 0.000001, COORD_MAX, aStep, "length_precision" );
GroupFace->SpinBox_DX->setValue( aTrimSize );
- initSpinBox( Group2Vec->SpinBox_DX, 0.000001, COORD_MAX, aStep, 6 ); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox( Group2Vec->SpinBox_DX, 0.000001, COORD_MAX, aStep, "length_precision" );
Group2Vec->SpinBox_DX->setValue( aTrimSize );
- initSpinBox( GroupLCS->SpinBox_DX, 0.000001, COORD_MAX, aStep, 6 ); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox( GroupLCS->SpinBox_DX, 0.000001, COORD_MAX, aStep, "length_precision" );
GroupLCS->SpinBox_DX->setValue( aTrimSize );
/* signals and slots connections */
double step = resMgr->doubleValue( "Geometry", "SettingsGeomStep", 100 );
/* min, max, step and decimals for spin boxes */
- initSpinBox( GroupXYZ->SpinBox_DX, COORD_MIN, COORD_MAX, step, 6 ); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox( GroupXYZ->SpinBox_DY, COORD_MIN, COORD_MAX, step, 6 ); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox( GroupXYZ->SpinBox_DZ, COORD_MIN, COORD_MAX, step, 6 ); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox( GroupXYZ->SpinBox_DX, COORD_MIN, COORD_MAX, step, "length_precision" );
+ initSpinBox( GroupXYZ->SpinBox_DY, COORD_MIN, COORD_MAX, step, "length_precision" );
+ initSpinBox( GroupXYZ->SpinBox_DZ, COORD_MIN, COORD_MAX, step, "length_precision" );
GroupXYZ->SpinBox_DX->setValue( 0.0 );
GroupXYZ->SpinBox_DY->setValue( 0.0 );
GroupXYZ->SpinBox_DZ->setValue( 0.0 );
- initSpinBox( GroupRefPoint->SpinBox_DX, COORD_MIN, COORD_MAX, step, 6 ); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox( GroupRefPoint->SpinBox_DY, COORD_MIN, COORD_MAX, step, 6 ); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox( GroupRefPoint->SpinBox_DZ, COORD_MIN, COORD_MAX, step, 6 ); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox( GroupRefPoint->SpinBox_DX, COORD_MIN, COORD_MAX, step, "length_precision" );
+ initSpinBox( GroupRefPoint->SpinBox_DY, COORD_MIN, COORD_MAX, step, "length_precision" );
+ initSpinBox( GroupRefPoint->SpinBox_DZ, COORD_MIN, COORD_MAX, step, "length_precision" );
GroupRefPoint->SpinBox_DX->setValue( 0.0 );
GroupRefPoint->SpinBox_DY->setValue( 0.0 );
GroupRefPoint->SpinBox_DZ->setValue( 0.0 );
step = 0.1;
- initSpinBox( GroupOnCurve->SpinBox_DX, 0., 1., step, 6 ); // VSR:TODO : DBL_DIGITS_DISPLAY
+ initSpinBox( GroupOnCurve->SpinBox_DX, 0., 1., step, "parametric_precision" );
GroupOnCurve->SpinBox_DX->setValue( 0.5 );
- initSpinBox( GroupOnSurface->SpinBox_DX, 0., 1., step, 6 ); // VSR:TODO : DBL_DIGITS_DISPLAY
+ initSpinBox( GroupOnSurface->SpinBox_DX, 0., 1., step, "parametric_precision" );
GroupOnSurface->SpinBox_DX->setValue( 0.5 );
- initSpinBox( GroupOnSurface->SpinBox_DY, 0., 1., step, 6 ); // VSR:TODO : DBL_DIGITS_DISPLAY
+ initSpinBox( GroupOnSurface->SpinBox_DY, 0., 1., step, "parametric_precision" );
GroupOnSurface->SpinBox_DY->setValue( 0.5 );
/* signals and slots connections */
GroupRefPoint->SpinBox_DX->setSingleStep(step);
GroupRefPoint->SpinBox_DY->setSingleStep(step);
GroupRefPoint->SpinBox_DZ->setSingleStep(step);
- GroupOnSurface->SpinBox_DX->setSingleStep(step);
- GroupOnSurface->SpinBox_DY->setSingleStep(step);
}
double step = resMgr->doubleValue( "Geometry", "SettingsGeomStep", 100 );
/* min, max, step and decimals for spin boxes */
- initSpinBox( GroupDimensions->SpinBox_DX, COORD_MIN, COORD_MAX, step, 6 ); // VSR:TODO : DBL_DIGITS_DISPLAY
- initSpinBox( GroupDimensions->SpinBox_DY, COORD_MIN, COORD_MAX, step, 6 ); // VSR:TODO : DBL_DIGITS_DISPLAY
- initSpinBox( GroupDimensions->SpinBox_DZ, COORD_MIN, COORD_MAX, step, 6 ); // VSR:TODO : DBL_DIGITS_DISPLAY
+ initSpinBox( GroupDimensions->SpinBox_DX, COORD_MIN, COORD_MAX, step, "length_precision" );
+ initSpinBox( GroupDimensions->SpinBox_DY, COORD_MIN, COORD_MAX, step, "length_precision" );
+ initSpinBox( GroupDimensions->SpinBox_DZ, COORD_MIN, COORD_MAX, step, "length_precision" );
double dx( 0. ), dy( 0. ), dz( 200. );
GroupDimensions->SpinBox_DX->setValue( dx );
int SpecificStep = 1;
QMap<int, SalomeApp_IntSpinBox*>::iterator anIter;
for (anIter = mySpinBox.begin(); anIter != mySpinBox.end(); ++anIter) {
- //anIter.data()->RangeStepAndValidator(1, 999, SpecificStep);
initSpinBox(anIter.value(), 1, 999, SpecificStep);
}
GroupArgs->TextLabel2->setText( tr( "GEOM_TOLERANCE" ) );
double SpecificStep = 0.0001;
double prec = Precision::Confusion();
- initSpinBox(GroupArgs->SpinBox_DX, prec, MAX_NUMBER, SpecificStep, 9);
+ initSpinBox(GroupArgs->SpinBox_DX, prec, MAX_NUMBER, SpecificStep, "len_tol_precision" );
GroupArgs->SpinBox_DX->setValue(prec);
QVBoxLayout* layout = new QVBoxLayout( centralWidget() );
</property>
</widget>
</item>
- <item row="0" column="1">
- <widget class="SalomeApp_DoubleSpinBox" name="SpinBox1"/>
- </item>
<item row="0" column="2">
<widget class="QLabel" name="TextLabel3">
<property name="sizePolicy">
</property>
</widget>
</item>
- <item row="1" column="1">
- <widget class="SalomeApp_DoubleSpinBox" name="SpinBox4"/>
- </item>
<item row="1" column="2">
<widget class="QLabel" name="TextLabel6">
<property name="sizePolicy">
</property>
</widget>
</item>
- <item row="2" column="1">
- <widget class="SalomeApp_DoubleSpinBox" name="SpinBox3"/>
- </item>
<item row="2" column="2" colspan="2">
<widget class="QCheckBox" name="CheckBox1">
<property name="text">
</property>
</widget>
</item>
+ <item row="0" column="1">
+ <widget class="SalomeApp_IntSpinBox" name="SpinBox1"/>
+ </item>
+ <item row="1" column="1">
+ <widget class="SalomeApp_IntSpinBox" name="SpinBox4"/>
+ </item>
+ <item row="2" column="1">
+ <widget class="SalomeApp_IntSpinBox" name="SpinBox3"/>
+ </item>
</layout>
</item>
</layout>
<extends>QDoubleSpinBox</extends>
<header location="global">SalomeApp_DoubleSpinBox.h</header>
</customwidget>
+ <customwidget>
+ <class>SalomeApp_IntSpinBox</class>
+ <extends>QSpinBox</extends>
+ <header location="global">SalomeApp_IntSpinBox.h</header>
+ </customwidget>
</customwidgets>
<tabstops>
<tabstop>PushButton1</tabstop>
double step = SUIT_Session::session()->resourceMgr()->doubleValue( "Geometry", "SettingsGeomStep", 100.0 );
/* min, max, step and decimals for spin boxes */
- initSpinBox( Group3Spin->SpinBox_DX, COORD_MIN, COORD_MAX, step, 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox( Group3Spin->SpinBox_DY, COORD_MIN, COORD_MAX, step, 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox( Group3Spin->SpinBox_DZ, COORD_MIN, COORD_MAX, step, 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox( Group3Spin->SpinBox_DX, COORD_MIN, COORD_MAX, step, "length_precision" );
+ initSpinBox( Group3Spin->SpinBox_DY, COORD_MIN, COORD_MAX, step, "length_precision" );
+ initSpinBox( Group3Spin->SpinBox_DZ, COORD_MIN, COORD_MAX, step, "length_precision" );
Group3Spin->SpinBox_DX->setValue(0.0);
Group3Spin->SpinBox_DY->setValue(0.0);
return true;
}
-//=================================================================================
-// function : initSpinBox()
-// purpose :
-//=================================================================================
-
-void EntityGUI_3DSketcherDlg::initSpinBox( QDoubleSpinBox* spinBox,
- double min, double max,
- double step, int decimals )
-{
- spinBox->setDecimals( decimals );
- spinBox->setRange( min, max );
- spinBox->setSingleStep( step );
-}
-
//=================================================================================
// function : SetDoubleSpinBoxStep()
// purpose : Double spin box management
~EntityGUI_3DSketcherDlg();
protected:
- void initSpinBox( QDoubleSpinBox*,
- double, double, double = 0.1,
- int = 3 );
-
+
// redefined from GEOMBase_Helper
virtual GEOM::GEOM_IOperations_ptr createOperation();
virtual bool isValid( QString& );
double step = SUIT_Session::session()->resourceMgr()->doubleValue( "Geometry", "SettingsGeomStep", 100.0 );
/* min, max, step and decimals for spin boxes */
- initSpinBox( Group1Spin->SpinBox_DX, COORD_MIN, COORD_MAX, step, 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox( Group2Spin->SpinBox_DX, COORD_MIN, COORD_MAX, step, 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox( Group2Spin->SpinBox_DY, COORD_MIN, COORD_MAX, step, 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox( Group3Spin->SpinBox_DX, COORD_MIN, COORD_MAX, step, 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox( Group3Spin->SpinBox_DY, COORD_MIN, COORD_MAX, step, 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox( Group3Spin->SpinBox_DZ, COORD_MIN, COORD_MAX, step, 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox( Group4Spin->SpinBox_DX, COORD_MIN, COORD_MAX, 0.1, 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox( Group4Spin->SpinBox_DY, COORD_MIN, COORD_MAX, 0.1, 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox( Group4Spin->SpinBox_DZ, COORD_MIN, COORD_MAX, step, 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox( Group4Spin->SpinBox_DS, COORD_MIN, COORD_MAX, 5., 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox( Group1Spin->SpinBox_DX, COORD_MIN, COORD_MAX, step, "length_precision" );
+ initSpinBox( Group2Spin->SpinBox_DX, COORD_MIN, COORD_MAX, step, "length_precision" );
+ initSpinBox( Group2Spin->SpinBox_DY, COORD_MIN, COORD_MAX, step, "length_precision" );
+ initSpinBox( Group3Spin->SpinBox_DX, COORD_MIN, COORD_MAX, step, "length_precision" );
+ initSpinBox( Group3Spin->SpinBox_DY, COORD_MIN, COORD_MAX, step, "length_precision" );
+ initSpinBox( Group3Spin->SpinBox_DZ, COORD_MIN, COORD_MAX, step, "length_precision" );
+ initSpinBox( Group4Spin->SpinBox_DZ, COORD_MIN, COORD_MAX, step, "length_precision" );
+ // san: Note specific step values below!
+ initSpinBox( Group4Spin->SpinBox_DX, COORD_MIN, COORD_MAX, 0.1, "length_precision" );
+ initSpinBox( Group4Spin->SpinBox_DY, COORD_MIN, COORD_MAX, 0.1, "length_precision" );
+ initSpinBox( Group4Spin->SpinBox_DS, COORD_MIN, COORD_MAX, 5., "length_precision" );
/* displays Dialog */
MainWidget->GroupConstructors->setEnabled( false );
if ( myConstructorId == 0 ) { // SEGMENT
if ( constructorId == 1 ) { // XY
mySketchType = PT_ABS;
- initSpinBox( Group2Spin->SpinBox_DX, COORD_MIN, COORD_MAX, step, 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox( Group2Spin->SpinBox_DY, COORD_MIN, COORD_MAX, step, 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox( Group2Spin->SpinBox_DX, COORD_MIN, COORD_MAX, step, "length_precision" );
+ initSpinBox( Group2Spin->SpinBox_DY, COORD_MIN, COORD_MAX, step, "length_precision" );
Group2Spin->TextLabel1->setText( tr( "GEOM_SKETCHER_X2" ) );
Group2Spin->TextLabel2->setText( tr( "GEOM_SKETCHER_Y2" ) );
myX = 0.0;
}
else if ( constructorId == 0 ) { // DXDY
mySketchType = PT_RELATIVE;
- initSpinBox( Group2Spin->SpinBox_DX, COORD_MIN, COORD_MAX, step, 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox( Group2Spin->SpinBox_DY, COORD_MIN, COORD_MAX, step, 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox( Group2Spin->SpinBox_DX, COORD_MIN, COORD_MAX, step, "length_precision" );
+ initSpinBox( Group2Spin->SpinBox_DY, COORD_MIN, COORD_MAX, step, "length_precision" );
Group2Spin->TextLabel1->setText( tr( "GEOM_SKETCHER_DX2" ) );
Group2Spin->TextLabel2->setText( tr( "GEOM_SKETCHER_DY2" ) );
myDX = 0.0;
myY = 0.0;
myLength = 100.0;
if ( myConstructorDirId == 2 ) { // Angle
- initSpinBox( Group2Spin->SpinBox_DX, COORD_MIN, COORD_MAX, 5., 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox( Group2Spin->SpinBox_DY, COORD_MIN, COORD_MAX, step, 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox( Group2Spin->SpinBox_DX, COORD_MIN, COORD_MAX, 5., "length_precision" );
Group2Spin->TextLabel1->setText( tr( "GEOM_SKETCHER_ANGLE2" ) );
Group2Spin->SpinBox_DX->setValue( myAngle );
Group2Spin->buttonApply->setFocus();
if ( constructorId == 2 ) { // Length
mySketchType = DIR_ANGLE_LENGTH;
+ initSpinBox( Group2Spin->SpinBox_DY, COORD_MIN, COORD_MAX, step, "length_precision" );
Group2Spin->TextLabel2->setText( tr( "GEOM_SKETCHER_LENGTH2" ) );
Group2Spin->SpinBox_DY->setValue( myLength );
}
else if ( constructorId == 0 ) { // X
mySketchType = DIR_ANGLE_X;
+ initSpinBox( Group2Spin->SpinBox_DY, COORD_MIN, COORD_MAX, step, "angle_precision" );
Group2Spin->TextLabel2->setText( tr( "GEOM_SKETCHER_X3" ) );
Group2Spin->SpinBox_DY->setValue( myX );
}
else if ( constructorId == 1 ) { // Y
mySketchType = DIR_ANGLE_Y;
+ initSpinBox( Group2Spin->SpinBox_DY, COORD_MIN, COORD_MAX, step, "angle_precision" );
Group2Spin->TextLabel2->setText( tr( "GEOM_SKETCHER_Y3" ) );
Group2Spin->SpinBox_DY->setValue( myY );
}
}
}
else if ( myConstructorDirId == 3 ) { // DXDY
- initSpinBox( Group3Spin->SpinBox_DX, COORD_MIN, COORD_MAX, 0.1, 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox( Group3Spin->SpinBox_DY, COORD_MIN, COORD_MAX, 0.1, 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox( Group3Spin->SpinBox_DZ, COORD_MIN, COORD_MAX, step, 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox( Group3Spin->SpinBox_DX, COORD_MIN, COORD_MAX, 0.1, "length_precision" );
+ initSpinBox( Group3Spin->SpinBox_DY, COORD_MIN, COORD_MAX, 0.1, "length_precision" );
+ initSpinBox( Group3Spin->SpinBox_DZ, COORD_MIN, COORD_MAX, step, "length_precision" );
Group3Spin->TextLabel1->setText( tr( "GEOM_SKETCHER_VX2" ) );
Group3Spin->TextLabel2->setText( tr( "GEOM_SKETCHER_VY2" ) );
myDX = 0.0;
if ( myConstructorDirId == 2 ) { // Angle
if ( constructorId == 2 ) { // Length
mySketchType = DIR_ANGLE_LENGTH;
- initSpinBox( Group3Spin->SpinBox_DX, COORD_MIN, COORD_MAX, 5., 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox( Group3Spin->SpinBox_DY, COORD_MIN, COORD_MAX, step, 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox( Group3Spin->SpinBox_DZ, COORD_MIN, COORD_MAX, 5., 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox( Group3Spin->SpinBox_DX, COORD_MIN, COORD_MAX, 5., "angle_precision" );
+ initSpinBox( Group3Spin->SpinBox_DY, COORD_MIN, COORD_MAX, step, "length_precision" );
+ initSpinBox( Group3Spin->SpinBox_DZ, COORD_MIN, COORD_MAX, 5., "angle_precision" );
Group3Spin->TextLabel1->setText( tr( "GEOM_SKETCHER_ANGLE2" ) );
Group3Spin->TextLabel2->setText( tr( "GEOM_SKETCHER_RADIUS2" ) );
Group3Spin->TextLabel3->setText( tr( "GEOM_SKETCHER_ANGLE2" ));
else if ( myConstructorDirId == 0 ) { // Perpendicular
if ( constructorId == 2 ) { // Length
mySketchType = DIR_PER_LENGTH;
- initSpinBox( Group2Spin->SpinBox_DY, COORD_MIN, COORD_MAX, step, 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox( Group2Spin->SpinBox_DY, COORD_MIN, COORD_MAX, 5., 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox( Group2Spin->SpinBox_DY, COORD_MIN, COORD_MAX, step, "length_precision" );
+ initSpinBox( Group2Spin->SpinBox_DY, COORD_MIN, COORD_MAX, 5., "angle_precision" );
Group2Spin->TextLabel1->setText( tr( "GEOM_SKETCHER_RADIUS2" ) );
Group2Spin->TextLabel2->setText( tr( "GEOM_SKETCHER_ANGLE2" ) );
myRadius = 100.0;
else if ( myConstructorDirId == 1 ) { // Tangent
if ( constructorId == 2 ) { // Length
mySketchType = DIR_TAN_LENGTH;
- initSpinBox( Group2Spin->SpinBox_DY, COORD_MIN, COORD_MAX, step, 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox( Group2Spin->SpinBox_DY, COORD_MIN, COORD_MAX, 5., 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox( Group2Spin->SpinBox_DY, COORD_MIN, COORD_MAX, step, "length_precision" );
+ initSpinBox( Group2Spin->SpinBox_DY, COORD_MIN, COORD_MAX, 5., "angle_precision" );
Group2Spin->TextLabel1->setText( tr( "GEOM_SKETCHER_RADIUS2" ) );
Group2Spin->TextLabel2->setText( tr( "GEOM_SKETCHER_ANGLE2" ) );
myRadius = 100.0;
}
}
+//=================================================================================
+// function : initSpinBox()
+// purpose :
+//=================================================================================
void EntityGUI_SketcherDlg::initSpinBox( SalomeApp_DoubleSpinBox* spinBox,
double min, double max,
- double step, int decimals )
+ double step, const char* quantity )
{
- spinBox->setDecimals( decimals );
+ // The same stuff as in GEOMBase_Skeleton::initSpinBox()!
+ // TODO: Think how to keep the single piece of code...
+
+ // Obtain precision from preferences
+ SUIT_ResourceMgr* resMgr = SUIT_Session::session()->resourceMgr();
+ int aPrecision = resMgr->integerValue( "Geometry", quantity, 6 );
+
+ spinBox->setPrecision( aPrecision );
+ spinBox->setDecimals( aPrecision ); // it's necessary to set decimals before the range setting,
+ // by default Qt rounds boundaries to 2 decimals at setRange
spinBox->setRange( min, max );
spinBox->setSingleStep( step );
+
+ // Add a hint for the user saying how to tune precision
+ QString userPropName = QObject::tr( QString( "PREF_%1" ).arg( quantity ).toLatin1().constData() );
+ spinBox->setProperty( "validity_tune_hint",
+ QVariant( QObject::tr( "PRECISION_HINT" ).arg( userPropName ) ) );
}
//=================================================================================
Group3Spin->SpinBox_DX->setSingleStep(step);
Group3Spin->SpinBox_DY->setSingleStep(step);
Group3Spin->SpinBox_DZ->setSingleStep(step);
- Group4Spin->SpinBox_DX->setSingleStep(step);
- Group4Spin->SpinBox_DY->setSingleStep(step);
Group4Spin->SpinBox_DZ->setSingleStep(step);
- Group4Spin->SpinBox_DS->setSingleStep(step);
+
+ // san: Do NOT override the step when a speicifc step value is used
+ // in some input fields!
+ //Group4Spin->SpinBox_DX->setSingleStep(step);
+ //Group4Spin->SpinBox_DY->setSingleStep(step);
+ //Group4Spin->SpinBox_DS->setSingleStep(step);
}
//=================================================================================
protected:
void initSpinBox( SalomeApp_DoubleSpinBox*,
double, double, double = 0.1,
- int = 3 );
+ const char* quantity = "length_precision" );
// redefined from GEOMBase_Helper
virtual GEOM::GEOM_IOperations_ptr createOperation();
//=================================================================================
void GEOMBase_Skeleton::initSpinBox( SalomeApp_DoubleSpinBox* spinBox,
double min, double max,
- double step, int decimals )
+ double step, const char* quantity )
{
- spinBox->setPrecision( decimals );
- spinBox->setDecimals( decimals ); // it's necessary to set decimals before the range setting,
+ // Obtain precision from preferences
+ SUIT_ResourceMgr* resMgr = SUIT_Session::session()->resourceMgr();
+ int aPrecision = resMgr->integerValue( "Geometry", quantity, 6 );
+
+ spinBox->setPrecision( aPrecision );
+ spinBox->setDecimals( qAbs( aPrecision ) ); // it's necessary to set decimals before the range setting,
// by default Qt rounds boundaries to 2 decimals at setRange
spinBox->setRange( min, max );
spinBox->setSingleStep( step );
+
+ // Add a hint for the user saying how to tune precision
+ QString userPropName = QObject::tr( QString( "GEOM_PREF_%1" ).arg( quantity ).toLatin1().constData() );
+ spinBox->setProperty( "validity_tune_hint",
+ QVariant( QObject::tr( "GEOM_PRECISION_HINT" ).arg( userPropName ) ) );
}
//=================================================================================
protected:
void initSpinBox( QSpinBox*, int, int, int = 1 );
- void initSpinBox( SalomeApp_DoubleSpinBox*, double, double, double = 0.1, int = 3 );
+ void initSpinBox( SalomeApp_DoubleSpinBox*, double, double, double = 0.1, const char* = "length_precision" );
void updateAttributes( GEOM::GEOM_Object_ptr, const QStringList& );
<source>PREF_DEFLECTION</source>
<translation>Deflection coefficient</translation>
</message>
+ <message>
+ <source>GEOM_PREF_def_precision</source>
+ <translation>Default precision</translation>
+ </message>
+ <message>
+ <source>GEOM_PREF_length_precision</source>
+ <translation>Length precision</translation>
+ </message>
+ <message>
+ <source>GEOM_PREF_angle_precision</source>
+ <translation>Angular precision</translation>
+ </message>
+ <message>
+ <source>GEOM_PREF_len_tol_precision</source>
+ <translation>Length tolerance precision</translation>
+ </message>
+ <message>
+ <source>GEOM_PREF_ang_tol_precision</source>
+ <translation>Angular tolerance precision</translation>
+ </message>
+ <message>
+ <source>GEOM_PREF_weight_precision</source>
+ <translation>Weight precision</translation>
+ </message>
+ <message>
+ <source>GEOM_PREF_density_precision</source>
+ <translation>Density precision</translation>
+ </message>
+ <message>
+ <source>GEOM_PREF_parametric_precision</source>
+ <translation>Parametric precision</translation>
+ </message>
+ <message>
+ <source>GEOM_PREF_param_tol_precision</source>
+ <translation>Parametric tolerance precision</translation>
+ </message>
<message>
<source>PREF_DISPLAY_MODE</source>
<translation>Default display mode</translation>
<source>PREF_GROUP_OCCVIEWER</source>
<translation>OCC Viewer 3d</translation>
</message>
+ <message>
+ <source>GEOM_PREF_GROUP_PRECISION</source>
+ <translation>Input fields precision</translation>
+ </message>
<message>
<source>PREF_GROUP_VERTEX</source>
<translation>Marker of Points</translation>
<source>GEOM_ADVANCED</source>
<translation>Advanced shape: type %1</translation>
</message>
+ <message>
+ <source>GEOM_PRECISION_HINT</source>
+ <translation>
+Input value precision can be adjusted using
+'%1' parameter in Geometry module preferences.</translation>
+ </message>
</context>
<context>
<name>BasicGUI_CurveDlg</name>
int defl = addPreference( tr( "PREF_DEFLECTION" ), genGroup,
LightApp_Preferences::DblSpin, "Geometry", "deflection_coeff" );
+
+ // Quantities with individual precision settings
+ int precGroup = addPreference( tr( "GEOM_PREF_GROUP_PRECISION" ), tabId );
+ setPreferenceProperty( precGroup, "columns", 2 );
+
+ const int nbQuantities = 8;
+ int prec[nbQuantities], ii = 0;
+ prec[ii++] = addPreference( tr( "GEOM_PREF_length_precision" ), precGroup,
+ LightApp_Preferences::IntSpin, "Geometry", "length_precision" );
+ prec[ii++] = addPreference( tr( "GEOM_PREF_angle_precision" ), precGroup,
+ LightApp_Preferences::IntSpin, "Geometry", "angle_precision" );
+ prec[ii++] = addPreference( tr( "GEOM_PREF_len_tol_precision" ), precGroup,
+ LightApp_Preferences::IntSpin, "Geometry", "len_tol_precision" );
+ prec[ii++] = addPreference( tr( "GEOM_PREF_ang_tol_precision" ), precGroup,
+ LightApp_Preferences::IntSpin, "Geometry", "ang_tol_precision" );
+ prec[ii++] = addPreference( tr( "GEOM_PREF_weight_precision" ), precGroup,
+ LightApp_Preferences::IntSpin, "Geometry", "weight_precision" );
+ prec[ii++] = addPreference( tr( "GEOM_PREF_density_precision" ), precGroup,
+ LightApp_Preferences::IntSpin, "Geometry", "density_precision" );
+ prec[ii++] = addPreference( tr( "GEOM_PREF_parametric_precision" ), precGroup,
+ LightApp_Preferences::IntSpin, "Geometry", "parametric_precision" );
+ prec[ii ] = addPreference( tr( "GEOM_PREF_param_tol_precision" ), precGroup,
+ LightApp_Preferences::IntSpin, "Geometry", "param_tol_precision" );
+
+ // Set property for precision value for spinboxes
+ for ( ii = 0; ii < nbQuantities; ii++ ){
+ setPreferenceProperty( prec[ii], "min", -10 );
+ setPreferenceProperty( prec[ii], "max", 10 );
+ setPreferenceProperty( prec[ii], "precision", 2 );
+ }
int VertexGroup = addPreference( tr( "PREF_GROUP_VERTEX" ), tabId );
setPreferenceProperty( VertexGroup, "columns", 2 );
QList<QVariant> aMarkerScaleIndicesList;
QStringList aMarkerScaleValuesList;
- for ( int i = GEOM::MS_10; i <= GEOM::MS_70; i++ ) {
- aMarkerScaleIndicesList << i;
- aMarkerScaleValuesList << QString::number( (i-(int)GEOM::MS_10)*0.5 + 1.0 );
+ for ( int iii = GEOM::MS_10; iii <= GEOM::MS_70; iii++ ) {
+ aMarkerScaleIndicesList << iii;
+ aMarkerScaleValuesList << QString::number( (iii-(int)GEOM::MS_10)*0.5 + 1.0 );
}
setPreferenceProperty( markerScale, "strings", aMarkerScaleValuesList );
GroupC1Layout->addWidget(TextLabel1, 0, 0);
SpinBox = new QtxDoubleSpinBox (GroupC1);
- SpinBox->setPrecision( 6 );
- SpinBox->setDecimals( 6 );
+ // Obtain precision from preferences
+ SUIT_ResourceMgr* resMgr = SUIT_Session::session()->resourceMgr();
+ int aPrecision = resMgr->integerValue( "Geometry", "parametric_precision", 6 );
+ SpinBox->setPrecision( aPrecision );
+ SpinBox->setDecimals( aPrecision );
SpinBox->setRange( DEFLECTION_MIN, 1.0 );
SpinBox->setSingleStep( 1.0e-04 );
- //SpinBox->setMinimum(1.0e-07);
- //SpinBox->setMaximum(1.0);
- //SpinBox->setStep(1.0e-04);
SpinBox->setObjectName("SpinBoxU");
SpinBox->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed));
SpinBox->setValue(1.0e-04);
globalSelection( GEOM_COMPOUND );
- double SpecificStep1 = 1;
+ int SpecificStep1 = 1;
double SpecificStep2 = 0.0001;
/* min, max, step and decimals for spin boxes & initial values */
- initSpinBox( GroupPoints->SpinBox1, 2.0, MAX_NUMBER, SpecificStep1, 3 );
- initSpinBox( GroupPoints->SpinBox2, 0.00001, 10000.0, SpecificStep2, 5 );
- initSpinBox( GroupPoints->SpinBox3, 0.0, MAX_NUMBER, SpecificStep1, 3 );
- initSpinBox( GroupPoints->SpinBox4, 1.0, MAX_NUMBER, SpecificStep1, 3 );
- initSpinBox( GroupPoints->SpinBox5, 0.00001, 10000.0, SpecificStep2, 5 );
+ initSpinBox( GroupPoints->SpinBox1, 2, MAX_NUMBER, SpecificStep1 );
+ initSpinBox( GroupPoints->SpinBox2, 0.00001, 10000.0, SpecificStep2, "len_tol_precision" );
+ initSpinBox( GroupPoints->SpinBox3, 0, MAX_NUMBER, SpecificStep1 );
+ initSpinBox( GroupPoints->SpinBox4, 1, MAX_NUMBER, SpecificStep1 );
+ initSpinBox( GroupPoints->SpinBox5, 0.00001, 10000.0, SpecificStep2, "len_tol_precision" );
GroupPoints->SpinBox1->setValue( myMinDeg );
GroupPoints->SpinBox2->setValue( myTol2D );
connect( GroupPoints->CheckBox1, SIGNAL( stateChanged( int ) ),
this, SLOT( ApproxChanged() ) );
- connect( myGeomGUI, SIGNAL( SignalDefaultStepValueChanged( double ) ), this, SLOT( SetDoubleSpinBoxStep( double ) ) );
+ // san: Commented, as all spin boxes here either are integer or use specific non-default step value
+ //connect( myGeomGUI, SIGNAL( SignalDefaultStepValueChanged( double ) ), this, SLOT( SetDoubleSpinBoxStep( double ) ) );
connect( ( (SalomeApp_Application*)( SUIT_Session::session()->activeApplication() ) )->selectionMgr(),
SIGNAL( currentSelectionChanged() ), this, SLOT( SelectionIntoArgument() ) );
//=================================================================================
void GenerationGUI_FillingDlg::SetDoubleSpinBoxStep( double step )
{
- GroupPoints->SpinBox1->setSingleStep(step);
GroupPoints->SpinBox2->setSingleStep(step);
- GroupPoints->SpinBox3->setSingleStep(step);
- GroupPoints->SpinBox4->setSingleStep(step);
GroupPoints->SpinBox5->setSingleStep(step);
}
double step = resMgr->doubleValue("Geometry", "SettingsGeomStep", 100);
// min, max, step and decimals for spin boxes & initial values
- initSpinBox(GroupPoints3->SpinBox_DX, COORD_MIN, COORD_MAX, step, 6); // VSR:TODO : DBL_DIGITS_DISPLAY
- initSpinBox(GroupPoints3->SpinBox_DY, COORD_MIN, COORD_MAX, step, 6); // VSR:TODO : DBL_DIGITS_DISPLAY
- initSpinBox(GroupPoints3->SpinBox_DZ, COORD_MIN, COORD_MAX, step, 6); // VSR:TODO : DBL_DIGITS_DISPLAY
+ initSpinBox(GroupPoints3->SpinBox_DX, COORD_MIN, COORD_MAX, step, "length_precision" );
+ initSpinBox(GroupPoints3->SpinBox_DY, COORD_MIN, COORD_MAX, step, "length_precision" );
+ initSpinBox(GroupPoints3->SpinBox_DZ, COORD_MIN, COORD_MAX, step, "length_precision" );
GroupPoints3->SpinBox_DX->setValue(0.0);
GroupPoints3->SpinBox_DY->setValue(0.0);
GroupPoints3->SpinBox_DZ->setValue(0.0);
- initSpinBox(GroupPoints->SpinBox_DX, COORD_MIN, COORD_MAX, step, 6); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox(GroupPoints->SpinBox_DX, COORD_MIN, COORD_MAX, step, "length_precision" );
GroupPoints->SpinBox_DX->setValue(100.0);
// init variables
{
// min, max, step and decimals for spin boxes & initial values
double SpecificStep = 5;
- initSpinBox(GroupPoints->SpinBox_DX, -360.0, 360.0, SpecificStep, 3); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox(GroupPoints->SpinBox_DX, -360.0, 360.0, SpecificStep, "angle_precision" );
GroupPoints->SpinBox_DX->setValue(45.0);
// init variables
connect(GroupPoints->CheckButton1, SIGNAL(toggled(bool)), this, SLOT(onBothway()));
connect(GroupPoints->CheckButton2, SIGNAL(toggled(bool)), this, SLOT(onReverse()));
- connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), this, SLOT(SetDoubleSpinBoxStep(double)));
+ // san: We don't need this, as the default step value is not used in this dialog box
+ //connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), this, SLOT(SetDoubleSpinBoxStep(double)));
initName(tr("GEOM_REVOLUTION"));
resize(100,100);
double SpecificStep1 = 0.1;
double SpecificStep2 = 0.01;
/* min, max, myStep and decimals for spin boxes & initial values */
- initSpinBox( GroupPoints->SpinBox_DX, 0.001, COORD_MAX, myStep, 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox( GroupPoints->SpinBox_DY, 0.001, COORD_MAX, SpecificStep1, 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox( GroupPoints->SpinBox_DZ, 0.001, COORD_MAX, SpecificStep2, 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox( GroupPoints->SpinBox_DX, 0.001, COORD_MAX, myStep, "weight_precision" );
+ initSpinBox( GroupPoints->SpinBox_DY, 0.001, COORD_MAX, SpecificStep1, "density_precision" );
+ initSpinBox( GroupPoints->SpinBox_DZ, 0.001, COORD_MAX, SpecificStep2, "parametric_precision" );
GroupPoints->SpinBox_DX->setValue( 100.0 );
GroupPoints->SpinBox_DY->setValue( 1.0 );
void OperationGUI_ArchimedeDlg::SetDoubleSpinBoxStep( double step )
{
GroupPoints->SpinBox_DX->setSingleStep(step);
- GroupPoints->SpinBox_DY->setSingleStep(step);
- GroupPoints->SpinBox_DZ->setSingleStep(step);
+
+ // san: Commented so as not to override specific step settings
+ //GroupPoints->SpinBox_DY->setSingleStep(step);
+ //GroupPoints->SpinBox_DZ->setSingleStep(step);
}
//=================================================================================
QMap< int, SalomeApp_DoubleSpinBox* >::iterator anIter;
for (anIter = mySpinBox.begin(); anIter != mySpinBox.end(); ++anIter) {
if (anIter.key() == SpinBox44 || anIter.key() == SpinBox34 || anIter.key() == SpinBox24)
- initSpinBox(anIter.value(), 0.001, 89.999, 5, 0);
+ initSpinBox(anIter.value(), 0.001, 89.999, 5, "angle_precision" );
else
- initSpinBox(anIter.value(), 0.001, COORD_MAX, SpecificStep, 3);
+ initSpinBox(anIter.value(), 0.001, COORD_MAX, SpecificStep, "length_precision" );
}
setHelpFileName("chamfer_operation_page.html");
TextLabelNear = new QLabel( tr( "Near" ), GroupArguments );
GroupArgumentsLayout->addWidget( TextLabelNear, 0, 0 );
- SpinBox_Near = new SalomeApp_DoubleSpinBox( COORD_MIN, COORD_MAX, 10.0, 3, 10, GroupArguments );
+ SpinBox_Near = new SalomeApp_DoubleSpinBox( GroupArguments );
+ initSpinBox( SpinBox_Near, COORD_MIN, COORD_MAX, 10.0, "length_precision" );
GroupArgumentsLayout->addWidget( SpinBox_Near, 0, 1 );
TextLabelFar = new QLabel( tr( "Far" ), GroupArguments );
GroupArgumentsLayout->addWidget( TextLabelFar, 0, 2 );
- SpinBox_Far = new SalomeApp_DoubleSpinBox( COORD_MIN, COORD_MAX, 10.0, 3, 10, GroupArguments );
+ SpinBox_Far = new SalomeApp_DoubleSpinBox( GroupArguments );
+ initSpinBox( SpinBox_Far, COORD_MIN, COORD_MAX, 10.0, "length_precision" );
GroupArgumentsLayout->addWidget( SpinBox_Far, 0, 3 );
resetButton = new QPushButton( tr( "Reset" ), GroupArguments );
// Set range of spinboxes
double SpecificStep = 10.0;
- initSpinBox(GroupVertexes->SpinBox_DX, 0.00001, COORD_MAX, SpecificStep, 5); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox(GroupVertexes->SpinBox_DX, 0.00001, COORD_MAX, SpecificStep, "length_precision" );
setHelpFileName(myIs1D ? "fillet1d_operation_page.html" : "fillet2d_operation_page.html");
// Set range of spinboxes
double SpecificStep = 10.0;
- initSpinBox(Group1->SpinBox_DX, 0.001, COORD_MAX, SpecificStep, 3); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox(Group2->SpinBox_DX, 0.001, COORD_MAX, SpecificStep, 3); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox(Group2->SpinBox_DY, 0.001, COORD_MAX, SpecificStep, 3); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox(Group2->SpinBox_DZ, 0.001, COORD_MAX, SpecificStep, 3); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox(Group3->SpinBox_DX, 0.001, COORD_MAX, SpecificStep, 3); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox(Group3->SpinBox_DY, 0.001, COORD_MAX, SpecificStep, 3); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox(Group3->SpinBox_DZ, 0.001, COORD_MAX, SpecificStep, 3); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox(Group1->SpinBox_DX, 0.001, COORD_MAX, SpecificStep, "length_precision" );
+ initSpinBox(Group2->SpinBox_DX, 0.001, COORD_MAX, SpecificStep, "length_precision" );
+ initSpinBox(Group2->SpinBox_DY, 0.001, COORD_MAX, SpecificStep, "length_precision" );
+ initSpinBox(Group2->SpinBox_DZ, 0.001, COORD_MAX, SpecificStep, "length_precision" );
+ initSpinBox(Group3->SpinBox_DX, 0.001, COORD_MAX, SpecificStep, "length_precision" );
+ initSpinBox(Group3->SpinBox_DY, 0.001, COORD_MAX, SpecificStep, "length_precision" );
+ initSpinBox(Group3->SpinBox_DZ, 0.001, COORD_MAX, SpecificStep, "length_precision" );
setHelpFileName("fillet_operation_page.html");
double step = resMgr->doubleValue("Geometry", "SettingsGeomStep", 100);
// min, max, step and decimals for spin boxes
- initSpinBox(GroupDimensions->SpinBox_DX, 0.000001, COORD_MAX, step, 6); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox(GroupDimensions->SpinBox_DY, 0.000001, COORD_MAX, step, 6); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox(GroupDimensions->SpinBox_DZ, 0.000001, COORD_MAX, step, 6); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox(GroupDimensions->SpinBox_DX, 0.000001, COORD_MAX, step, "length_precision" );
+ initSpinBox(GroupDimensions->SpinBox_DY, 0.000001, COORD_MAX, step, "length_precision" );
+ initSpinBox(GroupDimensions->SpinBox_DZ, 0.000001, COORD_MAX, step, "length_precision" );
// init variables
GroupPoints->LineEdit1->setReadOnly(true);
double step = resMgr->doubleValue("Geometry", "SettingsGeomStep", 100);
// min, max, step and decimals for spin boxes & initial values
- initSpinBox(GroupPoints->SpinBox_DX, 0.0, COORD_MAX, step, 5); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox(GroupPoints->SpinBox_DY, 0.0, COORD_MAX, step, 5); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox(GroupPoints->SpinBox_DZ, 0.00001, COORD_MAX, step, 5); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox(GroupDimensions->SpinBox_DX, 0.0, COORD_MAX, step, 5); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox(GroupDimensions->SpinBox_DY, 0.0, COORD_MAX, step, 5); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox(GroupDimensions->SpinBox_DZ, 0.00001, COORD_MAX, step, 5); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox(GroupPoints->SpinBox_DX, 0.0, COORD_MAX, step, "length_precision" );
+ initSpinBox(GroupPoints->SpinBox_DY, 0.0, COORD_MAX, step, "length_precision" );
+ initSpinBox(GroupPoints->SpinBox_DZ, 0.00001, COORD_MAX, step, "length_precision" );
+ initSpinBox(GroupDimensions->SpinBox_DX, 0.0, COORD_MAX, step, "length_precision" );
+ initSpinBox(GroupDimensions->SpinBox_DY, 0.0, COORD_MAX, step, "length_precision" );
+ initSpinBox(GroupDimensions->SpinBox_DZ, 0.00001, COORD_MAX, step, "length_precision" );
// init variables
GroupPoints->LineEdit1->setReadOnly(true);
double step = resMgr->doubleValue("Geometry", "SettingsGeomStep", 100);
// min, max, step and decimals for spin boxes & initial values
- initSpinBox(GroupPoints->SpinBox_DX, 0.00001, COORD_MAX, step, 5); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox(GroupPoints->SpinBox_DY, 0.00001, COORD_MAX, step, 5); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox(GroupDimensions->SpinBox_DX, 0.00001, COORD_MAX, step, 5); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox(GroupDimensions->SpinBox_DY, 0.00001, COORD_MAX, step, 5); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox(GroupPoints->SpinBox_DX, 0.00001, COORD_MAX, step, "length_precision" );
+ initSpinBox(GroupPoints->SpinBox_DY, 0.00001, COORD_MAX, step, "length_precision" );
+ initSpinBox(GroupDimensions->SpinBox_DX, 0.00001, COORD_MAX, step, "length_precision" );
+ initSpinBox(GroupDimensions->SpinBox_DY, 0.00001, COORD_MAX, step, "length_precision" );
// init variables
myEditCurrentArgument = GroupPoints->LineEdit1;
double aStep = resMgr->doubleValue("Geometry", "SettingsGeomStep", 100);
// min, max, step and decimals for spin boxes & initial values
- initSpinBox(GroupPntVecR->SpinBox_DX, 0.00001, COORD_MAX, aStep, 5); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox(GroupDimensions->SpinBox_DX, 0.00001, COORD_MAX, aStep, 5); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox(GroupPntVecR->SpinBox_DX, 0.00001, COORD_MAX, aStep, "length_precision" );
+ initSpinBox(GroupDimensions->SpinBox_DX, 0.00001, COORD_MAX, aStep, "length_precision" );
// init variables
myEditCurrentArgument = GroupPntVecR->LineEdit1;
double aDefaultSize = 100.0;
/* min, max, step and decimals for spin boxes */
- initSpinBox( GroupPlane->SpinBox_DX, 0.00001, COORD_MAX, aStep, 5 ); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox( GroupPlane->SpinBox_DX, 0.00001, COORD_MAX, aStep, "length_precision" );
GroupPlane->SpinBox_DX->setValue( aDefaultSize );
- initSpinBox( GroupPlane->SpinBox_DY, 0.00001, COORD_MAX, aStep, 5 ); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox( GroupPlane->SpinBox_DY, 0.00001, COORD_MAX, aStep, "length_precision" );
GroupPlane->SpinBox_DY->setValue( aDefaultSize );
- initSpinBox( GroupDimensions->SpinBox_DX, 0.00001, COORD_MAX, aStep, 5 ); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox( GroupDimensions->SpinBox_DX, 0.00001, COORD_MAX, aStep, "length_precision" );
GroupDimensions->SpinBox_DX->setValue( aDefaultSize );
- initSpinBox( GroupDimensions->SpinBox_DY, 0.00001, COORD_MAX, aStep, 5 ); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox( GroupDimensions->SpinBox_DY, 0.00001, COORD_MAX, aStep, "length_precision" );
GroupDimensions->SpinBox_DY->setValue( aDefaultSize );
{
GroupPlane->SpinBox_DX->setSingleStep(step);
GroupPlane->SpinBox_DY->setSingleStep(step);
+ GroupDimensions->SpinBox_DX->setSingleStep(step);
+ GroupDimensions->SpinBox_DY->setSingleStep(step);
}
//=================================================================================
double step = resMgr->doubleValue( "Geometry", "SettingsGeomStep", 100 );
/* min, max, step and decimals for spin boxes */
- initSpinBox( GroupPoints->SpinBox_DX, 0.000001, COORD_MAX, step, 6 ); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox( GroupDimensions->SpinBox_DX, 0.000001, COORD_MAX, step, 6 ); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox( GroupPoints->SpinBox_DX, 0.000001, COORD_MAX, step, "length_precision" );
+ initSpinBox( GroupDimensions->SpinBox_DX, 0.000001, COORD_MAX, step, "length_precision" );
GroupPoints->SpinBox_DX->setValue( 100.0 );
GroupDimensions->SpinBox_DX->setValue( 100.0 );
double step = resMgr->doubleValue("Geometry", "SettingsGeomStep", 100);
// min, max, step and decimals for spin boxes & initial values
- initSpinBox(GroupPoints->SpinBox_DX, 0.000001, COORD_MAX, step, 6); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox(GroupPoints->SpinBox_DY, 0.000001, COORD_MAX, step, 6); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox(GroupDimensions->SpinBox_DX, 0.000001, COORD_MAX, step, 6); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox(GroupDimensions->SpinBox_DY, 0.000001, COORD_MAX, step, 6); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox(GroupPoints->SpinBox_DX, 0.000001, COORD_MAX, step, "length_precision" );
+ initSpinBox(GroupPoints->SpinBox_DY, 0.000001, COORD_MAX, step, "length_precision" );
+ initSpinBox(GroupDimensions->SpinBox_DX, 0.000001, COORD_MAX, step, "length_precision" );
+ initSpinBox(GroupDimensions->SpinBox_DY, 0.000001, COORD_MAX, step, "length_precision" );
// init variables
GroupPoints->LineEdit1->setReadOnly(true);
myIsParameterGr->addButton( rb2, 1 );
rb1->setChecked( true );
- myValEdt = new SalomeApp_DoubleSpinBox( 0., 1., 0.1, 3, 32, GroupPoints->Box );
+ myValEdt = new SalomeApp_DoubleSpinBox( GroupPoints->Box );
+ initSpinBox( myValEdt, 0., 1., 0.1, "parametric_precision" );
myValEdt->setValue( 0.5 );
QLabel* aLbl1 = new QLabel( tr( "GEOM_VALUE" ), GroupPoints->Box );
GroupPoints->LineEdit1->setReadOnly( true );
QLabel* aTolLab = new QLabel( tr( "GEOM_TOLERANCE" ), GroupPoints->Box );
- myTolEdt = new SalomeApp_DoubleSpinBox( 0.0, 100.0, DEFAULT_TOLERANCE_VALUE, 7, 7, GroupPoints->Box );
+ myTolEdt = new SalomeApp_DoubleSpinBox( GroupPoints->Box );
+ initSpinBox( myTolEdt, 0., 100., DEFAULT_TOLERANCE_VALUE, "len_tol_precision" );
myTolEdt->setValue( DEFAULT_TOLERANCE_VALUE );
QGridLayout* boxLayout = new QGridLayout( GroupPoints->Box );
QLabel* aTolLab2 = new QLabel( tr( "GEOM_TOLERANCE" ), GroupPoints2->Box );
myTolEdt2 = new SalomeApp_DoubleSpinBox( GroupPoints2->Box );
- initSpinBox( myTolEdt2, 0, 100, 1e-7, 7 );
+ initSpinBox( myTolEdt2, 0., 100., DEFAULT_TOLERANCE_VALUE, "len_tol_precision" );
myTolEdt2->setValue( DEFAULT_TOLERANCE_VALUE );
myDetectBtn = new QPushButton( tr( "GEOM_DETECT" ) + QString( " [%1]" ).arg( tr( "GLUE_FACES" ) ),
QGridLayout* aLay = new QGridLayout( GroupPoints->Box );
aLay->setMargin( 0 ); aLay->setSpacing( 6 );
- myTolEdt = new SalomeApp_DoubleSpinBox( 0.0, 100.0, DEFAULT_TOLERANCE_VALUE, 7, 10, GroupPoints->Box );
+ myTolEdt = new SalomeApp_DoubleSpinBox( GroupPoints->Box );
+ initSpinBox( myTolEdt, 0.0, 100.0, DEFAULT_TOLERANCE_VALUE, "len_tol_precision" );
myTolEdt->setValue( DEFAULT_TOLERANCE_VALUE );
QLabel* aLbl1 = new QLabel( tr( "GEOM_TOLERANCE" ), GroupPoints->Box );
myFreeBoundBtn = new QPushButton( tr( "GEOM_DETECT" ) + QString( " [%1]" ).arg( tr( "GEOM_FREE_BOUNDARIES" ) ),
QGridLayout* aLay = new QGridLayout( w );
aLay->setMargin( 9 ); aLay->setSpacing( 6 );
- myFixShapeTol3D = new SalomeApp_DoubleSpinBox( 0., 100., 1e-7, 10, 10, w );
- myFixShapeMaxTol3D = new SalomeApp_DoubleSpinBox( 0., 100., 1e-7, 10, 10, w );
+ myFixShapeTol3D = new SalomeApp_DoubleSpinBox( w );
+ initSpinBox( myFixShapeTol3D, 0., 100., 1e-7, "len_tol_precision" );
+ myFixShapeMaxTol3D = new SalomeApp_DoubleSpinBox( w );
+ initSpinBox( myFixShapeMaxTol3D, 0., 100., 1e-7, "len_tol_precision" );
aLay->addWidget( new QLabel( tr( "GEOM_3D_TOLERANCE" ), w ), 0, 0 );
aLay->addWidget( myFixShapeTol3D, 0, 1 );
QGridLayout* aLay = new QGridLayout( w );
aLay->setMargin( 9 ); aLay->setSpacing( 6 );
- myFixFaceSizeTol = new SalomeApp_DoubleSpinBox( 0., 100., 1e-7, 10, 10, w );
+ myFixFaceSizeTol = new SalomeApp_DoubleSpinBox( w );
+ initSpinBox( myFixFaceSizeTol, 0., 100., 1e-7, "len_tol_precision" );
aLay->addWidget( new QLabel( tr( "GEOM_TOLERANCE" ), w ), 0, 0 );
aLay->addWidget( myFixFaceSizeTol, 0, 1 );
QGridLayout* aLay = new QGridLayout( w );
aLay->setMargin( 9 ); aLay->setSpacing( 6 );
- myDropSmallEdgesTol3D = new SalomeApp_DoubleSpinBox( 0., 100., 1e-7, 10, 10, w );
+ myDropSmallEdgesTol3D = new SalomeApp_DoubleSpinBox( w );
+ initSpinBox( myDropSmallEdgesTol3D, 0., 100., 1e-7, "len_tol_precision" );
aLay->addWidget( new QLabel( tr( "GEOM_3D_TOLERANCE" ), w ), 0, 0 );
aLay->addWidget( myDropSmallEdgesTol3D, 0, 1 );
QGridLayout* aLay = new QGridLayout( w );
aLay->setMargin( 9 ); aLay->setSpacing( 6 );
- mySplitAngleAngle = new SalomeApp_DoubleSpinBox( 0, 360, 1, 10, 10, w );
- mySplitAngleMaxTol = new SalomeApp_DoubleSpinBox( 0., 100., 1e-7, 10, 10, w );
+ mySplitAngleAngle = new SalomeApp_DoubleSpinBox( w );
+ initSpinBox( mySplitAngleAngle, 0, 360, 1, "angle_precision" );
+ mySplitAngleMaxTol = new SalomeApp_DoubleSpinBox( w );
+ initSpinBox( mySplitAngleMaxTol, 0., 100., 1e-7, "ang_tol_precision" );
aLay->addWidget( new QLabel( tr( "GEOM_ANGLE_1" ), w ), 0, 0 );
aLay->addWidget( mySplitAngleAngle, 0, 1 );
QGridLayout* aLay = new QGridLayout( w );
aLay->setMargin( 9 ); aLay->setSpacing( 6 );
- mySplitContTol3D = new SalomeApp_DoubleSpinBox( 0., 100., 1e-7, 10, 10, w );
+ mySplitContTol3D = new SalomeApp_DoubleSpinBox( w );
+ initSpinBox( mySplitContTol3D, 0., 100., 1e-7, "len_tol_precision" );
mySplitContSurfCont = new QComboBox( w );
mySplitContSurfCont->addItems( aContinueties );
mySplitContCurvCont = new QComboBox( w );
myBSpline3DCurveChk = new QCheckBox( tr("GEOM_3D_CURVE_MODE"), w );
myBSpline2DCurveChk = new QCheckBox( tr("GEOM_2D_CURVE_MODE"), w );
- myBSplineTol3D = new SalomeApp_DoubleSpinBox( 0., 100., 1e-7, 10, 10, w );
+ myBSplineTol3D = new SalomeApp_DoubleSpinBox( w );
+ initSpinBox( mySplitContTol3D, 0., 100., 1e-7, "len_tol_precision" );
- myBSplineTol2D = new SalomeApp_DoubleSpinBox( 0., 100., 1e-7, 10, 10, w );
+ myBSplineTol2D = new SalomeApp_DoubleSpinBox( w );
+ initSpinBox( myBSplineTol2D, 0., 100., 1e-7, "param_tol_precision" );
myBSplineDegree = new SalomeApp_IntSpinBox( w );
myBSplineSegments = new SalomeApp_IntSpinBox( w );
myToBezier3DCurveChk = new QCheckBox( tr("GEOM_3D_CURVE_MODE"), w );
myToBezier2DCurveChk = new QCheckBox( tr("GEOM_2D_CURVE_MODE"), w );
- myToBezierMaxTol = new SalomeApp_DoubleSpinBox( 0., 100., 1e-7, 10, 10, w );
+ myToBezierMaxTol = new SalomeApp_DoubleSpinBox( w );
+ initSpinBox( myToBezierMaxTol, 0., 100., 1e-7, "len_tol_precision" );
aLay->addWidget( myToBezierSurfModeChk, 0, 0 );
aLay->addWidget( myToBezier3DCurveChk, 1, 0 );
QGridLayout* aLay = new QGridLayout( w );
aLay->setMargin( 9 ); aLay->setSpacing( 6 );
- mySameParameterTol3D = new SalomeApp_DoubleSpinBox( 0., 100., 1e-7, 10, 10, w );
+ mySameParameterTol3D = new SalomeApp_DoubleSpinBox( w );
+ initSpinBox( mySameParameterTol3D, 0., 100., 1e-7, "len_tol_precision" );
aLay->addWidget( new QLabel( tr( "GEOM_3D_TOLERANCE" ), w ), 0, 0 );
aLay->addWidget( mySameParameterTol3D, 0, 1 );
initSpinBox(GroupPoints->SpinBox_DX, 1, 999, SpecificStep2);
GroupPoints->SpinBox_DX->setValue(myNbTimes1);
- initSpinBox(GroupDimensions->SpinBox_DX1, COORD_MIN, COORD_MAX, SpecificStep1, 10); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox(GroupDimensions->SpinBox_DX1, COORD_MIN, COORD_MAX, SpecificStep1, "angle_precision" );
initSpinBox(GroupDimensions->SpinBox_DY1, 1, 999, SpecificStep2);
- initSpinBox(GroupDimensions->SpinBox_DX2, COORD_MIN, COORD_MAX, step, 10); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox(GroupDimensions->SpinBox_DX2, COORD_MIN, COORD_MAX, step,"length_precision" );
initSpinBox(GroupDimensions->SpinBox_DY2, 1, 999, SpecificStep2);
GroupDimensions->SpinBox_DX1->setValue(myAng);
GroupDimensions->SpinBox_DY1->setValue(myNbTimes1);
//=================================================================================
void TransformationGUI_MultiRotationDlg::SetDoubleSpinBoxStep (double step)
{
- GroupPoints->SpinBox_DX->setSingleStep((int)step);
- GroupDimensions->SpinBox_DX1->setSingleStep(step);
- GroupDimensions->SpinBox_DY1->setSingleStep((int)step);
GroupDimensions->SpinBox_DX2->setSingleStep(step);
- GroupDimensions->SpinBox_DY2->setSingleStep((int)step);
+
+ // san: Commented so as not to override specific step settings
+ //GroupPoints->SpinBox_DX->setSingleStep((int)step);
+ //GroupDimensions->SpinBox_DX1->setSingleStep(step);
+ //GroupDimensions->SpinBox_DY1->setSingleStep((int)step);
+ //GroupDimensions->SpinBox_DY2->setSingleStep((int)step);
}
//=================================================================================
int SpecificStep = 1;
// min, max, step and decimals for spin boxes & initial values
- initSpinBox(GroupPoints->SpinBox_DX, COORD_MIN, COORD_MAX, step, 10); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox(GroupPoints->SpinBox_DX, COORD_MIN, COORD_MAX, step, "length_precision" );
initSpinBox(GroupPoints->SpinBox_DY, 1, 999, SpecificStep);
GroupPoints->SpinBox_DX->setValue(myStepU);
GroupPoints->SpinBox_DY->setValue(myNbTimesU);
- initSpinBox(GroupDimensions->SpinBox_DX1, COORD_MIN, COORD_MAX, step, 10); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox(GroupDimensions->SpinBox_DX1, COORD_MIN, COORD_MAX, step, "length_precision" );
initSpinBox(GroupDimensions->SpinBox_DY1, 1, 999, SpecificStep);
- initSpinBox(GroupDimensions->SpinBox_DX2, COORD_MIN, COORD_MAX, step, 10); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox(GroupDimensions->SpinBox_DX2, COORD_MIN, COORD_MAX, step, "length_precision" );
initSpinBox(GroupDimensions->SpinBox_DY2, 1, 999, SpecificStep);
GroupDimensions->SpinBox_DX1->setValue(myStepU);
GroupDimensions->SpinBox_DY1->setValue(myNbTimesU);
void TransformationGUI_MultiTranslationDlg::SetDoubleSpinBoxStep (double step)
{
GroupPoints->SpinBox_DX->setSingleStep(step);
- GroupPoints->SpinBox_DY->setSingleStep((int)step);
- GroupDimensions->SpinBox_DX1->setSingleStep(step);
- GroupDimensions->SpinBox_DY1->setSingleStep((int)step);
+ GroupDimensions->SpinBox_DX1->setSingleStep(step);
GroupDimensions->SpinBox_DX2->setSingleStep(step);
- GroupDimensions->SpinBox_DY2->setSingleStep((int)step);
+
+ // san : Commented so as not to override specific step settings
+ //GroupPoints->SpinBox_DY->setSingleStep((int)step);
+ //GroupDimensions->SpinBox_DY1->setSingleStep((int)step);
+ //GroupDimensions->SpinBox_DY2->setSingleStep((int)step);
}
//=================================================================================
double step = 1;
/* min, max, step and decimals for spin boxes & initial values */
- initSpinBox( GroupPoints->SpinBox_DX, COORD_MIN, COORD_MAX, step, 3 ); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox( GroupPoints->SpinBox_DX, COORD_MIN, COORD_MAX, step, "length_precision" );
GroupPoints->SpinBox_DX->setValue( 1e-05 );
// Activate Create a Copy mode
Group1->LineEdit4->setText("");
Group1->LineEdit5->setText("");
- initSpinBox(Group1->SpinBox_DX, 0, 1, 0.05, 6); // VSR:TODO : DBL_DIGITS_DISPLAY
+ initSpinBox(Group1->SpinBox_DX, 0, 1, 0.05, "parametric_precision" );
Group1->SpinBox_DX->setValue(0);
Group1->CheckButton2->setEnabled(false);
double SpecificStep = 5;
// min, max, step and decimals for spin boxes & initial values
- initSpinBox(GroupPoints->SpinBox_DX, COORD_MIN, COORD_MAX, SpecificStep, 3); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox(GroupPoints->SpinBox_DX, COORD_MIN, COORD_MAX, SpecificStep, "angle_precision" );
GroupPoints->SpinBox_DX->setValue(anAngle);
// init variables
double aFactor = 2.0;
double SpecificStep = 0.5;
- initSpinBox(SpinBox_FX, COORD_MIN, COORD_MAX, SpecificStep, DBL_DIGITS_DISPLAY);
- initSpinBox(SpinBox_FY, COORD_MIN, COORD_MAX, SpecificStep, DBL_DIGITS_DISPLAY);
- initSpinBox(SpinBox_FZ, COORD_MIN, COORD_MAX, SpecificStep, DBL_DIGITS_DISPLAY);
+ initSpinBox(SpinBox_FX, COORD_MIN, COORD_MAX, SpecificStep, "parametric_precision" );
+ initSpinBox(SpinBox_FY, COORD_MIN, COORD_MAX, SpecificStep, "parametric_precision" );
+ initSpinBox(SpinBox_FZ, COORD_MIN, COORD_MAX, SpecificStep, "parametric_precision" );
SpinBox_FX->setValue(aFactor);
SpinBox_FY->setValue(aFactor);
SpinBox_FZ->setValue(aFactor);
connect(SpinBox_FX, SIGNAL(valueChanged(double)), this, SLOT(ValueChangedInSpinBox()));
connect(SpinBox_FY, SIGNAL(valueChanged(double)), this, SLOT(ValueChangedInSpinBox()));
connect(SpinBox_FZ, SIGNAL(valueChanged(double)), this, SLOT(ValueChangedInSpinBox()));
-
- connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), this, SLOT(SetDoubleSpinBoxStep(double)));
+
+ // san : Commented so as not to override specific step settings
+ //connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), this, SLOT(SetDoubleSpinBoxStep(double)));
connect(CheckBoxCopy, SIGNAL(toggled(bool)), this, SLOT(CreateCopyModeChanged(bool)));
double step = resMgr->doubleValue("Geometry", "SettingsGeomStep", 100);
// min, max, step and decimals for spin boxes & initial values
- initSpinBox(GroupPoints->SpinBox1, COORD_MIN, COORD_MAX, step, 3); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox(GroupPoints->SpinBox2, COORD_MIN, COORD_MAX, step, 3); // VSR: TODO: DBL_DIGITS_DISPLAY
- initSpinBox(GroupPoints->SpinBox3, COORD_MIN, COORD_MAX, step, 3); // VSR: TODO: DBL_DIGITS_DISPLAY
+ initSpinBox(GroupPoints->SpinBox1, COORD_MIN, COORD_MAX, step, "length_precision" );
+ initSpinBox(GroupPoints->SpinBox2, COORD_MIN, COORD_MAX, step, "length_precision" );
+ initSpinBox(GroupPoints->SpinBox3, COORD_MIN, COORD_MAX, step, "length_precision" );
GroupPoints->SpinBox1->setValue(0.0);
GroupPoints->SpinBox2->setValue(0.0);