diff --git a/org.alloytools.alloy.application/src/main/java/edu/mit/csail/sdg/alloy4whole/SimpleGUI.java b/org.alloytools.alloy.application/src/main/java/edu/mit/csail/sdg/alloy4whole/SimpleGUI.java index 01a2debb1..b59d0c47c 100644 --- a/org.alloytools.alloy.application/src/main/java/edu/mit/csail/sdg/alloy4whole/SimpleGUI.java +++ b/org.alloytools.alloy.application/src/main/java/edu/mit/csail/sdg/alloy4whole/SimpleGUI.java @@ -84,6 +84,7 @@ import java.util.Random; import java.util.Scanner; import java.util.Set; +import java.util.regex.Pattern; import javax.swing.Action; import javax.swing.Box; @@ -203,6 +204,8 @@ */ public final class SimpleGUI implements ComponentListener, Listener { + final static Pattern TYPED_P = Pattern.compile("([A-Z]{3,6}):"); + MacUtil macUtil; /** @@ -1164,6 +1167,7 @@ private Runner doRun(Integer commandIndex) { * This method stops the current run or check (how==0 means DONE, how==1 means * FAIL, how==2 means STOP). */ + Runner doStop(Integer how) { if (wrap) return wrapMe(how); @@ -1188,8 +1192,9 @@ Runner doStop(Integer how) { viz.loadXML(f, true, 0); else if (subrunningTask == 3) viz.loadXML(f, true); - else if (AutoVisualize.get() || subrunningTask == 1) - doVisualize("XML: " + f); + else if (AutoVisualize.get() || subrunningTask == 1) { + doVisualize(f); + } } return null; } @@ -1256,8 +1261,9 @@ private Runner doShowLatest() { return wrapMe(); if (latestInstance.length() == 0) log.logRed("No previous instances are available for viewing.\n\n"); - else - doVisualize("XML: " + latestInstance); + else { + doVisualize(latestInstance); + } return null; } @@ -1293,7 +1299,7 @@ private Runner doRefreshWindow(Boolean isViz) { for (String f : viz.getInstances()) { JMenuItem it = new JMenuItem("Instance: " + viz.getInstanceTitle(f), null); it.setIcon((isViz && f.equals(viz.getXMLfilename())) ? iconYes : iconNo); - it.addActionListener(doVisualize("XML: " + f)); + it.addActionListener(doVisualize(f)); w.add(it); } } finally { @@ -1639,6 +1645,11 @@ void doSetLatest(String arg) { Runner doVisualize(String arg) { if (wrap) return wrapMe(arg); + + if (!TYPED_P.matcher(arg).lookingAt()) { + arg = "XML: " + arg; + } + text.clearShade(); if (arg.startsWith("MSG: ")) { // MSG: message OurDialog.showtext("Detailed Message", arg.substring(5)); @@ -2363,8 +2374,4 @@ public void stateChanged(ChangeEvent e) { } }; } - - private FindReplace getOrderedTab() { - return null; - } } diff --git a/org.alloytools.alloy.application/src/main/java/edu/mit/csail/sdg/alloy4whole/SimpleReporter.java b/org.alloytools.alloy.application/src/main/java/edu/mit/csail/sdg/alloy4whole/SimpleReporter.java index 5f1735426..a29e86583 100644 --- a/org.alloytools.alloy.application/src/main/java/edu/mit/csail/sdg/alloy4whole/SimpleReporter.java +++ b/org.alloytools.alloy.application/src/main/java/edu/mit/csail/sdg/alloy4whole/SimpleReporter.java @@ -218,8 +218,10 @@ else if (ex instanceof ErrorType) results.add(null); span.setLength(len3); span.log(" File written to "); - span.logLink(array[1].toString(), "file://" + array[1]); + String linkDestination = "CNF: " + array[1]; + span.logLink(array[1].toString(), linkDestination); span.log("\n\n"); + gui.doSetLatest(linkDestination); } if (array[0].equals("debug") && verbosity > 2) { span.log(" " + array[1] + "\n"); diff --git a/org.alloytools.pardinus.native/src/main/java/org/alloytools/solvers/natv/electrod/ElectrodTransformerRef.java b/org.alloytools.pardinus.native/src/main/java/org/alloytools/solvers/natv/electrod/ElectrodTransformerRef.java index 9b65c681b..20e95d3fd 100644 --- a/org.alloytools.pardinus.native/src/main/java/org/alloytools/solvers/natv/electrod/ElectrodTransformerRef.java +++ b/org.alloytools.pardinus.native/src/main/java/org/alloytools/solvers/natv/electrod/ElectrodTransformerRef.java @@ -48,4 +48,9 @@ public String type() { return "transformer"; } + @Override + public String name() { + return "Electrod elo output"; + } + }