Java Platform 1.2

javax.swing.undo
Interface UndoableEdit

All Known Implementing Classes:
AbstractUndoableEdit

public abstract interface UndoableEdit

An object representing an edit that has been done, and that can be undone and redone


Method Summary
 boolean addEdit(UndoableEdit anEdit)
          This UndoableEdit should absorb anEdit if it can.
 boolean canRedo()
          True if it is still possible to redo this operation
 boolean canUndo()
          True if it is still possible to undo this operation
 void die()
          May be sent to inform an edit that it should no longer be used.
 String getPresentationName()
          Provide a localized, human readable description of this edit suitable for use in, say, a change log.
 String getRedoPresentationName()
          Provide a localized, human readable description of the redoable form of this edit, e.g.
 String getUndoPresentationName()
          Provide a localized, human readable description of the undoable form of this edit, e.g.
 boolean isSignificant()
          Return false if this edit is insignificant--for example one that maintains the user's selection, but does not change any model state.
 void redo()
          Re-apply the edit, assuming that it has been undone.
 boolean replaceEdit(UndoableEdit anEdit)
          Return true if this UndoableEdit should replace anEdit.
 void undo()
          Undo the edit that was made.
 

Method Detail

undo

public void undo()
          throws CannotUndoException
Undo the edit that was made.

canUndo

public boolean canUndo()
True if it is still possible to undo this operation

redo

public void redo()
          throws CannotRedoException
Re-apply the edit, assuming that it has been undone.

canRedo

public boolean canRedo()
True if it is still possible to redo this operation

die

public void die()
May be sent to inform an edit that it should no longer be used. This is a useful hook for cleaning up state no longer needed once undoing or redoing is impossible--for example, deleting file resources used by objects that can no longer be undeleted. UndoManager calls this before it dequeues edits. Note that this is a one-way operation. There is no "undie" method.
See Also:
CompoundEdit.die()

addEdit

public boolean addEdit(UndoableEdit anEdit)
This UndoableEdit should absorb anEdit if it can. Return true if anEdit has been incoporated, false if it has not.

Typically the receiver is already in the queue of a UndoManager (or other UndoableEditListener), and is being given a chance to incorporate anEdit rather than letting it be added to the queue in turn.

If true is returned, from now on anEdit must return false from canUndo() and canRedo(), and must throw the appropriate exception on undo() or redo().


replaceEdit

public boolean replaceEdit(UndoableEdit anEdit)
Return true if this UndoableEdit should replace anEdit. The receiver should incorporate anEdit's state before returning true.

This message is the opposite of addEdit--anEdit has typically already been queued in a UndoManager (or other UndoableEditListener), and the receiver is being given a chance to take its place.

If true is returned, from now on anEdit must return false from canUndo() and canRedo(), and must throw the appropriate exception on undo() or redo().


isSignificant

public boolean isSignificant()
Return false if this edit is insignificant--for example one that maintains the user's selection, but does not change any model state. This status can be used by an UndoableEditListener (like UndoManager) when deciding which UndoableEdits to present to the user as Undo/Redo options, and which to perform as side effects of undoing or redoing other events.

getPresentationName

public String getPresentationName()
Provide a localized, human readable description of this edit suitable for use in, say, a change log.

getUndoPresentationName

public String getUndoPresentationName()
Provide a localized, human readable description of the undoable form of this edit, e.g. for use as an Undo menu item. Typically derived from getDescription();

getRedoPresentationName

public String getRedoPresentationName()
Provide a localized, human readable description of the redoable form of this edit, e.g. for use as a Redo menu item. Typically derived from getPresentationName();

Java Platform 1.2

Submit a bug or feature Version 1.2 of Java Platform API Specification
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.