Salome HOME
Issue #2159 Hide all incomplete behavior
[modules/shaper.git] / src / XGUI / XGUI_Workshop.cpp
index 499c14b48dd9e3f16f0ec1c0fe8a44cdb952f0cd..f332c4aad16f9df7ae45c715d8eaa112bdcb6854 100755 (executable)
@@ -597,7 +597,7 @@ void XGUI_Workshop::fillPropertyPanel(ModuleBase_Operation* theOperation)
 #endif
   bool anIsAutoPreview = true;
   if (aFeatureInfo.get())
-    aFeatureInfo->isAutoPreview();
+    anIsAutoPreview = aFeatureInfo->isAutoPreview();
   else {
     std::string aXmlCfg, aDescription;
     module()->getXMLRepresentation(aFeatureKind, aXmlCfg, aDescription);
@@ -1358,12 +1358,17 @@ void XGUI_Workshop::onContextMenuCommand(const QString& theId, bool isChecked)
   else if (theId == "WIREFRAME_CMD")
     setDisplayMode(aObjects, XGUI_Displayer::Wireframe);
   else if (theId == "HIDEALL_CMD") {
+#ifdef HAVE_SALOME
+    //issue #2159 Hide all incomplete behavior
+    viewer()->eraseAll();
+#else
     QObjectPtrList aList = myDisplayer->displayedObjects();
     foreach (ObjectPtr aObj, aList) {
       if (module()->canEraseObject(aObj))
         aObj->setDisplayed(false);
     }
     Events_Loop::loop()->flush(Events_Loop::eventByName(EVENT_OBJECT_TO_REDISPLAY));
+#endif
     updateCommandStatus();
   } else if (theId == "SELECT_VERTEX_CMD") {
     setViewerSelectionMode(TopAbs_VERTEX);
@@ -1460,7 +1465,9 @@ void XGUI_Workshop::deleteObjects()
   bool hasFeature = false;
   bool hasParameter = false;
   bool hasCompositeOwner = false;
-  ModuleBase_Tools::checkObjects(anObjects, hasResult, hasFeature, hasParameter, hasCompositeOwner);
+  bool hasResultInHistory = false;
+  ModuleBase_Tools::checkObjects(anObjects, hasResult, hasFeature, hasParameter, hasCompositeOwner,
+                                 hasResultInHistory);
   if (!(hasFeature || hasParameter))
     return;
 
@@ -2160,12 +2167,16 @@ void XGUI_Workshop::setStatusBarMessage(const QString& theMessage)
 void XGUI_Workshop::synchronizeViewer()
 {
   SessionPtr aMgr = ModelAPI_Session::get();
-  DocumentPtr aDoc = aMgr->activeDocument();
+  QList<DocumentPtr> aDocs;
+  aDocs.append(aMgr->activeDocument());
+  aDocs.append(aMgr->moduleDocument());
 
-  synchronizeGroupInViewer(aDoc, ModelAPI_ResultConstruction::group(), false);
-  synchronizeGroupInViewer(aDoc, ModelAPI_ResultBody::group(), false);
-  synchronizeGroupInViewer(aDoc, ModelAPI_ResultPart::group(), false);
-  synchronizeGroupInViewer(aDoc, ModelAPI_ResultGroup::group(), false);
+  foreach(DocumentPtr aDoc, aDocs) {
+    synchronizeGroupInViewer(aDoc, ModelAPI_ResultConstruction::group(), false);
+    synchronizeGroupInViewer(aDoc, ModelAPI_ResultBody::group(), false);
+    synchronizeGroupInViewer(aDoc, ModelAPI_ResultPart::group(), false);
+    synchronizeGroupInViewer(aDoc, ModelAPI_ResultGroup::group(), false);
+  }
 }
 
 void XGUI_Workshop::synchronizeGroupInViewer(const DocumentPtr& theDoc,