Class GFEllipseDecoration

java.lang.Object
org.eclipse.draw2d.Figure
org.eclipse.draw2d.Shape
All Implemented Interfaces:
org.eclipse.draw2d.IFigure, org.eclipse.draw2d.RotatableDecoration, org.eclipse.gef.handles.HandleBounds, IVisualStateChangeListener, IVisualStateHolder

public class GFEllipseDecoration extends GFAbstractRotatableDecoration implements org.eclipse.draw2d.RotatableDecoration
A Graphiti Ellipse Rotatable Decoration. Most functionality is handled in the super-class. This class only has to define the path and the touch-point for the figure-specific painting.
  • Nested Class Summary

    Nested classes/interfaces inherited from class org.eclipse.draw2d.Figure

    org.eclipse.draw2d.Figure.FigureIterator, org.eclipse.draw2d.Figure.IdentitySearch, org.eclipse.draw2d.Figure.ReverseFigureChildrenIterator

    Nested classes/interfaces inherited from interface org.eclipse.draw2d.IFigure

    org.eclipse.draw2d.IFigure.NoInsets
  • Field Summary

    Fields inherited from class org.eclipse.draw2d.Shape

    lineStyle, lineWidth

    Fields inherited from class org.eclipse.draw2d.Figure

    bgColor, border, 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

    Constructors
    Constructor
    Description
    GFEllipseDecoration(IPictogramElementDelegate pictogramElementDelegate, GraphicsAlgorithm graphicsAlgorithm)
    Creates a new GFEllipseDecoration.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    Returns true, if the given point is contained inside this ellipse.
    protected org.eclipse.swt.graphics.Path
    createPath(org.eclipse.draw2d.geometry.Rectangle outerBounds, org.eclipse.draw2d.Graphics graphics, boolean isFill)
    Returns the Path specifying an ellipse for the given outer bounds.
    protected org.eclipse.draw2d.geometry.Point
    Returns the initial touch-point of the decorator-shape.

    Methods inherited from class org.eclipse.draw2d.Shape

    getAlpha, getAntialias, getLineAttributes, getLineCap, getLineDash, getLineDashOffset, getLineJoin, getLineMiterLimit, getLineStyle, getLineWidth, getLineWidthFloat, setAlpha, setAlpha, setAntialias, setAntialias, setFill, setFillXOR, setLineAttributes, setLineCap, setLineDash, setLineDashOffset, setLineJoin, setLineMiterLimit, setLineStyle, setLineWidth, setLineWidthFloat, setOutline, setOutlineXOR, setXOR

    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, erase, findDescendantAtExcluding, findFigureAt, findFigureAt, findFigureAt, findFigureAtExcluding, findMouseEventTargetAt, findMouseEventTargetInDescendantsAt, fireCoordinateSystemChanged, fireFigureMoved, fireMoved, firePropertyChange, firePropertyChange, firePropertyChange, getBackgroundColor, getBorder, getChildren, getChildrenRevIterable, getClientArea, getClientArea, getClippingStrategy, getCursor, getFlag, getFont, getForegroundColor, getInsets, getLayoutManager, getListeners, getListenersIterable, 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, optimizeClip, 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, setClippingStrategy, setConstraint, setCursor, setEnabled, setFlag, setFocusTraversable, setFont, setForegroundColor, setLayoutManager, 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, getClippingStrategy, getCursor, getFont, getForegroundColor, getInsets, getLayoutManager, getLocalBackgroundColor, 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, 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, setClippingStrategy, setConstraint, setCursor, setEnabled, setFocusTraversable, setFont, setForegroundColor, setLayoutManager, setMaximumSize, setMinimumSize, setOpaque, setParent, setPreferredSize, setRequestFocusEnabled, setSize, setSize, setToolTip, setVisible, translate, translateFromParent, translateToAbsolute, translateToParent, translateToRelative, validate

    Methods inherited from interface org.eclipse.draw2d.RotatableDecoration

    setLocation, setReferencePoint
  • Constructor Details

    • GFEllipseDecoration

      public GFEllipseDecoration(IPictogramElementDelegate pictogramElementDelegate, GraphicsAlgorithm graphicsAlgorithm)
      Creates a new GFEllipseDecoration.
      Parameters:
      pictogramElementDelegate - The PictogramElementDelegate which provides the GraphicsAlgorithm.
      graphicsAlgorithm - The GraphicsAlgorithm which provides the values to paint this Shape.
  • Method Details

    • getInitialTouchPoint

      protected org.eclipse.draw2d.geometry.Point getInitialTouchPoint()
      Returns the initial touch-point of the decorator-shape. This is the point of the decorator-shape inside the initial-bounds (see GFAbstractRotatableDecoration.getInitialBounds()), which shall touch the decorated figure at the decorator-location (see GFAbstractRotatableDecoration.getDecoratorLocation(). It is called "inital" because it is the point before translation/rotation.

      In caes of this Ellipse the point (0, getInitialBounds().height / 2) is returned.

      Specified by:
      getInitialTouchPoint in class GFAbstractRotatableDecoration
      Returns:
      The initial touch-point of the decorator-shape.
    • containsPointInInitialFigure

      public boolean containsPointInInitialFigure(int x, int y)
      Returns true, if the given point is contained inside this ellipse. This implementation overwrites the super-implementation, which only checks if the point is in the rectangular bounds.
      Overrides:
      containsPointInInitialFigure in class GFAbstractRotatableDecoration
      Parameters:
      x - The x-coordinate of the point to check.
      y - The y-coordinate of the point to check.
      Returns:
      true, if the given point is contained inside this ellipse.
    • createPath

      protected org.eclipse.swt.graphics.Path createPath(org.eclipse.draw2d.geometry.Rectangle outerBounds, org.eclipse.draw2d.Graphics graphics, boolean isFill)
      Returns the Path specifying an ellipse for the given outer bounds. It does not differentiate between a fill Path and an outline Path.
      Specified by:
      createPath in class GFAbstractShape
      Parameters:
      outerBounds - The outer bounds which shall contain the Path. They are calculated from the bounds of this figure by GFFigureUtil.getAdjustedRectangle(Rectangle, double, int) . Note, that those outline-bounds are just a suggestion which works fine for many cases.
      graphics - The Graphics on which the outline Path shall be painted. It can be used to react on Graphics specific values, like the zoom-level of the Graphics.
      isFill - if true, the Path is used for filling the Shape, otherwise for outlining the Shape.
      Returns:
      The Path specifying an ellipse for the given outer bounds.