X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_MergeDlg.cxx;h=b269e2a47c99623abb11d521bc3db6d4114b20c6;hp=f7977d196d83683df32377dd11f88c782a0867a8;hb=5e337ede0d2247b347814366899cf09e71393dab;hpb=d2203f18e169ef0e878861b9cff7d0b7c86d4a91 diff --git a/src/SMESHGUI/SMESHGUI_MergeDlg.cxx b/src/SMESHGUI/SMESHGUI_MergeDlg.cxx index f7977d196..b269e2a47 100644 --- a/src/SMESHGUI/SMESHGUI_MergeDlg.cxx +++ b/src/SMESHGUI/SMESHGUI_MergeDlg.cxx @@ -1144,6 +1144,9 @@ void SMESHGUI_MergeDlg::SetEditCurrentArgument() //================================================================================= void SMESHGUI_MergeDlg::SelectionIntoArgument() { + if ( myIsBusy ) + return; + if (myEditCurrentArgument == (QWidget*)LineEditMesh) { QString aString = ""; @@ -1222,6 +1225,9 @@ void SMESHGUI_MergeDlg::SelectionIntoArgument() LineEditMesh->setText( aString ); + + myIsBusy = true; // here selection can change + if (myAction == MERGE_NODES) { SMESH::SetPointRepresentation(true); if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI )) @@ -1231,6 +1237,8 @@ void SMESHGUI_MergeDlg::SelectionIntoArgument() if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI )) aViewWindow->SetSelectionMode(CellSelection); + myIsBusy = false; + // process groups myGroups.clear(); ListExclude->clear(); @@ -1408,9 +1416,11 @@ void SMESHGUI_MergeDlg::onTypeChanged (int id) myIdPreview->SetPointsLabeled(false); SMESH::SetPointRepresentation(false); + myIsBusy = true; // keep currently selected mesh if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI )) aViewWindow->SetSelectionMode(ActorSelection); mySelectionMgr->clearFilters(); + myIsBusy = false; GroupCoincident->hide(); GroupEdit->hide(); @@ -1424,6 +1434,7 @@ void SMESHGUI_MergeDlg::onTypeChanged (int id) myMeshOrSubMeshOrGroupFilter = new SMESH_TypeFilter (SMESH::IDSOURCE); + myIsBusy = true; // keep currently selected mesh if (myAction == MERGE_NODES) { SMESH::SetPointRepresentation(true); if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI )) @@ -1435,11 +1446,14 @@ void SMESHGUI_MergeDlg::onTypeChanged (int id) if( mySelector->IsSelectionEnabled() ) aViewWindow->SetSelectionMode(CellSelection); } + myIsBusy = false; GroupCoincident->show(); GroupEdit->show(); break; } - SelectionIntoArgument(); + + if ( myMesh->_is_nil() ) + SelectionIntoArgument(); updateControls();