EdgeView (JGraph v5.12.4.2 API Specification)
Keywords: org.jgraph.graph.EdgeView class

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JGraph v5.12.4.2
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.jgraph.graph
Class EdgeView

    java.lang.Object
      org.jgraph.graph.AbstractCellView
          org.jgraph.graph.EdgeView

All Implemented Interfaces:
  CellView, Serializable

public class EdgeView
extends AbstractCellView

The default implementation of an edge view. The getEdgeRenderer method assumes a renderer of type EdgeRenderer. If you provide a custom renderer to a subclass, you must also override the methods that call this method, namely: getShape, getLabelBounds, getExtraLabelBounds, intersects and getBounds.

See Also:
  Serialized Form

Nested Class Summary
`static class` | `EdgeView.EdgeHandle`

Field Summary
`Shape` | `beginShape` Drawing attributes that are created on the fly
`protected Rectangle2D` | `cachedBounds`
`Shape` | `endShape` Drawing attributes that are created on the fly
`protected Point2D[]` | `extraLabelPositions`
`protected Point2D` | `labelPosition` Cached label position of the edge.
`protected Point2D` | `labelVector`
`static boolean` | `LEGACY_DISCONNECTABLE` Whether or not pre 5.12.3.3 disconnectable behaviour is to be used.
`Shape` | `lineShape` Drawing attributes that are created on the fly
`protected List` | `points` List of points of the edge.
`static EdgeRenderer` | `renderer` Renderer for the class.
`GeneralPath` | `sharedPath` Shared-path tune-up.
`protected CellView` | `source` Cached source and target portview of the edge.
`protected CellView` | `sourceParentView`
`protected CellView` | `target` Cached source and target portview of the edge.
`protected CellView` | `targetParentView`

Fields inherited from class org.jgraph.graph.AbstractCellView
`allAttributes, attributes, cell, cellEditor, childViews, groupBounds, parent`

Constructor Summary
`EdgeView()` Constructs an empty edge view.
`EdgeView(Object cell)` Constructs an edge view for the specified model object.

Method Summary
`void` | `addExtraLabel(Point2D location, Object label)` Adds an extra label.
`void` | `addPoint(int index, Point2D p)` Adds `p` at position `index`.
`protected void` | `checkDefaultLabelPosition()` Hook for subclassers to avoid default label positions.
`protected Point2D` | `convertRelativeLabelPositionToAbsolute(Point2D geometry)` Converts an relative label position (x is distance along edge and y is distance above/below edge vector) into an absolute co-ordination point
`protected Point2D` | `getAbsoluteExtraLabelPosition(int index)` Returns the absolute position of the specified extra label
`protected Point2D` | `getAbsoluteLabelPosition()` Returns the absolute position of the main label
`protected Point2D` | `getAbsoluteLabelPositionFromRelative(Point2D geometry)` Converts relative label position to absolute and allows for any label offset.
`Rectangle2D` | `getBounds()` Returns the location for this edgeview.
`Point2D` | `getExtraLabelPosition(int index)` Returns a point that describes the position of the label.
`int` | `getFirstPointOfSegment()` Utility method that returns the first point of the pair that forms the segment that is relativeX along the edge as a proportion
`CellHandle` | `getHandle(GraphContext context)` Returns a cell handle for the view.
`Point2D` | `getLabelPosition()` Returns a point that describes the position of the label.
`Point2D` | `getLabelVector()` Hook to return the vector that is taken as the base vector to compute relative label positions.
`static double` | `getLength(CellView view)`
`protected Point2D` | `getNearestPoint(boolean source)` Returns the nearest point wrt to the source or target.
`Point2D` | `getPerimeterPoint(EdgeView edge, Point2D source, Point2D p)` Returns the intersection of the bounding rectangle and the straight line between the source and the specified point p.
`Point2D` | `getPoint(int index)` Returns the cached points for this edge.
`int` | `getPointCount()` Returns the number of point for this edge.
`protected Point2D` | `getPointLocation(int index)` Returns the point of `edge` at `index`.
`List` | `getPoints()` Returns the points.
`CellViewRenderer` | `getRenderer()` Returns a renderer for the class.
`Shape` | `getShape()` Returns the shape of the view according to the last rendering state
`CellView` | `getSource()` Returns the CellView that represents the source of the edge.
`CellView` | `getSourceParentView()`
`CellView` | `getTarget()` Returns the CellView that represents the target of the edge.
`CellView` | `getTargetParentView()`
`protected CellView` | `getVisibleParent(GraphModel model, CellMapper mapper, Object port)`
`boolean` | `intersects(JGraph graph, Rectangle2D rect)` Returns true if this view intersects the given rectangle.
`protected void` | `invalidate()` Resets the cached values of the edge view
`boolean` | `isLoop()` Returns true if the edge is a loop.
`void` | `refresh(GraphLayoutCache cache, CellMapper mapper, boolean createDependentViews)` Overrides the parent method to udpate the cached points, source and target port.
`void` | `removeExtraLabel(int index)` Removes the point at position `index`.
`void` | `removePoint(int index)` Removes the point at position `index`.
`void` | `setExtraLabelPosition(int index, Point2D pos)` Sets the description of the label position.
`void` | `setLabelPosition(Point2D pos)` Sets the description of the label position.
`void` | `setPoint(int index, Point2D p)` Sets the point at `index` to `p`.
`void` | `setSource(CellView sourceView)` Sets the `sourceView` of the edge.
`void` | `setTarget(CellView targetView)` Sets the `targetView` of the edge.
`void` | `update(GraphLayoutCache cache)` Update attributes and recurse children.

