X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_ActionsMgr.h;h=3101cb0bd0acfd606493d24b5beea70c9bbac00e;hb=dc158ea248a9bbd70675887f494388c93e1b3b4d;hp=c0003e8ecdae8658374edc4fc7720c1e3137cf52;hpb=50c050906e6b5926727fcbadcbf4247326ef60be;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_ActionsMgr.h b/src/XGUI/XGUI_ActionsMgr.h index c0003e8ec..3101cb0bd 100644 --- a/src/XGUI/XGUI_ActionsMgr.h +++ b/src/XGUI/XGUI_ActionsMgr.h @@ -1,3 +1,5 @@ +// Copyright (C) 2014-20xx CEA/DEN, EDF R&D --> + /* * XGUI_ActionsMgr.h */ @@ -7,6 +9,9 @@ #include "XGUI.h" +#include +#include + #include #include #include @@ -18,7 +23,7 @@ class XGUI_OperationMgr; class ModuleBase_Operation; class QAction; -class XGUI_EXPORT XGUI_ActionsMgr : public QObject +class XGUI_EXPORT XGUI_ActionsMgr : public QObject, public Events_Listener { Q_OBJECT @@ -39,7 +44,8 @@ Q_OBJECT QKeySequence registerShortcut(const QString& theKeySequence); - void updateByDocumentKind(); + //! Redefinition of Events_Listener method + virtual void processEvent(const std::shared_ptr& theMessage); public slots: //! Update workbench actions according to OperationMgr state: @@ -49,19 +55,25 @@ Q_OBJECT void update(); //! Sets all commands checked if it's operation is active. void updateCheckState(); + //! Updates actions according to current selection in the viewer + void updateOnViewSelection(); protected: //! Sets all actions to isEnabled state. void setAllEnabled(bool isEnabled); - //! Sets to isEnabled state all siblings of the given operation and it's parents recursively - void setNestedStackEnabled(ModuleBase_Operation* theOperation); //! Sets all nested actions to isEnabled state for the command with given ID. //! If ID is empty - all nested actions will be affected. void setNestedCommandsEnabled(bool isEnabled, const QString& theParent = QString()); + //! Sets to enabled state all siblings of the given operation and it's parents recursively + void setNestedStackEnabled(ModuleBase_Operation* theOperation); //! Sets the action with theId to theChecked state. void setActionChecked(const QString& theId, const bool theChecked); //! Sets the action with theId to theEnabled state. void setActionEnabled(const QString& theId, const bool theEnabled); + //! Updates actions according to their "document" tag + void updateByDocumentKind(); + //! Asks plugins about their features state, using the Events system + void updateByPlugins(FeaturePtr theActiveFeature); private: QMap myActions;