X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=plugins%2Fnet.mograsim.preferences%2Fsrc%2Fnet%2Fmograsim%2Fpreferences%2FPreferences.java;h=f19ae65c6e2696ac78cf9068767d95b9b0dbf330;hb=590c4809a069b0d30529735bf58f0db5382f8a88;hp=f24985644b3b62b54013ba7ac6828d704d744198;hpb=7d05144c25daa53e60fc9ed9fd503546a86567f8;p=Mograsim.git diff --git a/plugins/net.mograsim.preferences/src/net/mograsim/preferences/Preferences.java b/plugins/net.mograsim.preferences/src/net/mograsim/preferences/Preferences.java index f2498564..f19ae65c 100644 --- a/plugins/net.mograsim.preferences/src/net/mograsim/preferences/Preferences.java +++ b/plugins/net.mograsim.preferences/src/net/mograsim/preferences/Preferences.java @@ -1,34 +1,36 @@ package net.mograsim.preferences; -import java.util.Objects; +import java.util.function.Consumer; import org.eclipse.swt.graphics.Color; -public abstract class Preferences +public interface Preferences { - private static Preferences currentPreferences; + public boolean getBoolean(String name); - public static void setPreferences(Preferences preferences) - { - currentPreferences = Objects.requireNonNull(preferences); - } + public void addBooleanListener(String name, Consumer listener); - public static Preferences current() - { - if (currentPreferences == null) - currentPreferences = new DefaultPreferences(); - return currentPreferences; - } + public void removeBooleanListener(String name, Consumer listener); + + public int getInt(String name); + + public void addIntListener(String name, Consumer listener); + + public void removeIntListener(String name, Consumer listener); + + public double getDouble(String name); + + public void addDoubleListener(String name, Consumer listener); - public abstract boolean getBoolean(String name); + public void removeDoubleListener(String name, Consumer listener); - public abstract int getInt(String name); + public ColorDefinition getColorDefinition(String name); - public abstract double getDouble(String name); + public void addColorDefinitionListener(String name, Consumer listener); - public abstract ColorDefinition getColorDefinition(String name); + public void removeColorDefinitionListener(String name, Consumer listener); - public Color getColor(String name) + public default Color getColor(String name) { return ColorManager.current().toColor(getColorDefinition(name)); }