|
||||||||||
| 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
, EventListener
, UndoableEditListener
, UndoableEdit

public class 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 |
| Constructor Summary | |
|---|---|
UndoManager
|
|
| Method Summary | |
|---|---|
boolean |
addEdit
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
Redoes all changes from indexOfNextAdd to edit. |
void |
setLimit
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
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
Called by the UndoabledEdit sources this UndoManager listens to. |
void |
undoOrRedo
Undo or redo as appropriate. |
protected void |
undoTo
Undoes all changes from indexOfNextAdd to edit. |
Methods inherited from class javax.swing.undo.CompoundEdit ![]() |
|---|
die |
Methods inherited from class javax.swing.undo.AbstractUndoableEdit ![]() |
|---|
replaceEdit |
Methods inherited from class java.lang.Object ![]() |
|---|
clone |
| 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

CannotUndoException

canUndoOrRedo()
,
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 UndoableEdit

undo

in class CompoundEdit

CannotUndoException

- if canUndo
returns falseCompoundEdit.end()


public boolean canUndo()
canUndo

in interface UndoableEdit

canUndo

in class CompoundEdit

alive
and hasBeenDone is trueCompoundEdit.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 UndoableEdit

redo

in class CompoundEdit

CannotRedoException

- if canRedo
returns falseCompoundEdit.end()


public boolean canRedo()
canRedo

in interface UndoableEdit

canRedo

in class CompoundEdit

true if this edit is alive
and hasBeenDone is falseCompoundEdit.isInProgress()


public boolean addEdit(UndoableEdit![]()
![]()
anEdit)
If not inProgress, acts as a
CompoundEdit.
addEdit

in interface UndoableEdit

addEdit

in class CompoundEdit

anEdit - 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 CompoundEdit

CompoundEdit.end()


public String![]()
![]()
getUndoOrRedoPresentationName()

public String![]()
![]()
getUndoPresentationName()
If not inProgress, acts as a CompoundEdit
getUndoPresentationName

in interface UndoableEdit

getUndoPresentationName

in class CompoundEdit

AbstractUndoableEdit.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 UndoableEdit

getRedoPresentationName

in class CompoundEdit

AbstractUndoableEdit.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 UndoableEditListener

addEdit(javax.swing.undo.UndoableEdit)


public String![]()
![]()
toString()
toString

in class CompoundEdit

|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||