package cz.cuni.lf1.lge.ThunderSTORM.results;
import java.lang.reflect.InvocationTargetException;
import javax.swing.SwingUtilities;
public class IJGroundTruthTable extends GenericTable<GroundTruthTableWindow> {
public static final String TITLE = "ThunderSTORM: ground-truth";
public static final String IDENTIFIER = "ground-truth";
private static IJGroundTruthTable gtTable = null;
public synchronized static IJGroundTruthTable getGroundTruthTable() {
if (gtTable == null) {
if(SwingUtilities.isEventDispatchThread()) {
setGroundTruthTable(new IJGroundTruthTable());
} else {
try {
SwingUtilities.invokeAndWait(new Runnable() {
@Override
public void run() {
setGroundTruthTable(new IJGroundTruthTable());
}
});
} catch(InterruptedException ex) {
throw new RuntimeException(ex);
} catch(InvocationTargetException ex) {
throw new RuntimeException(ex.getCause());
}
}
}
return gtTable;
}
public static void setGroundTruthTable(IJGroundTruthTable gt) {
gtTable = gt;
}
public static boolean isGroundTruthWindow() {
if (gtTable == null) {
return false;
}
return gtTable.tableWindow.isVisible();
}
/**
* Constructs an empty GroundTruthTable.
*/
public IJGroundTruthTable() {
super(new GroundTruthTableWindow(IJGroundTruthTable.TITLE));
}
@Override
public String getFrameTitle() {
return IJGroundTruthTable.TITLE;
}
@Override
public String getTableIdentifier() {
return IJGroundTruthTable.IDENTIFIER;
}
}