X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_RotationDlg.cxx;h=1dc48b0b33adc99cc2d8c7ef33072c030ea36bc3;hp=4f122537b7d6a641f2946e991baf0883f5d9ee7e;hb=0c16e57723ec8522693f2f0b6d3216b4f4e3d686;hpb=7ce6ef7ee96d7287440bfb25bfc82f24fdcb4c06 diff --git a/src/SMESHGUI/SMESHGUI_RotationDlg.cxx b/src/SMESHGUI/SMESHGUI_RotationDlg.cxx index 4f122537b..1dc48b0b3 100644 --- a/src/SMESHGUI/SMESHGUI_RotationDlg.cxx +++ b/src/SMESHGUI/SMESHGUI_RotationDlg.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2008 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2010 CEA/DEN, EDF R&D, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -19,6 +19,7 @@ // // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // + // SMESH SMESHGUI : GUI for SMESH component // File : SMESHGUI_RotationDlg.cxx // Author : Michael ZORIN, Open CASCADE S.A.S. @@ -133,6 +134,7 @@ SMESHGUI_RotationDlg::SMESHGUI_RotationDlg( SMESHGUI* theModule ) SelectElementsButton->setIcon(image1); LineEditElements = new QLineEdit(GroupArguments); LineEditElements->setValidator(myIdValidator); + LineEditElements->setMaxLength(-1); myFilterBtn = new QPushButton( tr( "SMESH_BUT_FILTER" ), GroupArguments ); connect(myFilterBtn, SIGNAL(clicked()), this, SLOT(setFilters())); @@ -254,14 +256,14 @@ SMESHGUI_RotationDlg::SMESHGUI_RotationDlg( SMESHGUI* theModule ) SMESHGUI_RotationDlgLayout->addWidget(GroupButtons); /* Initialisations */ - SpinBox_X->RangeStepAndValidator(COORD_MIN, COORD_MAX, 10.0, 3); - SpinBox_Y->RangeStepAndValidator(COORD_MIN, COORD_MAX, 10.0, 3); - SpinBox_Z->RangeStepAndValidator(COORD_MIN, COORD_MAX, 10.0, 3); - SpinBox_DX->RangeStepAndValidator(COORD_MIN, COORD_MAX, 10.0, 3); - SpinBox_DY->RangeStepAndValidator(COORD_MIN, COORD_MAX, 10.0, 3); - SpinBox_DZ->RangeStepAndValidator(COORD_MIN, COORD_MAX, 10.0, 3); + SpinBox_X->RangeStepAndValidator(COORD_MIN, COORD_MAX, 10.0, "length_precision"); + SpinBox_Y->RangeStepAndValidator(COORD_MIN, COORD_MAX, 10.0, "length_precision"); + SpinBox_Z->RangeStepAndValidator(COORD_MIN, COORD_MAX, 10.0, "length_precision"); + SpinBox_DX->RangeStepAndValidator(COORD_MIN, COORD_MAX, 10.0, "length_precision"); + SpinBox_DY->RangeStepAndValidator(COORD_MIN, COORD_MAX, 10.0, "length_precision"); + SpinBox_DZ->RangeStepAndValidator(COORD_MIN, COORD_MAX, 10.0, "length_precision"); - SpinBox_Angle->RangeStepAndValidator(-360.0, +360.0, 5.0, 3); + SpinBox_Angle->RangeStepAndValidator(-360.0, +360.0, 5.0, "angle_precision"); myConstructorId = 0; RadioButton1->setChecked(true); @@ -414,8 +416,8 @@ bool SMESHGUI_RotationDlg::ClickOnApply() aMeshEditor->RotateObject(mySelectedObject, anAxis, anAngle, false); else aMeshEditor->Rotate(anElementsId, anAxis, anAngle, false); - if( !myMesh->_is_nil()) - myMesh->SetParameters(SMESHGUI::JoinObjectParameters(aParameters)); + if( !myMesh->_is_nil()) + myMesh->SetParameters( aParameters.join(":").toLatin1().constData() ); break; case COPY_ELEMS_BUTTON: if ( makeGroups ) { @@ -431,8 +433,8 @@ bool SMESHGUI_RotationDlg::ClickOnApply() else aMeshEditor->Rotate(anElementsId, anAxis, anAngle, true); } - if( !myMesh->_is_nil()) - myMesh->SetParameters(SMESHGUI::JoinObjectParameters(aParameters)); + if( !myMesh->_is_nil()) + myMesh->SetParameters( aParameters.join(":").toLatin1().constData() ); break; case MAKE_MESH_BUTTON: SMESH::SMESH_Mesh_var mesh; @@ -442,8 +444,8 @@ bool SMESHGUI_RotationDlg::ClickOnApply() else mesh = aMeshEditor->RotateMakeMesh(anElementsId, anAxis, anAngle, makeGroups, LineEditNewMesh->text().toLatin1().data()); - if( !mesh->_is_nil()) - mesh->SetParameters(SMESHGUI::JoinObjectParameters(aParameters)); + if( !mesh->_is_nil()) + mesh->SetParameters( aParameters.join(":").toLatin1().constData() ); } } catch (...) { } @@ -455,6 +457,8 @@ bool SMESHGUI_RotationDlg::ClickOnApply() Init(false); mySelectedObject = SMESH::SMESH_IDSource::_nil(); SelectionIntoArgument(); + + SMESHGUI::Modified(); } return true; @@ -506,10 +510,10 @@ void SMESHGUI_RotationDlg::ClickOnHelp() platform = "application"; #endif SUIT_MessageBox::warning(this, tr("WRN_WARNING"), - tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE"). - arg(app->resourceMgr()->stringValue("ExternalBrowser", - platform)). - arg(myHelpFileName)); + tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE"). + arg(app->resourceMgr()->stringValue("ExternalBrowser", + platform)). + arg(myHelpFileName)); } } @@ -543,15 +547,15 @@ void SMESHGUI_RotationDlg::onTextChange (const QString& theNewText) QStringList aListId = theNewText.split(" ", QString::SkipEmptyParts); for (int i = 0; i < aListId.count(); i++) { - const SMDS_MeshElement * e = aMesh->FindElement(aListId[ i ].toInt()); - if (e) - newIndices.Add(e->GetID()); - myNbOkElements++; + const SMDS_MeshElement * e = aMesh->FindElement(aListId[ i ].toInt()); + if (e) + newIndices.Add(e->GetID()); + myNbOkElements++; } mySelector->AddOrRemoveIndex( anIO, newIndices, false ); if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI )) - aViewWindow->highlight( anIO, true, true ); + aViewWindow->highlight( anIO, true, true ); myElementsId = theNewText; } @@ -605,7 +609,7 @@ void SMESHGUI_RotationDlg::SelectionIntoArgument() myActor = SMESH::FindActorByObject(myMesh); if (!myActor) myActor = SMESH::FindActorByEntry(IO->getEntry()); - if (!myActor) + if (!myActor && !CheckBoxMesh->isChecked()) return; int aNbUnits = 0; @@ -743,23 +747,23 @@ void SMESHGUI_RotationDlg::SetEditCurrentArgument() myEditCurrentArgument = (QWidget*)LineEditElements; SMESH::SetPointRepresentation(false); if (CheckBoxMesh->isChecked()) { - if ( aViewWindow ) - aViewWindow->SetSelectionMode(ActorSelection); + if ( aViewWindow ) + aViewWindow->SetSelectionMode(ActorSelection); mySelectionMgr->installFilter(myMeshOrSubMeshOrGroupFilter); } else { - if ( aViewWindow ) - aViewWindow->SetSelectionMode( CellSelection ); - } + if ( aViewWindow ) + aViewWindow->SetSelectionMode( CellSelection ); + } } else if (send == SelectPointButton) { myEditCurrentArgument = (QWidget*)SpinBox_X; SMESH::SetPointRepresentation(true); - if ( aViewWindow ) - aViewWindow->SetSelectionMode( NodeSelection ); + if ( aViewWindow ) + aViewWindow->SetSelectionMode( NodeSelection ); } else if (send == SelectVectorButton) { myEditCurrentArgument = (QWidget*)SpinBox_DX; SMESH::SetPointRepresentation(true); - if ( aViewWindow ) - aViewWindow->SetSelectionMode( NodeSelection ); + if ( aViewWindow ) + aViewWindow->SetSelectionMode( NodeSelection ); } break; } @@ -879,8 +883,8 @@ void SMESHGUI_RotationDlg::onSelectMesh (bool toSelectMesh) bool SMESHGUI_RotationDlg::IsAxisOk() { return (SpinBox_DX->GetValue() != 0 || - SpinBox_DY->GetValue() != 0 || - SpinBox_DZ->GetValue() != 0); + SpinBox_DY->GetValue() != 0 || + SpinBox_DZ->GetValue() != 0); } //================================================================================= @@ -977,8 +981,8 @@ void SMESHGUI_RotationDlg::setFilters() { if(myMesh->_is_nil()) { SUIT_MessageBox::critical(this, - tr("SMESH_ERROR"), - tr("NO_MESH_SELECTED")); + tr("SMESH_ERROR"), + tr("NO_MESH_SELECTED")); return; } if ( !myFilterDlg )