Salome HOME
Load module defined in XML, not hardcoded "PartSet" module.
[modules/shaper.git] / src / XGUI / XGUI_OperationMgr.h
index b45b84d3c9163162024cf75c94bcec9a411301fd..fc6214d56748e7772dd6e86cf64935ee3243cab8 100644 (file)
@@ -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: