|
JavaTM 2 Platform Std. Ed. v1.4.1 |
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Object
|
+--javax.swing.undo.AbstractUndoableEdit
|
+--javax.swing.undo.CompoundEdit
|
+--javax.swing.undo.UndoManager
Concrete subclass of CompoundEdit
which can serve as a UndoableEditListener,
consolidating the UndoableEditEvents from a
variety of sources, and undoing or redoing them one at a time.
Unlike AbstractUndoableEdit and CompoundEdit,
the public methods of this
class are synchronized, and should be safe to call from multiple
threads. This should make UndoManager
a convenient marshall for sets of undoable JavaBeans.
Warning:
Serialized objects of this class will not be compatible with
future Swing releases. The current serialization support is
appropriate for short term storage or RMI between applications running
the same version of Swing. As of 1.4, support for long term storage
of all JavaBeansTM
has been added to the java.beans package.
Please see XMLEncoder.
| Field Summary |
| Fields inherited from class javax.swing.undo.CompoundEdit |
edits |
| Fields inherited from class javax.swing.undo.AbstractUndoableEdit |
RedoName, UndoName |
| Constructor Summary | |
UndoManager()
|
|
| Method Summary | |
boolean |
addEdit(UndoableEdit anEdit)
If inProgress, inserts anEdit at indexOfNextAdd, and removes any old edits that were at indexOfNextAdd or later. |
boolean |
canRedo()
Overridden to preserve usual semantics: returns true if a redo operation would be successful now, false otherwise |
boolean |
canUndo()
Overridden to preserve usual semantics: returns true if an undo operation would be successful now, false otherwise |
boolean |
canUndoOrRedo()
Return true if calling undoOrRedo will undo or redo. |
void |
discardAllEdits()
Empty the undo manager, sending each edit a die message in the process. |
protected UndoableEdit |
editToBeRedone()
Returns the the next significant edit to be redone if redo is called. |
protected UndoableEdit |
editToBeUndone()
Returns the the next significant edit to be undone if undo is called. |
void |
end()
Sending end() to an UndoManager turns it into a plain old (ended) CompoundEdit. |
int |
getLimit()
Returns the maximum number of edits this UndoManager will hold. |
String |
getRedoPresentationName()
If inProgress, returns getRedoPresentationName of the significant edit that will be redone when redo() is invoked. |
String |
getUndoOrRedoPresentationName()
Return the appropriate name for a command that toggles between undo and redo. |
String |
getUndoPresentationName()
If inProgress, returns getUndoPresentationName of the significant edit that will be undone when undo() is invoked. |
void |
redo()
If this UndoManager is inProgress,
redoes the last significant UndoableEdit at
indexOfNextAdd or after, and all insignificant
edits up to it. |
protected void |
redoTo(UndoableEdit edit)
Redoes all changes from indexOfNextAdd to edit. |
void |
setLimit(int l)
Set the maximum number of edits this UndoManager will hold. |
String |
toString()
Returns a string that displays and identifies this object's properties. |
protected void |
trimEdits(int from,
int to)
Tell the edits in the given range (inclusive) to die, and remove them from edits. |
protected void |
trimForLimit()
Reduce the number of queued edits to a range of size limit, centered on indexOfNextAdd. |
void |
undo()
If this UndoManager is inProgress, undo the last significant UndoableEdit before indexOfNextAdd, and all insignificant edits back to it. |
void |
undoableEditHappened(UndoableEditEvent e)
Called by the UndoabledEdit sources this UndoManager listens to. |
void |
undoOrRedo()
Undo or redo as appropriate. |
protected void |
undoTo(UndoableEdit edit)
Undoes all changes from indexOfNextAdd to edit. |
| Methods inherited from class javax.swing.undo.CompoundEdit |
die, 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 |
public UndoManager()
| Method Detail |
public int getLimit()
addEdit(javax.swing.undo.UndoableEdit),
setLimit(int)public void discardAllEdits()
protected void trimForLimit()
protected void trimEdits(int from,
int to)
public void setLimit(int l)
addEdit(javax.swing.undo.UndoableEdit),
getLimit()protected UndoableEdit editToBeUndone()
protected UndoableEdit editToBeRedone()
protected void undoTo(UndoableEdit edit)
throws CannotUndoException
CannotUndoException
protected void redoTo(UndoableEdit edit)
throws CannotRedoException
CannotRedoException
public void undoOrRedo()
throws CannotRedoException,
CannotUndoException
CannotRedoException
CannotUndoExceptioncanUndoOrRedo(),
getUndoOrRedoPresentationName()public boolean canUndoOrRedo()
undoOrRedo()
public void undo()
throws CannotUndoException
If not inProgress, indexOfNextAdd is ignored and super's routine is called.
undo in interface UndoableEditundo in class CompoundEditCannotUndoException - if canUndo
returns falseCompoundEdit.end()public boolean canUndo()
canUndo in interface UndoableEditcanUndo in class CompoundEditCompoundEdit.isInProgress()
public void redo()
throws CannotRedoException
UndoManager is inProgress,
redoes the last significant UndoableEdit at
indexOfNextAdd or after, and all insignificant
edits up to it. Updates indexOfNextAdd accordingly.
If not inProgress, indexOfNextAdd
is ignored and super's routine is called.
redo in interface UndoableEditredo in class CompoundEditCannotRedoException - if canRedo
returns falseCompoundEdit.end()public boolean canRedo()
canRedo in interface UndoableEditcanRedo in class CompoundEditCompoundEdit.isInProgress()public boolean addEdit(UndoableEdit anEdit)
If not inProgress, acts as a
CompoundEdit.
addEdit in interface UndoableEditaddEdit in class CompoundEditanEdit - the edit to be added
inProgress;
otherwise returns falseCompoundEdit.end(),
CompoundEdit.addEdit(javax.swing.undo.UndoableEdit)public void end()
Calls super's end() method (making inProgress false), then sends die() to the unreachable edits at indexOfNextAdd and beyond, in the reverse of the order in which they were added.
end in class CompoundEditCompoundEdit.end()public String getUndoOrRedoPresentationName()
public String getUndoPresentationName()
If not inProgress, acts as a CompoundEdit
getUndoPresentationName in interface UndoableEditgetUndoPresentationName in class CompoundEditAbstractUndoableEdit.undoText, followed
by a space, followed by getPresentationName
unless getPresentationName is "" in which
case, the defaults value is returned alone.undo(),
CompoundEdit.getUndoPresentationName()public String getRedoPresentationName()
If not inProgress, acts as a CompoundEdit
getRedoPresentationName in interface UndoableEditgetRedoPresentationName in class CompoundEditAbstractUndoableEdit.redoText, followed
by a space, followed by getPresentationName
unless getPresentationName is "" in which
case, the defaults value is returned alone.redo(),
CompoundEdit.getUndoPresentationName()public void undoableEditHappened(UndoableEditEvent e)
undoableEditHappened in interface UndoableEditListeneraddEdit(javax.swing.undo.UndoableEdit)public String toString()
toString in class CompoundEdit
|
JavaTM 2 Platform Std. Ed. v1.4.1 |
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
Copyright 2002 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.