Package org.eclipse.graphiti.ui.internal.parts

# Class ShapeEditPart

java.lang.Object
org.eclipse.gef.editparts.AbstractEditPart
org.eclipse.gef.editparts.AbstractGraphicalEditPart
org.eclipse.graphiti.ui.platform.GraphitiShapeEditPart
org.eclipse.graphiti.ui.internal.parts.ShapeEditPart

All Implemented Interfaces:
  `org.eclipse.core.runtime.IAdaptable`, `org.eclipse.gef.EditPart`, `org.eclipse.gef.GraphicalEditPart`, `org.eclipse.gef.NodeEditPart`, `org.eclipse.gef.RequestConstants`, `IFeatureProviderHolder`, `IConfigurationProviderHolder`, `IAnchorContainerEditPart`, `IPictogramElementEditPart`, `IShapeEditPart`

Direct Known Subclasses:
  `ConnectionDecoratorEditPart`, `ContainerShapeEditPart`

public class ShapeEditPart extends GraphitiShapeEditPart implements IShapeEditPart, org.eclipse.gef.NodeEditPart
A GraphicalEditPart, which model is of the type Shape.

## Nested Class Summary

## Nested classes/interfaces inherited from class org.eclipse.gef.editparts.AbstractGraphicalEditPart

`org.eclipse.gef.editparts.AbstractGraphicalEditPart.AccessibleGraphicalEditPart, org.eclipse.gef.editparts.AbstractGraphicalEditPart.DefaultAccessibleAnchorProvider`

## Nested classes/interfaces inherited from class org.eclipse.gef.editparts.AbstractEditPart

`org.eclipse.gef.editparts.AbstractEditPart.EditPolicyIterator`

## Field Summary

### Fields inherited from class org.eclipse.gef.editparts.AbstractGraphicalEditPart

`figure, sourceConnections, targetConnections`

### Fields inherited from class org.eclipse.gef.editparts.AbstractEditPart

`children, FLAG_ACTIVE, FLAG_FOCUS, MAX_FLAG`

### Fields inherited from interface org.eclipse.gef.EditPart

`SELECTED, SELECTED_NONE, SELECTED_PRIMARY`

### Fields inherited from interface org.eclipse.gef.RequestConstants

`REQ_ADD, REQ_ALIGN, REQ_ALIGN_CHILDREN, REQ_CLONE, REQ_CONNECTION_END, REQ_CONNECTION_START, REQ_CREATE, REQ_CREATE_BENDPOINT, REQ_DELETE, REQ_DELETE_DEPENDANT, REQ_DIRECT_EDIT, REQ_MOVE, REQ_MOVE_BENDPOINT, REQ_MOVE_CHILDREN, REQ_OPEN, REQ_ORPHAN, REQ_ORPHAN_CHILDREN, REQ_RECONNECT_SOURCE, REQ_RECONNECT_TARGET, REQ_RESIZE, REQ_RESIZE_CHILDREN, REQ_SELECTION, REQ_SELECTION_HOVER`

## Constructor Summary

Constructors
Constructor
Description
`ShapeEditPart(IConfigurationProviderInternal configurationProvider, Shape shape)`
Creates a new ShapeEditPart.

## Method Summary

Modifier and Type
Method
Description
`void`
`activate()`
`protected void`
`createEditPolicies()`
`protected org.eclipse.draw2d.IFigure`
`createFigure()`
Creates the Figure of this editpart.
`void`
`deactivate()`
`void`
`delayDirectEditing()`
`void`
`deleteChildAndRefresh(org.eclipse.gef.EditPart childEditPart)`
Delete child and refresh.
`Object`
`getAdapter(Class key)`
`IConfigurationProviderInternal`
`getConfigurationProvider()`
Gets the configuration provider.
`org.eclipse.gef.DragTracker`
`getDragTracker(org.eclipse.gef.Request request)`
`IFeatureProvider`
`getFeatureProvider()`
Gets the feature provider.
`List<PictogramElement>`
`getModelChildren()`
Gets the model children.
`List<Connection>`
`getModelSourceConnections()`
Returns the source-connections of this EditPart.
`List<Connection>`
`getModelTargetConnections()`
Returns the target-connections of this EditPart.
`PictogramElement`
`getPictogramElement()`
Returns the `PictogramElement` (the model object) that this `EditPart` represents.
`IPictogramElementDelegate`
`getPictogramElementDelegate()`
Gets the pictogram element delegate.
`org.eclipse.gef.RootEditPart`
`getRoot()`
this is just a fix getParent sometimes returns null - seems to be an update problem.
`org.eclipse.draw2d.ConnectionAnchor`
`getSourceConnectionAnchor(org.eclipse.gef.ConnectionEditPart connection)`
Returns the ConnectionAnchor, which is to be displayed at the source-side of an existing connection.
`org.eclipse.draw2d.ConnectionAnchor`
`getSourceConnectionAnchor(org.eclipse.gef.Request request)`
Returns the ConnectionAnchor, which is to be displayed at the source-side when creating a new connection.
`org.eclipse.draw2d.ConnectionAnchor`
`getTargetConnectionAnchor(org.eclipse.gef.ConnectionEditPart connection)`
Returns the ConnectionAnchor, which is to be displayed at the _target-side of an existing connection.
`org.eclipse.draw2d.ConnectionAnchor`
`getTargetConnectionAnchor(org.eclipse.gef.Request request)`
Returns the ConnectionAnchor, which is to be displayed at the _target-side when creating a new connection.
`org.eclipse.gef.EditPart`
`getTargetEditPart(org.eclipse.gef.Request request)`
`boolean`
`isSelectable()`
`void`
`performRequest(org.eclipse.gef.Request request)`
This method tries to perform a direct-editing with the given request (see getLabels()).
`void`
`refresh()`
`protected void`
`refreshChildren()`
`void`
`refreshDecorators()`
`protected void`
`refreshVisuals()`
This method is called, whenever the data of the underlying ModelObject changes.
`void`
`showSourceFeedback(org.eclipse.gef.Request request)`
`void`
`switchToDirectEditingMode(PictogramElement pictogramElement, GraphicsAlgorithm graphicsAlgorithm)`
Switch to direct editing mode.
`String`
`toString()`

