Made GUIWires more colorful
authorDaniel Kirschten <daniel.kirschten@gmx.de>
Wed, 15 May 2019 22:55:36 +0000 (00:55 +0200)
committerDaniel Kirschten <daniel.kirschten@gmx.de>
Wed, 15 May 2019 22:55:36 +0000 (00:55 +0200)
LogicUI/src/era/mi/wires/gui/GUIWire.java

index 1de3e9e..d14b4e5 100644 (file)
@@ -2,6 +2,9 @@ package era.mi.wires.gui;
 \r
 import java.util.Objects;\r
 \r
+import org.eclipse.swt.SWT;\r
+import org.eclipse.swt.graphics.Color;\r
+\r
 import era.mi.components.gui.BasicGUIComponent;\r
 import era.mi.logic.wires.WireArray;\r
 import net.haspamelodica.swt.helper.gcs.GeneralGC;\r
@@ -35,6 +38,29 @@ public class GUIWire
 \r
        public void render(GeneralGC gc)\r
        {\r
+               Color oldFG = gc.getForeground();\r
+               if(wa.length == 1)\r
+               {\r
+                       int fgColorConstant;\r
+                       switch(wa.getValue())\r
+                       {\r
+                               case ONE:\r
+                                       fgColorConstant = SWT.COLOR_GREEN;\r
+                                       break;\r
+                               case ZERO:\r
+                                       fgColorConstant = SWT.COLOR_BLUE;\r
+                                       break;\r
+                               case U:\r
+                               case X:\r
+                               case Z:\r
+                                       fgColorConstant = SWT.COLOR_RED;\r
+                                       break;\r
+                               default:\r
+                                       throw new IllegalArgumentException("Unknown enum constant: " + wa.getValue());\r
+                       }\r
+                       gc.setForeground(gc.getDevice().getSystemColor(fgColorConstant));\r
+               }\r
                gc.drawPolyline(path);\r
+               gc.setForeground(oldFG);\r
        }\r
 }
\ No newline at end of file