X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.logic.core%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fcore%2Ftypes%2FBitVectorFormatter.java;h=858f28a316f9437307669fd406a4fc51f8a6329f;hb=e2258789906b9be977a37669062d6a996be57e9c;hp=a79853197d1ece493c1adca89809b23c4ff49ea3;hpb=67c1d352795802dae0c045cedeed82c883819d4e;p=Mograsim.git diff --git a/net.mograsim.logic.core/src/net/mograsim/logic/core/types/BitVectorFormatter.java b/net.mograsim.logic.core/src/net/mograsim/logic/core/types/BitVectorFormatter.java index a7985319..858f28a3 100644 --- a/net.mograsim.logic.core/src/net/mograsim/logic/core/types/BitVectorFormatter.java +++ b/net.mograsim.logic.core/src/net/mograsim/logic/core/types/BitVectorFormatter.java @@ -1,53 +1,54 @@ -package net.mograsim.logic.core.types; - -import net.mograsim.logic.core.types.ColorDefinition.BuiltInColor; -import net.mograsim.logic.core.wires.Wire.ReadEnd; - -public class BitVectorFormatter -{ - public static String formatValueAsString(ReadEnd end) - { - return formatAsString(end == null ? null : end.getValues()); - } - - public static String formatAsString(BitVector bitVector) - { - if (bitVector == null) - return "null"; - else - return bitVector.toString(); - } - - public static ColorDefinition formatAsColor(ReadEnd end) - { - return formatAsColor(end == null ? null : end.getValues()); - } - - public static ColorDefinition formatAsColor(BitVector bitVector) - { - // TODO maybe find a color assignment for multiple-bit bit vectors? - if (bitVector == null || bitVector.length() != 1) - return new ColorDefinition(BuiltInColor.COLOR_BLACK); - else - switch (bitVector.getBit(0)) - { - case ONE: - return new ColorDefinition(BuiltInColor.COLOR_GREEN); - case U: - return new ColorDefinition(BuiltInColor.COLOR_CYAN); - case X: - return new ColorDefinition(BuiltInColor.COLOR_RED); - case Z: - return new ColorDefinition(BuiltInColor.COLOR_YELLOW); - case ZERO: - return new ColorDefinition(BuiltInColor.COLOR_GRAY); - default: - throw new IllegalArgumentException("Unknown enum constant: " + bitVector.getBit(0)); - } - } - - private BitVectorFormatter() - { - throw new UnsupportedOperationException("No BitVectorFormatter instances"); - } +package net.mograsim.logic.core.types; + +import net.mograsim.logic.core.wires.Wire.ReadEnd; +import net.mograsim.preferences.ColorDefinition; +import net.mograsim.preferences.ColorDefinition.BuiltInColor; +import net.mograsim.preferences.Preferences; + +public class BitVectorFormatter +{ + public static String formatValueAsString(ReadEnd end) + { + return formatAsString(end == null ? null : end.getValues()); + } + + public static String formatAsString(BitVector bitVector) + { + if (bitVector == null) + return "null"; + return bitVector.toString(); + } + + // TODO doesn't this belong to logic.ui? + public static ColorDefinition formatAsColor(ReadEnd end) + { + return formatAsColor(end == null ? null : end.getValues()); + } + + public static ColorDefinition formatAsColor(BitVector bitVector) + { + // TODO maybe find a color assignment for multiple-bit bit vectors? + if (bitVector == null || bitVector.length() != 1) + return new ColorDefinition(BuiltInColor.COLOR_BLACK); + switch (bitVector.getLSBit(0)) + { + case ONE: + return Preferences.current().getColorDefinition("net.mograsim.logic.ui.color.bit.one"); + case U: + return Preferences.current().getColorDefinition("net.mograsim.logic.ui.color.bit.u"); + case X: + return Preferences.current().getColorDefinition("net.mograsim.logic.ui.color.bit.x"); + case Z: + return Preferences.current().getColorDefinition("net.mograsim.logic.ui.color.bit.z"); + case ZERO: + return Preferences.current().getColorDefinition("net.mograsim.logic.ui.color.bit.zero"); + default: + throw new IllegalArgumentException("Unknown enum constant: " + bitVector.getLSBit(0)); + } + } + + private BitVectorFormatter() + { + throw new UnsupportedOperationException("No BitVectorFormatter instances"); + } } \ No newline at end of file