X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_OperationMgr.h;h=f47d6aebdab54b2585b91ea89e233f0587f2f281;hb=e6aea428c7da7751e753eac36b99e16b7e3166e4;hp=fc6214d56748e7772dd6e86cf64935ee3243cab8;hpb=ef523c1c20fecaf086c9f9fe712750ae8e180ec0;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_OperationMgr.h b/src/XGUI/XGUI_OperationMgr.h index fc6214d56..f47d6aebd 100644 --- a/src/XGUI/XGUI_OperationMgr.h +++ b/src/XGUI/XGUI_OperationMgr.h @@ -11,6 +11,9 @@ #include #include +#include + +class QKeyEvent; /**\class XGUI_OperationMgr * \ingroup GUI @@ -43,12 +46,25 @@ public: /// \return the state whether the current operation is started bool startOperation(ModuleBase_Operation* theOperation); + /// Abort the operation and append it to the stack of operations + /// \return the state whether the current operation is aborted + bool abortOperation(); + ///Returns list of all operations IDs + QStringList operationList(); + + virtual bool eventFilter(QObject *theObject, QEvent *theEvent); + signals: /// Signal about an operation is started. It is emitted after the start() of operation is done. void operationStarted(); /// Signal about an operation is stopped. It is emitted after the stop() of operation is done. /// \param theOperation a stopped operation void operationStopped(ModuleBase_Operation* theOperation); + /// Signal about an operation is resumed. It is emitted after the resume() of operation is done. + void operationResumed(); + /// Signal about the necessety of the next widget activating + /// \param theWidget the model widget + void activateNextWidget(ModuleBase_ModelWidget* theWidget); protected: /// Sets the current operation or NULL @@ -62,11 +78,28 @@ protected: /// \param theOperation an operation to check bool canStartOperation(ModuleBase_Operation* theOperation); + /// Returns whether the operation can be stopped. + bool canStopOperation(); + protected slots: + /// Slot that commits the current operation. + void onCommitOperation(); + /// Slot that aborts the current operation. + void onAbortOperation(); + /// Slot that is called by an operation stop. Removes the stopped operation form the stack. /// If there is a suspended operation, restart it. void onOperationStopped(); + /// SLOT, that is called by the key in the property panel is clicked. + /// \param theName the attribute name + /// \param theEvent the mouse event + void onKeyReleased(const std::string& theName, QKeyEvent* theEvent); + + /// SLOT, that reacts to the widget activation + /// \param theWidget an activated widget + void onWidgetActivated(ModuleBase_ModelWidget* theWidget); + private: typedef QList Operations; ///< definition for a list of operations Operations myOperations; ///< a stack of started operations. The active operation is on top,