/*
* Copyright (c) 2005, the JUNG Project and the Regents of the University of
* California All rights reserved.
*
* This software is open-source under the BSD license; see either "license.txt"
* or http://jung.sourceforge.net/license.txt for a description.
*
* Created on Apr 14, 2005
*/
package edu.uci.ics.jung.visualization.renderers;
import java.awt.Component;
import java.awt.Font;
import javax.swing.JComponent;
/**
* @author Tom Nelson
*
*
*/
public interface EdgeLabelRenderer {
/**
* Returns the component used for drawing the label. This method is
* used to configure the renderer appropriately before drawing.
*
* @param vv the <code>JComponent</code> that is asking the
* renderer to draw; can be <code>null</code>
* @param value the value of the cell to be rendered. It is
* up to the specific renderer to interpret
* and draw the value. For example, if
* <code>value</code>
* is the string "true", it could be rendered as a
* string or it could be rendered as a check
* box that is checked. <code>null</code> is a
* valid value
* @param vertex the vertex for the label being drawn.
*/
<T> Component getEdgeLabelRendererComponent(JComponent vv, Object value,
Font font, boolean isSelected, T edge);
boolean isRotateEdgeLabels();
void setRotateEdgeLabels(boolean state);
}