From 2b2ad24571c6844b7de56425956071aafd9c1d83 Mon Sep 17 00:00:00 2001 From: hneemann Date: Fri, 26 May 2017 15:09:50 +0200 Subject: [PATCH 1/4] improved error messages --- src/main/java/de/neemann/digital/testing/TestData.java | 3 ++- src/main/java/de/neemann/digital/testing/TestResult.java | 2 +- .../de/neemann/digital/testing/TestingDataException.java | 7 ++++--- src/main/java/de/neemann/gui/ErrorMessage.java | 2 +- src/main/resources/lang/lang_de.xml | 2 ++ src/main/resources/lang/lang_en.xml | 2 ++ 6 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/main/java/de/neemann/digital/testing/TestData.java b/src/main/java/de/neemann/digital/testing/TestData.java index a790e2f6e..564f4cf3f 100644 --- a/src/main/java/de/neemann/digital/testing/TestData.java +++ b/src/main/java/de/neemann/digital/testing/TestData.java @@ -1,5 +1,6 @@ package de.neemann.digital.testing; +import de.neemann.digital.lang.Lang; import de.neemann.digital.testing.parser.LineEmitter; import de.neemann.digital.testing.parser.Parser; import de.neemann.digital.testing.parser.ParserException; @@ -66,7 +67,7 @@ public class TestData { lines = tdp.getLines(); names = tdp.getNames(); } catch (ParserException | IOException e) { - throw new TestingDataException(e); + throw new TestingDataException(Lang.get("err_errorParsingTestdata"), e); } } } diff --git a/src/main/java/de/neemann/digital/testing/TestResult.java b/src/main/java/de/neemann/digital/testing/TestResult.java index 6cb370a5a..8ed3e1e9a 100644 --- a/src/main/java/de/neemann/digital/testing/TestResult.java +++ b/src/main/java/de/neemann/digital/testing/TestResult.java @@ -96,7 +96,7 @@ public class TestResult { try { lines.emitLines(new LineListenerResolveDontCare(values -> checkRow(model, values), inputs), new Context()); } catch (ParserException e) { - throw new TestingDataException(e); + throw new TestingDataException(Lang.get("err_errorParsingTestdata"), e); } catch (RuntimeException e) { if (allPassed) { allPassed = false; diff --git a/src/main/java/de/neemann/digital/testing/TestingDataException.java b/src/main/java/de/neemann/digital/testing/TestingDataException.java index db24f5f1e..ad1558960 100644 --- a/src/main/java/de/neemann/digital/testing/TestingDataException.java +++ b/src/main/java/de/neemann/digital/testing/TestingDataException.java @@ -7,10 +7,11 @@ public class TestingDataException extends Exception { /** * creates a new instance * - * @param cause the cause + * @param message the error message + * @param cause the cause */ - public TestingDataException(Exception cause) { - super(cause); + public TestingDataException(String message, Exception cause) { + super(message, cause); } /** diff --git a/src/main/java/de/neemann/gui/ErrorMessage.java b/src/main/java/de/neemann/gui/ErrorMessage.java index f1cdb7d9f..b396c2816 100644 --- a/src/main/java/de/neemann/gui/ErrorMessage.java +++ b/src/main/java/de/neemann/gui/ErrorMessage.java @@ -61,7 +61,7 @@ public class ErrorMessage implements Runnable { message.append(e.getClass().getSimpleName()); e = e.getCause(); if (e != null) - message.append("\ncaused by: "); + message.append("\n").append(Lang.get("msg_errCausedBy")).append(": "); } } diff --git a/src/main/resources/lang/lang_de.xml b/src/main/resources/lang/lang_de.xml index d553afbee..4698ec2c0 100644 --- a/src/main/resources/lang/lang_de.xml +++ b/src/main/resources/lang/lang_de.xml @@ -529,6 +529,7 @@ Sind evtl. die Namen der Variablen nicht eindeutig? Es sind keine Flipflops mit mehr als einem Bit erlaubt! Die Steuereingänge eines Transmission-Gates müssen invertiert beschaltet werden! Signal {0} wurde mehrfach verwendet! + Fehler beim Einlesen der Testdaten. Adress-Bits Anzahl der Adress-Bits die verwendet werden. @@ -865,6 +866,7 @@ Die Icons stammen aus dem Tango Desktop Project. Fertig Die GIF-Datei wird abgeschlossen. GIF-Export + verursacht durch Ok diff --git a/src/main/resources/lang/lang_en.xml b/src/main/resources/lang/lang_en.xml index a830fa2f2..d553fe45f 100644 --- a/src/main/resources/lang/lang_en.xml +++ b/src/main/resources/lang/lang_en.xml @@ -519,6 +519,7 @@ The names of the variables may not be unique. Flipflops with more then one bits are not allowed! The two control inputs of a transmission gate must be inverted! Signal {0} is used twice! + Error parsing the test data. Address Bits Number of address bits used. @@ -853,6 +854,7 @@ The icons are taken from the Tango Desktop Project. Ready The GIF file is finalized and closed. GIF Export + caused by Ok From 20462948916880437cb6e2d200848213f69ff70e Mon Sep 17 00:00:00 2001 From: hneemann Date: Fri, 26 May 2017 20:21:34 +0200 Subject: [PATCH 2/4] fixed mistake in english translation --- src/main/resources/lang/lang_en.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/resources/lang/lang_en.xml b/src/main/resources/lang/lang_en.xml index d553fe45f..ac27b6f4a 100644 --- a/src/main/resources/lang/lang_en.xml +++ b/src/main/resources/lang/lang_en.xml @@ -429,8 +429,8 @@ Error Pin {0} in component {1} is not a input or output A single clock component is necessary. All flip-flops must use this clock signal. - The circuit has no Inputs - The circuit has no outputs + The circuit has no labeled inputs + The circuit has no labeled outputs Break timeout after {0} cycles Expression {0} not supported Operation {0} not supported From 99d9f5a558a69cae8cb7d7f0da3ee4c9dd89f992 Mon Sep 17 00:00:00 2001 From: hneemann Date: Fri, 26 May 2017 20:54:22 +0200 Subject: [PATCH 3/4] fixed a painting bug in the color editor --- .../digital/gui/components/EditorFactory.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/main/java/de/neemann/digital/gui/components/EditorFactory.java b/src/main/java/de/neemann/digital/gui/components/EditorFactory.java index 00bab2b26..3d3111a48 100644 --- a/src/main/java/de/neemann/digital/gui/components/EditorFactory.java +++ b/src/main/java/de/neemann/digital/gui/components/EditorFactory.java @@ -13,10 +13,7 @@ import de.neemann.digital.gui.components.testing.TestDataEditor; import de.neemann.digital.gui.sync.NoSync; import de.neemann.digital.lang.Lang; import de.neemann.digital.testing.TestData; -import de.neemann.gui.ErrorMessage; -import de.neemann.gui.LineBreaker; -import de.neemann.gui.MyFileChooser; -import de.neemann.gui.ToolTipAction; +import de.neemann.gui.*; import de.neemann.gui.language.Bundle; import de.neemann.gui.language.Language; @@ -242,7 +239,17 @@ public final class EditorFactory { button.setBackground(color); } } - }); + }) { + @Override + protected void paintComponent(Graphics graphics) { + graphics.setColor(Color.WHITE); + graphics.fillRect(0, 0, getWidth(), getHeight()); + graphics.setColor(getBackground()); + graphics.fillRect(0, 0, getWidth(), getHeight()); + super.paintComponent(graphics); + } + }; + button.setPreferredSize(new Dimension(10, Screen.getInstance().getFontSize() * 3 / 2)); button.setBackground(color); } From da8e2f3d4d2648940816873129e091b856962180 Mon Sep 17 00:00:00 2001 From: hneemann Date: Fri, 26 May 2017 21:51:33 +0200 Subject: [PATCH 4/4] shorter text at the "missing shape" shape. --- .../de/neemann/digital/draw/shapes/MissingShape.java | 9 +-------- .../de/neemann/digital/gui/components/EditorFactory.java | 2 -- 2 files changed, 1 insertion(+), 10 deletions(-) diff --git a/src/main/java/de/neemann/digital/draw/shapes/MissingShape.java b/src/main/java/de/neemann/digital/draw/shapes/MissingShape.java index b57bbfbdf..093dee09a 100644 --- a/src/main/java/de/neemann/digital/draw/shapes/MissingShape.java +++ b/src/main/java/de/neemann/digital/draw/shapes/MissingShape.java @@ -28,14 +28,7 @@ public class MissingShape implements Shape { */ public MissingShape(String elementName, Exception cause) { this.message = Lang.get("msg_missingShape_N", elementName); - this.cause = getMessage(cause); - } - - private String getMessage(Throwable e) { - String message = e.getMessage(); - if (e.getCause() != null) - message += "; " + getMessage(e.getCause()); - return message; + this.cause = cause.getMessage(); } @Override diff --git a/src/main/java/de/neemann/digital/gui/components/EditorFactory.java b/src/main/java/de/neemann/digital/gui/components/EditorFactory.java index 3d3111a48..6bedfc126 100644 --- a/src/main/java/de/neemann/digital/gui/components/EditorFactory.java +++ b/src/main/java/de/neemann/digital/gui/components/EditorFactory.java @@ -244,8 +244,6 @@ public final class EditorFactory { protected void paintComponent(Graphics graphics) { graphics.setColor(Color.WHITE); graphics.fillRect(0, 0, getWidth(), getHeight()); - graphics.setColor(getBackground()); - graphics.fillRect(0, 0, getWidth(), getHeight()); super.paintComponent(graphics); } };