diff --git a/src/main/java/de/neemann/digital/draw/shapes/ProbeShape.java b/src/main/java/de/neemann/digital/draw/shapes/ProbeShape.java index 8bbd94101..0d132ffc3 100644 --- a/src/main/java/de/neemann/digital/draw/shapes/ProbeShape.java +++ b/src/main/java/de/neemann/digital/draw/shapes/ProbeShape.java @@ -5,13 +5,13 @@ */ package de.neemann.digital.draw.shapes; +import de.neemann.digital.core.IntFormat; import de.neemann.digital.core.ObservableValue; import de.neemann.digital.core.Observer; import de.neemann.digital.core.Value; import de.neemann.digital.core.element.ElementAttributes; import de.neemann.digital.core.element.Keys; import de.neemann.digital.core.element.PinDescriptions; -import de.neemann.digital.core.IntFormat; import de.neemann.digital.draw.elements.IOState; import de.neemann.digital.draw.elements.Pin; import de.neemann.digital.draw.elements.Pins; @@ -19,7 +19,6 @@ import de.neemann.digital.draw.graphics.Graphic; import de.neemann.digital.draw.graphics.Orientation; import de.neemann.digital.draw.graphics.Style; import de.neemann.digital.draw.graphics.Vector; -import de.neemann.digital.lang.Lang; /** * The probe shape @@ -29,7 +28,7 @@ public class ProbeShape implements Shape { private final String label; private final PinDescriptions inputs; private final IntFormat format; - private int bits; + private final boolean isLabel; private ObservableValue inValue; private Value inValueCopy; @@ -42,10 +41,8 @@ public class ProbeShape implements Shape { */ public ProbeShape(ElementAttributes attr, PinDescriptions inputs, PinDescriptions outputs) { this.inputs = inputs; - String label = attr.getLabel(); - if (label == null || label.length() == 0) - label = Lang.get("name"); - this.label = label; + label = attr.getLabel(); + isLabel = label != null && label.length() > 0; this.format = attr.get(Keys.INT_FORMAT); } @@ -58,22 +55,28 @@ public class ProbeShape implements Shape { public Interactor applyStateMonitor(IOState ioState, Observer guiObserver) { inValue = ioState.getInput(0); inValue.addObserverToValue(guiObserver); - bits = inValue.getBits(); return null; } @Override public void readObservableValues() { - if (bits > 1) + if (inValue != null) inValueCopy = inValue.getCopy(); } @Override public void drawTo(Graphic graphic, Style highLight) { - graphic.drawText(new Vector(2, -1), new Vector(3, -1), label, Orientation.LEFTBOTTOM, Style.NORMAL); - if (bits > 1) { - String v = format.formatToView(inValueCopy); - graphic.drawText(new Vector(2, 1), new Vector(3, 1), v, Orientation.LEFTTOP, Style.NORMAL); + int dy = -1; + Orientation orientation = Orientation.LEFTCENTER; + if (isLabel) { + graphic.drawText(new Vector(2, -4), new Vector(3, -4), label, Orientation.LEFTBOTTOM, Style.NORMAL); + dy = 4; + orientation = Orientation.LEFTTOP; } + String v = "?"; + if (inValueCopy != null) + v = format.formatToView(inValueCopy); + graphic.drawText(new Vector(2, dy), new Vector(3, dy), v, orientation, Style.NORMAL); + } } diff --git a/src/main/resources/lang/lang_de.xml b/src/main/resources/lang/lang_de.xml index 09a565650..5e67479fe 100644 --- a/src/main/resources/lang/lang_de.xml +++ b/src/main/resources/lang/lang_de.xml @@ -1,7 +1,6 @@ Adresse - Name Inhaltsverzeichnis Allgemein Version diff --git a/src/main/resources/lang/lang_en.xml b/src/main/resources/lang/lang_en.xml index f3d58c9b5..b370a32a4 100644 --- a/src/main/resources/lang/lang_en.xml +++ b/src/main/resources/lang/lang_en.xml @@ -1,7 +1,6 @@ Address - Name Table of Contents General Revision