From 99945937aa27a67263c82426bc6dafe67bf6f2fe Mon Sep 17 00:00:00 2001 From: hneemann Date: Fri, 18 Mar 2016 12:15:40 +0100 Subject: [PATCH] better visual difference between running and editing mode --- .../de/neemann/digital/gui/draw/graphics/Style.java | 2 +- .../de/neemann/digital/gui/draw/parts/Circuit.java | 4 ++-- .../java/de/neemann/digital/gui/draw/parts/Wire.java | 9 ++++++--- .../de/neemann/digital/gui/draw/shapes/InputShape.java | 10 +++++++--- .../neemann/digital/gui/draw/shapes/OutputShape.java | 10 +++++++--- 5 files changed, 23 insertions(+), 12 deletions(-) diff --git a/src/main/java/de/neemann/digital/gui/draw/graphics/Style.java b/src/main/java/de/neemann/digital/gui/draw/graphics/Style.java index 6534dd3e8..4a786ebbd 100644 --- a/src/main/java/de/neemann/digital/gui/draw/graphics/Style.java +++ b/src/main/java/de/neemann/digital/gui/draw/graphics/Style.java @@ -7,7 +7,7 @@ import java.awt.*; */ public class Style { public static final Style NORMAL = new Style(2, false, Color.BLACK); - public static final Style WIRE = new Style(3, true, new Color(0, 112, 0)); + public static final Style WIRE_LOW = new Style(3, true, new Color(0, 112, 0)); public static final Style WIRE_HIGH = new Style(3, true, new Color(102, 255, 102)); public static final Style FILLED = new Style(2, true, Color.BLACK); public static final Style THIN = new Style(1, false, Color.BLACK); diff --git a/src/main/java/de/neemann/digital/gui/draw/parts/Circuit.java b/src/main/java/de/neemann/digital/gui/draw/parts/Circuit.java index 553cab9ad..8a8a57757 100644 --- a/src/main/java/de/neemann/digital/gui/draw/parts/Circuit.java +++ b/src/main/java/de/neemann/digital/gui/draw/parts/Circuit.java @@ -12,7 +12,7 @@ import java.util.Iterator; * @author hneemann */ public class Circuit implements Drawable { - private static final Vector RAD = new Vector(3, 3); + private static final Vector RAD = new Vector(2, 2); private final ArrayList visualParts; private transient ArrayList dots; private ArrayList wires; @@ -26,7 +26,7 @@ public class Circuit implements Drawable { @Override public void drawTo(Graphic graphic, State state) { for (Vector d : getDots()) - graphic.drawCircle(d.sub(RAD), d.add(RAD), Style.WIRE); + graphic.drawCircle(d.sub(RAD), d.add(RAD), Style.FILLED); for (Wire w : wires) w.drawTo(graphic, state); for (VisualPart p : visualParts) diff --git a/src/main/java/de/neemann/digital/gui/draw/parts/Wire.java b/src/main/java/de/neemann/digital/gui/draw/parts/Wire.java index cc8ee40ed..00ca0689e 100644 --- a/src/main/java/de/neemann/digital/gui/draw/parts/Wire.java +++ b/src/main/java/de/neemann/digital/gui/draw/parts/Wire.java @@ -21,9 +21,12 @@ public class Wire implements Drawable, Moveable { @Override public void drawTo(Graphic graphic, State state) { - Style style = Style.WIRE; - if (value != null && value.getValue() != 0) { - style = Style.WIRE_HIGH; + Style style = Style.NORMAL; + if (value != null) { + if (value.getValue() != 0) + style = Style.WIRE_HIGH; + else + style = Style.WIRE_LOW; } graphic.drawLine(p1, p2, style); diff --git a/src/main/java/de/neemann/digital/gui/draw/shapes/InputShape.java b/src/main/java/de/neemann/digital/gui/draw/shapes/InputShape.java index 76f322111..70b921e5a 100644 --- a/src/main/java/de/neemann/digital/gui/draw/shapes/InputShape.java +++ b/src/main/java/de/neemann/digital/gui/draw/shapes/InputShape.java @@ -61,9 +61,13 @@ public class InputShape implements Shape { @Override public void drawTo(Graphic graphic, State state) { - Style style = Style.WIRE; - if (state != null && state.getOutput(0).getValue() != 0) - style = Style.WIRE_HIGH; + Style style = Style.NORMAL; + if (state != null) { + if (state.getOutput(0).getValue() != 0) + style = Style.WIRE_HIGH; + else + style = Style.WIRE_LOW; + } Vector center = new Vector(-2 - SIZE, 0); graphic.drawCircle(center.sub(RAD), center.add(RAD), style); diff --git a/src/main/java/de/neemann/digital/gui/draw/shapes/OutputShape.java b/src/main/java/de/neemann/digital/gui/draw/shapes/OutputShape.java index 175497ff6..2496d74ae 100644 --- a/src/main/java/de/neemann/digital/gui/draw/shapes/OutputShape.java +++ b/src/main/java/de/neemann/digital/gui/draw/shapes/OutputShape.java @@ -46,9 +46,13 @@ public class OutputShape implements Shape { @Override public void drawTo(Graphic graphic, State state) { - Style style = Style.WIRE; - if (state != null && state.getInput(0).getValue() != 0) - style = Style.WIRE_HIGH; + Style style = Style.NORMAL; + if (state != null) { + if (state.getInput(0).getValue() != 0) + style = Style.WIRE_HIGH; + else + style = Style.WIRE_LOW; + } Vector center = new Vector(2 + SIZE, 0); graphic.drawCircle(center.sub(RAD), center.add(RAD), style);