Runtime

## org.eclipse.gmf.runtime.diagram.ui.services.decorator
Interface IDecoratorTarget

All Superinterfaces:
  IAdaptable

All Known Implementing Classes:
  DecorationEditPolicy.DecoratorTarget

public interface IDecoratorTarget
extends IAdaptable

An object that can be decorated. The decorator target is an adaptable. Minimally, it adapts to an `EditPart` and `org.eclipse.uml2.Element` if the shape/connection has an underlying element.

Here is an example:

     theDecoratorTarget.getAdapter(EditPart.class)

This interface is not intended to be implemented by clients as new methods may be added in the future.

Nested Class Summary
`static class` `IDecoratorTarget.Direction` Enumeration of directions for the location of shape decorations.

Method Summary
`IDecoration` `addConnectionDecoration(IFigure figure, int percentageFromSource, boolean isVolatile)` Adds a figure as a decoration on a connection.
`IDecoration` `addConnectionDecoration(Image image, int percentageFromSource, boolean isVolatile)` Adds an image as a decoration on a connection.
`IDecoration` `addDecoration(IFigure figure, Locator locator, boolean isVolatile)` Adds a figure as a decoration on a shape or connection.
`IDecoration` `addShapeDecoration(IFigure figure, IDecoratorTarget.Direction direction, int margin, boolean isVolatile)` Adds a figure as a decoration on a shape.
`IDecoration` `addShapeDecoration(Image image, IDecoratorTarget.Direction direction, int margin, boolean isVolatile)` Adds an image as a decoration on a shape.
`void` `installDecorator(java.lang.Object key, IDecorator decorator)` Installs a decorator on this decorator target using a key (a String identifier).
`void` `removeDecoration(IDecoration decoration)` Removes the decoration from the shape or connection it has been added to.

Methods inherited from interface org.eclipse.core.runtime.IAdaptable
`getAdapter`

Method Detail

### installDecorator

    public void installDecorator(java.lang.Object key,
                                 IDecorator decorator)

  Installs a decorator on this decorator target using a key (a String identifier). If another decorator is installed on the same target with the same key then it will override the previous one installed.

  Parameters:
    `key` - the key for the decorator, used to override a decorator previously installed on this decoratorTarget object
    `decorator` - the decorator to install

### addShapeDecoration

    public IDecoration addShapeDecoration(Image image,
                                          IDecoratorTarget.Direction direction,
                                          int margin,
                                          boolean isVolatile)

  Adds an image as a decoration on a shape.

  Parameters:
    `image` - The image to be used as the decoration.
    `direction` - The direction relative to the shape to place the decoration.
    `margin` - The margin is the space, in himetric units, between the shape's edge and the decoration. A positive margin will place the figure outside the shape, a negative margin will place the decoration inside the shape.
    `isVolatile` - True if this decoration is volatile (i.e. not to be included in the printed output of a diagram); false otherwise.
  Returns:
    The decoration object, which will be needed to remove the decoration from the shape.

### addConnectionDecoration

    public IDecoration addConnectionDecoration(Image image,
                                               int percentageFromSource,
                                               boolean isVolatile)

  Adds an image as a decoration on a connection.

  Parameters:
    `image` - The image to be used as the decoration.
    `percentageFromSource` - The percentage of the connection length away from the source end (range is from 0 to 100) where the decoration should be positioned.
    `isVolatile` - True if this decoration is volatile (i.e. not to be included in the printed output of a diagram); false otherwise.
  Returns:
    The decoration object, which will be needed to remove the decoration from the connection.

### removeDecoration

    public void removeDecoration(IDecoration decoration)

  Removes the decoration from the shape or connection it has been added to.

  Parameters:
    `decoration` - The decoration to be removed.

### addShapeDecoration

    public IDecoration addShapeDecoration(IFigure figure,
                                          IDecoratorTarget.Direction direction,
                                          int margin,
                                          boolean isVolatile)

  Adds a figure as a decoration on a shape.

  Parameters:
    `figure` - the figure to be used as the decoration
    `direction` - The direction relative to the shape to place the decoration.
    `margin` - The margin is the space, in himetric units, between the shape's edge and the decoration. A positive margin will place the figure outside the shape, a negative margin will place the decoration inside the shape.
    `isVolatile` - True if this decoration is volatile (i.e. not to be included in the printed output of a diagram); false otherwise.
  Returns:
    The decoration object, which is needed to later remove the decoration.

### addConnectionDecoration

    public IDecoration addConnectionDecoration(IFigure figure,
                                               int percentageFromSource,
                                               boolean isVolatile)

  Adds a figure as a decoration on a connection.

  Parameters:
    `figure` - the figure to be used as the decoration
    `percentageFromSource` - The percentage of the connection length away from the source end (range is from 0 to 100) where the decoration should be positioned.
    `isVolatile` - True if this decoration is volatile (i.e. not to be included in the printed output of a diagram); false otherwise.
  Returns:
    The decoration object, which is needed to later remove the decoration.

### addDecoration

    public IDecoration addDecoration(IFigure figure,
                                     Locator locator,
                                     boolean isVolatile)

  Adds a figure as a decoration on a shape or connection.

  Parameters:
    `figure` - the figure to be used as the decoration
    `locator` - The locator to be used to position the decoration
    `isVolatile` - True if this decoration is volatile (i.e. not to be included in the printed output of a diagram); false otherwise.
  Returns:
    The decoration object, which is needed to later remove the decoration.

Runtime

Guidelines for using Eclipse APIs.

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