private final ListenerManager<Boolean> booleanListeners;
private final ListenerManager<Integer> intListeners;
private final ListenerManager<Double> doubleListeners;
+ private final ListenerManager<String> stringListeners;
private final ListenerManager<ColorDefinition> colorDefinitionListeners;
protected EclipsePreferences(ITheme theme, IPreferenceStore prefs, Preferences defaultPrefs)
this.booleanListeners = new ListenerManager<>(this::getBoolean);
this.intListeners = new ListenerManager<>(this::getInt);
this.doubleListeners = new ListenerManager<>(this::getDouble);
+ this.stringListeners = new ListenerManager<>(this::getString);
this.colorDefinitionListeners = new ListenerManager<>(this::getColorDefinition);
}
return prefs.getDouble(name);
}
+ @Override
+ public String getString(String name)
+ {
+ prefs.setDefault(name, defaultPrefs.getString(name));
+ return prefs.getString(name);
+ }
+
@Override
public ColorDefinition getColorDefinition(String name)
{
doubleListeners.removeListener(name, listener);
}
+ @Override
+ public void addStringListener(String name, Consumer<String> listener)
+ {
+ stringListeners.addListener(name, listener);
+ }
+
+ @Override
+ public void removeStringListener(String name, Consumer<String> listener)
+ {
+ stringListeners.removeListener(name, listener);
+ }
+
@Override
public void addColorDefinitionListener(String name, Consumer<ColorDefinition> listener)
{