X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_ActionsMgr.cpp;h=0d7a57d33a3d337f815ac27dc47066eaf13d84ea;hb=e91e5875dfa825c2a382737b2fd2e7e4cb4e2acd;hp=129a595daa13fc12b0df39660277a150701d20d2;hpb=a8cfbfb436c27ff96edd5c808e9a452c35cef207;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_ActionsMgr.cpp b/src/XGUI/XGUI_ActionsMgr.cpp index 129a595da..0d7a57d33 100644 --- a/src/XGUI/XGUI_ActionsMgr.cpp +++ b/src/XGUI/XGUI_ActionsMgr.cpp @@ -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 +// #ifndef HAVE_SALOME #include @@ -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 (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(aFactory->validator(aValidatorIt->first)); + dynamic_cast + (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(theOperation); + ModuleBase_OperationFeature* anOperation = + dynamic_cast(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(theOperation); + ModuleBase_OperationFeature* anOperation = + dynamic_cast(theOperation); if(!anOperation || !anOperation->feature()) return aFeatures; FeaturePtr aFeature = anOperation->feature();