package net.mograsim.logic.core.types;
-import net.mograsim.logic.core.types.ColorDefinition.BuiltInColor;
import net.mograsim.logic.core.wires.Wire.ReadEnd;
+import net.mograsim.preferences.ColorDefinition;
+import net.mograsim.preferences.Preferences;
+import net.mograsim.preferences.ColorDefinition.BuiltInColor;
public class BitVectorFormatter
{
{
if (bitVector == null)
return "null";
- else
- return bitVector.toString();
+ return bitVector.toString();
}
+ // TODO doesn't this belong to logic.ui?
public static ColorDefinition formatAsColor(ReadEnd end)
{
return formatAsColor(end == null ? null : end.getValues());
// 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));
- }
+ switch (bitVector.getBit(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.getBit(0));
+ }
}
private BitVectorFormatter()