X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_ContextMenuMgr.cpp;h=ad3ce3ea8e4b537be2190ecc55ed9e7c06654b3b;hb=3975324fb3e40fc0c18eac0de7f50251d2eac9f8;hp=1a138f747dd4282a49a217cc59df5b818ea19dd4;hpb=2460865a83b26fca76fcc688c8b1145b4ef92e41;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_ContextMenuMgr.cpp b/src/XGUI/XGUI_ContextMenuMgr.cpp index 1a138f747..ad3ce3ea8 100644 --- a/src/XGUI/XGUI_ContextMenuMgr.cpp +++ b/src/XGUI/XGUI_ContextMenuMgr.cpp @@ -8,6 +8,7 @@ #include "XGUI_ViewerProxy.h" #include "XGUI_Selection.h" #include "XGUI_SalomeConnector.h" +#include "XGUI_DataModel.h" #include @@ -59,7 +60,7 @@ void XGUI_ContextMenuMgr::createActions() addAction("RENAME_CMD", aAction); connect(aAction, SIGNAL(triggered(bool)), this, SLOT(onRename())); - aAction = new QAction(QIcon(":pictures/move.png"), tr("Move..."), this); + aAction = new QAction(QIcon(":pictures/move.png"), tr("Move to the end"), this); addAction("MOVE_CMD", aAction); aAction = new QAction(QIcon(":pictures/color.png"), tr("Color..."), this); @@ -217,8 +218,7 @@ void XGUI_ContextMenuMgr::updateObjectBrowserMenu() } bool allActive = true; foreach( ObjectPtr aObject, aObjects ) - if( aMgr->activeDocument() != aObject->document() ) - { + if( aMgr->activeDocument() != aObject->document() ) { allActive = false; break; } @@ -228,10 +228,19 @@ void XGUI_ContextMenuMgr::updateObjectBrowserMenu() } } - bool isPartSetDocActive = - ModelAPI_Session::get()->activeDocument()==ModelAPI_Session::get()->moduleDocument(); - if( !isPartSetDocActive ) - { + // Show/Hide command has to be disabled for objects from non active document + bool aDeactivate = false; + foreach (ObjectPtr aObj, aObjects) { + if (!aObj->document()->isActive()) { + if ((aObj->document() != ModelAPI_Session::get()->moduleDocument()) || + aObj->groupName() == ModelAPI_ResultPart::group()) { + aDeactivate = true; + break; + } + } + } + if (aDeactivate) { + // If at leas a one objec can not be edited then Show/Hide has to be disabled action("SHOW_CMD")->setEnabled(false); action("HIDE_CMD")->setEnabled(false); action("SHOW_ONLY_CMD")->setEnabled(false);