|
Java Platform 1.2 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | 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 an 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. A future release of Swing will provide support for long term persistence.
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
protected void redoTo(UndoableEdit edit) throws CannotRedoException
public void undoOrRedo() throws CannotRedoException, CannotUndoException
canUndoOrRedo()
,
getUndoOrRedoPresentationName()
public boolean canUndoOrRedo()
undoOrRedo()
public void undo() throws CannotUndoException
If not inProgress, indexOfNextAdd is ignored and super's routine is called.
CompoundEdit.end()
public boolean canUndo()
public void redo() throws CannotRedoException
If not inProgress, indexOfNextAdd is ignored and super's routine is called.
CompoundEdit.end()
public boolean canRedo()
public boolean addEdit(UndoableEdit anEdit)
If not inProgress, acts as a CompoundEdit
CompoundEdit.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.
CompoundEdit.end()
public String getUndoOrRedoPresentationName()
public String getUndoPresentationName()
If not inProgress, acts as a CompoundEdit
undo()
,
CompoundEdit.getUndoPresentationName()
public String getRedoPresentationName()
If not inProgress, acts as a CompoundEdit
redo()
,
CompoundEdit.getUndoPresentationName()
public void undoableEditHappened(UndoableEditEvent e)
addEdit(javax.swing.undo.UndoableEdit)
public String toString()
|
Java Platform 1.2 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |