Package 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 | Description
    --- | ---
    `TextUndoManager()` | Creates a new instance of TextUndoManager.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    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 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`