Salome HOME
PAL10595: unit and coordinate name length must be equal to 16
[modules/smesh.git] / src / SMESHGUI / SMESHGUI_SingleEditDlg.cxx
index fb3b03f1dbf322fc0fbe5cecd53478a2eca415d5..754232f6a8fc04443d8566f8fbd826264b78a055 100755 (executable)
@@ -36,7 +36,7 @@
 #include "SMESH_Actor.h"
 #include "SMDS_Mesh.hxx"
 
-#include "SalomeApp_SelectionMgr.h"
+#include "LightApp_SelectionMgr.h"
 #include "SUIT_ResourceMgr.h"
 #include "SUIT_MessageBox.h"
 #include "SUIT_Desktop.h"
@@ -264,7 +264,7 @@ void SMESHGUI_SingleEditDlg::onClose()
 {
   if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ))
     aViewWindow->SetSelectionMode(ActorSelection);
-  mySelectionMgr->clearSelected();
+  //mySelectionMgr->clearSelected();
   disconnect(mySelectionMgr, 0, this, 0);
   disconnect(mySMESHGUI, 0, this, 0);
   mySMESHGUI->ResetState();
@@ -350,10 +350,10 @@ void SMESHGUI_SingleEditDlg::onTextChange (const QString& theNewText)
       // find a triangle and an edge nb
       const SMDS_MeshElement* tria[2];
       allOk &= a2Nodes[0] != a2Nodes[1] && findTriangles(a2Nodes[0],a2Nodes[1],tria[0],tria[1]);
-      if(allOk){
-       myBusy = true; // block onSelectionDone()
+      myBusy = true; // block onSelectionDone()
+      if(allOk)
+      {
        newIndices.Add(tria[0]->GetID());
-       mySelector->AddOrRemoveIndex(anIO,newIndices, true);
 
        const SMDS_MeshNode* a3Nodes [3];
        SMDS_ElemIteratorPtr it;
@@ -369,16 +369,15 @@ void SMESHGUI_SingleEditDlg::onTextChange (const QString& theNewText)
            }
          }
        }
-
-       newIndices.Clear();
        newIndices.Add(-edgeInd-1);
-       mySelector->AddOrRemoveIndex(anIO,newIndices,true);
-       myBusy = false;
        
        myOkBtn->setEnabled(true);
        myApplyBtn->setEnabled(true);
       }
+      mySelector->AddOrRemoveIndex(anIO,newIndices, false);
       SMESH::GetViewWindow(mySMESHGUI)->highlight( anIO, true, true );
+
+      myBusy = false;
     }
   }
 }
@@ -508,7 +507,9 @@ bool SMESHGUI_SingleEditDlg::onApply()
 
   // update actor
   if (aResult) {
+    mySelector->ClearIndex();
     mySelectionMgr->setSelectedObjects(aList, false);
+    onSelectionDone();
     SMESH::UpdateView();
   }