Salome HOME
Avoid redisplay of sketcher while it is not finished
[modules/shaper.git] / src / XGUI / XGUI_SelectionMgr.cpp
index dc5db4e2b604334dac71bceb7ca3f5a1a7e7babd..caf78cededfa473823d177c7ad21591edcd6f852 100644 (file)
@@ -43,14 +43,8 @@ void XGUI_SelectionMgr::connectViewers()
 void XGUI_SelectionMgr::onObjectBrowserSelection()
 {
   QList<ObjectPtr> aObjects = myWorkshop->objectBrowser()->selectedObjects();
-  QResultList aResults;
-  foreach(ObjectPtr aObject, aObjects) {
-    ResultPtr aRes = boost::dynamic_pointer_cast<ModelAPI_Result>(aObject);
-    if (aRes)
-      aResults.append(aRes);
-  }
   XGUI_Displayer* aDisplayer = myWorkshop->displayer();
-  aDisplayer->setSelected(aResults);
+  aDisplayer->setSelected(aObjects);
   emit selectionChanged();
 }
 
@@ -61,11 +55,14 @@ void XGUI_SelectionMgr::onViewerSelection()
   Handle(AIS_InteractiveContext) aContext = myWorkshop->viewer()->AISContext();
   for (aContext->InitSelected(); aContext->MoreSelected(); aContext->NextSelected()) {
     Handle(AIS_InteractiveObject) anIO = aContext->SelectedInteractive();
-    ResultPtr aResult = myWorkshop->displayer()->getResult(anIO);
+    ObjectPtr aResult = myWorkshop->displayer()->getObject(anIO);
     if (aResult)
       aFeatures.append(aResult);
   }
+  bool aBlocked = myWorkshop->objectBrowser()->blockSignals(true);
   myWorkshop->objectBrowser()->setObjectsSelected(aFeatures);
+  myWorkshop->objectBrowser()->blockSignals(aBlocked);
+
   emit selectionChanged();
 }