Runtime

## org.eclipse.gmf.runtime.gef.ui.figures
Class NodeFigure

    java.lang.Object
      org.eclipse.draw2d.Figure
          org.eclipse.gmf.runtime.gef.ui.figures.NodeFigure

All Implemented Interfaces:
  HandleBounds, IAnchorableFigure, IFigure

Direct Known Subclasses:
  BorderedNodeFigure, DefaultSizeNodeFigure, ResizableCompartmentFigure, WrapperNodeFigure

public class NodeFigure
extends Figure
implements HandleBounds, IAnchorableFigure

Base class that most shape figures should extend from to gain default connection anchor behavior.

Nested Class Summary

Nested classes inherited from class org.eclipse.draw2d.Figure
`Figure.FigureIterator, Figure.IdentitySearch`

Nested classes inherited from class org.eclipse.draw2d.IFigure
`IFigure.NoInsets`

Field Summary
`static java.lang.String` `szAnchor` `String` that is the identifier for the default anchor

Fields inherited from class org.eclipse.draw2d.Figure
`bgColor, border, bounds, fgColor, flags, font, MAX_FLAG, maxSize, minSize, NO_MANAGER, prefSize, toolTip`

Fields inherited from interface org.eclipse.draw2d.IFigure
`MAX_DIMENSION, MIN_DIMENSION, NO_INSETS`

Constructor Summary
`NodeFigure()` Constructor - sets the default colors for all node figures.

