MvcTransactionModel Class
class MvcTransactionModel: public CMvcModel
A transaction model records all commands that have occured within an application and is central to the undo/redo, record/playback and event logging functionality. To record a command, the controller simply has to call the Log member passing a pointer to the MvcCommand object. Later, the transaction model can undo the logged commands.Defined in: MvcTransactionModel.h
Class Members
Constructor
virtual ~MvcTransactionModel()
Destructor
virtual void Reset()
Reset the state of the transaction model to its initial state
virtual BOOL IsModified() const
Tests whether the transaction model has stored new commands since last save
virtual BOOL Log(CMvcCommand* pCmd)
Records the specified command for later undo or event logging
virtual BOOL Do(CMvcCommand* pCmd)
Execute and log a command
virtual CMvcCommand* Undo()
Undo a command
virtual CMvcCommand* Redo()
Redo a command
CMvcCommand* PeekUndo()
Get the command that will be reversed next time Undo is called
CMvcCommand* PeekUndo(int)
Get the Undo command with index
CMvcCommand* PeekRedo()
Get the command that will be execute next time Redo is called
CMvcCommand* PeekRedo(int)
Get the Redo command with index
CMvcCommand* PopUndo()
Pop the Undo command from stack
CMvcCommand* PopRedo()
Pop the Redo command from stack
void PushUndo(CMvcCommand* pCmd)
Push the Undo command into stack
void PushRedo(CMvcCommand* pCmd)
Push the Redo command into stack
void SetHistorySize(int m_nHistorySize)
Set the number of commands that can be stored by the transaction model
int GetUndoCommandsCount() const
Get the Undo commands count
int GetRedoCommandsCount() const
Get the redo commands count
CCStack_T<CMvcCommand*, CMvcCommand*> m_undoStack
Stack of command actions that can be undone.
CCStack_T<CMvcCommand*, CMvcCommand*> m_redoStack
Stack of command actions that can be redone.