+ FeaturePtr aFeature = theOperation->feature();
+ QString aFeatureId = QString::fromStdString(aFeature->getKind());
+ bool isNestedEnabled = theOperation->isNestedOperationsEnabled();
+ setNestedCommandsEnabled(isNestedEnabled, aFeatureId);
+
+ setNestedStackEnabled(myOperationMgr->previousOperation(theOperation));
+}
+
+//!
+void XGUI_ActionsMgr::setNestedCommandsEnabled(bool theEnabled, const QString& theParent)
+{
+ QStringList ltNestedActions;
+ if (theParent.isEmpty()) { //Disable ALL nested
+ foreach(QString eachParent, myNestedActions.keys()) {
+ ltNestedActions << myNestedActions[eachParent];
+ }
+ } else {
+ ltNestedActions << myNestedActions[theParent];
+ }
+ foreach(QString eachNested, ltNestedActions) {
+ setActionEnabled(eachNested, theEnabled);
+ }
+}
+
+void XGUI_ActionsMgr::setActionChecked(const QString& theId, const bool theChecked)
+{
+ QAction* anAction = myActions[theId];
+ if (anAction && anAction->isCheckable()) {
+ anAction->setChecked(theChecked);