From 783b5a717c5967960d2adfdc43f158c8411c66ed Mon Sep 17 00:00:00 2001 From: mzn Date: Fri, 24 Jun 2005 12:24:06 +0000 Subject: [PATCH] The selections of elements corrected. --- src/SMESHGUI/SMESHGUI_ExtrusionDlg.cxx | 25 +++-------- src/SMESHGUI/SMESHGUI_RemoveElementsDlg.cxx | 25 +++-------- src/SMESHGUI/SMESHGUI_RemoveNodesDlg.cxx | 31 +++++-------- src/SMESHGUI/SMESHGUI_RevolutionDlg.cxx | 29 ++++-------- src/SMESHGUI/SMESHGUI_RotationDlg.cxx | 31 ++++--------- src/SMESHGUI/SMESHGUI_Selection.cxx | 6 +-- src/SMESHGUI/SMESHGUI_SmoothingDlg.cxx | 49 ++++++--------------- src/SMESHGUI/SMESHGUI_SymmetryDlg.cxx | 29 ++++-------- src/SMESHGUI/SMESHGUI_TranslationDlg.cxx | 33 +++++--------- 9 files changed, 75 insertions(+), 183 deletions(-) diff --git a/src/SMESHGUI/SMESHGUI_ExtrusionDlg.cxx b/src/SMESHGUI/SMESHGUI_ExtrusionDlg.cxx index 4860baeef..b5df5cc94 100644 --- a/src/SMESHGUI/SMESHGUI_ExtrusionDlg.cxx +++ b/src/SMESHGUI/SMESHGUI_ExtrusionDlg.cxx @@ -438,34 +438,19 @@ void SMESHGUI_ExtrusionDlg::onTextChange (const QString& theNewText) aMesh = myActor->GetObject()->GetMesh(); if (aMesh) { - //mySelectionMgr->clearSelected(); - //mySelectionMgr->AddIObject(myActor->getIO()); - SALOME_ListIO aList; - aList.Append(myActor->getIO()); - mySelectionMgr->setSelectedObjects(aList, false); - QStringList aListId = QStringList::split(" ", theNewText, false); if (send == LineEditElements) { const Handle(SALOME_InteractiveObject)& anIO = myActor->getIO(); - TColStd_IndexedMapOfInteger selectedIndices; TColStd_MapOfInteger newIndices; - mySelector->GetIndex(anIO, selectedIndices); for (int i = 0; i < aListId.count(); i++) { const SMDS_MeshElement * e = aMesh->FindElement(aListId[ i ].toInt()); - if (e) { - //if (!mySelectionMgr->IsIndexSelected(myActor->getIO(), e->GetID())) { - if (selectedIndices.Add(e->GetID())) { - //mySelectionMgr->AddOrRemoveIndex(myActor->getIO(), e->GetID(), true); - newIndices.Add(e->GetID()); - } - myNbOkElements++; - } - } - if (newIndices.Extent() > 0) { - mySelector->AddOrRemoveIndex(anIO, newIndices, true); - myViewWindow->highlight( anIO, true, true ); + if (e) + newIndices.Add(e->GetID()); + myNbOkElements++; } + mySelector->AddOrRemoveIndex(anIO, newIndices, false); + myViewWindow->highlight( anIO, true, true ); myElementsId = theNewText; } } diff --git a/src/SMESHGUI/SMESHGUI_RemoveElementsDlg.cxx b/src/SMESHGUI/SMESHGUI_RemoveElementsDlg.cxx index 62ef4d6ad..baf1814d2 100644 --- a/src/SMESHGUI/SMESHGUI_RemoveElementsDlg.cxx +++ b/src/SMESHGUI/SMESHGUI_RemoveElementsDlg.cxx @@ -261,9 +261,7 @@ void SMESHGUI_RemoveElementsDlg::ClickOnApply() } if (aResult) { - SALOME_ListIO aList; - aList.Append(myActor->getIO()); - mySelectionMgr->setSelectedObjects(aList, false); + myEditCurrentArgument->clear(); SMESH::UpdateView(); } } @@ -314,36 +312,27 @@ void SMESHGUI_RemoveElementsDlg::onTextChange (const QString& theNewText) if(myActor){ if(SMDS_Mesh* aMesh = myActor->GetObject()->GetMesh()){ Handle(SALOME_InteractiveObject) anIO = myActor->getIO(); - SALOME_ListIO aList; - aList.Append(anIO); - mySelectionMgr->setSelectedObjects(aList, false); - TColStd_IndexedMapOfInteger selectedIndices; TColStd_MapOfInteger newIndices; - mySelector->GetIndex(anIO,selectedIndices); QStringList aListId = QStringList::split(" ", theNewText, false); for (int i = 0; i < aListId.count(); i++) { if(const SMDS_MeshElement *anElem = aMesh->FindElement(aListId[i].toInt())) { - if (selectedIndices.Add(anElem->GetID())) { - newIndices.Add(anElem->GetID()); - } + newIndices.Add(anElem->GetID()); myNbOkElements++; } } - - if (newIndices.Extent() > 0){ - mySelector->AddOrRemoveIndex(anIO,newIndices,true); - myViewWindow->highlight(anIO,true,true); - } + + mySelector->AddOrRemoveIndex(anIO,newIndices,false); + myViewWindow->highlight(anIO,true,true); } } - + if (myNbOkElements) { buttonOk->setEnabled(true); buttonApply->setEnabled(true); } - + myBusy = false; } diff --git a/src/SMESHGUI/SMESHGUI_RemoveNodesDlg.cxx b/src/SMESHGUI/SMESHGUI_RemoveNodesDlg.cxx index d07fc087d..7e913dbd5 100644 --- a/src/SMESHGUI/SMESHGUI_RemoveNodesDlg.cxx +++ b/src/SMESHGUI/SMESHGUI_RemoveNodesDlg.cxx @@ -214,7 +214,11 @@ void SMESHGUI_RemoveNodesDlg::Init() connect(SelectButtonC1A1, SIGNAL (clicked()), this, SLOT(SetEditCurrentArgument())); connect(mySMESHGUI, SIGNAL (SignalDeactivateActiveDialog()), this, SLOT(DeactivateActiveDialog())); connect(mySelectionMgr, SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())); - + /* to close dialog if study change */ + connect(mySMESHGUI, SIGNAL (SignalCloseAllDialogs()), this, SLOT(ClickOnCancel())); + connect(myEditCurrentArgument, SIGNAL(textChanged(const QString&)), + SLOT(onTextChange(const QString&))); + /* Move widget on the botton right corner of main widget */ int x, y; mySMESHGUI->DefineDlgPosition(this, x, y); @@ -259,9 +263,7 @@ void SMESHGUI_RemoveNodesDlg::ClickOnApply() } if (aResult) { - SALOME_ListIO aList; - aList.Append(myActor->getIO()); - mySelectionMgr->setSelectedObjects(aList, false); + myEditCurrentArgument->clear(); SMESH::UpdateView(); } @@ -311,28 +313,19 @@ void SMESHGUI_RemoveNodesDlg::onTextChange (const QString& theNewText) if(myActor){ if(SMDS_Mesh* aMesh = myActor->GetObject()->GetMesh()){ Handle(SALOME_InteractiveObject) anIO = myActor->getIO(); - SALOME_ListIO aList; - aList.Append(anIO); - mySelectionMgr->setSelectedObjects(aList, false); - - TColStd_IndexedMapOfInteger selectedIndices; + TColStd_MapOfInteger newIndices; - mySelector->GetIndex(anIO,selectedIndices); - + QStringList aListId = QStringList::split(" ", theNewText, false); for (int i = 0; i < aListId.count(); i++) { - if (const SMDS_MeshNode *aNode = aMesh->FindNode(aListId[ i ].toInt())) { - if (selectedIndices.Add(aNode->GetID())) { - newIndices.Add(aNode->GetID()); - } + if (const SMDS_MeshNode *aNode = aMesh->FindNode(aListId[i].toInt())) { + newIndices.Add(aNode->GetID()); myNbOkNodes++; } } - if(newIndices.Extent() > 0){ - mySelector->AddOrRemoveIndex(anIO,newIndices,true); - myViewWindow->highlight(anIO,true,true); - } + mySelector->AddOrRemoveIndex(anIO,newIndices,false); + myViewWindow->highlight(anIO,true,true); } } diff --git a/src/SMESHGUI/SMESHGUI_RevolutionDlg.cxx b/src/SMESHGUI/SMESHGUI_RevolutionDlg.cxx index 05fd46693..b2e4615b1 100644 --- a/src/SMESHGUI/SMESHGUI_RevolutionDlg.cxx +++ b/src/SMESHGUI/SMESHGUI_RevolutionDlg.cxx @@ -522,35 +522,22 @@ void SMESHGUI_RevolutionDlg::onTextChange (const QString& theNewText) if (aMesh) { if (send == LineEditElements) { - //mySelectionMgr->clearSelected(); - //mySelectionMgr->AddIObject(myActor->getIO()); - SALOME_ListIO aList; - aList.Append(myActor->getIO()); - mySelectionMgr->setSelectedObjects(aList, false); + Handle(SALOME_InteractiveObject) anIO = myActor->getIO(); - TColStd_IndexedMapOfInteger selectedIndices; TColStd_MapOfInteger newIndices; - mySelector->GetIndex(myActor->getIO(), selectedIndices); QStringList aListId = QStringList::split(" ", theNewText, false); + for (int i = 0; i < aListId.count(); i++) { const SMDS_MeshElement * e = aMesh->FindElement(aListId[ i ].toInt()); - if (e) { - //if (!mySelectionMgr->IsIndexSelected(myActor->getIO(), e->GetID())) { - if (selectedIndices.Add(e->GetID())) { - //mySelectionMgr->AddOrRemoveIndex (myActor->getIO(), e->GetID(), true); - newIndices.Add(e->GetID()); - } - myNbOkElements++; - } - } - - if (newIndices.Extent() > 0) - { - mySelector->AddOrRemoveIndex(myActor->getIO(), newIndices, true); - myViewWindow->highlight( myActor->getIO(), true, true ); + if (e) + newIndices.Add(e->GetID()); + myNbOkElements++; } + mySelector->AddOrRemoveIndex(myActor->getIO(), newIndices, false); + myViewWindow->highlight( myActor->getIO(), true, true ); + myElementsId = theNewText; } } diff --git a/src/SMESHGUI/SMESHGUI_RotationDlg.cxx b/src/SMESHGUI/SMESHGUI_RotationDlg.cxx index 8b9b6b70d..cb43bf86c 100644 --- a/src/SMESHGUI/SMESHGUI_RotationDlg.cxx +++ b/src/SMESHGUI/SMESHGUI_RotationDlg.cxx @@ -479,34 +479,21 @@ void SMESHGUI_RotationDlg::onTextChange (const QString& theNewText) if (aMesh) { if (send == LineEditElements) { - //mySelectionMgr->clearSelected(); - //mySelectionMgr->AddIObject(myActor->getIO()); - SALOME_ListIO aList; - aList.Append(myActor->getIO()); - mySelectionMgr->setSelectedObjects(aList, false); - - TColStd_IndexedMapOfInteger selectedIndices; + Handle(SALOME_InteractiveObject) anIO = myActor->getIO(); + TColStd_MapOfInteger newIndices; - mySelector->GetIndex( myActor->getIO(), selectedIndices); - + QStringList aListId = QStringList::split(" ", theNewText, false); for (int i = 0; i < aListId.count(); i++) { const SMDS_MeshElement * e = aMesh->FindElement(aListId[ i ].toInt()); - if (e) { - //if (!mySelectionMgr->IsIndexSelected(myActor->getIO(), e->GetID())) { - if (selectedIndices.Add(e->GetID())) { - //mySelectionMgr->AddOrRemoveIndex (myActor->getIO(), e->GetID(), true); - newIndices.Add(e->GetID()); - } - myNbOkElements++; - } - } - - if (newIndices.Extent() > 0){ - mySelector->AddOrRemoveIndex( myActor->getIO(), newIndices, true ); - myViewWindow->highlight( myActor->getIO(), true, true ); + if (e) + newIndices.Add(e->GetID()); + myNbOkElements++; } + mySelector->AddOrRemoveIndex( anIO, newIndices, false ); + myViewWindow->highlight( anIO, true, true ); + myElementsId = theNewText; } } diff --git a/src/SMESHGUI/SMESHGUI_Selection.cxx b/src/SMESHGUI/SMESHGUI_Selection.cxx index a77ff9a40..b52edf3fb 100644 --- a/src/SMESHGUI/SMESHGUI_Selection.cxx +++ b/src/SMESHGUI/SMESHGUI_Selection.cxx @@ -86,9 +86,9 @@ QtxValue SMESHGUI_Selection::param( const int ind, const QString& p ) const else if ( p=="hasReference" ) val = QtxValue( hasReference( ind ) ); else if ( p=="isVisible" ) val = QtxValue( isVisible( ind ) ); -// printf( "--> param() : [%s] = %s (%s)\n", p.latin1(), val.toString().latin1(), val.typeName() ); -// if ( val.type() == QVariant::List ) -// cout << "size: " << val.toList().count() << endl; + printf( "--> param() : [%s] = %s (%s)\n", p.latin1(), val.toString().latin1(), val.typeName() ); + if ( val.type() == QVariant::List ) + cout << "size: " << val.toList().count() << endl; return val; } diff --git a/src/SMESHGUI/SMESHGUI_SmoothingDlg.cxx b/src/SMESHGUI/SMESHGUI_SmoothingDlg.cxx index caec59a2c..c1b4dea98 100644 --- a/src/SMESHGUI/SMESHGUI_SmoothingDlg.cxx +++ b/src/SMESHGUI/SMESHGUI_SmoothingDlg.cxx @@ -321,6 +321,7 @@ void SMESHGUI_SmoothingDlg::Init() myEditCurrentArgument = LineEditElements; LineEditElements->setFocus(); + LineEditElements->clear(); LineEditNodes->clear(); myElementsId = ""; myNbOkElements = 0; @@ -456,57 +457,33 @@ void SMESHGUI_SmoothingDlg::onTextChange (const QString& theNewText) aMesh = myActor->GetObject()->GetMesh(); if (aMesh) { - //mySelectionMgr->clearSelected(); - //mySelectionMgr->AddIObject(myActor->getIO()); - SALOME_ListIO aList; - aList.Append(myActor->getIO()); - mySelectionMgr->setSelectedObjects(aList, false); - + QStringList aListId = QStringList::split(" ", theNewText, false); if (send == LineEditElements) { const Handle(SALOME_InteractiveObject)& anIO = myActor->getIO(); - TColStd_IndexedMapOfInteger selectedIndices; TColStd_MapOfInteger newIndices; - mySelector->GetIndex( anIO, selectedIndices ); for (int i = 0; i < aListId.count(); i++) { const SMDS_MeshElement * e = aMesh->FindElement(aListId[ i ].toInt()); - if (e) { - //if (!mySelectionMgr->IsIndexSelected(myActor->getIO(), e->GetID())) { - if (selectedIndices.Add(e->GetID())) { - //mySelectionMgr->AddOrRemoveIndex(myActor->getIO(), e->GetID(), true); - newIndices.Add(e->GetID()); - } - myNbOkElements++; - } - } - if (newIndices.Extent() > 0) { - mySelector->AddOrRemoveIndex(anIO, newIndices, true); - myViewWindow->highlight( anIO, true, true ); + if (e) + newIndices.Add(e->GetID()); + myNbOkElements++; } + mySelector->AddOrRemoveIndex(anIO, newIndices, false); + myViewWindow->highlight( anIO, true, true ); myElementsId = theNewText; } else if (send == LineEditNodes) { - TColStd_IndexedMapOfInteger selectedIndices; TColStd_MapOfInteger newIndices; - mySelector->GetIndex(myActor->getIO(), selectedIndices); - + for (int i = 0; i < aListId.count(); i++) { const SMDS_MeshNode * n = aMesh->FindNode(aListId[ i ].toInt()); - if (n) { - //if (!mySelectionMgr->IsIndexSelected(myActor->getIO(), n->GetID())) { - if (selectedIndices.Add(n->GetID())) { - //mySelectionMgr->AddOrRemoveIndex (myActor->getIO(), n->GetID(), true); - newIndices.Add(n->GetID()); - } - myNbOkNodes++; - } - } - if (newIndices.Extent() > 0) - { - mySelector->AddOrRemoveIndex(myActor->getIO(), newIndices, true); - myViewWindow->highlight( myActor->getIO(), true, true ); + if (n) + newIndices.Add(n->GetID()); + myNbOkNodes++; } + mySelector->AddOrRemoveIndex(myActor->getIO(), newIndices, false); + myViewWindow->highlight( myActor->getIO(), true, true ); } } diff --git a/src/SMESHGUI/SMESHGUI_SymmetryDlg.cxx b/src/SMESHGUI/SMESHGUI_SymmetryDlg.cxx index 225586edd..496a1573a 100644 --- a/src/SMESHGUI/SMESHGUI_SymmetryDlg.cxx +++ b/src/SMESHGUI/SMESHGUI_SymmetryDlg.cxx @@ -537,36 +537,23 @@ void SMESHGUI_SymmetryDlg::onTextChange (const QString& theNewText) aMesh = myActor->GetObject()->GetMesh(); if (aMesh) { - //mySelectionMgr->clearSelected(); - //mySelectionMgr->AddIObject(myActor->getIO()); - SALOME_ListIO aList; - aList.Append(myActor->getIO()); - mySelectionMgr->setSelectedObjects(aList, false); + Handle(SALOME_InteractiveObject) anIO = myActor->getIO(); - TColStd_IndexedMapOfInteger selectedIndices; TColStd_MapOfInteger newIndices; - mySelector->GetIndex(myActor->getIO(), selectedIndices); - + QStringList aListId = QStringList::split(" ", theNewText, false); if (send == LineEditElements) { for (int i = 0; i < aListId.count(); i++) { const SMDS_MeshElement * e = aMesh->FindElement(aListId[ i ].toInt()); - if (e) { - //if (!mySelectionMgr->IsIndexSelected(myActor->getIO(), e->GetID())) { - if (selectedIndices.Add(e->GetID())) { - //mySelectionMgr->AddOrRemoveIndex (myActor->getIO(), e->GetID(), true); - newIndices.Add(e->GetID()); - } - myNbOkElements++; - } - } - - if (newIndices.Extent() > 0){ - mySelector->AddOrRemoveIndex( myActor->getIO(), newIndices, true ); - myViewWindow->highlight( myActor->getIO(), true, true ); + if (e) + newIndices.Add(e->GetID()); + myNbOkElements++; } + mySelector->AddOrRemoveIndex( anIO, newIndices, false ); + myViewWindow->highlight( anIO, true, true ); + myElementsId = theNewText; } } diff --git a/src/SMESHGUI/SMESHGUI_TranslationDlg.cxx b/src/SMESHGUI/SMESHGUI_TranslationDlg.cxx index 649ae0d74..8df40714e 100644 --- a/src/SMESHGUI/SMESHGUI_TranslationDlg.cxx +++ b/src/SMESHGUI/SMESHGUI_TranslationDlg.cxx @@ -502,38 +502,25 @@ void SMESHGUI_TranslationDlg::onTextChange (const QString& theNewText) aMesh = myActor->GetObject()->GetMesh(); if (aMesh) { - //mySelectionMgr->clearSelected(); - //mySelectionMgr->AddIObject(myActor->getIO()); - SALOME_ListIO aList; - aList.Append(myActor->getIO()); - mySelectionMgr->setSelectedObjects(aList, false); - - TColStd_IndexedMapOfInteger selectedIndices; + Handle(SALOME_InteractiveObject) anIO = myActor->getIO(); + TColStd_MapOfInteger newIndices; - mySelector->GetIndex( myActor->getIO(), selectedIndices ); QStringList aListId = QStringList::split(" ", theNewText, false); if (send == LineEditElements) { for (int i = 0; i < aListId.count(); i++) { const SMDS_MeshElement * e = aMesh->FindElement(aListId[ i ].toInt()); - if (e) { - //if (!mySelectionMgr->IsIndexSelected(myActor->getIO(), e->GetID())) { - if (selectedIndices.Add(e->GetID())) { - //mySelectionMgr->AddOrRemoveIndex (myActor->getIO(), e->GetID(), true); - newIndices.Add(e->GetID()); - } - myNbOkElements++; - } - } - - if (newIndices.Extent() > 0){ - mySelector->AddOrRemoveIndex( myActor->getIO(), newIndices, true ); - myViewWindow->highlight( myActor->getIO(), true, true ); + if (e) + newIndices.Add(e->GetID()); + myNbOkElements++; } - - myElementsId = theNewText; } + + mySelector->AddOrRemoveIndex( anIO, newIndices, false ); + myViewWindow->highlight( anIO, true, true ); + + myElementsId = theNewText; } if (myNbOkElements) { -- 2.39.2