Methods inherited from class org.jgraph.graph.AbstractCellView
`changeAttributes, childUpdated, createAttributeMap, getAllAttributes, getAttributes, getBounds, getCell, getCellAttributes, getCenterPoint, getChildViews, getDescendantViews, getEditor, getParentView, getRendererComponent, includeInGroupBounds, isLeaf, mergeAttributes, removeFromParent, scale, setAttributes, setBounds, setCell, translate, updateGroupBounds`

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

Field Detail

### renderer

    public static transient EdgeRenderer renderer

  Renderer for the class.

### points

    protected List points

  List of points of the edge. May contain ports.

### source

    protected CellView source

  Cached source and target portview of the edge.

### target

    protected CellView target

  Cached source and target portview of the edge.

### sourceParentView

    protected CellView sourceParentView

### targetParentView

    protected CellView targetParentView

### labelPosition

    protected Point2D labelPosition

  Cached label position of the edge.

### extraLabelPositions

    protected Point2D[] extraLabelPositions

### labelVector

    protected transient Point2D labelVector

### beginShape

    public transient Shape beginShape

  Drawing attributes that are created on the fly

### endShape

    public transient Shape endShape

  Drawing attributes that are created on the fly

### lineShape

    public transient Shape lineShape

  Drawing attributes that are created on the fly

### sharedPath

    public transient GeneralPath sharedPath

  Shared-path tune-up.

### cachedBounds

    protected transient Rectangle2D cachedBounds

### LEGACY_DISCONNECTABLE

    public static boolean LEGACY_DISCONNECTABLE

  Whether or not pre 5.12.3.3 disconnectable behaviour is to be used. This allowed an edge to reconnect to another vertex ever when isDisconnectable was false for the edge. Set to false with isDisconnectable set to false for the edge forbids any disconnection. Default is true.

Constructor Detail

### EdgeView

    public EdgeView()

  Constructs an empty edge view.

### EdgeView

    public EdgeView(Object cell)

  Constructs an edge view for the specified model object.

Parameters:
  `cell` - reference to the model object

Method Detail

### refresh

    public void refresh(GraphLayoutCache cache,
                        CellMapper mapper,
                        boolean createDependentViews)

  Overrides the parent method to udpate the cached points, source and target port. If the source or target is removed, a point is inserted into the array of points.

  Specified by:
    `refresh` in interface `CellView`
  Overrides:
    `refresh` in class `AbstractCellView`
  Parameters:
    `cache` - the graph model to be used
    `mapper` - the cell mapper to be used
    `createDependentViews` - whether or not to create a view if one does not already exist

### getVisibleParent

    protected CellView getVisibleParent(GraphModel model,
                                        CellMapper mapper,
                                        Object port)

### update

    public void update(GraphLayoutCache cache)

  Update attributes and recurse children.

  Specified by:
    `update` in interface `CellView`
  Overrides:
    `update` in class `AbstractCellView`

### checkDefaultLabelPosition

    protected void checkDefaultLabelPosition()

  Hook for subclassers to avoid default label positions.

### invalidate

    protected void invalidate()

  Resets the cached values of the edge view

### getShape

    public Shape getShape()

  Returns the shape of the view according to the last rendering state

### intersects

    public boolean intersects(JGraph graph,
                              Rectangle2D rect)

  Returns true if this view intersects the given rectangle.

  Specified by:
    `intersects` in interface `CellView`
  Overrides:
    `intersects` in class `AbstractCellView`
  Parameters:
    `graph` - the `JGraph` instance of the view
    `rect` - the rectangle within which intersection is being checked for
  Returns:
    whether or not the rectangle specified intersects the view

### getBounds

    public Rectangle2D getBounds()

  Returns the location for this edgeview.

  Specified by:
    `getBounds` in interface `CellView`
  Overrides:
    `getBounds` in class `AbstractCellView`

### getRenderer

    public CellViewRenderer getRenderer()

  Returns a renderer for the class.

  Specified by:
    `getRenderer` in class `AbstractCellView`
  Returns:
    the renderer instance for this view

