📄 tablevisualitem.java
字号:
package prefuse.visual.tuple;
import java.awt.BasicStroke;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.geom.Rectangle2D;
import prefuse.Visualization;
import prefuse.data.Graph;
import prefuse.data.Table;
import prefuse.data.Tuple;
import prefuse.data.tuple.TableTuple;
import prefuse.data.tuple.TupleSet;
import prefuse.render.Renderer;
import prefuse.visual.VisualItem;
import prefuse.visual.VisualTable;
/**
* VisualItem implementation that uses data values from a backing VisualTable.
*
* @author <a href="http://jheer.org">jeffrey heer</a>
*/
public class TableVisualItem extends TableTuple implements VisualItem {
/**
* Initialize a new TableVisualItem for the given table and row. This
* method is used by the appropriate TupleManager instance, and should
* not be called directly by client code, unless by a client-supplied
* custom TupleManager.
* @param table the data Table
* @param graph ignored by this class
* @param row the table row index
*/
protected void init(Table table, Graph graph, int row) {
m_table = table;
m_row = m_table.isValidRow(row) ? row : -1;
}
/**
* @see prefuse.visual.VisualItem#getVisualization()
*/
public Visualization getVisualization() {
return ((VisualTable)m_table).getVisualization();
}
/**
* @see prefuse.visual.VisualItem#getGroup()
*/
public String getGroup() {
return ((VisualTable)m_table).getGroup();
}
/**
* @see prefuse.visual.VisualItem#isInGroup(java.lang.String)
*/
public boolean isInGroup(String group) {
return getVisualization().isInGroup(this, group);
}
/**
* @see prefuse.visual.VisualItem#getSourceData()
*/
public TupleSet getSourceData() {
VisualTable vt = (VisualTable)m_table;
return vt.getVisualization().getSourceData(vt.getGroup());
}
/**
* @see prefuse.visual.VisualItem#getSourceTuple()
*/
public Tuple getSourceTuple() {
VisualTable vt = (VisualTable)m_table;
return vt.getVisualization().getSourceTuple(this);
}
/**
* @see java.lang.Object#toString()
*/
public String toString() {
StringBuffer sbuf = new StringBuffer();
sbuf.append("VisualItem[").append(getGroup());
sbuf.append(",").append(m_row).append(',');
VisualTable vt = (VisualTable)m_table;
int local = vt.getLocalColumnCount();
int inherited = vt.getColumnCount()-local;
for ( int i=0; i<inherited; ++i ) {
if ( i > 0 ) sbuf.append(',');
String name = vt.getColumnName(local+i);
sbuf.append(name);
sbuf.append('=');
if ( vt.canGetString(name) )
sbuf.append(vt.getString(m_row, name));
else
sbuf.append(vt.get(m_row, name).toString());
}
sbuf.append(']');
return sbuf.toString();
}
// ------------------------------------------------------------------------
// VisualItem Methods
/**
* @see prefuse.visual.VisualItem#render(java.awt.Graphics2D)
*/
public void render(Graphics2D g) {
getRenderer().render(g, this);
}
/**
* @see prefuse.visual.VisualItem#getRenderer()
*/
public Renderer getRenderer() {
return getVisualization().getRenderer(this);
}
/**
* @see prefuse.visual.VisualItem#validateBounds()
*/
public Rectangle2D validateBounds() {
if ( isValidated() ) return getBounds();
Visualization v = getVisualization();
// set the new bounds from the renderer and validate
getRenderer().setBounds(this);
setValidated(true);
// report damage from the new bounds and return
Rectangle2D bounds = getBounds();
v.damageReport(this, bounds);
return bounds;
}
// -- Boolean Flags -------------------------------------------------------
/**
* @see prefuse.visual.VisualItem#isValidated()
*/
public boolean isValidated() {
return ((VisualTable)m_table).isValidated(m_row);
}
/**
* @see prefuse.visual.VisualItem#setValidated(boolean)
*/
public void setValidated(boolean value) {
((VisualTable)m_table).setValidated(m_row, value);
}
/**
* @see prefuse.visual.VisualItem#isVisible()
*/
public boolean isVisible() {
return ((VisualTable)m_table).isVisible(m_row);
}
/**
* @see prefuse.visual.VisualItem#setVisible(boolean)
*/
public void setVisible(boolean value) {
((VisualTable)m_table).setVisible(m_row, value);
}
/**
* @see prefuse.visual.VisualItem#isStartVisible()
*/
public boolean isStartVisible() {
return ((VisualTable)m_table).isStartVisible(m_row);
}
/**
* @see prefuse.visual.VisualItem#setStartVisible(boolean)
*/
public void setStartVisible(boolean value) {
((VisualTable)m_table).setStartVisible(m_row, value);
}
/**
* @see prefuse.visual.VisualItem#isEndVisible()
*/
public boolean isEndVisible() {
return ((VisualTable)m_table).isEndVisible(m_row);
}
/**
* @see prefuse.visual.VisualItem#setEndVisible(boolean)
*/
public void setEndVisible(boolean value) {
((VisualTable)m_table).setEndVisible(m_row, value);
}
/**
* @see prefuse.visual.VisualItem#isInteractive()
*/
public boolean isInteractive() {
return ((VisualTable)m_table).isInteractive(m_row);
}
/**
* @see prefuse.visual.VisualItem#setInteractive(boolean)
*/
public void setInteractive(boolean value) {
((VisualTable)m_table).setInteractive(m_row, value);
}
/**
* @see prefuse.visual.VisualItem#isExpanded()
*/
public boolean isExpanded() {
return ((VisualTable)m_table).isExpanded(m_row);
}
/**
* @see prefuse.visual.VisualItem#setExpanded(boolean)
*/
public void setExpanded(boolean value) {
((VisualTable)m_table).setExpanded(m_row, value);
}
/**
* @see prefuse.visual.VisualItem#isFixed()
*/
public boolean isFixed() {
return ((VisualTable)m_table).isFixed(m_row);
}
/**
* @see prefuse.visual.VisualItem#setFixed(boolean)
*/
public void setFixed(boolean value) {
((VisualTable)m_table).setFixed(m_row, value);
}
/**
* @see prefuse.visual.VisualItem#isHighlighted()
*/
public boolean isHighlighted() {
return ((VisualTable)m_table).isHighlighted(m_row);
}
/**
* @see prefuse.visual.VisualItem#setHighlighted(boolean)
*/
public void setHighlighted(boolean value) {
((VisualTable)m_table).setHighlighted(m_row, value);
}
/**
* @see prefuse.visual.VisualItem#isHover()
*/
public boolean isHover() {
return ((VisualTable)m_table).isHover(m_row);
}
/**
* @see prefuse.visual.VisualItem#setHover(boolean)
*/
public void setHover(boolean value) {
((VisualTable)m_table).setHover(m_row, value);
}
// ------------------------------------------------------------------------
/**
* @see prefuse.visual.VisualItem#getX()
*/
public double getX() {
return ((VisualTable)m_table).getX(m_row);
}
/**
* @see prefuse.visual.VisualItem#setX(double)
*/
public void setX(double x) {
((VisualTable)m_table).setX(m_row, x);
}
/**
* @see prefuse.visual.VisualItem#getY()
*/
public double getY() {
return ((VisualTable)m_table).getY(m_row);
}
/**
* @see prefuse.visual.VisualItem#setY(double)
*/
public void setY(double y) {
((VisualTable)m_table).setY(m_row, y);
}
/**
* @see prefuse.visual.VisualItem#getStartX()
*/
public double getStartX() {
return ((VisualTable)m_table).getStartX(m_row);
}
/**
* @see prefuse.visual.VisualItem#setStartX(double)
*/
public void setStartX(double x) {
((VisualTable)m_table).setStartX(m_row, x);
}
/**
* @see prefuse.visual.VisualItem#getStartY()
*/
public double getStartY() {
return ((VisualTable)m_table).getStartY(m_row);
}
/**
* @see prefuse.visual.VisualItem#setStartY(double)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -