Interface IUndoManager

  • All Known Implementing Classes:
    DefaultUndoManager, TextViewerUndoManager

    public interface IUndoManager
    An undo manager is connected to at most one ITextViewer.

    It monitors the text viewer and keeps a history of the changes applied to the viewer. The undo manager groups those changes into user interactions which on an undo request are rolled back in one atomic change.

    In order to provide backward compatibility for clients of IUndoManager, extension interfaces are used as a means of evolution. The following extension interfaces exist:

    Clients may implement this interface or use the standard implementation TextViewerUndoManager.

    See Also:
    TextViewerUndoManager, IUndoManagerExtension
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void beginCompoundChange()
      Signals the undo manager that all subsequent changes until endCompoundChange is called are to be undone in one piece.
      void connect​(ITextViewer viewer)
      Connects this undo manager to the given text viewer.
      void disconnect()
      Disconnects this undo manager from its text viewer.
      void endCompoundChange()
      Signals the undo manager that the sequence of changes which started with beginCompoundChange has been finished.
      void redo()
      Repeats the most recently rolled back text change.
      boolean redoable()
      Returns whether at least one text change can be repeated.
      void reset()
      Resets the history of the undo manager.
      void setMaximalUndoLevel​(int undoLevel)
      The given parameter determines the maximal length of the history remembered by the undo manager.
      void undo()
      Rolls back the most recently executed text change.
      boolean undoable()
      Returns whether at least one text change can be rolled back.
    • Method Detail

      • connect

        void connect​(ITextViewer viewer)
        Connects this undo manager to the given text viewer.
        Parameters:
        viewer - the viewer the undo manager is connected to
      • disconnect

        void disconnect()
        Disconnects this undo manager from its text viewer. If this undo manager hasn't been connected before this operation has no effect.
      • beginCompoundChange

        void beginCompoundChange()
        Signals the undo manager that all subsequent changes until endCompoundChange is called are to be undone in one piece.
      • endCompoundChange

        void endCompoundChange()
        Signals the undo manager that the sequence of changes which started with beginCompoundChange has been finished. All subsequent changes are considered to be individually undo-able.
      • reset

        void reset()
        Resets the history of the undo manager. After that call, there aren't any undo-able or redo-able text changes.
      • setMaximalUndoLevel

        void setMaximalUndoLevel​(int undoLevel)
        The given parameter determines the maximal length of the history remembered by the undo manager.
        Parameters:
        undoLevel - the length of this undo manager's history
      • undoable

        boolean undoable()
        Returns whether at least one text change can be rolled back.
        Returns:
        true if at least one text change can be rolled back
      • redoable

        boolean redoable()
        Returns whether at least one text change can be repeated. A text change can be repeated only if it was executed and rolled back.
        Returns:
        true if at least on text change can be repeated
      • undo

        void undo()
        Rolls back the most recently executed text change.
      • redo

        void redo()
        Repeats the most recently rolled back text change.