X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_OperationMgr.h;h=fc6214d56748e7772dd6e86cf64935ee3243cab8;hb=00265e8a59b2eff159cef64eef8de47ed4b9b728;hp=b45b84d3c9163162024cf75c94bcec9a411301fd;hpb=a5447b393b33d446093667fc41f253de20e7e2a5;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_OperationMgr.h b/src/XGUI/XGUI_OperationMgr.h index b45b84d3c..fc6214d56 100644 --- a/src/XGUI/XGUI_OperationMgr.h +++ b/src/XGUI/XGUI_OperationMgr.h @@ -1,3 +1,7 @@ +// File: XGUI_OperationMgr.h +// Created: 20 Apr 2014 +// Author: Natalia ERMOLAEVA + #ifndef XGUI_OperationMgr_H #define XGUI_OperationMgr_H @@ -30,20 +34,37 @@ public: /// Returns the current operation or NULL /// \return the current operation ModuleBase_Operation* currentOperation() const; - /// Sets the current operation or NULL - /// \return the current operation + /// Returns true is operation manager has at least one non-null operation. + bool hasOperation() const; + /// Returns number of operations in the stack + int operationsCount() const; + /// Start the operation and append it to the stack of operations + /// \param theOperation the started operation + /// \return the state whether the current operation is started bool startOperation(ModuleBase_Operation* theOperation); - void commitCurrentOperation(); - 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); protected: + /// Sets the current operation or NULL + /// \param theOperation the started operation + /// \param isCheckBeforeStart the flag whether to check whether the operation can be started + /// \return the state whether the operation is resumed + void resumeOperation(ModuleBase_Operation* theOperation); + + /// Returns whether the operation can be started. Check if there is already started operation and + /// the granted parameter of the launched operation + /// \param theOperation an operation to check bool canStartOperation(ModuleBase_Operation* theOperation); protected slots: + /// 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(); private: