X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_SmoothingDlg.cxx;h=bea37c884b80aa7e0047fb799cda11be9f701cc3;hp=bf7057ddccf29e0fd52ddeceb213b622112f62e6;hb=HEAD;hpb=5c19bc1e1684ec6a466423361949ed7b60556968 diff --git a/src/SMESHGUI/SMESHGUI_SmoothingDlg.cxx b/src/SMESHGUI/SMESHGUI_SmoothingDlg.cxx index bf7057ddc..6c2c420b4 100644 --- a/src/SMESHGUI/SMESHGUI_SmoothingDlg.cxx +++ b/src/SMESHGUI/SMESHGUI_SmoothingDlg.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -111,8 +111,8 @@ SMESHGUI_SmoothingDlg::SMESHGUI_SmoothingDlg( SMESHGUI* theModule ) : QDialog( SMESH::GetDesktop( theModule ) ), mySMESHGUI( theModule ), mySelectionMgr( SMESH::GetSelectionMgr( theModule ) ), - myFilterDlg(0), - mySelectedObject(SMESH::SMESH_IDSource::_nil()) + mySelectedObject(SMESH::SMESH_IDSource::_nil()), + myFilterDlg(0) { QPixmap image0 (SMESH::GetResourceMgr( mySMESHGUI )->loadPixmap("SMESH", tr("ICON_DLG_SMOOTHING"))); QPixmap image1 (SMESH::GetResourceMgr( mySMESHGUI )->loadPixmap("SMESH", tr("ICON_SELECT"))); @@ -268,7 +268,7 @@ SMESHGUI_SmoothingDlg::SMESHGUI_SmoothingDlg( SMESHGUI* theModule ) myMeshOrSubMeshOrGroupFilter = new SMESH_LogicalFilter (aListOfFilters, SMESH_LogicalFilter::LO_OR); - myHelpFileName = "smoothing_page.html"; + myHelpFileName = "smoothing.html"; Init(); @@ -341,7 +341,7 @@ void SMESHGUI_SmoothingDlg::Init() //================================================================================= bool SMESHGUI_SmoothingDlg::ClickOnApply() { - if (mySMESHGUI->isActiveStudyLocked()) + if (SMESHGUI::isStudyLocked()) return false; if (!isValid()) @@ -351,8 +351,8 @@ bool SMESHGUI_SmoothingDlg::ClickOnApply() QStringList aListElementsId = LineEditElements->text().split(" ", QString::SkipEmptyParts); QStringList aListNodesId = LineEditNodes->text().split(" ", QString::SkipEmptyParts); - SMESH::long_array_var anElementsId = new SMESH::long_array; - SMESH::long_array_var aNodesId = new SMESH::long_array; + SMESH::smIdType_array_var anElementsId = new SMESH::smIdType_array; + SMESH::smIdType_array_var aNodesId = new SMESH::smIdType_array; anElementsId->length(aListElementsId.count()); for (int i = 0; i < aListElementsId.count(); i++) @@ -382,7 +382,7 @@ bool SMESHGUI_SmoothingDlg::ClickOnApply() SUIT_OverrideCursor aWaitCursor; SMESH::SMESH_MeshEditor_var aMeshEditor = myMesh->GetMeshEditor(); - myMesh->SetParameters( aParameters.join(":").toLatin1().constData() ); + myMesh->SetParameters( aParameters.join(":").toUtf8().constData() ); if ( CheckBoxParametric->isChecked() ) { if(CheckBoxMesh->isChecked()) @@ -406,10 +406,11 @@ bool SMESHGUI_SmoothingDlg::ClickOnApply() if (aResult) { SMESH::Update(myIO, SMESH::eDisplay); + SMESH::RepaintCurrentView(); SMESHGUI::Modified(); - Init(); + //Init(); - mySelectedObject = SMESH::SMESH_IDSource::_nil(); + //mySelectedObject = SMESH::SMESH_IDSource::_nil(); } } @@ -517,12 +518,12 @@ void SMESHGUI_SmoothingDlg::onTextChange (const QString& theNewText) buttonOk->setEnabled(false); buttonApply->setEnabled(false); - // hilight entered elements/nodes + // highlight entered elements/nodes SMDS_Mesh* aMesh = myActor ? myActor->GetObject()->GetMesh() : 0; QStringList aListId = theNewText.split(" ", QString::SkipEmptyParts); if (send == LineEditElements) { - TColStd_MapOfInteger newIndices; + SVTK_TVtkIDsMap newIndices; for (int i = 0; i < aListId.count(); i++) { int id = aListId[ i ].toInt(); if ( id > 0 ) { @@ -537,7 +538,7 @@ void SMESHGUI_SmoothingDlg::onTextChange (const QString& theNewText) } } else if (send == LineEditNodes) { - TColStd_MapOfInteger newIndices; + SVTK_TVtkIDsMap newIndices; for (int i = 0; i < aListId.count(); i++) { int id = aListId[ i ].toInt(); if ( id > 0 ) { @@ -560,11 +561,12 @@ void SMESHGUI_SmoothingDlg::onTextChange (const QString& theNewText) //================================================================================= // function : SelectionIntoArgument() -// purpose : Called when selection as changed or other case +// purpose : Called when selection has changed or other cases //================================================================================= void SMESHGUI_SmoothingDlg::SelectionIntoArgument() { if (myBusy) return; + if (myFilterDlg && myFilterDlg->isVisible()) return; // filter dlg active // clear QString aString = ""; @@ -573,7 +575,8 @@ void SMESHGUI_SmoothingDlg::SelectionIntoArgument() BusyLocker lock( myBusy ); if (myEditCurrentArgument == LineEditElements || - myEditCurrentArgument == LineEditNodes) { + myEditCurrentArgument == LineEditNodes) + { myEditCurrentArgument->setText(aString); if (myEditCurrentArgument == LineEditElements) { myNbOkElements = 0; @@ -594,44 +597,44 @@ void SMESHGUI_SmoothingDlg::SelectionIntoArgument() SALOME_ListIO aList; mySelectionMgr->selectedObjects(aList); int nbSel = aList.Extent(); - if (nbSel != 1) - return; - - Handle(SALOME_InteractiveObject) IO = aList.First(); - - if (myEditCurrentArgument == LineEditElements) { - myMesh = SMESH::GetMeshByIO(IO); - if (myMesh->_is_nil()) - return; - myIO = IO; - myActor = SMESH::FindActorByObject(myMesh); - - if (CheckBoxMesh->isChecked()) { - SMESH::GetNameOfSelectedIObjects(mySelectionMgr, aString); + if (nbSel == 1) + { + Handle(SALOME_InteractiveObject) IO = aList.First(); - SMESH::SMESH_IDSource_var obj = SMESH::IObjectToInterface( myIO ); - if ( !CORBA::is_nil( obj ) ) - mySelectedObject = obj; - else + if (myEditCurrentArgument == LineEditElements) { + myMesh = SMESH::GetMeshByIO(IO); + if (myMesh->_is_nil()) return; - myNbOkElements = true; - } else { - // get indices of selected elements - TColStd_IndexedMapOfInteger aMapIndex; - mySelector->GetIndex(IO,aMapIndex); - myNbOkElements = aMapIndex.Extent(); + myIO = IO; + myActor = SMESH::FindActorByObject(myMesh); - if (myNbOkElements < 1) - return; + if (CheckBoxMesh->isChecked()) { + SMESH::GetNameOfSelectedIObjects(mySelectionMgr, aString); - QStringList elements; - for ( int i = 0; i < myNbOkElements; ++i ) - elements << QString::number( aMapIndex( i+1 ) ); - aString = elements.join(" "); + SMESH::SMESH_IDSource_var obj = SMESH::IObjectToInterface( myIO ); + if ( !CORBA::is_nil( obj ) ) + mySelectedObject = obj; + else + return; + myNbOkElements = true; + } else { + // get indices of selected elements + SVTK_TIndexedMapOfVtkId aMapIndex; + mySelector->GetIndex(IO,aMapIndex); + myNbOkElements = aMapIndex.Extent(); + + if (myNbOkElements < 1) + return; + + QStringList elements; + for ( int i = 0; i < myNbOkElements; ++i ) + elements << QString::number( aMapIndex( i+1 ) ); + aString = elements.join(" "); + } + } else if (myEditCurrentArgument == LineEditNodes && !myMesh->_is_nil() && myIO->isSame(IO) ) + { + myNbOkNodes = SMESH::GetNameOfSelectedNodes(mySelector, IO, aString); } - } else if (myEditCurrentArgument == LineEditNodes && !myMesh->_is_nil() && myIO->isSame(IO) ) - { - myNbOkNodes = SMESH::GetNameOfSelectedNodes(mySelector, IO, aString); } myEditCurrentArgument->setText(aString);