Package groovy.console.ui.text

# Class TextUndoManager

java.lang.Object
javax.swing.undo.AbstractUndoableEdit
javax.swing.undo.CompoundEdit
javax.swing.undo.UndoManager
groovy.console.ui.text.TextUndoManager

All Implemented Interfaces:
  `Serializable`, `EventListener`, `UndoableEditListener`, `UndoableEdit`

public class TextUndoManager extends UndoManager
To use this, simply drop this as an UndoableEditListener into your document, and then create actions to call undo/redo as needed (checking can undo/redo first, of course).

See Also:
  - Serialized Form

- ## Field Summary

  ### Fields inherited from class javax.swing.undo.CompoundEdit

  `edits`

  ### Fields inherited from class javax.swing.undo.AbstractUndoableEdit

  `RedoName, UndoName`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `TextUndoManager()`
  Creates a new instance of TextUndoManager.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addPropertyChangeListener(PropertyChangeListener pcl)`
  `void`
  `die()`
  `void`
  `discardAllEdits()`
  `protected void`
  `firePropertyChangeEvent(String name, boolean oldValue, boolean newValue)`
  `boolean`
  `hasChanged()`
  `void`
  `redo()`
  `protected void`
  `redoTo(UndoableEdit edit)`
  `void`
  `removePropertyChangeListener(PropertyChangeListener pcl)`
  `void`
  `reset()`
  `protected void`
  `trimEdits(int from, int to)`
  `void`
  `undo()`
  `void`
  `undoableEditHappened(UndoableEditEvent uee)`

  ### Methods inherited from class javax.swing.undo.UndoManager

  `addEdit, canRedo, canUndo, canUndoOrRedo, editToBeRedone, editToBeUndone, end, getLimit, getRedoPresentationName, getUndoOrRedoPresentationName, getUndoPresentationName, setLimit, toString, trimForLimit, undoOrRedo, undoTo`

  ### Methods inherited from class javax.swing.undo.CompoundEdit

  `getPresentationName, isInProgress, isSignificant, lastEdit`

  ### Methods inherited from class javax.swing.undo.AbstractUndoableEdit

  `replaceEdit`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### TextUndoManager

    public TextUndoManager()
    Creates a new instance of TextUndoManager.

- ## Method Details

  - ### addPropertyChangeListener

    public void addPropertyChangeListener(PropertyChangeListener pcl)

  - ### die

    public void die()
    Specified by:
      `die` in interface `UndoableEdit`
    Overrides:
      `die` in class `CompoundEdit`

  - ### discardAllEdits

    public void discardAllEdits()
    Overrides:
      `discardAllEdits` in class `UndoManager`

  - ### firePropertyChangeEvent

    protected void firePropertyChangeEvent(String name, boolean oldValue, boolean newValue)

  - ### hasChanged

    public boolean hasChanged()

  - ### redo

    public void redo() throws CannotRedoException
    Specified by:
      `redo` in interface `UndoableEdit`
    Overrides:
      `redo` in class `UndoManager`
    Throws:
      `CannotRedoException`

  - ### redoTo

    protected void redoTo(UndoableEdit edit)
    Overrides:
      `redoTo` in class `UndoManager`

  - ### removePropertyChangeListener

    public void removePropertyChangeListener(PropertyChangeListener pcl)

  - ### reset

    public void reset()

  - ### trimEdits

    protected void trimEdits(int from, int to)
    Overrides:
      `trimEdits` in class `UndoManager`

  - ### undo

    public void undo() throws CannotUndoException
    Specified by:
      `undo` in interface `UndoableEdit`
    Overrides:
      `undo` in class `UndoManager`
    Throws:
      `CannotUndoException`

  - ### undoableEditHappened

    public void undoableEditHappened(UndoableEditEvent uee)
    Specified by:
      `undoableEditHappened` in interface `UndoableEditListener`
    Overrides:
      `undoableEditHappened` in class `UndoManager`