Browse Source

GUI view/export of multiple experiments.

git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@511 bbc10eb1-c90d-0410-af57-cb519fbb1720
master
Dave Parker 19 years ago
parent
commit
f80af96ef5
  1. 36
      prism/src/userinterface/properties/GUIMultiProperties.java
  2. 15
      prism/src/userinterface/properties/GUIResultsTable.java
  3. 21
      prism/src/userinterface/properties/computation/ExportResultsThread.java

36
prism/src/userinterface/properties/GUIMultiProperties.java

@ -594,8 +594,8 @@ public class GUIMultiProperties extends GUIPlugin implements MouseListener, List
newExperiment.setEnabled(propList.getNumSelectedProperties() == 1 && propList.getValidSelectedProperties().size() == 1);
// deleteExperiments: enabled if one or more experiments selected
deleteExperiment.setEnabled(experiments.getSelectedRowCount() > 0);
// viewResults: enabled if exactly one experiment is selected
viewResults.setEnabled(experiments.getSelectedRowCount() == 1);
// viewResults: enabled if at least one experiment is selected
viewResults.setEnabled(experiments.getSelectedRowCount() > 0);
// plotResults: enabled if exactly one experiment is selected and its type is int/double
if (experiments.getSelectedRowCount() == 1)
{
@ -613,8 +613,8 @@ public class GUIMultiProperties extends GUIPlugin implements MouseListener, List
{
plotResults.setEnabled(false);
}
// exportResults: enabled if exactly one experiment is selected
exportResults.setEnabled(experiments.getSelectedRowCount() == 1);
// exportResults: enabled if at least one experiment is selected
exportResults.setEnabled(experiments.getSelectedRowCount() > 0);
}
public int doModificationCheck()
@ -1004,11 +1004,17 @@ public class GUIMultiProperties extends GUIPlugin implements MouseListener, List
public void a_viewResults()
{
GUIExperiment exp;
int i, n, inds[];
// get experiment
if (experiments.getSelectedRowCount() != 1) return;
exp = experiments.getExperiment(experiments.getSelectedRow());
new GUIResultsTable(this.getGUI(), this, exp).show();
// get selected experiments
n = experiments.getSelectedRowCount();
if (n < 1) return;
inds = experiments.getSelectedRows();
// show results dialog for reach one
for (i = 0 ; i < n; i++) {
exp = experiments.getExperiment(inds[i]);
new GUIResultsTable(this.getGUI(), this, exp).show();
}
}
public void a_plotResults()
@ -1048,16 +1054,20 @@ public class GUIMultiProperties extends GUIPlugin implements MouseListener, List
public void a_exportResults()
{
GUIExperiment exp;
GUIExperiment exps[];
int i, n, inds[];
// get experiment
if (experiments.getSelectedRowCount() != 1) return;
exp = experiments.getExperiment(experiments.getSelectedRow());
// get selected experiments
n = experiments.getSelectedRowCount();
if (n < 1) return;
exps = new GUIExperiment[n];
inds = experiments.getSelectedRows();
for (i = 0 ; i < n; i++) exps[i] = experiments.getExperiment(inds[i]);
// get filename to save
if (showSaveFileDialog(textFilter, textFilter[0]) == JFileChooser.APPROVE_OPTION)
{
File file = getChooserFile();
Thread t = new ExportResultsThread(this, exp, file);
Thread t = new ExportResultsThread(this, exps, file);
t.setPriority(Thread.NORM_PRIORITY);
t.start();
}

15
prism/src/userinterface/properties/GUIResultsTable.java

@ -38,6 +38,8 @@ import userinterface.*;
public class GUIResultsTable extends javax.swing.JDialog
{
private static int noOpen = 0;
private GUIMultiProperties guiProps;
private GUIExperiment exp;
@ -125,6 +127,19 @@ public class GUIResultsTable extends javax.swing.JDialog
this.getContentPane().add(tmpPanel);
}
public void show()
{
noOpen++;
setLocation(getX()+(noOpen*50), getY()+(noOpen*50));
super.show();
}
public void dispose()
{
noOpen--;
super.dispose();
}
private void closeDialog()
{
setVisible(false);

21
prism/src/userinterface/properties/computation/ExportResultsThread.java

@ -43,7 +43,7 @@ import userinterface.util.*;
public class ExportResultsThread extends Thread
{
private GUIMultiProperties parent;
private GUIExperiment exp;
private GUIExperiment exps[];
private File f;
private Exception saveError;
@ -51,7 +51,16 @@ public class ExportResultsThread extends Thread
public ExportResultsThread(GUIMultiProperties parent, GUIExperiment exp, File f)
{
this.parent = parent;
this.exp = exp;
this.exps = new GUIExperiment[1];
this.exps[0] = exp;
this.f = f;
}
/** Creates a new instance of ExportResultsThread */
public ExportResultsThread(GUIMultiProperties parent, GUIExperiment exps[], File f)
{
this.parent = parent;
this.exps = exps;
this.f = f;
}
@ -68,8 +77,14 @@ public class ExportResultsThread extends Thread
});
try {
int i, n;
PrintWriter out = new PrintWriter(new FileWriter(f));
out.print(exp.getPropertyString() + ":\n" + exp.getResults().toString(false, " ", " "));
n = exps.length;
for (i = 0; i < n; i++) {
if (i > 0) out.print("\n");
out.print(exps[i].getPropertyString() + ":\n");
out.print(exps[i].getResults().toString(false, " ", " "));
}
out.flush();
out.close();
}

Loading…
Cancel
Save