Runtime

org.eclipse.gmf.runtime.diagram.core.commands
Class UngroupCommand

java.lang.Object
  extended by org.eclipse.core.commands.operations.AbstractOperation
      extended by org.eclipse.emf.workspace.AbstractEMFOperation
          extended by org.eclipse.gmf.runtime.emf.commands.core.command.AbstractTransactionalCommand
              extended by org.eclipse.gmf.runtime.diagram.core.commands.UngroupCommand
All Implemented Interfaces:
IUndoableOperation, ICommand, org.eclipse.gmf.runtime.common.core.internal.command.ICommandWithSettableResult

public class UngroupCommand
extends AbstractTransactionalCommand

This command ungroups a group view. It reparents the children of the group so that their parent is the group's parent and it deletes the group view. The children's locations are also changed to be relative to the location of their new parent.

Since:
2.1

Constructor Summary
UngroupCommand(org.eclipse.emf.transaction.TransactionalEditingDomain editingDomain, Node groupView)
          Creates a new instance.
UngroupCommand(org.eclipse.emf.transaction.TransactionalEditingDomain editingDomain, Node group, java.util.Map options)
          Creates a new instance.
 
Method Summary
protected  CommandResult doExecuteWithResult(IProgressMonitor progressMonitor, IAdaptable info)
          Implemented by subclasses to perform the model changes.
protected  Node getGroup()
          Returns the group to be ungrouped.
protected  void translateChildrenLocations()
          Translate the location of the children to no longer be relative to the group's location.
 
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, canUndo, didCommit, dispose, execute, getChange, getEditingDomain, getOptions, redo, undo
 
Methods inherited from class org.eclipse.core.commands.operations.AbstractOperation
addContext, canExecute, getContexts, getLabel, hasContext, removeContext, setLabel, toString
 
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, canExecute, canRedo, canUndo, dispose, execute, getContexts, getLabel, hasContext, redo, removeContext, undo
 

Constructor Detail

UngroupCommand

public UngroupCommand(org.eclipse.emf.transaction.TransactionalEditingDomain editingDomain,
                      Node groupView)
Creates a new instance.

Parameters:
editingDomain - the editing domain
groupView - the group view to ungroup

UngroupCommand

public UngroupCommand(org.eclipse.emf.transaction.TransactionalEditingDomain editingDomain,
                      Node group,
                      java.util.Map options)
Creates a new instance.

Parameters:
editingDomain - the editing domain
groupView - the group view to ungroup
options - for the transaction in which this command executes, or null for the default options
Method Detail

doExecuteWithResult

protected CommandResult doExecuteWithResult(IProgressMonitor progressMonitor,
                                            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:
progressMonitor - 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

translateChildrenLocations

protected void translateChildrenLocations()
Translate the location of the children to no longer be relative to the group's location.


getGroup

protected Node getGroup()
Returns the group to be ungrouped.

Returns:
the group to be ungrouped.

Runtime

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp., Borland Software Corp., and others 2005,2006. All rights reserved.