f19ae65c6e2696ac78cf9068767d95b9b0dbf330
[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 ColorDefinition getColorDefinition(String name);
28
29         public void addColorDefinitionListener(String name, Consumer<ColorDefinition> listener);
30
31         public void removeColorDefinitionListener(String name, Consumer<ColorDefinition> listener);
32
33         public default Color getColor(String name)
34         {
35                 return ColorManager.current().toColor(getColorDefinition(name));
36         }
37 }