- 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