Salome HOME
HYDRO Feature 1: Import images (T 1.3)
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_DataModel.h
index 84a07b79de8a1f3f01be76e789cd1bd864b3ac66..eb6f374f65b4757967af4953fc84425aadb55d01 100644 (file)
@@ -23,6 +23,7 @@
 #ifndef HYDROGUI_DATAMODEL_H
 #define HYDROGUI_DATAMODEL_H
 
+#include <HYDROData_Document.h>
 #include <HYDROData_Object.h>
 
 #include <QMap>
@@ -139,9 +140,54 @@ public:
    * Find a data object by the specified entry and kind
    */
   Handle(HYDROData_Object) objectByEntry( const QString& theEntry,
-                                          const ObjectKind theObjectKind );
+                                          const ObjectKind theObjectKind = KIND_UNKNOWN );
+
+  /**
+   * Check if it is possible to perform 'undo' operation
+   */
+  bool canUndo() const;
+
+  /**
+   * Check if it is possible to perform 'redo' operation
+   */
+  bool canRedo() const;
+
+  /**
+   * Returns the list of names of available 'undo' actions
+   */
+  QStringList undoNames() const;
+
+  /**
+   * Returns the list of names of available 'redo' actions
+   */
+  QStringList redoNames() const;
+
+  /**
+   * Clear the list of stored 'undo' actions
+   */
+  void clearUndos();
+
+  /**
+   * Clear the list of stored 'redo' actions
+   */
+  void clearRedos();
+
+  /**
+   * Perform the 'undo' operation
+   */
+  bool undo();
+
+  /**
+   * Perform the 'redo' operation
+   */
+  bool redo();
 
 protected:
+  /**
+   * Returns the document for the current study
+   */
+  Handle(HYDROData_Document) getDocument() const;
+
   /**
    * Creates the GUI data object according to the model object.
    * \param theParent a created object will be appended as a child of this object