Package org.eclipse.draw2d
Class PolylineConnection
java.lang.Object
org.eclipse.draw2d.Figure
org.eclipse.draw2d.Shape
org.eclipse.draw2d.AbstractPointListShape
org.eclipse.draw2d.Polyline
org.eclipse.draw2d.PolylineConnection
- All Implemented Interfaces:
AnchorListener
,Connection
,IFigure
An implementation of
Connection
based on Polyline. PolylineConnection
adds the following additional features:
- A
ConnectionRouter
may be provided which will be used to determine the connections points. - Children may be added. The bounds calculation is extended such that the bounds is the smallest Rectangle which is large enough to display the Polyline and all of its children figures.
- A
DelegatingLayout
is set as the default layout. A delegating layout allows children to position themselves viaLocators
.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.eclipse.draw2d.Figure
Figure.FigureIterator, Figure.IdentitySearch, Figure.ReverseFigureChildrenIterator
Nested classes/interfaces inherited from interface org.eclipse.draw2d.IFigure
IFigure.NoInsets
-
Field Summary
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.Connection
PROPERTY_CONNECTION_ROUTER, PROPERTY_POINTS
Fields inherited from interface org.eclipse.draw2d.IFigure
MAX_DIMENSION, MIN_DIMENSION, NO_INSETS
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
Hooks the source and target anchors.void
addRoutingListener
(RoutingListener listener) Appends the given routing listener to the list of listeners.void
anchorMoved
(ConnectionAnchor anchor) Called by the anchors of this connection when they have moved, revalidating this polyline connection.Returns the bounds which holds all the points in this polyline connection.Returns theConnectionRouter
used to layout this connection.Returns this connection's routing constraint from its connection router.Returns the ConnectionAnchor at the source end of this Connection.protected RotatableDecoration
Returns the ConnectionAnchor at the target end of this Connection.protected RotatableDecoration
void
layout()
Layouts this polyline.void
Called just before the receiver is being removed from its parent.void
removeRoutingListener
(RoutingListener listener) Removes the first occurence of the given listener.void
Invalidates this figure and revalidates() its parent.void
Sets the connection router which handles the layout of this polyline.void
setRoutingConstraint
(Object cons) Sets the routing constraint for this connection.void
setSourceAnchor
(ConnectionAnchor anchor) Sets the anchor to be used at the start of this polyline connection.void
Sets the decoration to be used at the start of theConnection
.void
setTargetAnchor
(ConnectionAnchor anchor) Sets the anchor to be used at the end of the polyline connection.void
Sets the decoration to be used at the end of theConnection
.Methods inherited from class org.eclipse.draw2d.Polyline
containsPoint, fillShape, isOpaque, outlineShape, primTranslate, removeAllPoints, repaint, setLineWidth, setPoints, setTolerance, shapeContainsPoint
Methods inherited from class org.eclipse.draw2d.AbstractPointListShape
addPoint, childrenContainsPoint, getEnd, getPoints, getStart, insertPoint, removePoint, setEnd, setEndpoints, setPoint, setStart
Methods inherited from class org.eclipse.draw2d.Shape
getAlpha, getAntialias, getLineAttributes, getLineCap, getLineDash, getLineDashOffset, getLineJoin, getLineMiterLimit, getLineStyle, getLineWidth, getLineWidthFloat, paintFigure, setAlpha, setAlpha, setAntialias, setAntialias, setFill, setFillXOR, setLineAttributes, setLineCap, setLineDash, setLineDashOffset, setLineJoin, setLineMiterLimit, setLineStyle, 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, 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, isRequestFocusEnabled, isShowing, isValid, isValidationRoot, isVisible, optimizeClip, paint, paintBorder, paintChildren, paintClientArea, remove, removeAll, removeAncestorListener, removeCoordinateListener, removeFigureListener, removeFocusListener, removeKeyListener, removeLayoutListener, removeListener, removeMouseListener, removeMouseMotionListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, requestFocus, setBackgroundColor, setBorder, setBounds, setChildrenDirection, setChildrenEnabled, setChildrenOrientation, setClippingStrategy, 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.Connection
getPoints, setPoints
Methods inherited from interface org.eclipse.draw2d.IFigure
add, add, add, add, addAncestorListener, addCoordinateListener, addFigureListener, addFocusListener, addKeyListener, addLayoutListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, addPropertyChangeListener, containsPoint, containsPoint, erase, findFigureAt, findFigureAt, findFigureAt, findFigureAtExcluding, findMouseEventTargetAt, getBackgroundColor, getBorder, 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, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, setBackgroundColor, setBorder, setBounds, setClippingStrategy, setConstraint, setCursor, setEnabled, setFocusTraversable, setFont, setForegroundColor, setLayoutManager, setLocation, setMaximumSize, setMinimumSize, setOpaque, setParent, setPreferredSize, setRequestFocusEnabled, setSize, setSize, setToolTip, setVisible, translate, translateFromParent, translateToAbsolute, translateToParent, translateToRelative, validate
-
Constructor Details
-
PolylineConnection
public PolylineConnection()
-
-
Method Details
-
addNotify
public void addNotify()Hooks the source and target anchors. -
addRoutingListener
Appends the given routing listener to the list of listeners.- Parameters:
listener
- the routing listener- Since:
- 3.2
-
anchorMoved
Called by the anchors of this connection when they have moved, revalidating this polyline connection.- Specified by:
anchorMoved
in interfaceAnchorListener
- Parameters:
anchor
- the anchor that moved
-
getBounds
Returns the bounds which holds all the points in this polyline connection. Returns any previously existing bounds, else calculates by unioning all the children's dimensions. -
getConnectionRouter
Returns theConnectionRouter
used to layout this connection. Will not returnnull
.- Specified by:
getConnectionRouter
in interfaceConnection
- Returns:
- this connection's router
-
getRoutingConstraint
Returns this connection's routing constraint from its connection router. May returnnull
.- Specified by:
getRoutingConstraint
in interfaceConnection
- Returns:
- the connection's routing constraint
-
getSourceAnchor
Description copied from interface:Connection
Returns the ConnectionAnchor at the source end of this Connection.- Specified by:
getSourceAnchor
in interfaceConnection
- Returns:
- the anchor at the start of this polyline connection (may be null)
-
getSourceDecoration
- Returns:
- the source decoration (may be null)
-
getTargetAnchor
Description copied from interface:Connection
Returns the ConnectionAnchor at the target end of this Connection.- Specified by:
getTargetAnchor
in interfaceConnection
- Returns:
- the anchor at the end of this polyline connection (may be null)
-
getTargetDecoration
- Returns:
- the target decoration (may be null)
- Since:
- 2.0
-
layout
public void layout()Layouts this polyline. If the start and end anchors are present, the connection router is used to route this, after which it is laid out. It also fires a moved method. -
removeNotify
public void removeNotify()Called just before the receiver is being removed from its parent. Results in removing itself from the connection router.- Specified by:
removeNotify
in interfaceIFigure
- Overrides:
removeNotify
in classFigure
- Since:
- 2.0
-
removeRoutingListener
Removes the first occurence of the given listener.- Parameters:
listener
- the listener being removed- Since:
- 3.2
-
revalidate
public void revalidate()Description copied from interface:IFigure
Invalidates this figure and revalidates() its parent. If a figure does not have a parent, it will request a validation from it UpdateManager. Calling this method does not guarantee that a repaint will occur.- Specified by:
revalidate
in interfaceIFigure
- Overrides:
revalidate
in classFigure
- See Also:
-
setConnectionRouter
Sets the connection router which handles the layout of this polyline. Generally set by the parent handling the polyline connection.- Specified by:
setConnectionRouter
in interfaceConnection
- Parameters:
cr
- the connection router
-
setRoutingConstraint
Sets the routing constraint for this connection.- Specified by:
setRoutingConstraint
in interfaceConnection
- Parameters:
cons
- the constraint
-
setSourceAnchor
Sets the anchor to be used at the start of this polyline connection.- Specified by:
setSourceAnchor
in interfaceConnection
- Parameters:
anchor
- the new source anchor
-
setSourceDecoration
Sets the decoration to be used at the start of theConnection
.- Parameters:
dec
- the new source decoration- Since:
- 2.0
-
setTargetAnchor
Sets the anchor to be used at the end of the polyline connection. Removes this listener from the old anchor and adds it to the new anchor.- Specified by:
setTargetAnchor
in interfaceConnection
- Parameters:
anchor
- the new target anchor
-
setTargetDecoration
Sets the decoration to be used at the end of theConnection
.- Parameters:
dec
- the new target decoration
-