Package org.eclipse.gef.commands
Class CompoundCommand
java.lang.Object
org.eclipse.gef.commands.Command
org.eclipse.gef.commands.CompoundCommand
- Direct Known Subclasses:
ForwardUndoCompoundCommand
An aggregation of multiple
Commands
. A
CompoundCommand
is executable if all of its contained Commands
are executable, and it has at least one contained Command. The same is true
for undo. When undo is called, the contained Commands are undone in the
reverse order in which they were executed.
An empty CompoundCommand is not executable.
A CompoundCommand can be unwrapped
. Unwrapping returns the
simplest equivalent form of the CompoundCommand. So, if a CompoundCommand
contains just one Command, that Command is returned.
-
Constructor Summary
ConstructorsConstructorDescriptionConstructs an empty CompoundCommandCompoundCommand
(String label) Constructs an empty CompoundCommand with the specified label. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Adds the specified command if it is notnull
.boolean
boolean
canRedo()
boolean
canUndo()
void
dispose()
Disposes all contained Commands.void
execute()
Execute the command.For a compound command this means executing all of the commands that it contains.Object[]
This is useful when implementingITreeContentProvider.getChildren(Object)
to display the Command's nested structure.getLabel()
boolean
isEmpty()
void
redo()
Re-executes the Command.int
size()
void
undo()
Undoes the changes performed duringexecute()
.unwrap()
Returns the simplest form of this Command that is equivalent.Methods inherited from class org.eclipse.gef.commands.Command
chain, getDebugLabel, setDebugLabel, setLabel
-
Constructor Details
-
CompoundCommand
public CompoundCommand()Constructs an empty CompoundCommand- Since:
- 2.0
-
CompoundCommand
Constructs an empty CompoundCommand with the specified label.- Parameters:
label
- the label for the Command
-
-
Method Details
-
add
Adds the specified command if it is notnull
.- Parameters:
command
-null
or a Command
-
canRedo
public boolean canRedo() -
canExecute
public boolean canExecute()- Overrides:
canExecute
in classCommand
- Returns:
true
if the command can be executed- See Also:
-
canUndo
public boolean canUndo() -
dispose
public void dispose()Disposes all contained Commands. -
execute
public void execute()Execute the command.For a compound command this means executing all of the commands that it contains. -
getChildren
This is useful when implementingITreeContentProvider.getChildren(Object)
to display the Command's nested structure.- Returns:
- returns the Commands as an array of Objects.
-
getCommands
- Returns:
- the List of contained Commands
-
getLabel
-
isEmpty
public boolean isEmpty()- Returns:
true
if the CompoundCommand is empty
-
redo
public void redo()Description copied from class:Command
Re-executes the Command. This method should only be called afterundo()
has been called. -
size
public int size()- Returns:
- the number of contained Commands
-
undo
public void undo()Description copied from class:Command
Undoes the changes performed duringexecute()
. This method should only be called afterexecute
has been called, and only whencanUndo()
returnstrue
. -
unwrap
Returns the simplest form of this Command that is equivalent. This is useful for removing unnecessary nesting of Commands.- Returns:
- the simplest form of this Command that is equivalent
-