public interface Impulse extends Quantity {\r
public static Unit<Impulse> UNIT = NEWTON_SECOND;\r
}\r
+ \r
+ private static HashSet<UnitPreferenceListener> prefListeners = new HashSet<RocketScience.UnitPreferenceListener>();\r
+ public static interface UnitPreferenceListener{\r
+ public void preferredUnitsChanged();\r
+ }\r
+ public static void addUnitPreferenceListener(UnitPreferenceListener l){\r
+ prefListeners.add(l);\r
+ }\r
\r
public static enum UnitPreference{\r
SI(new Unit[]{\r
}\r
\r
public static void setUnitPreference( final UnitPreference up ){\r
+ if ( preference == up )\r
+ return;\r
preference = up;\r
Preferences prefs = Preferences.userNodeForPackage(RocketScience.class);\r
prefs.put("PreferedUnits", up.toString());\r
+ for ( UnitPreferenceListener l : prefListeners ){\r
+ l.preferredUnitsChanged();\r
+ }\r
}\r
\r
protected Set<Unit<?>> units = new HashSet<Unit<?>>();\r