Runtime

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

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.GroupCommand
All Implemented Interfaces:
IUndoableOperation, ICommand, org.eclipse.gmf.runtime.common.core.internal.command.ICommandWithSettableResult

public class GroupCommand
extends AbstractTransactionalCommand

This command groups node views (i.e. shapes) together. It creates a new group view and reparents the nodes passed in to be children of the group. The nodes' locations are also changed to be relative to the location of the group.

Since:
2.1

Constructor Summary
GroupCommand(org.eclipse.emf.transaction.TransactionalEditingDomain editingDomain, java.util.List nodes)
          Creates a new instance.
GroupCommand(org.eclipse.emf.transaction.TransactionalEditingDomain editingDomain, java.util.List nodes, java.util.Map options)
          Creates a new instance.
 
Method Summary
protected  CommandResult doExecuteWithResult(IProgressMonitor progressMonitor, IAdaptable info)
          Creates the new group, reparents the nodes, and sets the locations of the group and nodes as appropriate
protected  java.util.List getNodes()
          Gets the list of nodes to be grouped.
 
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

GroupCommand

public GroupCommand(org.eclipse.emf.transaction.TransactionalEditingDomain editingDomain,
                    java.util.List nodes)
Creates a new instance.

Parameters:
editingDomain - the editing domain
nodes - A list of nodes (i.e. shape views) that are to be grouped. The nodes must all have the same parent.

GroupCommand

public GroupCommand(org.eclipse.emf.transaction.TransactionalEditingDomain editingDomain,
                    java.util.List nodes,
                    java.util.Map options)
Creates a new instance.

Parameters:
editingDomain - the editing domain
nodes - A list of nodes (i.e. shape views) that are to be grouped. The nodes must all have the same parent.
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
Creates the new group, reparents the nodes, and sets the locations of the group and nodes as appropriate.\

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

getNodes

protected java.util.List getNodes()
Gets the list of nodes to be grouped.

Returns:
the list of nodes to be grouped

Runtime

Guidelines for using Eclipse APIs.

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