X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_ModuleConnector.cpp;h=203d860afac46c6300f1d0784c5c296c441b605d;hb=06e7f5859095193fc7f498bd89a7d28009794f53;hp=0c7dcd6beba771096d0057cad314e8df2af0a0c4;hpb=d4b0a5cb916f4eccf4a0bce02e43a54c7a67cb93;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_ModuleConnector.cpp b/src/XGUI/XGUI_ModuleConnector.cpp index 0c7dcd6be..203d860af 100644 --- a/src/XGUI/XGUI_ModuleConnector.cpp +++ b/src/XGUI/XGUI_ModuleConnector.cpp @@ -1,4 +1,4 @@ -// Copyright (C) 2014-2017 CEA/DEN, EDF R&D +// Copyright (C) 2014-2023 CEA, EDF // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public @@ -12,10 +12,9 @@ // // 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 +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // -// See http://www.salome-platform.org/ or -// email : webmaster.salome@opencascade.com +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // #include "XGUI_ModuleConnector.h" @@ -125,19 +124,12 @@ ObjectPtr XGUI_ModuleConnector::findPresentedObject(const AISObjectPtr& theAIS) void XGUI_ModuleConnector::setSelected(const QList& theValues) { - XGUI_Displayer* aDisp = myWorkshop->displayer(); XGUI_ObjectsBrowser* aBrowser = myWorkshop->objectBrowser(); if (theValues.isEmpty()) { myWorkshop->selector()->clearSelection(); aBrowser->treeView()->clearSelection(); } else { - aDisp->setSelected(theValues); - // Synchronise the selection with Object browser - QObjectPtrList anObjects; - foreach(ModuleBase_ViewerPrsPtr aVal, theValues) { - anObjects.append(aVal->object()); - } - aBrowser->setObjectsSelected(anObjects); + myWorkshop->selector()->setSelected(theValues); } } @@ -212,3 +204,64 @@ std::shared_ptr XGUI_ModuleConnector::featureInfo(const Q return std::shared_ptr(); #endif } + +void XGUI_ModuleConnector::deactivateCurrentSelector() +{ + myWorkshop->deactivateCurrentSelector(); +} + +QObjectPtrList XGUI_ModuleConnector::displayedObjects() const +{ + return myWorkshop->displayer()->displayedObjects(); +} + +bool XGUI_ModuleConnector::enableUpdateViewer(bool isEnabled) +{ + return myWorkshop->displayer()->enableUpdateViewer(isEnabled); +} + + +void XGUI_ModuleConnector::applyCurrentSelectionModes(const AISObjectPtr& theAIS) +{ + Handle(AIS_InteractiveObject) anIO = theAIS->impl(); + myWorkshop->selectionActivate()->activate(anIO, false); +} + + +void XGUI_ModuleConnector::undo() +{ + myWorkshop->onUndo(); +} + +void XGUI_ModuleConnector::setCancelEnabled(bool toEnable) +{ + XGUI_ActionsMgr* anActionsMgr = workshop()->actionsMgr(); + QAction* aAbortAction = anActionsMgr->operationStateAction(XGUI_ActionsMgr::AbortAll); + QAction* aAbortAllAction = anActionsMgr->operationStateAction(XGUI_ActionsMgr::Abort); + if (aAbortAction) { + aAbortAction->setEnabled(toEnable); + } + if (aAbortAllAction) { + aAbortAllAction->setEnabled(toEnable); + } +} + +bool XGUI_ModuleConnector::isCancelEnabled() const +{ + XGUI_ActionsMgr* anActionsMgr = workshop()->actionsMgr(); + QAction* aAbortAction = anActionsMgr->operationStateAction(XGUI_ActionsMgr::AbortAll); + QAction* aAbortAllAction = anActionsMgr->operationStateAction(XGUI_ActionsMgr::Abort); + bool isEnabled = false; + if (aAbortAction) { + isEnabled = true; + } + if (aAbortAllAction) { + isEnabled &= true; + } + return isEnabled; +} + +void XGUI_ModuleConnector::showHelpPage(const QString& thePage) const +{ + workshop()->showHelpPage(thePage); +}