Salome HOME
Add new test
[modules/shaper.git] / src / XGUI / XGUI_ContextMenuMgr.cpp
index f3625a1f88a70aefc22b951dbe1fe757294c3c1b..28bafc37e37ce35024c643e423ee7432595103a8 100644 (file)
@@ -21,6 +21,7 @@
 #include <ModelAPI_ResultParameter.h>
 #include <ModelAPI_ResultConstruction.h>
 #include <ModelAPI_ResultBody.h>
+#include <ModelAPI_Tools.h>
 
 #include <ModuleBase_IModule.h>
 #include <ModuleBase_Tools.h>
@@ -179,12 +180,19 @@ void XGUI_ContextMenuMgr::updateObjectBrowserMenu()
           action("SHADING_CMD")->setEnabled(true);
         }
         if (!hasFeature) {
-          if (aObject->isDisplayed()) {
+          bool aHasSubResults = ModelAPI_Tools::hasSubResults(
+                                            std::dynamic_pointer_cast<ModelAPI_Result>(aObject));
+          if (aHasSubResults) {
             action("HIDE_CMD")->setEnabled(true);
-          } else if (hasResult && (!hasParameter)) {
             action("SHOW_CMD")->setEnabled(true);
           }
-
+          else {
+            if (aObject->isDisplayed()) {
+              action("HIDE_CMD")->setEnabled(true);
+            } else if (hasResult && (!hasParameter)) {
+              action("SHOW_CMD")->setEnabled(true);
+            }
+          }
           if (!(hasParameter || hasFeature))
             action("SHOW_ONLY_CMD")->setEnabled(true);
         }