Class mxUndoManager


  • public class mxUndoManager
    extends mxEventSource
    Implements an undo history. This class fires the following events: mxEvent.CLEAR fires after clear was executed. The event has no properties. mxEvent.UNDO fires afer a significant edit was undone in undo. The edit property contains the mxUndoableEdit that was undone. mxEvent.REDO fires afer a significant edit was redone in redo. The edit property contains the mxUndoableEdit that was redone. mxEvent.ADD fires after an undoable edit was added to the history. The edit property contains the mxUndoableEdit that was added.
    • Field Detail

      • size

        protected int size
        Maximum command history size. 0 means unlimited history. Default is 100.
      • history

        protected java.util.List<mxUndoableEdit> history
        List that contains the steps of the command history.
      • indexOfNextAdd

        protected int indexOfNextAdd
        Index of the element to be added next.
    • Constructor Detail

      • mxUndoManager

        public mxUndoManager()
        Constructs a new undo manager with a default history size.
      • mxUndoManager

        public mxUndoManager​(int size)
        Constructs a new undo manager for the specified size.
    • Method Detail

      • isEmpty

        public boolean isEmpty()
      • clear

        public void clear()
        Clears the command history.
      • canUndo

        public boolean canUndo()
        Returns true if an undo is possible.
      • undo

        public void undo()
        Undoes the last change.
      • canRedo

        public boolean canRedo()
        Returns true if a redo is possible.
      • redo

        public void redo()
        Redoes the last change.
      • undoableEditHappened

        public void undoableEditHappened​(mxUndoableEdit undoableEdit)
        Method to be called to add new undoable edits to the history.
      • trim

        protected void trim()
        Removes all pending steps after indexOfNextAdd from the history, invoking die on each edit. This is called from undoableEditHappened.