72 const plDocument* GetDocument()
const {
return m_pHistoryStorage->m_pDocument; }
74 plStatus Undo(plUInt32 uiNumEntries = 1);
75 plStatus Redo(plUInt32 uiNumEntries = 1);
84 void CancelTransaction() { EndTransaction(
true); }
85 void FinishTransaction() { EndTransaction(
false); }
88 bool IsInTransaction()
const {
return !m_pHistoryStorage->m_TransactionStack.IsEmpty(); }
89 bool IsInUndoRedo()
const {
return m_bIsInUndoRedo; }
94 void BeginTemporaryCommands(
plStringView sDisplayString,
bool bFireEventsWhenUndoingTempCommands =
false);
95 void CancelTemporaryCommands();
96 void FinishTemporaryCommands();
98 bool InTemporaryTransaction()
const;
99 void SuspendTemporaryTransaction();
100 void ResumeTemporaryTransaction();
104 void ClearUndoHistory();
105 void ClearRedoHistory();
107 void MergeLastTwoTransactions();
109 plUInt32 GetUndoStackSize()
const;
110 plUInt32 GetRedoStackSize()
const;
123 void EndTransaction(
bool bCancel);
124 void EndTemporaryCommands(
bool bCancel);
128 plEvent<const plCommandHistoryEvent&, plMutex>::Unsubscriber m_EventsUnsubscriber;
130 bool m_bFireEventsWhenUndoingTempCommands =
false;
131 bool m_bTemporaryMode =
false;
132 plInt32 m_iTemporaryDepth = -1;
133 plInt32 m_iPreSuspendTemporaryDepth = -1;
134 bool m_bIsInUndoRedo =
false;
Definition CommandHistory.h:58
Stores the undo / redo stacks of transactions done on a document.
Definition CommandHistory.h:52
bool IsInTransaction() const
Returns true, if between StartTransaction / EndTransaction. False during Undo/Redo.
Definition CommandHistory.h:88
plStringView represent a read-only sub-string of a larger string, as it can store a dedicated string ...
Definition StringView.h:34
Definition CommandHistory.h:31
Type
Definition CommandHistory.h:33
@ TransactionCanceled
Emit after initial transaction canceled.
@ BeforeTransactionCanceled
Emit before initial transaction ended.
@ TransactionStarted
Emit after initial transaction started.
@ BeforeTransactionEnded
Emit before initial transaction ended.
@ TransactionEnded
Emit after initial transaction ended.