X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_ActionsMgr.h;h=8df73304db8b4a2f1a8031d62ddb664277219b08;hb=c58d52e4c1562a78b91e222190b2fd6e5bba0ef0;hp=89e3b70b7ae0139b985285456dd02305940588d0;hpb=11496be069750941ff9cbcef21088a56bfd32cdf;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_ActionsMgr.h b/src/XGUI/XGUI_ActionsMgr.h index 89e3b70b7..8df73304d 100644 --- a/src/XGUI/XGUI_ActionsMgr.h +++ b/src/XGUI/XGUI_ActionsMgr.h @@ -9,18 +9,21 @@ #include #include +#include #include +#include class XGUI_Command; class XGUI_Workshop; class XGUI_OperationMgr; +class ModuleBase_Operation; class QAction; -class XGUI_EXPORT XGUI_ActionsMgr: public QObject +class XGUI_EXPORT XGUI_ActionsMgr : public QObject { - Q_OBJECT +Q_OBJECT -public: + public: XGUI_ActionsMgr(XGUI_Workshop* theWorkshop); virtual ~XGUI_ActionsMgr(); @@ -35,7 +38,11 @@ public: bool isNested(const QString& theId) const; -public slots: + QKeySequence registerShortcut(const QString& theKeySequence); + + void updateByDocumentKind(); + + public slots: //! Update workbench actions according to OperationMgr state: //! No active operations: all actions but nested are available //! There is active operation: current operation + it's nested @@ -44,9 +51,11 @@ public slots: //! Sets all commands checked if it's operation is active. void updateCheckState(); -protected: + 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()); @@ -55,10 +64,12 @@ protected: //! Sets the action with theId to theEnabled state. void setActionEnabled(const QString& theId, const bool theEnabled); -private: + private: QMap myActions; QMap myNestedActions; + QList myShortcuts; + XGUI_Workshop* myWorkshop; XGUI_OperationMgr* myOperationMgr; };