Package ptolemy.gui

Class UndoListener

  • All Implemented Interfaces:
    java.util.EventListener, javax.swing.event.UndoableEditListener

    public class UndoListener
    extends java.lang.Object
    implements javax.swing.event.UndoableEditListener
    An Undo/Redo listener for use with a JTextComponent.

    A convenience constructor has been provided such that a caller can immediately have default shortcut key mappings for undo/redo actions on the text component

    Since:
    Ptolemy II 8.0
    Version:
    $Id$
    Author:
    Ben Leinfelder, ben leinfelder
    Pt.AcceptedRating:
    Red (cx)
    Pt.ProposedRating:
    Yellow (cxh)
    • Constructor Summary

      Constructors 
      Constructor Description
      UndoListener()
      Construct an undo listener.
      UndoListener​(javax.swing.text.JTextComponent textArea)
      Construct an undo listener with default key mappings.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void endCompoundEdit()
      End a compound edit.
      void redo()
      Perform a redo.
      void startCompoundEdit()
      Start a compound undo edit.
      void undo()
      Perform an undo.
      void undoableEditHappened​(javax.swing.event.UndoableEditEvent event)
      Remember the edit and update the action state.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • _compoundEdit

        protected javax.swing.undo.CompoundEdit _compoundEdit
        A compound undo edit, or null if none is progress.
      • _undo

        protected javax.swing.undo.UndoManager _undo
        The undo manager.
    • Constructor Detail

      • UndoListener

        public UndoListener()
        Construct an undo listener.

        This constructor allows simple usage without setting up key mapping automatically (it is then the responsibilty of the caller to provide a mechanism for invoking the undo and redo actions.)

      • UndoListener

        public UndoListener​(javax.swing.text.JTextComponent textArea)
        Construct an undo listener with default key mappings. The default key mappings invoke the undo and redo actions on textArea .

        A typical usage pattern would be: JTextArea textArea = new JTextArea("testing"); textArea.getDocument().addUndoableEditListener(new UndoListener(textArea));

        Parameters:
        textArea - the text component that is being listened to and upon which undo/redo actions will be performed
    • Method Detail

      • endCompoundEdit

        public void endCompoundEdit()
        End a compound edit.
      • redo

        public void redo()
                  throws javax.swing.undo.CannotUndoException
        Perform a redo.
        Throws:
        javax.swing.undo.CannotUndoException - Thrown if the redo cannot be done.
      • startCompoundEdit

        public void startCompoundEdit()
        Start a compound undo edit.
      • undo

        public void undo()
                  throws javax.swing.undo.CannotUndoException
        Perform an undo.
        Throws:
        javax.swing.undo.CannotUndoException - Thrown if the redo cannot be done.
      • undoableEditHappened

        public void undoableEditHappened​(javax.swing.event.UndoableEditEvent event)
        Remember the edit and update the action state.
        Specified by:
        undoableEditHappened in interface javax.swing.event.UndoableEditListener
        Parameters:
        event - The event that occurred.