From a526c91bc9a407acd4a764cfccdb94e75d06010f Mon Sep 17 00:00:00 2001 From: hneemann Date: Sat, 12 Sep 2020 10:51:51 +0200 Subject: [PATCH] more consistent string conversion of high-z values, see #511 --- src/main/java/de/neemann/digital/core/IntFormat.java | 2 +- src/main/java/de/neemann/digital/core/io/InValue.java | 2 +- .../de/neemann/digital/gui/components/SingleValueDialog.java | 4 ++-- src/test/java/de/neemann/digital/core/ValueTest.java | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/java/de/neemann/digital/core/IntFormat.java b/src/main/java/de/neemann/digital/core/IntFormat.java index 7a8a2eaa6..49edc970e 100644 --- a/src/main/java/de/neemann/digital/core/IntFormat.java +++ b/src/main/java/de/neemann/digital/core/IntFormat.java @@ -66,7 +66,7 @@ public enum IntFormat { */ public String formatToEdit(Value inValue) { if (inValue.isHighZ()) - return "?"; + return "Z"; switch (this) { case dec: diff --git a/src/main/java/de/neemann/digital/core/io/InValue.java b/src/main/java/de/neemann/digital/core/io/InValue.java index 8a534f3a9..5f1005f6c 100644 --- a/src/main/java/de/neemann/digital/core/io/InValue.java +++ b/src/main/java/de/neemann/digital/core/io/InValue.java @@ -49,7 +49,7 @@ public class InValue { * @throws Bits.NumberFormatException NumberFormatException */ public InValue(String value) throws Bits.NumberFormatException { - if (value.toLowerCase().trim().equalsIgnoreCase("z")) { + if (value.trim().equalsIgnoreCase("z")) { this.highZ = true; this.value = 0; } else { diff --git a/src/main/java/de/neemann/digital/gui/components/SingleValueDialog.java b/src/main/java/de/neemann/digital/gui/components/SingleValueDialog.java index 3363c41da..35004dd58 100644 --- a/src/main/java/de/neemann/digital/gui/components/SingleValueDialog.java +++ b/src/main/java/de/neemann/digital/gui/components/SingleValueDialog.java @@ -236,7 +236,7 @@ public final class SingleValueDialog extends JDialog implements ModelStateObserv textField.setText("0" + Long.toOctalString(editValue)); break; case HIGHZ: - textField.setText("?"); + textField.setText("Z"); break; default: } @@ -267,7 +267,7 @@ public final class SingleValueDialog extends JDialog implements ModelStateObserv private void setStringToDialog(String text) { text = text.trim(); if (text.length() > 0) { - if (text.contains("?") && supportsHighZ) { + if (text.contains("Z") && supportsHighZ) { setSelectedFormat(InMode.HIGHZ); editValue = 0; } else if (text.charAt(0) == '\'') { diff --git a/src/test/java/de/neemann/digital/core/ValueTest.java b/src/test/java/de/neemann/digital/core/ValueTest.java index 02a5c85a2..88658730b 100644 --- a/src/test/java/de/neemann/digital/core/ValueTest.java +++ b/src/test/java/de/neemann/digital/core/ValueTest.java @@ -20,6 +20,6 @@ public class ValueTest extends TestCase { public void testFromInValue() throws Bits.NumberFormatException { assertEquals("5", new Value(new InValue("5"), 4).toString()); assertEquals("Z", new Value(new InValue("z"), 4).toString()); - assertEquals("?", IntFormat.hex.formatToEdit(new Value(new InValue("z"), 4))); + assertEquals("Z", IntFormat.hex.formatToEdit(new Value(new InValue("z"), 4))); } }