groovy.ui.text

## Class TextUndoManager

- java.lang.Object
- - javax.swing.undo.AbstractUndoableEdit
  - - javax.swing.undo.CompoundEdit
    - - javax.swing.undo.UndoManager
      - - groovy.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 and Description
    `TextUndoManager()` Creates a new instance of TextUndoManager.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and 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 Detail

    - #### TextUndoManager

          public TextUndoManager()

      Creates a new instance of TextUndoManager.

  - ### Method Detail

    - #### 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`