Salome HOME
Issue #2998: Add help description for automatic creation of constraints
[modules/shaper.git] / src / XGUI / XGUI_ContextMenuMgr.cpp
index ae217d58f800e05708a99f597327e26710781905..00cf24153ffbe8d7edd5e460e3d74bbe0ab5b0de 100644 (file)
@@ -293,7 +293,6 @@ void XGUI_ContextMenuMgr::updateObjectBrowserMenu()
     bool hasCompositeOwner = false;
     bool hasResultInHistory = false;
     bool hasFolder = false;
-    bool canBeDeleted = true;
     ModuleBase_Tools::checkObjects(aObjects, hasResult, hasFeature, hasParameter,
                                    hasCompositeOwner, hasResultInHistory, hasFolder);
     //Process Feature
@@ -333,14 +332,7 @@ void XGUI_ContextMenuMgr::updateObjectBrowserMenu()
         if( aMgr->activeDocument() == aObject->document() )
         {
           action("RENAME_CMD")->setEnabled(true);
-          if (aObject->groupName() == ModelAPI_ResultConstruction::group()) {
-            ResultConstructionPtr aConstr = std::dynamic_pointer_cast<ModelAPI_ResultConstruction>(aObject);
-            FeaturePtr aFeature = ModelAPI_Feature::feature(aObject);
-            canBeDeleted = !(!(aFeature->isInHistory()) && aConstr->isInfinite());
-            action("DELETE_CMD")->setEnabled(canBeDeleted);
-          }
-          else
-            action("DELETE_CMD")->setEnabled(!hasCompositeOwner);
+          action("DELETE_CMD")->setEnabled(!hasCompositeOwner);
           action("CLEAN_HISTORY_CMD")->setEnabled(!hasCompositeOwner &&
                                                   (hasFeature || hasParameter));
         }
@@ -354,15 +346,6 @@ void XGUI_ContextMenuMgr::updateObjectBrowserMenu()
         action("SHOW_ONLY_CMD")->setEnabled(true);
         action("SHADING_CMD")->setEnabled(true);
         action("WIREFRAME_CMD")->setEnabled(true);
-
-        foreach(ObjectPtr aObj, aObjects) {
-          FeaturePtr aFeature = ModelAPI_Feature::feature(aObj);
-          if (!aFeature->isInHistory()) {
-            canBeDeleted = false;
-            break;
-          }
-        }
-        action("DELETE_CMD")->setEnabled(canBeDeleted);
       }
       if (hasFeature && myWorkshop->canMoveFeature())
         action("MOVE_CMD")->setEnabled(true);
@@ -465,8 +448,8 @@ void XGUI_ContextMenuMgr::updateObjectBrowserMenu()
         break;
       }
     if (!hasCompositeOwner && allActive ) {
-      if (hasResult || hasFeature || hasParameter)  // #2924 results can be erased
-        action("DELETE_CMD")->setEnabled(canBeDeleted);
+      if (hasResult || hasFeature || hasParameter) // #2924 results can be erased
+        action("DELETE_CMD")->setEnabled(true);
     }
     if (!hasCompositeOwner && allActive && (hasFeature|| hasParameter))
       action("CLEAN_HISTORY_CMD")->setEnabled(true);
@@ -599,6 +582,10 @@ void XGUI_ContextMenuMgr::updateViewerMenu()
     }
   }
 
+  ModuleBase_IModule* aModule = myWorkshop->module();
+  if (aModule)
+    aModule->updateViewerMenu(myActions);
+
   if (myWorkshop->canChangeProperty("COLOR_CMD"))
     action("COLOR_CMD")->setEnabled(true);
 
@@ -608,9 +595,7 @@ void XGUI_ContextMenuMgr::updateViewerMenu()
   if (myWorkshop->canChangeProperty("TRANSPARENCY_CMD"))
     action("TRANSPARENCY_CMD")->setEnabled(true);
 
-  ModuleBase_IModule* aModule = myWorkshop->module();
-  if (aModule)
-    aModule->updateViewerMenu(myActions);
+  action("DELETE_CMD")->setEnabled(true);
 }
 
 void XGUI_ContextMenuMgr::connectObjectBrowser()