|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.eclipse.emf.common.command.BasicCommandStack
public class BasicCommandStack
A basic and obvious implementation of an undoable stack of commands.
See Command
for more details about the command methods that this implementation uses.
Field Summary | |
---|---|
protected java.util.List<Command> |
commandList
The list of commands. |
protected java.util.Collection<CommandStackListener> |
listeners
The CommandStackListener s. |
protected Command |
mostRecentCommand
The command most recently executed, undone, or redone. |
protected int |
saveIndex
The value of top when saveIsDone() is called. |
protected int |
top
The current position within the list from which the next execute, undo, or redo, will be performed. |
Constructor Summary | |
---|---|
BasicCommandStack()
Creates a new empty instance. |
Method Summary | |
---|---|
void |
addCommandStackListener(CommandStackListener listener)
Adds a listener to the command stack, which will be notified whenever a command has been processed on the stack. |
boolean |
canRedo()
Returns whether there are commands past the top of the stack that can be redone. |
boolean |
canUndo()
Returns whether the top command on the stack can be undone. |
void |
execute(Command command)
Clears any redoable commands not yet redone, adds the command, and then executes the command. |
void |
flush()
Disposes all the commands in the stack. |
Command |
getMostRecentCommand()
Returns the command most recently executed, undone, or redone. |
Command |
getRedoCommand()
Returns the command that will be redone if CommandStack.redo() is called. |
Command |
getUndoCommand()
Returns the command that will be undone if CommandStack.undo() is called. |
protected void |
handleError(java.lang.Exception exception)
Handles an exception thrown during command execution by logging it with the plugin. |
boolean |
isSaveNeeded()
Returns whether the model has changes since saveIsDone() was call the last. |
protected void |
notifyListeners()
This is called to ensure that CommandStackListener.commandStackChanged(java.util.EventObject) is called for each listener. |
void |
redo()
Moves the top of the stack up, redoing the new top command. |
void |
removeCommandStackListener(CommandStackListener listener)
Removes a listener from the command stack. |
void |
saveIsDone()
Called after a save has been successfully performed. |
void |
undo()
Moves the top of the stack down, undoing what was formerly the top command. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected java.util.List<Command> commandList
protected int top
protected Command mostRecentCommand
protected java.util.Collection<CommandStackListener> listeners
CommandStackListener
s.
protected int saveIndex
top
when saveIsDone()
is called.
Constructor Detail |
---|
public BasicCommandStack()
Method Detail |
---|
public void execute(Command command)
CommandStack
execute
in interface CommandStack
command
- the command to execute.public boolean canUndo()
CommandStack
canUndo
in interface CommandStack
public void undo()
CommandStack
undo
in interface CommandStack
public boolean canRedo()
CommandStack
canRedo
in interface CommandStack
public void redo()
CommandStack
redo
in interface CommandStack
public void flush()
CommandStack
flush
in interface CommandStack
public Command getUndoCommand()
CommandStack
CommandStack.undo()
is called.
getUndoCommand
in interface CommandStack
CommandStack.undo()
is called.public Command getRedoCommand()
CommandStack
CommandStack.redo()
is called.
getRedoCommand
in interface CommandStack
CommandStack.redo()
is called.public Command getMostRecentCommand()
CommandStack
getMostRecentCommand
in interface CommandStack
public void addCommandStackListener(CommandStackListener listener)
CommandStack
addCommandStackListener
in interface CommandStack
listener
- the listener to add.public void removeCommandStackListener(CommandStackListener listener)
CommandStack
removeCommandStackListener
in interface CommandStack
listener
- the listener to remove.protected void notifyListeners()
CommandStackListener.commandStackChanged(java.util.EventObject)
is called for each listener.
protected void handleError(java.lang.Exception exception)
public void saveIsDone()
public boolean isSaveNeeded()
saveIsDone()
was call the last.
saveIsDone
was call the last.
|
Copyright 2001-2006 IBM Corporation and others. All Rights Reserved. |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |