1 #ifndef XGUI_OperationMgr_H
2 #define XGUI_OperationMgr_H
6 #include <ModuleBase_Operation.h>
11 /**\class XGUI_OperationMgr
13 * \brief Operation manager. Servers to manupulate to the workshop operations. Contains a stack
14 * of started operations and uses the upper one as a current.
16 class XGUI_EXPORT XGUI_OperationMgr : public QObject
20 XGUI_OperationMgr(QObject* theParent);
21 virtual ~XGUI_OperationMgr();
23 ModuleBase_Operation* currentOperation() const;
24 bool startOperation(ModuleBase_Operation* theOperation);
26 void commitCurrentOperation();
29 void beforeOperationStart();
30 void afterOperationStart();
33 bool canStartOperation(ModuleBase_Operation* theOperation);
36 void onOperationStopped();
39 typedef QList<ModuleBase_Operation*> Operations;
40 Operations myOperations;