+ bool allActive = true;
+ foreach( ObjectPtr aObject, aObjects )
+ if( aMgr->activeDocument() != aObject->document() ) {
+ allActive = false;
+ break;
+ }
+ if (!hasSubFeature && allActive ) {
+ if (hasFeature || hasParameter)
+ action("DELETE_CMD")->setEnabled(true);
+ }
+ }
+
+ // 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);