package cute.gui;
import cute.Cute;
import java.awt.*;
/**
* .
* User: Koushik Sen (ksen@cs.uiuc.edu)
* Date: Nov 3, 2005
* Time: 10:36:25 AM
*/
public class RunElement implements ListElement{
private String name;
private int err;
private String toolTip;
public RunElement(String name, int err) {
this.name = name;
this.err = err;
if(err>0 && err!=Cute.EXIT_COMPLETE){
StringBuffer sb = new StringBuffer();
sb.append(((err& Cute.EXIT_DEADLOCK)>0)?"Deadlock":"");
if((err&Cute.EXIT_RACE)>0){
if(sb.length()>0) sb.append(" and ");
sb.append("Data-Race");
}
if((err&Cute.EXIT_ERROR)>0){
if(sb.length()>0) sb.append(" and ");
sb.append("Uncaught Exception");
}
if((err&Cute.EXIT_ASSERT_FAILED)>0){
if(sb.length()>0) sb.append(" and ");
sb.append("Assertion Failed");
}
toolTip= sb.toString();
} else {
toolTip = "No Error";
}
}
public String toString() {
if(err>0 && (err!= Cute.EXIT_COMPLETE))
return name+"*["+(((err&Cute.EXIT_DEADLOCK)>0)?"D":"")
+(((err&Cute.EXIT_RACE)>0)?"R":"")
+(((err&Cute.EXIT_ERROR)>0)?"E":"")+"]";
else
return name;
}
public int getErr() {
return err;
}
public String getName() {
return name;
}
public Color getColor(Color background) {
if(err>0 && err!=Cute.EXIT_COMPLETE){
if((err&Cute.EXIT_ASSERT_FAILED)>0)
return Color.getHSBColor(0.0f,0.3f,1.0f);
if((err&Cute.EXIT_DEADLOCK)>0)
return Color.getHSBColor(0.05f,0.6f,1.0f);
if((err&Cute.EXIT_ERROR)>0)
return Color.getHSBColor(0.12f,0.5f,1.0f);
return Color.getHSBColor(0.14f,0.3f,1.0f);
}
else
return background;
}
public String getToolTip() {
return toolTip;
}
}