70 int minimumTransactionsToKeep = 30);
77 void clearUndoHistory();
82 int getNumberOfUnitsTakenUpByStoredCommands()
const;
99 int minimumTransactionsToKeep);
129 void beginNewTransaction();
148 void setCurrentTransactionName (
const String& newName);
153 String getCurrentTransactionName()
const;
159 bool canUndo()
const;
181 bool undoCurrentTransactionOnly();
186 String getUndoDescription()
const;
198 Time getTimeOfUndoTransaction()
const;
214 int getNumActionsInCurrentTransaction()
const;
220 bool canRedo()
const;
231 String getRedoDescription()
const;
244 Time getTimeOfRedoTransaction()
const;
247 bool isPerformingUndoRedo()
const;
253 String newTransactionName;
254 int totalUnitsStored = 0, maxNumUnitsToKeep = 0, minimumTransactionsToKeep = 0, nextIndex = 0;
255 bool newTransaction =
true, isInsideUndoRedoCall =
false;
256 ActionSet* getCurrentSet()
const;
257 ActionSet* getNextSet()
const;
258 void moveFutureTransactionsToStash();
259 void restoreStashedFutureTransactions();
260 void dropOldTransactionsIfTooLarge();
262 JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (
UndoManager)