### Methods inherited from class org.eclipse.gef.editparts.AbstractGraphicalEditPart

`addChildVisual, addNodeListener, addNotify, addSourceConnection, addTargetConnection, createConnection, createOrFindConnection, fireRemovingSourceConnection, fireRemovingTargetConnection, fireSourceConnectionAdded, fireTargetConnectionAdded, getChildren, getContentPane, getFigure, getLayer, getSourceConnections, getTargetConnections, primAddSourceConnection, primAddTargetConnection, primRemoveSourceConnection, primRemoveTargetConnection, refreshSourceConnections, refreshTargetConnections, registerVisuals, removeChildVisual, removeNodeListener, removeNotify, removeSourceConnection, removeTargetConnection, reorderChild, reorderSourceConnection, reorderTargetConnection, setFigure, setLayoutConstraint, unregisterVisuals`

### Methods inherited from class org.eclipse.gef.editparts.AbstractEditPart

`activateEditPolicies, addChild, addEditPartListener, createChild, deactivateEditPolicies, debug, debugFeedback, eraseSourceFeedback, eraseTargetFeedback, fireActivated, fireChildAdded, fireDeactivated, fireRemovingChild, fireSelectionChanged, getAccessibleEditPart, getCommand, getEditPolicy, getEditPolicyIterable, getEditPolicyIterator, getEventListeners, getEventListenersIterable, getFlag, getModel, getParent, getSelected, getViewer, hasFocus, installEditPolicy, isActive, register, registerAccessibility, registerModel, removeChild, removeEditPartListener, removeEditPolicy, setFlag, setFocus, setModel, setParent, setSelected, showTargetFeedback, understandsRequest, unregister, unregisterAccessibility, unregisterModel`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface org.eclipse.gef.EditPart

`addEditPartListener, addNotify, eraseSourceFeedback, eraseTargetFeedback, getCommand, getEditPolicy, getModel, getParent, getSelected, getViewer, hasFocus, installEditPolicy, isActive, removeEditPartListener, removeEditPolicy, removeNotify, setFocus, setModel, setParent, setSelected, showTargetFeedback, understandsRequest`

### Methods inherited from interface org.eclipse.gef.GraphicalEditPart

`addNodeListener, getChildren, getContentPane, getFigure, getSourceConnections, getTargetConnections, removeNodeListener, setLayoutConstraint`

## Constructor Details

### ShapeEditPart

public ShapeEditPart(IConfigurationProviderInternal configurationProvider, Shape shape)
Creates a new ShapeEditPart.

Parameters:
  `configurationProvider` - the configuration provider
  `shape` - the shape

## Method Details

### activate

public void activate()

Specified by:
  `activate` in interface `org.eclipse.gef.EditPart`
Overrides:
  `activate` in class `org.eclipse.gef.editparts.AbstractGraphicalEditPart`

### deactivate

public void deactivate()

Specified by:
  `deactivate` in interface `org.eclipse.gef.EditPart`
Overrides:
  `deactivate` in class `org.eclipse.gef.editparts.AbstractGraphicalEditPart`

### deleteChildAndRefresh

public void deleteChildAndRefresh(org.eclipse.gef.EditPart childEditPart)
Description copied from interface: `IShapeEditPart`
Delete child and refresh.

Specified by:
  `deleteChildAndRefresh` in interface `IShapeEditPart`
Parameters:
  `childEditPart` - the child edit part

