#ifndef StabilityUndoRedoManager_H #define StabilityUndoRedoManager_H #include "ModelData.h" #include "DataManagerGlobal.h" #include class DATAMANAGER_DLL_API_EXPORTS StabilityUndoRedoManager { public: StabilityUndoRedoManager(); ~StabilityUndoRedoManager(); void pushCommand(int& icommandid, IModel* data); void pushCommand(int& icommandid, std::vector& data,vector commandLines = vector()); bool undo(); bool redo(); bool getChangeData(vector*& discardData, vector*& usingData); int getCurentCommandID(); bool isCanUndo(); bool isCanRedo(); private: vector* m_pDiscardData = nullptr; vector* m_pUsingData = nullptr; QUndoStack m_undoStack; int m_iCurentCommandID; }; #endif // StabilityUndoRedoManager_H