- if (myOperationMgr->hasOperation()) {
- ModuleBase_Operation* anOperation = myOperationMgr->currentOperation();
- anActiveFeature = anOperation->feature();
- if(anActiveFeature.get()) {
- setAllEnabled(false);
- QString aFeatureId = QString::fromStdString(anActiveFeature->getKind());
- setActionEnabled(aFeatureId, true);
+ ModuleBase_OperationFeature* aFOperation = dynamic_cast<ModuleBase_OperationFeature*>
+ (myOperationMgr->currentOperation());
+ if (aFOperation) {
+ anActiveFeature = aFOperation->feature();
+ QStringList aNested = allNestedCommands(aFOperation);
+ foreach(QString aAction, myActions.keys()) {
+ if (!aNested.contains(aAction))
+ setActionEnabled(aAction, false);