Runtime

## org.eclipse.gmf.runtime.diagram.ui.actions
Class AttachShapeAction

    java.lang.Object
      org.eclipse.core.commands.common.EventManager
          org.eclipse.jface.action.AbstractAction
              org.eclipse.jface.action.Action
                  org.eclipse.gmf.runtime.common.ui.action.AbstractActionHandler
                      org.eclipse.gmf.runtime.diagram.ui.actions.DiagramAction
                          org.eclipse.gmf.runtime.diagram.ui.actions.AttachShapeAction

All Implemented Interfaces:
  Disposable, IAction, IActionWithProgress, IDisposableAction, IOperationHistoryListener, IPropertyListener, ISelectionChangedListener

Direct Known Subclasses:
  AddNoteAction

public abstract class AttachShapeAction
extends DiagramAction

Provides support for action which add an attached shapes to another shape. Puts the added shape in direct edit mode after all the shapes and connections are created.

Nested Class Summary

Nested classes inherited from class org.eclipse.gmf.runtime.common.ui.action.IActionWithProgress
`IActionWithProgress.WorkIndicatorType`

Field Summary

Fields inherited from interface org.eclipse.jface.action.IAction
`AS_CHECK_BOX, AS_DROP_DOWN_MENU, AS_PUSH_BUTTON, AS_RADIO_BUTTON, AS_UNSPECIFIED, CHECKED, DESCRIPTION, ENABLED, HANDLED, IMAGE, RESULT, TEXT, TOOL_TIP_TEXT`

Constructor Summary
`AttachShapeAction(IWorkbenchPage workbenchPage)` Constructor

Method Summary
`protected Request` `createTargetRequest()` Return null since this action doesn't use request to execute its commands.
`protected EditPart` `getContainer(EditPart editPart)` Return the first non `ShapeEditPart` and non `ConnectionEditPart` instance in the supplied editparts editpart hierarchy.
`protected Point` `getLocation(java.util.List editParts)` Determines the location of for the shape to be created in relation to the some other shape.
`protected boolean` `isSelectionListener()` Does this action need to listen to selection change events?
`protected void` `selectAddedObject(EditPartViewer viewer, CreateRequest request)` Method selectAddedObject.

Methods inherited from class org.eclipse.gmf.runtime.diagram.ui.actions.DiagramAction

`calculateEnabled, clearTargetRequest, createOperationSet, dispose, doRun, execute, filterEditPartsMatching, getCommand, getCommand, getCommandLabel, getDiagramCommandStack, getDiagramEditDomain, getDiagramEditPart, getDiagramGraphicalViewer, getDiagramWorkbenchPart, getOperationSet, getPreferencesHint, getSelectedObjects, getTargetEditParts, getTargetRequest, refresh, setTargetRequest, updateTargetRequest`

Methods inherited from class org.eclipse.gmf.runtime.common.ui.action.AbstractActionHandler

`contributedToPart, getActionManager, getLabel, getOperationHistory, getPartListener, getSelection, getStructuredSelection, getUndoContext, getWorkbenchPage, getWorkbenchPart, getWorkIndicatorType, handle, historyNotification, init, isDisposed, isOperationHistoryListener, isPropertyListener, isRunnable, isSetup, needsSetup, openErrorDialog, propertyChanged, run, run, runWithEvent, selectionChanged, setDisposed, setPartSelector, setSetup, setup, setWorkbenchPart`

Methods inherited from class org.eclipse.jface.action.Action

`convertAccelerator, convertAccelerator, findKeyCode, findKeyString, findModifier, findModifierString, getAccelerator, getActionDefinitionId, getDescription, getDisabledImageDescriptor, getHelpListener, getHoverImageDescriptor, getId, getImageDescriptor, getMenuCreator, getStyle, getText, getToolTipText, isChecked, isEnabled, isHandled, notifyResult, removeAcceleratorText, removeMnemonics, setAccelerator, setActionDefinitionId, setChecked, setDescription, setDisabledImageDescriptor, setEnabled, setHelpListener, setHoverImageDescriptor, setId, setImageDescriptor, setMenuCreator, setText, setToolTipText`

Methods inherited from class org.eclipse.jface.action.AbstractAction
`addPropertyChangeListener, firePropertyChange, firePropertyChange, removePropertyChangeListener`

Methods inherited from class org.eclipse.core.commands.common.EventManager
`addListenerObject, clearListeners, getListeners, isListenerAttached, removeListenerObject`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface org.eclipse.jface.action.IAction

`addPropertyChangeListener, getAccelerator, getActionDefinitionId, getDescription, getDisabledImageDescriptor, getHelpListener, getHoverImageDescriptor, getId, getImageDescriptor, getMenuCreator, getStyle, getText, getToolTipText, isChecked, isEnabled, isHandled, removePropertyChangeListener, setAccelerator, setActionDefinitionId, setChecked, setDescription, setDisabledImageDescriptor, setEnabled, setHelpListener, setHoverImageDescriptor, setId, setImageDescriptor, setMenuCreator, setText, setToolTipText`

Constructor Detail

### AttachShapeAction

    public AttachShapeAction(IWorkbenchPage workbenchPage)

  Constructor

Parameters:
  `workbenchPage` - the active workbenchPage

Method Detail

### selectAddedObject

    protected void selectAddedObject(EditPartViewer viewer,
                                     CreateRequest request)

  Method selectAddedObject. Selects Select the newly added shape view by default

  Parameters:
    `request` - the request object that holds a reference for the newly created object
    `viewer` - the viewer that contains the shapes to be selected. The shapes correspond to the newly created object.

### getLocation

    protected Point getLocation(java.util.List editParts)

  Determines the location of for the shape to be created in relation to the some other shape.

  Parameters:
    `editParts` - the existing editparts of the shapes whose location is used to determine the location of the to be created shape
  Returns:
    Point the point representing the location of the to be created shape

### isSelectionListener

    protected boolean isSelectionListener()

  Description copied from class: `DiagramAction`
  Does this action need to listen to selection change events? If the enablement state of the context menu or the operation set depends on what is selected in a diagram, then this needs to return true. If this action targets the diagram only, then it should return false.

  Actions that are only contributed to the popup menu (and not toolbar or main menus) will not receive selection events at all. The refresh() method will be called when the context menu is about to show.

  Specified by:
    `isSelectionListener` in class `DiagramAction`

### createTargetRequest

    protected Request createTargetRequest()

  Return null since this action doesn't use request to execute its commands.

  Specified by:
    `createTargetRequest` in class `DiagramAction`
  Returns:
    the new target request

### getContainer

    protected EditPart getContainer(EditPart editPart)

  Return the first non `ShapeEditPart` and non `ConnectionEditPart` instance in the supplied editparts editpart hierarchy.

  Parameters:
    `editPart` - starting editpart
  Returns:
    an editpart the first non `ShapeEditPart` non `ConnectionEditPart` it found traversing the hierarchy upwards.

Runtime

Guidelines for using Eclipse APIs.

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