Salome HOME
Fix for the issue #593: do not remove naming attribute, but use TNaming_Builder for...
[modules/shaper.git] / src / XGUI / XGUI_ContextMenuMgr.cpp
index ff696de22d3e2f713743f9b80a71485d17e02eb8..c9a9689f4f39c0f12c6ac3df9431a3752bc9d0c7 100644 (file)
@@ -152,7 +152,7 @@ QMenu* XGUI_ContextMenuMgr::objectBrowserMenu() const
       ObjectPtr aObject = aObjects.first();
       if (aObject) {
         if (!hasFeature) {
-          if (aDisplayer->isVisible(aObject)) {
+          if (aObject->isDisplayed()) {
             if (aDisplayer->canBeShaded(aObject)) {
               if (aDisplayer->displayMode(aObject) == XGUI_Displayer::Shading)
                 aMenu->addAction(action("WIREFRAME_CMD"));
@@ -164,6 +164,12 @@ QMenu* XGUI_ContextMenuMgr::objectBrowserMenu() const
           } else if (hasResult && (!hasParameter)) {
             aMenu->addAction(action("SHOW_CMD"));
           }
+
+          ResultPartPtr aPartRes = std::dynamic_pointer_cast<ModelAPI_ResultPart>(aObject);
+          if (aPartRes) {
+            aMenu->addAction(action("SHOW_CMD"));
+          }
+
           if (!(hasParameter || hasFeature))
             aMenu->addAction(action("SHOW_ONLY_CMD"));
         }
@@ -228,7 +234,7 @@ void XGUI_ContextMenuMgr::addViewerMenu(QMenu* theMenu) const
       foreach(ObjectPtr aObject, aObjects)
       {
         ResultPtr aRes = std::dynamic_pointer_cast<ModelAPI_Result>(aObject);
-        if (aRes && myWorkshop->displayer()->isVisible(aRes)) {
+        if (aRes && aRes->isDisplayed()) {
           isVisible = true;
           canBeShaded = myWorkshop->displayer()->canBeShaded(aObject);
           isShading = (myWorkshop->displayer()->displayMode(aObject) == XGUI_Displayer::Shading);