Salome HOME
Issue #2998: Add help description for automatic creation of constraints
[modules/shaper.git] / src / XGUI / XGUI_ViewerProxy.cpp
index 16fe9ee86b46e33a2cb58c0e425c9610547d696f..fbff53c41f2180237f277379746c294925d51237 100644 (file)
@@ -486,16 +486,18 @@ void XGUI_ViewerProxy::displayHighlight(FeaturePtr theFeature, const TopoDS_Shap
   }
 }
 
-void XGUI_ViewerProxy::eraseHighlight()
+bool XGUI_ViewerProxy::eraseHighlight()
 {
   Handle(AIS_InteractiveContext) aContext = AISContext();
   Handle(AIS_InteractiveObject) anAISIO;
   AIS_ListIteratorOfListOfInteractive aLIt;
+  bool isErased = myHighlights.Extent() > 0;
   for (aLIt.Initialize(myHighlights); aLIt.More(); aLIt.Next()) {
     anAISIO = aLIt.Value();
     aContext->Remove(anAISIO, false);
   }
   myHighlights.Clear();
+  return isErased;
 }
 
 void XGUI_ViewerProxy::updateHighlight()
@@ -525,14 +527,15 @@ void XGUI_ViewerProxy::updateHighlight()
           else {
             myResult = ResultPtr();
           }
-          aContext->UpdateCurrentViewer();
+          update();
         }
         isDisplayed = aRes.get();
       }
     }
     if (!isDisplayed) {
-      eraseHighlight();
-      aContext->UpdateCurrentViewer();
+      if (eraseHighlight()) {
+        update();
+      }
       myResult = ResultPtr();
     }
   }
@@ -732,9 +735,9 @@ void XGUI_ViewerProxy::setFitter(OCCViewer_Fitter* theFitter)
   myWorkshop->salomeConnector()->viewer()->setFitter(theFitter);
 }
 
-OCCViewer_Fitter* XGUI_ViewerProxy::currentFitter() const
+OCCViewer_Fitter* XGUI_ViewerProxy::fitter() const
 {
-  return myWorkshop->salomeConnector()->viewer()->currentFitter();
+  return myWorkshop->salomeConnector()->viewer()->fitter();
 }
 #else
 void XGUI_ViewerProxy::setFitter(AppElements_Fitter* theFitter)
@@ -742,17 +745,8 @@ void XGUI_ViewerProxy::setFitter(AppElements_Fitter* theFitter)
   myWorkshop->mainWindow()->viewer()->setFitter(theFitter);
 }
 
-AppElements_Fitter* XGUI_ViewerProxy::currentFitter() const
+AppElements_Fitter* XGUI_ViewerProxy::fitter() const
 {
-  return myWorkshop->mainWindow()->viewer()->currentFitter();
+  return myWorkshop->mainWindow()->viewer()->fitter();
 }
 #endif
-
-void XGUI_ViewerProxy::unsetFitter()
-{
-#ifdef HAVE_SALOME
-  myWorkshop->salomeConnector()->viewer()->unsetFitter();
-#else
-  myWorkshop->mainWindow()->viewer()->unsetFitter();
-#endif
-}