Added String preferences
[Mograsim.git] / plugins / net.mograsim.preferences / src / net / mograsim / preferences / DefaultPreferences.java
index f3d0b69..fcb06f9 100644 (file)
@@ -1,78 +1,21 @@
 package net.mograsim.preferences;
 
-import net.mograsim.preferences.ColorDefinition.BuiltInColor;
+import java.util.function.Consumer;
 
-public class DefaultPreferences extends Preferences
+public abstract class DefaultPreferences implements Preferences
 {
-       @Override
-       public boolean getBoolean(String name)
-       {
-               switch (name)
-               {
-               case "net.mograsim.logic.model.improvetext":
-                       return true;
-               case "net.mograsim.logic.model.debug.openhlsshell":
-                       return false;
-               default:
-                       throw new IllegalArgumentException("Unknown boolean preference name: " + name);
-               }
-       }
+       // Adding / removing listeners. All are no-ops, since DefaultPreferences are immutable.
 
-       @Override
-       public int getInt(String name)
-       {
-               switch (name)
-               {
-               case "net.mograsim.logic.model.debug.hlsshelldepth":
-                       return -1;
-               default:
-                       throw new IllegalArgumentException("Unknown int preference name: " + name);
-               }
-       }
-
-       @Override
-       public double getDouble(String name)
-       {
-               switch (name)
-               {
-               case "net.mograsim.logic.model.linewidth.default":
-                       return 0.5;
-               case "net.mograsim.logic.model.linewidth.wire.singlebit":
-                       return 0.5;
-               case "net.mograsim.logic.model.linewidth.wire.multibit":
-                       return 0.85;
-               case "net.mograsim.logic.model.submodel.zoomalpha0":
-                       return 0.8;
-               case "net.mograsim.logic.model.submodel.zoomalpha1":
-                       return 0.9;
-               default:
-                       throw new IllegalArgumentException("Unknown double preference name: " + name);
-               }
-       }
-
-       @Override
-       public ColorDefinition getColorDefinition(String name)
-       {
-               switch (name)
-               {
-               case "net.mograsim.logic.model.color.bit.one":
-                       return new ColorDefinition(BuiltInColor.COLOR_GREEN);
-               case "net.mograsim.logic.model.color.bit.u":
-                       return new ColorDefinition(BuiltInColor.COLOR_CYAN);
-               case "net.mograsim.logic.model.color.bit.x":
-                       return new ColorDefinition(BuiltInColor.COLOR_RED);
-               case "net.mograsim.logic.model.color.bit.z":
-                       return new ColorDefinition(BuiltInColor.COLOR_YELLOW);
-               case "net.mograsim.logic.model.color.bit.zero":
-                       return new ColorDefinition(BuiltInColor.COLOR_GRAY);
-               case "net.mograsim.logic.model.color.background":
-                       return new ColorDefinition(BuiltInColor.COLOR_WHITE);
-               case "net.mograsim.logic.model.color.foreground":
-                       return new ColorDefinition(BuiltInColor.COLOR_BLACK);
-               case "net.mograsim.logic.model.color.text":
-                       return new ColorDefinition(BuiltInColor.COLOR_BLACK);
-               default:
-                       throw new IllegalArgumentException("Unknown color preference name: " + name);
-               }
-       }
+       //@formatter:off
+       @Override public final void addBooleanListener(String name, Consumer<Boolean> listener) {/**/}
+       @Override public final void removeBooleanListener(String name, Consumer<Boolean> listener) {/**/}
+       @Override public final void addIntListener(String name, Consumer<Integer> listener) {/**/}
+       @Override public final void removeIntListener(String name, Consumer<Integer> listener) {/**/}
+       @Override public final void addDoubleListener(String name, Consumer<Double> listener) {/**/}
+       @Override public final void removeDoubleListener(String name, Consumer<Double> listener) {/**/}
+       @Override public final void addStringListener(String name, Consumer<String> listener) {/**/}
+       @Override public final void removeStringListener(String name, Consumer<String> listener) {/**/}
+       @Override public final void addColorDefinitionListener(String name, Consumer<ColorDefinition> listener) {/**/}
+       @Override public final void removeColorDefinitionListener(String name, Consumer<ColorDefinition> listener) {/**/}
+       //@formatter:on
 }
\ No newline at end of file