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 class used to represent a vanishing state when displaying the reachability
* graph.
*
* Vanishing states are displayed in light blue
*/
public class VanishingStateNode extends DefaultNode {
/**
* Label to appear in the node
*/
private final String label;
/**
* Tool tip when hovering over the node
*/
private String toolTip;
/**
* Background color
*/
private static final JPowerGraphColor BG_COLOR = new JPowerGraphColor(182, 220, 255);
/**
* Text color
*/
private static final JPowerGraphColor TEXT_COLOR = JPowerGraphColor.BLACK;
/**
* 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
*/
VanishingStateNode(String label, String tooltip){
this.label = label;
this.toolTip = tooltip;
}
/**
*
* @return node label
*/
@Override
public String getLabel() {
return label;
}
/**
*
* @return vanishing state
*/
@Override
public String getNodeType(){
return "Vanishing state";
}
/**
*
* @return tooltip message
*/
public String getToolTip(){
return toolTip;
}
/**
*
* @return node painter
*/
public static ShapeNodePainter getShapeNodePainter(){
return SHAPE_NODE_PAINTER;
}
}