Added String preferences
[Mograsim.git] / plugins / net.mograsim.preferences / src / net / mograsim / preferences / Preferences.java
1 package net.mograsim.preferences;
2
3 import java.util.function.Consumer;
4
5 import org.eclipse.swt.graphics.Color;
6
7 public interface Preferences
8 {
9         public boolean getBoolean(String name);
10
11         public void addBooleanListener(String name, Consumer<Boolean> listener);
12
13         public void removeBooleanListener(String name, Consumer<Boolean> listener);
14
15         public int getInt(String name);
16
17         public void addIntListener(String name, Consumer<Integer> listener);
18
19         public void removeIntListener(String name, Consumer<Integer> listener);
20
21         public double getDouble(String name);
22
23         public void addDoubleListener(String name, Consumer<Double> listener);
24
25         public void removeDoubleListener(String name, Consumer<Double> listener);
26
27         public String getString(String name);
28
29         public void addStringListener(String name, Consumer<String> listener);
30
31         public void removeStringListener(String name, Consumer<String> listener);
32
33         public ColorDefinition getColorDefinition(String name);
34
35         public void addColorDefinitionListener(String name, Consumer<ColorDefinition> listener);
36
37         public void removeColorDefinitionListener(String name, Consumer<ColorDefinition> listener);
38
39         public default Color getColor(String name)
40         {
41                 return ColorManager.current().toColor(getColorDefinition(name));
42         }
43 }