74 int minimumTransactionsToKeep = 30);
81 void clearUndoHistory();
86 int getNumberOfUnitsTakenUpByStoredCommands()
const;
103 int minimumTransactionsToKeep);
133 void beginNewTransaction();
152 void setCurrentTransactionName (
const String& newName);
157 String getCurrentTransactionName()
const;
163 bool canUndo()
const;
185 bool undoCurrentTransactionOnly();
190 String getUndoDescription()
const;
202 Time getTimeOfUndoTransaction()
const;
218 int getNumActionsInCurrentTransaction()
const;
224 bool canRedo()
const;
235 String getRedoDescription()
const;
248 Time getTimeOfRedoTransaction()
const;
251 bool isPerformingUndoRedo()
const;
257 String newTransactionName;
258 int totalUnitsStored = 0, maxNumUnitsToKeep = 0, minimumTransactionsToKeep = 0, nextIndex = 0;
259 bool newTransaction =
true, isInsideUndoRedoCall =
false;
262 void moveFutureTransactionsToStash();
263 void restoreStashedFutureTransactions();
264 void dropOldTransactionsIfTooLarge();
266 JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (
UndoManager)