org.jgraph.graph
Class EdgeRenderer
public
class
EdgeRenderer
extends JComponent
implements CellViewRenderer, Serializable
This renderer displays entries that implement the CellView interface.
Field Summary |
protected int | beginDeco Painting attributes of the current edgeview |
protected boolean | beginFill
Boolean attributes of the current edgeview. |
protected int | beginSize Painting attributes of the current edgeview |
protected Bezier | bezier Cached bezier curve |
protected Color | borderColor
Color attributes of the current edgeview. |
protected boolean | childrenSelected
Boolean attributes of the current edgeview. |
protected float | dashOffset Contains the current dash offset. |
protected Color | defaultBackground
Color attributes of the current edgeview. |
protected Color | defaultForeground
Color attributes of the current edgeview. |
protected int | endDeco Painting attributes of the current edgeview |
protected boolean | endFill
Boolean attributes of the current edgeview. |
protected int | endSize Painting attributes of the current edgeview |
Font | extraLabelFont Override this if you want the extra labels to appear in a special fontJ |
protected boolean | focus
Boolean attributes of the current edgeview. |
protected Color | fontColor
Color attributes of the current edgeview. |
protected static Graphics | fontGraphics Static Graphics used for Font Metrics |
protected Color | gradientColor The gradient color of the edge |
protected WeakReference | graph Cache the current graph for drawing |
protected Color | gridColor The color of the graph grid |
protected Color | highlightColor The color of highlighted cells |
static boolean | HIT_LABEL_EXACT Switch for exact label hit detection on rotated labels. |
protected boolean | isMoveBelowZero
Boolean attributes of the current edgeview. |
protected boolean | labelBorder
Boolean attributes of the current edgeview. |
protected boolean | labelsEnabled Cached value of whether the label is to be displayed |
protected boolean | labelTransformEnabled
Boolean attributes of the current edgeview. |
protected float[] | lineDash Contains the current dash pattern. |
protected int | lineStyle Painting attributes of the current edgeview |
protected float | lineWidth Width of the current edge view |
protected Color | lockedHandleColor The color of the second available handle |
static double | LABELWIDTHBUFFER When zooming a graph the font size jumps at certain zoom levels rather than
scaling smoothly. |
protected FontMetrics | metrics Reference to the font metrics of the above |
protected boolean | opaque
Boolean attributes of the current edgeview. |
protected boolean | preview
Boolean attributes of the current edgeview. |
protected boolean | selected
Boolean attributes of the current edgeview. |
boolean | simpleExtraLabels A switch for painting the extra labels |
protected Spline2D | spline Cached spline curve |
protected EdgeView | view Cache the current edgeview for drawing |
Method Summary |
protected void | afterEdgePaint(Graphics g)
Hook method for painting after the default painting |
protected void | beforeEdgePaint(Graphics g)
Hook method for painting prior to default painting |
protected Shape | createLineEnd(int size, int style, Point2D src, Point2D dst)
Paint the current view's direction. |
protected Shape | createShape()
Returns the shape that represents the current edge in the context of the
current graph. |
protected void | firePropertyChange(String propertyName, Object oldValue, Object newValue)
Overridden for performance reasons. |
void | firePropertyChange(String propertyName, byte oldValue, byte newValue)
Overridden for performance reasons. |
void | firePropertyChange(String propertyName, char oldValue, char newValue)
Overridden for performance reasons. |
void | firePropertyChange(String propertyName, short oldValue, short newValue)
Overridden for performance reasons. |
void | firePropertyChange(String propertyName, int oldValue, int newValue)
Overridden for performance reasons. |
void | firePropertyChange(String propertyName, long oldValue, long newValue)
Overridden for performance reasons. |
void | firePropertyChange(String propertyName, float oldValue, float newValue)
Overridden for performance reasons. |
void | firePropertyChange(String propertyName, double oldValue, double newValue)
Overridden for performance reasons. |
void | firePropertyChange(String propertyName, boolean oldValue, boolean newValue)
Overridden for performance reasons. |
Rectangle2D | getBounds(CellView value)
Returns the bounds of the edge shape. |
Rectangle2D | getExtraLabelBounds(JGraph paintingContext, EdgeView view, int index)
Returns the label bounds of the specified view in the given graph. |
Point2D | getExtraLabelPosition(EdgeView view, int index)
Returns the label position of the specified view in the given graph. |
Dimension | getExtraLabelSize(JGraph paintingContext, EdgeView view, int index)
Returns the label size of the specified view in the given graph. |
Color | getGradientColor() |
Rectangle2D | getLabelBounds(JGraph paintingContext, EdgeView view)
Returns the label bounds of the specified view in the given graph. |
Rectangle2D | getLabelBounds(Point2D p, Dimension d, String label)
Returns the label bounds of the specified view in the given graph. |
Point2D | getLabelPosition(EdgeView view)
Returns the label position of the specified view in the given graph. |
protected Point2D | getLabelPosition(Point2D pos)
Returns the label position of the specified view in the given graph. |
Dimension | getLabelSize(EdgeView view, String label)
Returns the label size of the specified view in the given graph. |
Rectangle2D | getPaintBounds(EdgeView view)
Returns the bounds of the edge shape without label |
Component | getRendererComponent(JGraph graph, CellView view, boolean sel, boolean focus, boolean preview)
Configure and return the renderer based on the passed in components. |
protected void | installAttributes(CellView view)
Installs the attributes of specified cell in this renderer instance. |
boolean | intersects(JGraph graph, CellView value, Rectangle rect)
Returns true if the edge shape intersects the given rectangle. |
protected boolean | isFillable(int decoration) |
void | paint(Graphics g)
Paint the renderer. |
protected void | paintEdge(Graphics g)
Paints the edge itself |
protected void | paintLabel(Graphics g, String label, Point2D p, boolean mainLabel)
Paint the specified label for the current edgeview. |
protected void | paintLabels(Graphics g)
Draws the edge labels |
protected void | paintSelection(Graphics g)
Paints any selection effect applied to the edge |
protected void | paintSelectionBorder(Graphics g)
Provided for subclassers to paint a selection border. |
void | repaint(long tm, int x, int y, int width, int height)
Overridden for performance reasons. |
void | repaint(Rectangle r)
Overridden for performance reasons. |
void | revalidate()
Overridden for performance reasons. |
void | setGradientColor(Color gradientColor) |
protected void | translateGraphics(Graphics g) |
void | validate()
Overridden for performance reasons. |
protected transient int beginDeco
Painting attributes of the current edgeview
protected transient boolean beginFill
Boolean attributes of the current edgeview. Fill flags are checked for
valid decorations.
protected transient int beginSize
Painting attributes of the current edgeview
protected transient
Bezier bezier
Cached bezier curve
protected transient Color borderColor
Color attributes of the current edgeview. This components foreground is
set to the edgecolor, the fontColor is in an extra variable. If the
fontColor is null, the current foreground is used. The default background
instead is used for text and is not visible if the label is not visible
or if opaque is true.
protected transient boolean childrenSelected
Boolean attributes of the current edgeview. Fill flags are checked for
valid decorations.
protected transient float dashOffset
Contains the current dash offset. Null means no offset.
protected transient Color defaultBackground
Color attributes of the current edgeview. This components foreground is
set to the edgecolor, the fontColor is in an extra variable. If the
fontColor is null, the current foreground is used. The default background
instead is used for text and is not visible if the label is not visible
or if opaque is true.
protected transient Color defaultForeground
Color attributes of the current edgeview. This components foreground is
set to the edgecolor, the fontColor is in an extra variable. If the
fontColor is null, the current foreground is used. The default background
instead is used for text and is not visible if the label is not visible
or if opaque is true.
protected transient int endDeco
Painting attributes of the current edgeview
protected transient boolean endFill
Boolean attributes of the current edgeview. Fill flags are checked for
valid decorations.
protected transient int endSize
Painting attributes of the current edgeview
public Font extraLabelFont
Override this if you want the extra labels to appear in a special fontJ
protected transient boolean focus
Boolean attributes of the current edgeview. Fill flags are checked for
valid decorations.
protected transient Color fontColor
Color attributes of the current edgeview. This components foreground is
set to the edgecolor, the fontColor is in an extra variable. If the
fontColor is null, the current foreground is used. The default background
instead is used for text and is not visible if the label is not visible
or if opaque is true.
protected static transient Graphics fontGraphics
Static Graphics used for Font Metrics
protected transient Color gradientColor
The gradient color of the edge
protected transient WeakReference graph
Cache the current graph for drawing
protected transient Color gridColor
The color of the graph grid
protected transient Color highlightColor
The color of highlighted cells
public static boolean HIT_LABEL_EXACT
Switch for exact label hit detection on rotated labels. Default is false.
protected transient boolean isMoveBelowZero
Boolean attributes of the current edgeview. Fill flags are checked for
valid decorations.
protected transient boolean labelBorder
Boolean attributes of the current edgeview. Fill flags are checked for
valid decorations.
protected transient boolean labelsEnabled
Cached value of whether the label is to be displayed
protected transient boolean labelTransformEnabled
Boolean attributes of the current edgeview. Fill flags are checked for
valid decorations.
protected transient float[] lineDash
Contains the current dash pattern. Null means no pattern.
protected transient int lineStyle
Painting attributes of the current edgeview
protected transient float lineWidth
Width of the current edge view
protected transient Color lockedHandleColor
The color of the second available handle
public static double LABELWIDTHBUFFER
When zooming a graph the font size jumps at certain zoom levels rather than
scaling smoothly. Sometimes the zoom on the font is more than the component zoom
and cropping occurs. This buffer allows for the maximum occurance of this
protected transient FontMetrics metrics
Reference to the font metrics of the above
protected transient boolean opaque
Boolean attributes of the current edgeview. Fill flags are checked for
valid decorations.
protected transient boolean preview
Boolean attributes of the current edgeview. Fill flags are checked for
valid decorations.
protected transient boolean selected
Boolean attributes of the current edgeview. Fill flags are checked for
valid decorations.
public boolean simpleExtraLabels
A switch for painting the extra labels
Cached spline curve
Cache the current edgeview for drawing
public EdgeRenderer()
Constructs a renderer that may be used to render edges.
protected void afterEdgePaint(Graphics g)
Hook method for painting after the default painting
Parameters: g the graphics object being painted to
protected void beforeEdgePaint(Graphics g)
Hook method for painting prior to default painting
Parameters: g the graphics object being painted to
protected Shape createLineEnd(int size, int style, Point2D src, Point2D dst)
Paint the current view's direction. Sets tmpPoint as a side-effect such
that the invoking method can use it to determine the connection point to
this decoration.
protected Shape createShape()
Returns the shape that represents the current edge in the context of the
current graph. This method sets the global beginShape, lineShape and
endShape variables as a side-effect.
protected void firePropertyChange(String propertyName, Object oldValue, Object newValue)
public void firePropertyChange(String propertyName, byte oldValue, byte newValue)
public void firePropertyChange(String propertyName, char oldValue, char newValue)
public void firePropertyChange(String propertyName, short oldValue, short newValue)
public void firePropertyChange(String propertyName, int oldValue, int newValue)
public void firePropertyChange(String propertyName, long oldValue, long newValue)
public void firePropertyChange(String propertyName, float oldValue, float newValue)
public void firePropertyChange(String propertyName, double oldValue, double newValue)
public void firePropertyChange(String propertyName, boolean oldValue, boolean newValue)
public Rectangle2D getBounds(
CellView value)
Returns the bounds of the edge shape.
public Rectangle2D getExtraLabelBounds(
JGraph paintingContext,
EdgeView view, int index)
Returns the label bounds of the specified view in the given graph. Note:
The index is the position of the String object for the label in the extra
labels array of the view.
public Point2D getExtraLabelPosition(
EdgeView view, int index)
Returns the label position of the specified view in the given graph.
public Dimension getExtraLabelSize(
JGraph paintingContext,
EdgeView view, int index)
Returns the label size of the specified view in the given graph.
public Color getGradientColor()
Returns: Returns the gradientColor.
public Rectangle2D getLabelBounds(
JGraph paintingContext,
EdgeView view)
Returns the label bounds of the specified view in the given graph.
public Rectangle2D getLabelBounds(Point2D p, Dimension d, String label)
Returns the label bounds of the specified view in the given graph.
public Point2D getLabelPosition(
EdgeView view)
Returns the label position of the specified view in the given graph.
protected Point2D getLabelPosition(Point2D pos)
Returns the label position of the specified view in the given graph.
public Dimension getLabelSize(
EdgeView view, String label)
Returns the label size of the specified view in the given graph.
public Rectangle2D getPaintBounds(
EdgeView view)
Returns the bounds of the edge shape without label
public Component getRendererComponent(
JGraph graph,
CellView view, boolean sel, boolean focus, boolean preview)
Configure and return the renderer based on the passed in components. The
value is typically set from messaging the graph with
convertValueToString
.
Parameters: graph
the graph that that defines the rendering context. view
the cell view that should be rendered. sel
whether the object is selected. focus
whether the object has the focus. preview
whether we are drawing a preview.
Returns: the component used to render the value.
protected void installAttributes(
CellView view)
Installs the attributes of specified cell in this renderer instance. This
means, retrieve every published key from the cells hashtable and set
global variables or superclass properties accordingly.
Parameters: view
the cell view to retrieve the attribute values from.
public boolean intersects(
JGraph graph,
CellView value, Rectangle rect)
Returns true if the edge shape intersects the given rectangle.
protected boolean isFillable(int decoration)
public void paint(Graphics g)
Paint the renderer.
protected void paintEdge(Graphics g)
Paints the edge itself
Parameters: g the graphics object being painted to
protected void paintLabel(Graphics g, String label, Point2D p, boolean mainLabel)
Paint the specified label for the current edgeview.
protected void paintLabels(Graphics g)
Draws the edge labels
Parameters: g the graphics object being painted to
protected void paintSelection(Graphics g)
Paints any selection effect applied to the edge
Parameters: g the graphics object being painted to
protected void paintSelectionBorder(Graphics g)
Provided for subclassers to paint a selection border.
public void repaint(long tm, int x, int y, int width, int height)
public void repaint(Rectangle r)
public void revalidate()
public void setGradientColor(Color gradientColor)
Parameters: gradientColor
The gradientColor to set.
protected void translateGraphics(Graphics g)
public void validate()
Copyright (C) 2001-2009 JGraph Ltd. All rights reserved.