From 22b5e497f5779d263eda83a8e99ea61c92b4a075 Mon Sep 17 00:00:00 2001 From: hneemann Date: Mon, 13 Mar 2017 15:05:14 +0100 Subject: [PATCH] Correct error message if no equations are available in the TableDialog. --- .../digital/gui/components/table/TableDialog.java | 13 ++++++++++++- src/main/resources/lang/lang_de.xml | 1 + src/main/resources/lang/lang_en.xml | 1 + 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/main/java/de/neemann/digital/gui/components/table/TableDialog.java b/src/main/java/de/neemann/digital/gui/components/table/TableDialog.java index 5c14e7937..d6f8c5b36 100644 --- a/src/main/java/de/neemann/digital/gui/components/table/TableDialog.java +++ b/src/main/java/de/neemann/digital/gui/components/table/TableDialog.java @@ -595,13 +595,21 @@ public class TableDialog extends JDialog { expressionListener = new ExpressionListenerJK(expressionListener); lastGeneratedExpressions = new ExpressionListenerStore(expressionListener); - new ExpressionCreator(model.getTable(), minimizer).create(lastGeneratedExpressions); + final int numVars = model.getTable().getVars().size(); + new ExpressionCreator(model.getTable(), getMinimizer(numVars)).create(lastGeneratedExpressions); } catch (ExpressionException | FormatterException | AnalyseException e1) { + lastGeneratedExpressions = null; new ErrorMessage(Lang.get("msg_errorDuringCalculation")).addCause(e1).show(); } } + private MinimizerInterface getMinimizer(int size) { + if (size<=4) + return new MinimizerQuineMcCluskeyExam(); + else + return minimizer; + } private final class SizeAction extends AbstractAction { private int n; @@ -680,6 +688,9 @@ public class TableDialog extends JDialog { } public void create(ExpressionListenerStore expressions) throws ExpressionException, FormatterException { + if (expressions==null) + throw new ExpressionException(Lang.get("err_noExpressionsAvailable")); + ExpressionListener el = new ExpressionListener() { @Override public void resultFound(String name, Expression expression) throws FormatterException, ExpressionException { diff --git a/src/main/resources/lang/lang_de.xml b/src/main/resources/lang/lang_de.xml index d7075a900..5b6aba2f2 100644 --- a/src/main/resources/lang/lang_de.xml +++ b/src/main/resources/lang/lang_de.xml @@ -449,6 +449,7 @@ Es sind nur {1} Variablen erlaubt, es wurden jedoch {2} gefunden. Der Prozess "{0}" wird nicht beendet! Der Prozess meldet den Rückgabewert {0}: {1} Fehler beim Starten des externen Fitters! + Es liegen keine minimierten Gleichungen vor! Adress-Bits Anzahl der Adress-Bits die verwendet werden. diff --git a/src/main/resources/lang/lang_en.xml b/src/main/resources/lang/lang_en.xml index 4f6a96c29..f5c8da282 100644 --- a/src/main/resources/lang/lang_en.xml +++ b/src/main/resources/lang/lang_en.xml @@ -436,6 +436,7 @@ allowed are {1} variables but {2} are found. The process "{0}" does not return! The process returns the non zero value {0}: {1} Error starting the external fitter! + There are no minimized equations! Address Bits Number of address bits used.