### getHandle

    public CellHandle getHandle(GraphContext context)

  Returns a cell handle for the view.

  Specified by:
    `getHandle` in interface `CellView`
  Specified by:
    `getHandle` in class `AbstractCellView`
  Parameters:
    `context` - the context of this cell view (cells indirectly affected by it)
  Returns:
    the cell handle for this view

### getSource

    public CellView getSource()

  Returns the CellView that represents the source of the edge.

### getSourceParentView

    public CellView getSourceParentView()

### setSource

    public void setSource(CellView sourceView)

  Sets the `sourceView` of the edge.

### getTarget

    public CellView getTarget()

  Returns the CellView that represents the target of the edge.

### getTargetParentView

    public CellView getTargetParentView()

### setTarget

    public void setTarget(CellView targetView)

  Sets the `targetView` of the edge.

### getExtraLabelPosition

    public Point2D getExtraLabelPosition(int index)

  Returns a point that describes the position of the label.

### getLabelPosition

    public Point2D getLabelPosition()

  Returns a point that describes the position of the label.

### setLabelPosition

    public void setLabelPosition(Point2D pos)

  Sets the description of the label position.

### setExtraLabelPosition

    public void setExtraLabelPosition(int index,
                                      Point2D pos)

  Sets the description of the label position.

### isLoop

    public boolean isLoop()

  Returns true if the edge is a loop.

### getPoints

    public List getPoints()

  Returns the points.

  Returns:
    List

### getPointCount

    public int getPointCount()

  Returns the number of point for this edge.

### getPoint

    public Point2D getPoint(int index)

  Returns the cached points for this edge.

### getNearestPoint

    protected Point2D getNearestPoint(boolean source)

  Returns the nearest point wrt to the source or target. This method returns the next or previous point or port in the points list, eg. if source is true it returns the location of the point or port at index 1 without calling the getLocation method on any ports.
  Likewise, the method returns the location at index getPointCount()-2 if source is false.

### getPointLocation

    protected Point2D getPointLocation(int index)

  Returns the point of `edge` at `index`. Avoids calling `getLocation` on any ports of `edge`.
  This is used from within getPoint to pass the nearest point to the portview to find it's location. This uses the center point of the parent view to determine the port view's location to avoid infinite recursion.

### setPoint

    public void setPoint(int index,
                         Point2D p)

  Sets the point at `index` to `p`.

### addPoint

    public void addPoint(int index,
                         Point2D p)

  Adds `p` at position `index`.

### removePoint

    public void removePoint(int index)

  Removes the point at position `index`.

### addExtraLabel

    public void addExtraLabel(Point2D location,
                              Object label)

  Adds an extra label.

### removeExtraLabel

    public void removeExtraLabel(int index)

  Removes the point at position `index`.

### getFirstPointOfSegment

    public int getFirstPointOfSegment()

  Utility method that returns the first point of the pair that forms the segment that is relativeX along the edge as a proportion

  Returns:
    the index of the first point. A value of -1 indicate to use the first and last points

### getLabelVector

    public Point2D getLabelVector()

  Hook to return the vector that is taken as the base vector to compute relative label positions. Normally, the vector goes from the first to the last point on the edge, unless these points are equal, in which case the average distance of all points to the source point is used.

### getAbsoluteLabelPosition

    protected Point2D getAbsoluteLabelPosition()

  Returns the absolute position of the main label

  Returns:
    the absolute position of the main label

### getAbsoluteExtraLabelPosition

    protected Point2D getAbsoluteExtraLabelPosition(int index)

  Returns the absolute position of the specified extra label

  Parameters:
    `index` - the index of the extra label
  Returns:
    the absolute position of the specified extra label

### getAbsoluteLabelPositionFromRelative

    protected Point2D getAbsoluteLabelPositionFromRelative(Point2D geometry)

  Converts relative label position to absolute and allows for any label offset.

  Parameters:
    `geometry` - the relative label position
  Returns:
    the absolute label position including any offset

### convertRelativeLabelPositionToAbsolute

    protected Point2D convertRelativeLabelPositionToAbsolute(Point2D geometry)

  Converts an relative label position (x is distance along edge and y is distance above/below edge vector) into an absolute co-ordination point

  Parameters:
    `geometry` - the relative label position
  Returns:
    the absolute label position

### getLength

    public static double getLength(CellView view)

### getPerimeterPoint

    public Point2D getPerimeterPoint(EdgeView edge,
                                     Point2D source,
                                     Point2D p)

  Description copied from class: `AbstractCellView`
  Returns the intersection of the bounding rectangle and the straight line between the source and the specified point p. The specified point is expected not to intersect the bounds. Note: You must override this method if you use a different renderer. This is because this method relies on the VertexRenderer interface, which can not be safely assumed for subclassers.

  Specified by:
    `getPerimeterPoint` in interface `CellView`
  Overrides:
    `getPerimeterPoint` in class `AbstractCellView`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JGraph v5.12.4.2
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright (C) 2001-2008 Gaudenz Alder. All rights reserved.