### getAdapter

public Object getAdapter(Class key)

Specified by:
  `getAdapter` in interface `org.eclipse.core.runtime.IAdaptable`
Overrides:
  `getAdapter` in class `org.eclipse.gef.editparts.AbstractGraphicalEditPart`

### getConfigurationProvider

public IConfigurationProviderInternal getConfigurationProvider()
Gets the configuration provider.

Specified by:
  `getConfigurationProvider` in interface `IConfigurationProviderHolder`
Returns:
  The IConfigurationProviderInternal of this EditPart

### getDragTracker

public org.eclipse.gef.DragTracker getDragTracker(org.eclipse.gef.Request request)

Specified by:
  `getDragTracker` in interface `org.eclipse.gef.EditPart`
Overrides:
  `getDragTracker` in class `org.eclipse.gef.editparts.AbstractGraphicalEditPart`

### getModelChildren

public List<PictogramElement> getModelChildren()
Description copied from interface: `IPictogramElementEditPart`
Gets the model children.

Specified by:
  `getModelChildren` in interface `IPictogramElementEditPart`
Overrides:
  `getModelChildren` in class `org.eclipse.gef.editparts.AbstractEditPart`
Returns:
  the model children

### getModelSourceConnections

public List<Connection> getModelSourceConnections()
Returns the source-connections of this EditPart.

Specified by:
  `getModelSourceConnections` in interface `IPictogramElementEditPart`
Overrides:
  `getModelSourceConnections` in class `org.eclipse.gef.editparts.AbstractGraphicalEditPart`
Returns:
  the model source connections
See Also:
  - `AbstractGraphicalEditPart.getModelSourceConnections()`

### getModelTargetConnections

public List<Connection> getModelTargetConnections()
Returns the target-connections of this EditPart.

Specified by:
  `getModelTargetConnections` in interface `IPictogramElementEditPart`
Overrides:
  `getModelTargetConnections` in class `org.eclipse.gef.editparts.AbstractGraphicalEditPart`
Returns:
  the model target connections
See Also:
  - `AbstractGraphicalEditPart.getModelTargetConnections()`

### getPictogramElement

public PictogramElement getPictogramElement()
Description copied from class: `GraphitiShapeEditPart`
Returns the `PictogramElement` (the model object) that this `EditPart` represents.

Specified by:
  `getPictogramElement` in interface `IPictogramElementEditPart`
Specified by:
  `getPictogramElement` in class `GraphitiShapeEditPart`
Returns:
  the `PictogramElement`

### getRoot

public org.eclipse.gef.RootEditPart getRoot()
this is just a fix getParent sometimes returns null - seems to be an update problem.

Specified by:
  `getRoot` in interface `org.eclipse.gef.EditPart`
Overrides:
  `getRoot` in class `org.eclipse.gef.editparts.AbstractEditPart`
Returns:
  the root

### getSourceConnectionAnchor

public org.eclipse.draw2d.ConnectionAnchor getSourceConnectionAnchor(org.eclipse.gef.ConnectionEditPart connection)
Returns the ConnectionAnchor, which is to be displayed at the source-side of an existing connection. By default it returns a new ChopboxAnchor.

Specified by:
  `getSourceConnectionAnchor` in interface `org.eclipse.gef.NodeEditPart`
Parameters:
  `connection` - the connection
Returns:
  the source connection anchor
See Also:
  - `NodeEditPart.getSourceConnectionAnchor(ConnectionEditPart)`

### getSourceConnectionAnchor

public org.eclipse.draw2d.ConnectionAnchor getSourceConnectionAnchor(org.eclipse.gef.Request request)
Returns the ConnectionAnchor, which is to be displayed at the source-side when creating a new connection. By default it returns a new ChopboxAnchor if the source-side is already connected to a ConnectionEditPart, and it returns null if the source-side is still dragging and not yet connected to a ConnectionEditPart. If the ConnectionAnchor is null, this means that the line always ends directly at the mouse-pointer.

Specified by:
  `getSourceConnectionAnchor` in interface `org.eclipse.gef.NodeEditPart`
Parameters:
  `request` - the request
Returns:
  the source connection anchor
See Also:
  - `NodeEditPart.getSourceConnectionAnchor(Request)`

### getTargetConnectionAnchor

public org.eclipse.draw2d.ConnectionAnchor getTargetConnectionAnchor(org.eclipse.gef.ConnectionEditPart connection)
Returns the ConnectionAnchor, which is to be displayed at the _target-side of an existing connection. By default it returns a new ChopboxAnchor.

Specified by:
  `getTargetConnectionAnchor` in interface `org.eclipse.gef.NodeEditPart`
Parameters:
  `connection` - the connection
Returns:
  the target connection anchor
See Also:
  - `NodeEditPart.getTargetConnectionAnchor(ConnectionEditPart)`

