package pipe.gui.reachability;
import net.sourceforge.jpowergraph.defaults.DefaultNode;
import net.sourceforge.jpowergraph.painters.node.ShapeNodePainter;
import net.sourceforge.jpowergraph.swtswinginteraction.color.JPowerGraphColor;
/**
* Node used when displaying the readability graph to represent a tangile node.
* Tanglible nodes are displayed in a light red color.
*/
class TangibleStateNode extends DefaultNode {
/**
* Name to display within the node
*/
private final String label;
/**
* Tooltipof the node
*/
private String toolTip;
/**
* Background color
*/
private static final JPowerGraphColor BG_COLOR = new JPowerGraphColor(255, 102, 102);
/**
* Text color
*/
private static final JPowerGraphColor TEXT_COLOR = JPowerGraphColor.BLACK;
/**
* Circurlar shape
*/
private static final ShapeNodePainter SHAPE_NODE_PAINTER = new ShapeNodePainter(
ShapeNodePainter.ELLIPSE, BG_COLOR, BG_COLOR, TEXT_COLOR);
/**
* Creates a new node instance.
* @param label the node id.
* @param tooltip the state tooltip text
*/
TangibleStateNode(String label, String tooltip){
this.label = label;
this.toolTip = tooltip;
}
/**
*
* @return name label of the node
*/
@Override
public String getLabel() {
return label;
}
/**
*
* @return type of node
*/
@Override
public String getNodeType(){
return "Tangible state";
}
/**
*
* @return tooptip message for this node
*/
public String getToolTip(){
return toolTip;
}
/**
*
* @return the painter
*/
public static ShapeNodePainter getShapeNodePainter(){
return SHAPE_NODE_PAINTER;
}
}