use of edu.cmu.tetradapp.model.GeneralAlgorithmRunner in project tetrad by cmu-phil.
the class EdgewiseComparisonParamsEditor method setup.
public void setup() {
List<GraphSource> graphSources = new LinkedList<>();
for (Object parentModel : parentModels) {
if (parentModel instanceof GraphSource) {
graphSources.add((GraphSource) parentModel);
}
}
if (graphSources.size() == 1 && graphSources.get(0) instanceof GeneralAlgorithmRunner) {
model1 = (GeneralAlgorithmRunner) graphSources.get(0);
model2 = ((GeneralAlgorithmRunner) model1).getDataWrapper();
} else if (graphSources.size() == 2) {
model1 = (SessionModel) graphSources.get(0);
model2 = (SessionModel) graphSources.get(1);
} else {
throw new IllegalArgumentException("Expecting 2 graph source.");
}
setLayout(new BorderLayout());
// Reset?
JRadioButton resetOnExecute = new JRadioButton("Reset");
JRadioButton dontResetOnExecute = new JRadioButton("Appended to");
ButtonGroup group1 = new ButtonGroup();
group1.add(resetOnExecute);
group1.add(dontResetOnExecute);
resetOnExecute.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
getParams().set("resetTableOnExecute", true);
}
});
dontResetOnExecute.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
getParams().set("resetTableOnExecute", false);
}
});
if (getParams().getBoolean("resetTableOnExecute", false)) {
resetOnExecute.setSelected(true);
} else {
dontResetOnExecute.setSelected(true);
}
// Latents?
JRadioButton latents = new JRadioButton("Yes");
JRadioButton noLatents = new JRadioButton("No");
ButtonGroup group2 = new ButtonGroup();
group2.add(latents);
group2.add(noLatents);
latents.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
getParams().set("keepLatents", true);
}
});
if (getParams().getBoolean("keepLatents", false)) {
latents.setSelected(true);
} else {
noLatents.setSelected(true);
}
// True graph?
JRadioButton graph1 = new JRadioButton(model1.getName());
JRadioButton graph2 = new JRadioButton(model2.getName());
graph1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
getParams().set("referenceGraphName", model1.getName());
getParams().set("targetGraphName", model2.getName());
}
});
graph2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
getParams().set("referenceGraphName", model2.getName());
getParams().set("targetGraphName", model1.getName());
}
});
ButtonGroup group = new ButtonGroup();
group.add(graph1);
group.add(graph2);
boolean alreadySet = false;
if (model1 instanceof GeneralAlgorithmRunner) {
graph1.setSelected(true);
}
if (model2 instanceof GeneralAlgorithmRunner) {
graph2.setSelected(true);
alreadySet = true;
}
if (model2 instanceof Simulation) {
graph2.setSelected(true);
alreadySet = true;
}
if (!alreadySet) {
graph1.setSelected(true);
}
if (graph1.isSelected()) {
getParams().set("referenceGraphName", model1.getName());
getParams().set("targetGraphName", model2.getName());
} else if (graph2.isSelected()) {
getParams().set("referenceGraphName", model2.getName());
getParams().set("targetGraphName", model1.getName());
}
Box b1 = Box.createVerticalBox();
Box b8 = Box.createHorizontalBox();
b8.add(new JLabel("Which of the two input graphs is the true graph?"));
b8.add(Box.createHorizontalGlue());
b1.add(b8);
Box b9 = Box.createHorizontalBox();
b9.add(graph1);
b9.add(Box.createHorizontalGlue());
b1.add(b9);
Box b10 = Box.createHorizontalBox();
b10.add(graph2);
b10.add(Box.createHorizontalGlue());
b1.add(b10);
b1.add(Box.createHorizontalGlue());
add(b1, BorderLayout.CENTER);
}
Aggregations