Method Summary
`protected ConnectionAnchor` `createAnchor(PrecisionPoint p)` Creates a slidable anchor at the specified point (from the ratio of the reference's coordinates and bounds of the figure
`protected ConnectionAnchor` `createConnectionAnchor(Point p)` Returns a new anchor for this node figure.
`protected ConnectionAnchor` `createDefaultAnchor()` Creates the default Slidable anchor with a reference point at the center of the figure's bounds
`ConnectionAnchor` `getConnectionAnchor(java.lang.String terminal)` Given a string identifier, return the associated anchor for that identifier
`protected java.util.Hashtable` `getConnectionAnchors()` Returns the connectionAnchors.
`java.lang.String` `getConnectionAnchorTerminal(ConnectionAnchor c)` Dynamically allocates a new anchor if needed.
`static java.lang.String` `getDefaultAnchorID()`
`Rectangle` `getHandleBounds()`
`protected double` `getSlidableAnchorArea()` Specifies how large the area of the figure's bounds where `SlidableAnchor` will be created.
`ConnectionAnchor` `getSourceConnectionAnchorAt(Point p)` Gets the source connection anchor at a given point on the figure.
`ConnectionAnchor` `getTargetConnectionAnchorAt(Point p)` Gets the target connection anchor at a given point on the figure.
`protected boolean` `isDefaultAnchorArea(PrecisionPoint p)` Checks whether the <PrecisionPoint> p which is a candidate for a relative reference for the `SlidableAnchor` belongs to the area where the default anchor must be created
`protected void` `paintFigure(Graphics graphics)`

Methods inherited from class org.eclipse.draw2d.Figure

`add, add, add, add, addAncestorListener, addCoordinateListener, addFigureListener, addFocusListener, addKeyListener, addLayoutListener, addListener, addMouseListener, addMouseMotionListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, containsPoint, containsPoint, erase, findDescendantAtExcluding, findFigureAt, findFigureAt, findFigureAt, findFigureAtExcluding, findMouseEventTargetAt, findMouseEventTargetInDescendantsAt, fireCoordinateSystemChanged, fireFigureMoved, fireMoved, firePropertyChange, firePropertyChange, firePropertyChange, getBackgroundColor, getBorder, getBounds, getChildren, getClientArea, getClientArea, getCursor, getFlag, getFont, getForegroundColor, getInsets, getLayoutManager, getListeners, getLocalBackgroundColor, getLocalFont, getLocalForegroundColor, getLocation, getMaximumSize, getMinimumSize, getMinimumSize, getParent, getPreferredSize, getPreferredSize, getSize, getToolTip, getUpdateManager, handleFocusGained, handleFocusLost, handleKeyPressed, handleKeyReleased, handleMouseDoubleClicked, handleMouseDragged, handleMouseEntered, handleMouseExited, handleMouseHover, handleMouseMoved, handleMousePressed, handleMouseReleased, hasFocus, internalGetEventDispatcher, intersects, invalidate, invalidateTree, isCoordinateSystem, isEnabled, isFocusTraversable, isMirrored, isMouseEventTarget, isOpaque, isRequestFocusEnabled, isShowing, isValid, isValidationRoot, isVisible, layout, paint, paintBorder, paintChildren, paintClientArea, primTranslate, remove, removeAll, removeAncestorListener, removeCoordinateListener, removeFigureListener, removeFocusListener, removeKeyListener, removeLayoutListener, removeListener, removeMouseListener, removeMouseMotionListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, revalidate, setBackgroundColor, setBorder, setBounds, setChildrenDirection, setChildrenEnabled, setChildrenOrientation, setConstraint, setCursor, setEnabled, setFlag, setFocusTraversable, setFont, setForegroundColor, setLayoutManager, setLocation, setMaximumSize, setMinimumSize, setOpaque, setParent, setPreferredSize, setPreferredSize, setRequestFocusEnabled, setSize, setSize, setToolTip, setValid, setVisible, translate, translateFromParent, translateToAbsolute, translateToParent, translateToRelative, useLocalCoordinates, validate`

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

Methods inherited from interface org.eclipse.draw2d.IFigure

`add, add, add, add, addAncestorListener, addCoordinateListener, addFigureListener, addFocusListener, addKeyListener, addLayoutListener, addMouseListener, addMouseMotionListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, containsPoint, containsPoint, erase, findFigureAt, findFigureAt, findFigureAt, findFigureAtExcluding, findMouseEventTargetAt, getBackgroundColor, getBorder, getBounds, getChildren, getClientArea, getClientArea, getCursor, getFont, getForegroundColor, getInsets, getLayoutManager, getLocalBackgroundColor, getLocalForegroundColor, getMaximumSize, getMinimumSize, getMinimumSize, getParent, getPreferredSize, getPreferredSize, getSize, getToolTip, getUpdateManager, handleFocusGained, handleFocusLost, handleKeyPressed, handleKeyReleased, handleMouseDoubleClicked, handleMouseDragged, handleMouseEntered, handleMouseExited, handleMouseHover, handleMouseMoved, handleMousePressed, handleMouseReleased, hasFocus, internalGetEventDispatcher, intersects, invalidate, invalidateTree, isCoordinateSystem, isEnabled, isFocusTraversable, isMirrored, isOpaque, isRequestFocusEnabled, isShowing, isVisible, paint, remove, removeAncestorListener, removeCoordinateListener, removeFigureListener, removeFocusListener, removeKeyListener, removeLayoutListener, removeMouseListener, removeMouseMotionListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, revalidate, setBackgroundColor, setBorder, setBounds, setConstraint, setCursor, setEnabled, setFocusTraversable, setFont, setForegroundColor, setLayoutManager, setLocation, setMaximumSize, setMinimumSize, setOpaque, setParent, setPreferredSize, setRequestFocusEnabled, setSize, setSize, setToolTip, setVisible, translate, translateFromParent, translateToAbsolute, translateToParent, translateToRelative, validate`

Field Detail

### szAnchor

    public static final java.lang.String szAnchor

  `String` that is the identifier for the default anchor

  See Also:
    Constant Field Values

Constructor Detail

### NodeFigure

    public NodeFigure()

  Constructor - sets the default colors for all node figures.

Method Detail

### getHandleBounds

    public Rectangle getHandleBounds()

  Specified by:
    `getHandleBounds` in interface `HandleBounds`

### getConnectionAnchor

    public ConnectionAnchor getConnectionAnchor(java.lang.String terminal)

  Description copied from interface: `IAnchorableFigure`
  Given a string identifier, return the associated anchor for that identifier

  Specified by:
    `getConnectionAnchor` in interface `IAnchorableFigure`
  Parameters:
    `terminal` - `String` identifier associated with the anchor
  Returns:
    `ConnectionAnchor` that is associated with the given string.

### getConnectionAnchorTerminal

    public java.lang.String getConnectionAnchorTerminal(ConnectionAnchor c)

  Description copied from interface: `IAnchorableFigure`
  Dynamically allocates a new anchor if needed. Otherwise, recycles old anchors no longer in use.

  Specified by:
    `getConnectionAnchorTerminal` in interface `IAnchorableFigure`
  Parameters:
    `c` - the `ConnectionAnchor` reference to an anchor associated with the given point on the figure
  Returns:
    a `String` that represents the anchor identifier.

### getSourceConnectionAnchorAt

    public ConnectionAnchor getSourceConnectionAnchorAt(Point p)

  Description copied from interface: `IAnchorableFigure`
  Gets the source connection anchor at a given point on the figure.

  Specified by:
    `getSourceConnectionAnchorAt` in interface `IAnchorableFigure`
  Parameters:
    `p` - `Point` on the figure that gives a hint which anchor to return.
  Returns:
    a `ConnectionAnchor` reference to an anchor associated with the given point on the figure.

### getTargetConnectionAnchorAt

    public ConnectionAnchor getTargetConnectionAnchorAt(Point p)

  Description copied from interface: `IAnchorableFigure`
  Gets the target connection anchor at a given point on the figure.

  Specified by:
    `getTargetConnectionAnchorAt` in interface `IAnchorableFigure`
  Parameters:
    `p` - `Point` on the figure that gives a hint which anchor to return.
  Returns:
    `ConnectionAnchor` reference to an anchor associated with the given point on the figure.

### createConnectionAnchor

    protected ConnectionAnchor createConnectionAnchor(Point p)

  Returns a new anchor for this node figure.

  Parameters:
    `p` - `Point` on the figure that gives a hint which anchor to return.
  Returns:
    `ConnectionAnchor` reference to an anchor associated with the given point on the figure.

### isDefaultAnchorArea

    protected boolean isDefaultAnchorArea(PrecisionPoint p)

  Checks whether the <PrecisionPoint> p which is a candidate for a relative reference for the `SlidableAnchor` belongs to the area where the default anchor must be created

  Parameters:
    `p` -
  Returns:
    `boolean` `true` if <PrecisionPoint> belongs to the area where the default anchor must be created, `false` otherwise

### paintFigure

    protected void paintFigure(Graphics graphics)

### getConnectionAnchors

    protected java.util.Hashtable getConnectionAnchors()

  Returns the connectionAnchors.

  Returns:
    Hashtable

### getSlidableAnchorArea

    protected double getSlidableAnchorArea()

  Specifies how large the area of the figure's bounds where `SlidableAnchor` will be created. The result number: 0<=result<=1

  Returns:
    the size of the area of the figure's bounds

### createDefaultAnchor

    protected ConnectionAnchor createDefaultAnchor()

  Creates the default Slidable anchor with a reference point at the center of the figure's bounds

  Returns:
    - default SlidableAnchor, relative reference the center of the figure

### createAnchor

    protected ConnectionAnchor createAnchor(PrecisionPoint p)

  Creates a slidable anchor at the specified point (from the ratio of the reference's coordinates and bounds of the figure

  Parameters:
    `p` - - relative reference for the `SlidableAnchor`
  Returns:
    a `SlidableAnchor` for this figure with relative reference at p

### getDefaultAnchorID

    public static java.lang.String getDefaultAnchorID()

  Returns:
    `String` that is the identifier for the default anchor

Runtime

Guidelines for using Eclipse APIs.

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