|
org.eclipse.gmf.runtime.emf.type.core.commands
Class MoveElementsCommand
java.lang.Object
org.eclipse.core.commands.operations.AbstractOperation
org.eclipse.emf.workspace.AbstractEMFOperation
org.eclipse.gmf.runtime.emf.commands.core.command.AbstractTransactionalCommand
org.eclipse.gmf.runtime.emf.type.core.commands.EditElementCommand
org.eclipse.gmf.runtime.emf.type.core.commands.MoveElementsCommand
-
All Implemented Interfaces:
-
IUndoableOperation,
ICommand, org.eclipse.gmf.runtime.common.core.internal.command.ICommandWithSettableResult
-
public class MoveElementsCommand
- extends
EditElementCommand
Command to move model elements using the EMF action protocol.
If the target features are not specified in the request, and the features
fomerly containing the moved elements exists in the target element, they will
be used.
Method Summary
|
boolean
|
canExecute
()
Checks that the element to be modified by this command is of the correct
kind. |
protected
CommandResult
|
doExecuteWithResult
(
IProgressMonitor monitor,
IAdaptable info)
Implemented by subclasses to perform the model changes. |
protected java.util.Map
|
getElementsToMove
()
Gets the map of elements to be moved. |
protected org.eclipse.emf.ecore.EObject
|
getTargetContainer
()
Gets the target container. |
protected org.eclipse.emf.ecore.EReference
|
getTargetFeature
(org.eclipse.emf.ecore.EObject element)
Gets the feature in the target element that should contain
element after it is moved. |
protected void
|
setTargetFeature
(org.eclipse.emf.ecore.EObject element,
org.eclipse.emf.ecore.EReference targetFeature)
Sets the reference feature into which an element should be moved. |
Methods inherited from class org.eclipse.gmf.runtime.emf.commands.core.command.
AbstractTransactionalCommand
|
aggregateStatuses,
cleanup,
compose,
didRedo,
didUndo,
doExecute,
doRedo,
doUndo,
getAffectedFiles,
getCommandResult,
getWorkspaceFiles,
getWorkspaceFiles,
internalSetResult,
reduce,
setResult
|
Methods inherited from class org.eclipse.emf.workspace.AbstractEMFOperation
|
canRedo, canSetOptions, canUndo, didCommit, dispose, execute, getChange, getEditingDomain, getOptions, isReuseParentTransaction, redo, setOptions, setReuseParentTransaction, undo
|
Methods inherited from class java.lang.Object
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
|
Methods inherited from interface org.eclipse.gmf.runtime.common.core.command.
ICommand
|
setLabel
|
Methods inherited from interface org.eclipse.core.commands.operations.
IUndoableOperation
|
addContext,
canRedo,
canUndo,
dispose,
execute,
getContexts,
getLabel,
hasContext,
redo,
removeContext,
undo
|
MoveElementsCommand
public MoveElementsCommand(
MoveRequest request)
- Constructs a new command to move a model element
-
Parameters:
-
request - the move element request
doExecuteWithResult
protected
CommandResult doExecuteWithResult(
IProgressMonitor monitor,
IAdaptable info)
throws
ExecutionException
-
Description copied from class:
AbstractTransactionalCommand
- Implemented by subclasses to perform the model changes. These changes
are applied by manipulation of the EMF metamodel's API, not
by executing commands on the editing domain's command stack.
-
-
Specified by:
-
doExecuteWithResult
in class
AbstractTransactionalCommand
-
-
Parameters:
-
monitor - the progress monitor provided by the operation history -
info - the adaptable provided by the operation history
-
Returns:
- the result of the execution
-
Throws:
-
ExecutionException
- if, for some reason, I fail to complete
the operation
getTargetFeature
protected org.eclipse.emf.ecore.EReference getTargetFeature(org.eclipse.emf.ecore.EObject element)
- Gets the feature in the target element that should contain
element after it is moved.
Looks for the feature first in the elements map. If none is specified,
tries to use the same feature that contained the element in its old
location. If the old containment feature doesn't exist in the new target,
uses the MSL utility to find the first feature in the target that can
contain the element being moved.
-
-
Parameters:
-
element - the element to be moved
-
Returns:
- the feature that will contain the element in the target
getTargetContainer
protected org.eclipse.emf.ecore.EObject getTargetContainer()
- Gets the target container.
-
-
Returns:
- the target container
getElementsToMove
protected java.util.Map getElementsToMove()
- Gets the map of elements to be moved. Each entry in the map consists of
an
EObject key, which is the element to be moved to the
new target, and an EReference value, which is the feature
in the new target that should contain the moved element.
-
-
Returns:
- the map of elements to be moved
setTargetFeature
protected void setTargetFeature(org.eclipse.emf.ecore.EObject element,
org.eclipse.emf.ecore.EReference targetFeature)
- Sets the reference feature into which an element should be moved.
-
-
Parameters:
-
element - the element to be moved -
targetFeature - the target feature
canExecute
public boolean canExecute()
-
Description copied from class:
EditElementCommand
- Checks that the element to be modified by this command is of the correct
kind.
-
-
Specified by:
-
canExecute
in interface
IUndoableOperation
-
Overrides:
-
canExecute
in class
EditElementCommand
-
Guidelines for using Eclipse APIs.
Copyright (c) IBM Corp., Borland Software Corp., and others 2005,2006. All rights reserved.
|
|