]> Creatis software - creaVtk.git/blobdiff - lib/creaVtk/MeshManagerModel.h
#3507 Undo and Redo Meshes
[creaVtk.git] / lib / creaVtk / MeshManagerModel.h
index f981c8741e9ad7b2376387b8e210a35dcfed52be..b74204c20a3010df654b1c07fbcda1ec97e6c5b2 100644 (file)
@@ -35,7 +35,9 @@ public:
        ~HistoryHandler();
        void            CleanHistory();
        StateType*      Undo(StateType* State);
+       StateType*      UndoKeepCurrent();
        StateType*      Redo(StateType* State);
+       StateType*      RedoKeepCurrent();
        void            Save(StateType* State);
        StateType*      GetPrevious();
        StateType*      GetNext();
@@ -95,11 +97,14 @@ public :
   MeshManagerModel(std::vector<vtkPolyData*> meshList);
   ~MeshManagerModel();
 
+       void SetHistory(int maxCapacity);
        void ResetHistory();
        void ResetAll();
        
     void SetMeshBase(vtkPolyData* mesh);
     void SetMeshMemoryMode(vtkPolyData* mesh);
+       void MeshMemoryModeOn();
+    void MeshMemoryModeOff();
     void CopySetMeshBase(vtkPolyData* mesh);
     void ResetMeshTemp();
     //void ResetMeshTemp_();
@@ -142,6 +147,7 @@ public :
     void NextMesh();
     void PreviousMesh();
     
+    void SaveMemoryMode();
     void Undo();
     void Redo();
     
@@ -167,6 +173,7 @@ private:
     int                                                                        currentMesh;
     int                                                                                meshId;
     int                                                                                lastModified;
+    bool                                                                       memoryMode;
     
     class ManagerState{
        public:
@@ -183,6 +190,7 @@ private:
     
     void                                                       Save();
     void                                                       RestoreState(ManagerState* state);
+    void                                                       RestoreStateMemoryMode(ManagerState* state);
     
     HistoryHandler<ManagerState>       *history;