Salome HOME
Issue #2593: CEA 2018-2 Geometrical Naming
[modules/shaper.git] / src / XGUI / XGUI_ActionsMgr.cpp
index 129a595daa13fc12b0df39660277a150701d20d2..0d7a57d33a3d337f815ac27dc47066eaf13d84ea 100644 (file)
@@ -1,4 +1,22 @@
-// Copyright (C) 2014-20xx CEA/DEN, EDF R&D -->
+// Copyright (C) 2014-2017  CEA/DEN, EDF R&D
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// See http://www.salome-platform.org/ or
+// email : webmaster.salome@opencascade.com<mailto:webmaster.salome@opencascade.com>
+//
 
 #ifndef HAVE_SALOME
 #include <AppElements_Command.h>
@@ -101,20 +119,20 @@ void XGUI_ActionsMgr::updateCommandsStatus()
 {
   setAllEnabled();
   XGUI_Selection* aSelection = myWorkshop->selector()->selection();
-  if (aSelection->getSelected(ModuleBase_ISelection::Viewer).size() > 0)
+  if (aSelection->getSelected(ModuleBase_ISelection::AllControls).size() > 0)
     updateOnViewSelection();
 
   FeaturePtr anActiveFeature = FeaturePtr();
   ModuleBase_OperationFeature* aFOperation = dynamic_cast<ModuleBase_OperationFeature*>
                                                          (myOperationMgr->currentOperation());
   if (aFOperation) {
-    anActiveFeature = aFOperation->feature();  
+    anActiveFeature = aFOperation->feature();
     QStringList aNested = allNestedCommands(aFOperation);
     foreach(QString aAction, myActions.keys()) {
       if (!aNested.contains(aAction))
         setActionEnabled(aAction, false);
     }
-  } else 
+  } else
     setNestedCommandsEnabled(false);
 
   updateByPlugins(anActiveFeature);
@@ -159,7 +177,8 @@ void XGUI_ActionsMgr::updateOnViewSelection()
       ModelAPI_ValidatorsFactory::Validators::iterator aValidatorIt = aValidators.begin();
       for (; aValidatorIt != aValidators.end(); ++aValidatorIt) {
         const ModuleBase_SelectionValidator* aSelValidator =
-            dynamic_cast<const ModuleBase_SelectionValidator*>(aFactory->validator(aValidatorIt->first));
+            dynamic_cast<const ModuleBase_SelectionValidator*>
+            (aFactory->validator(aValidatorIt->first));
         if (aSelValidator)
           setActionEnabled(aId, aSelValidator->isValid(aSelection, theOperation));
       }
@@ -236,13 +255,15 @@ QAction* XGUI_ActionsMgr::operationStateAction(OperationStateActionId theId)
                             "Apply" /*empty to show error*/, aParent);
       }
       break;
+      case AcceptPlus: {
+        aResult = ModuleBase_Tools::createAction(QIcon(":pictures/button_ok-plus.png"),
+                            "Apply and continue" /*empty to show error*/, aParent);
+      }
+      break;
       case Abort:
       case AbortAll: {
         aResult = ModuleBase_Tools::createAction(QIcon(":pictures/button_cancel.png"), "Cancel",
                                                  aParent);
-        if (theId == Abort) {
-          aResult->setShortcut(QKeySequence(Qt::Key_Escape));
-        }
       }
       break;
       case Help: {
@@ -251,7 +272,8 @@ QAction* XGUI_ActionsMgr::operationStateAction(OperationStateActionId theId)
       }
       break;
       case Preview: {
-        aResult = ModuleBase_Tools::createAction(QIcon(), tr("See preview"), aParent, 0, 0, "Compute preview");
+        aResult = ModuleBase_Tools::createAction(QIcon(), tr("See preview"),
+                                                 aParent, 0, 0, "Compute preview");
         aResult->setStatusTip(aResult->toolTip());
       }
       break;
@@ -313,7 +335,8 @@ void XGUI_ActionsMgr::setNestedCommandsEnabled(bool theEnabled, const QString& t
 
 void XGUI_ActionsMgr::setNestedStackEnabled(ModuleBase_Operation* theOperation)
 {
-  ModuleBase_OperationFeature* anOperation = dynamic_cast<ModuleBase_OperationFeature*>(theOperation);
+  ModuleBase_OperationFeature* anOperation =
+    dynamic_cast<ModuleBase_OperationFeature*>(theOperation);
   if(!anOperation || !anOperation->feature())
     return;
   FeaturePtr aFeature = anOperation->feature();
@@ -327,7 +350,8 @@ void XGUI_ActionsMgr::setNestedStackEnabled(ModuleBase_Operation* theOperation)
 QStringList XGUI_ActionsMgr::allNestedCommands(ModuleBase_Operation* theOperation)
 {
   QStringList aFeatures;
-  ModuleBase_OperationFeature* anOperation = dynamic_cast<ModuleBase_OperationFeature*>(theOperation);
+  ModuleBase_OperationFeature* anOperation =
+    dynamic_cast<ModuleBase_OperationFeature*>(theOperation);
   if(!anOperation || !anOperation->feature())
     return aFeatures;
   FeaturePtr aFeature = anOperation->feature();