### getTargetConnectionAnchor

public org.eclipse.draw2d.ConnectionAnchor getTargetConnectionAnchor(org.eclipse.gef.Request request)
Returns the ConnectionAnchor, which is to be displayed at the _target-side when creating a new connection. By default it returns null. If the ConnectionAnchor is null, this means that the line always ends directly at the mouse-pointer.

Specified by:
  `getTargetConnectionAnchor` in interface `org.eclipse.gef.NodeEditPart`
Parameters:
  `request` - the request
Returns:
  the target connection anchor
See Also:
  - `NodeEditPart.getTargetConnectionAnchor(Request)`

### isSelectable

public boolean isSelectable()

Specified by:
  `isSelectable` in interface `org.eclipse.gef.EditPart`
Overrides:
  `isSelectable` in class `org.eclipse.gef.editparts.AbstractGraphicalEditPart`

### performRequest

public void performRequest(org.eclipse.gef.Request request)
This method tries to perform a direct-editing with the given request (see getLabels()). Additionaly it tries to forward certain requests to this EditPart (e.g. RequestConstants.REQ_OPEN). If this is not possbile, it forwards the request to super.performRequest(request).

Specified by:
  `performRequest` in interface `org.eclipse.gef.EditPart`
Overrides:
  `performRequest` in class `org.eclipse.gef.editparts.AbstractEditPart`
Parameters:
  `request` - the request
See Also:
  - `EditPart.performRequest(Request)`

### refresh

public void refresh()

Specified by:
  `refresh` in interface `org.eclipse.gef.EditPart`
Overrides:
  `refresh` in class `org.eclipse.gef.editparts.AbstractGraphicalEditPart`

### switchToDirectEditingMode

public void switchToDirectEditingMode(PictogramElement pictogramElement, GraphicsAlgorithm graphicsAlgorithm)
Switch to direct editing mode.

Parameters:
  `pictogramElement` - the pictogram element
  `graphicsAlgorithm` - the graphics algorithm

### createEditPolicies

protected void createEditPolicies()

Specified by:
  `createEditPolicies` in class `org.eclipse.gef.editparts.AbstractEditPart`

### createFigure

protected org.eclipse.draw2d.IFigure createFigure()
Creates the Figure of this editpart. This determines how the editpart will be displayed. The actual data for this figure should be provided in refreshVisuals(). Creates the Figure of this editpart. This determines how the editpart will be displayed. The actual data for this figure should be provided in refreshVisuals().

Specified by:
  `createFigure` in class `org.eclipse.gef.editparts.AbstractGraphicalEditPart`
Returns:
  the i figure
See Also:
  - `AbstractGraphicalEditPart.createFigure()`

### refreshChildren

protected void refreshChildren()

Overrides:
  `refreshChildren` in class `org.eclipse.gef.editparts.AbstractEditPart`

### refreshVisuals

protected void refreshVisuals()
This method is called, whenever the data of the underlying ModelObject changes. It must update the figures to display the changed data. Sub-classes will nearly always overwrite this method.

By default this method takes care to update the layout-informations and to update the labels of the attributes (if existing), so sub-classes should call super.refreshVisuals().

Overrides:
  `refreshVisuals` in class `org.eclipse.gef.editparts.AbstractEditPart`
See Also:
  - `AbstractEditPart.refreshVisuals()`

### getTargetEditPart

public org.eclipse.gef.EditPart getTargetEditPart(org.eclipse.gef.Request request)

Specified by:
  `getTargetEditPart` in interface `org.eclipse.gef.EditPart`
Overrides:
  `getTargetEditPart` in class `org.eclipse.gef.editparts.AbstractEditPart`

### showSourceFeedback

public void showSourceFeedback(org.eclipse.gef.Request request)

Specified by:
  `showSourceFeedback` in interface `org.eclipse.gef.EditPart`
Overrides:
  `showSourceFeedback` in class `org.eclipse.gef.editparts.AbstractEditPart`

### getFeatureProvider

public IFeatureProvider getFeatureProvider()
Description copied from interface: `IFeatureProviderHolder`
Gets the feature provider.

Specified by:
  `getFeatureProvider` in interface `IFeatureProviderHolder`
Returns:
  the feature provider

### getPictogramElementDelegate

public IPictogramElementDelegate getPictogramElementDelegate()
Description copied from interface: `IPictogramElementEditPart`
Gets the pictogram element delegate.

Specified by:
  `getPictogramElementDelegate` in interface `IPictogramElementEditPart`
Returns:
  the pictogram element delegate

### toString

public String toString()

Overrides:
  `toString` in class `org.eclipse.gef.editparts.AbstractEditPart`

### refreshDecorators

public void refreshDecorators()

Specified by:
  `refreshDecorators` in interface `IAnchorContainerEditPart`

### delayDirectEditing

public void delayDirectEditing()