X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_OperationMgr.h;h=7a62ddbe3efd2cabecbfb81b341a28275580316f;hb=220bd2b37119be1c65abf88a88792445cb9d99f8;hp=b87501c4b8066d4a87c64619b1a95e463bb9d92a;hpb=135ecd7f95d23411d4fcaf0054f2e81e67e02dd7;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_OperationMgr.h b/src/XGUI/XGUI_OperationMgr.h index b87501c4b..7a62ddbe3 100755 --- a/src/XGUI/XGUI_OperationMgr.h +++ b/src/XGUI/XGUI_OperationMgr.h @@ -20,6 +20,7 @@ class QKeyEvent; class ModuleBase_IWorkshop; class XGUI_Workshop; +class XGUI_ShortCutListener; /**\class XGUI_OperationMgr * \ingroup GUI @@ -42,6 +43,11 @@ Q_OBJECT /// Destructor virtual ~XGUI_OperationMgr(); + /// Switch on short cut listener + void activate(); + /// Switch off short cut listener + void deactivate(); + /// Set reference to workshop /// \param theWorkshop reference to workshop void setWorkshop(ModuleBase_IWorkshop* theWorkshop) @@ -80,6 +86,7 @@ Q_OBJECT ModuleBase_Operation* previousOperation(ModuleBase_Operation* theOperation) const; /// Redefinition of virtual function + /// \param theObject a sender of the event virtual bool eventFilter(QObject *theObject, QEvent *theEvent); /// Start the operation and append it to the stack of operations @@ -159,19 +166,22 @@ protected: // TEMPORARY public slots: /// SLOT, that is called by the key in the property panel is clicked. + /// \param theObject a sender of the event /// \param theEvent the mouse event - bool onKeyReleased(QKeyEvent* theEvent); - - protected slots: - /// The functionaly, that should be done by enter click - /// Fistly the active widget processes it, then module. If no one does not - /// process it, the current operation is committed - bool onProcessEnter(); + bool onKeyReleased(QObject *theObject, QKeyEvent* theEvent); /// The functionaly, that should be done by delete click /// Fistly the active widget processes it, then workshop. If no one does not /// process it, do nothing - bool onProcessDelete(); + /// \param theObject a sender of the event + bool onProcessDelete(QObject* theObject); + + protected slots: + /// The functionaly, that should be done by enter click + /// Fistly the active widget processes it, then module. If no one does not + /// process it, the current operation is committed + /// \param theObject a sender of the event + bool onProcessEnter(QObject *theObject); /// Slot that is called by an operation stop. Removes the stopped operation form the stack. /// If there is a suspended operation, restart it. @@ -203,6 +213,11 @@ protected: // TEMPORARY private: XGUI_Workshop* workshop() const; + /// Checks if the object is a parent or a child under + /// \param theObject an investivated object + /// \param theParent a candidate to be a parent + static bool isChildObject(const QObject* theObject, const QObject* theParent); + private: typedef QList Operations; ///< definition for a list of operations Operations myOperations; ///< a stack of started operations. The active operation is on top, @@ -210,6 +225,8 @@ private: /// Current workshop ModuleBase_IWorkshop* myWorkshop; + + XGUI_ShortCutListener* myShortCutListener; }; #endif