Start a transaction by calling UndoManager.startTransaction (or Model.startTransaction or Diagram.startTransaction, which call that method). Be sure to finish a transaction with a matching call to UndoManager.commitTransaction (or Model.commitTransaction or Diagram.commitTransaction), or a call to UndoManager.rollbackTransaction (or the same named methods on Model or Diagram).
If you are performing multiple or repeated changes to a model or diagram, surround all of the code with calls to start and commit the transaction -- do not perform repeated calls to start-commit-start-commit. Typically each change caused by the user, such as a button click or a change of focus or a mouse drag, should perform one transaction in which all changes are made. All of the predefined commands and tools perform transactions.
This read-only property returns the list of ChangedEvents. The changes are stored in order of occurrence.
You should not modify this list.
Gets or sets the transaction name for this collection of changes. This is set by a top-level call to UndoManager.commitTransaction.
true if ready for redo to be called.
true if ready for undo to be called.
Clear all of the saved changes.
Remove all but the first and last Property ChangedEvents for each property for each object.
This is now called by DraggingTool.stopTransaction in order to reduce the memory saved by each dragging transaction.