Merge commit '42b2e5ca519766e37ce6941ba4faecc9691cc403' into upstream
[debian/openrocket] / core / src / net / sf / openrocket / startup / Preferences.java
index 0a5e62b94e0441a75d7124e6976d7ab281a1f87c..73a29cc2f0e25a352f07113be07fb22e16b7c00e 100644 (file)
@@ -5,8 +5,8 @@ import java.util.Map;
 import java.util.Set;\r
 \r
 import net.sf.openrocket.database.Databases;\r
-import net.sf.openrocket.l10n.Translator;\r
 import net.sf.openrocket.material.Material;\r
+import net.sf.openrocket.preset.ComponentPreset;\r
 import net.sf.openrocket.rocketcomponent.BodyComponent;\r
 import net.sf.openrocket.rocketcomponent.FinSet;\r
 import net.sf.openrocket.rocketcomponent.InternalComponent;\r
@@ -22,7 +22,7 @@ import net.sf.openrocket.util.MathUtil;
 import net.sf.openrocket.util.UniqueID;\r
 \r
 public abstract class Preferences {\r
-\r
+       \r
        /*\r
         * Well known string keys to preferences.\r
         * There are other strings out there in the source as well.\r
@@ -45,26 +45,30 @@ public abstract class Preferences {
        \r
        public static final String MOTOR_DIAMETER_FILTER = "MotorDiameterMatch";\r
        public static final String MOTOR_HIDE_SIMILAR = "MotorHideSimilar";\r
-\r
+       \r
        // Node names\r
        public static final String PREFERRED_THRUST_CURVE_MOTOR_NODE = "preferredThrustCurveMotors";\r
-\r
+       \r
        /*\r
         * ******************************************************************************************\r
         * \r
         * Abstract methods which must be implemented by any derived class.\r
         */\r
-       public abstract boolean getBoolean( String key, boolean defaultValue );\r
-       public abstract void putBoolean( String key, boolean value );\r
-\r
-       public abstract int getInt( String key, int defaultValue);\r
-       public abstract void putInt( String key, int value );\r
-\r
-       public abstract double getDouble( String key, double defaultValue );\r
-       public abstract void putDouble( String key, double value );\r
-\r
-       public abstract String getString( String key, String defaultValue );\r
-       public abstract void putString( String key, String value );\r
+       public abstract boolean getBoolean(String key, boolean defaultValue);\r
+       \r
+       public abstract void putBoolean(String key, boolean value);\r
+       \r
+       public abstract int getInt(String key, int defaultValue);\r
+       \r
+       public abstract void putInt(String key, int value);\r
+       \r
+       public abstract double getDouble(String key, double defaultValue);\r
+       \r
+       public abstract void putDouble(String key, double value);\r
+       \r
+       public abstract String getString(String key, String defaultValue);\r
+       \r
+       public abstract void putString(String key, String value);\r
        \r
        /**\r
         * Directory represents a way to collect multiple keys together.  Implementors may\r
@@ -74,10 +78,10 @@ public abstract class Preferences {
         * @param defaultValue\r
         * @return\r
         */\r
-       public abstract String getString( String directory, String key, String defaultValue);\r
-\r
-       public abstract void putString( String directory, String key, String value );\r
-\r
+       public abstract String getString(String directory, String key, String defaultValue);\r
+       \r
+       public abstract void putString(String directory, String key, String value);\r
+       \r
        /*\r
         * ******************************************************************************************\r
         */\r
@@ -173,7 +177,7 @@ public abstract class Preferences {
                        putString(key, value.name());\r
                }\r
        }\r
-\r
+       \r
        public Color getDefaultColor(Class<? extends RocketComponent> c) {\r
                String color = get("componentColors", c, DEFAULT_COLORS);\r
                if (color == null)\r
@@ -192,8 +196,8 @@ public abstract class Preferences {
                        return;\r
                putString("componentColors", c.getSimpleName(), stringifyColor(color));\r
        }\r
-\r
-\r
+       \r
+       \r
        /**\r
         * Retrieve a Line style for the given component.\r
         * @param c\r
@@ -262,16 +266,16 @@ public abstract class Preferences {
                putString("componentMaterials", componentClass.getSimpleName(),\r
                                material == null ? null : material.toStorableString());\r
        }\r
-\r
+       \r
        /**\r
         * get a net.sf.openrocket.util.Color object for the given key.\r
         * @param key\r
         * @param defaultValue\r
         * @return\r
         */\r
-       public final Color getColor( String key, Color defaultValue ) {\r
-               Color c = parseColor( getString(key,null) );\r
-               if ( c == null ) {\r
+       public final Color getColor(String key, Color defaultValue) {\r
+               Color c = parseColor(getString(key, null));\r
+               if (c == null) {\r
                        return defaultValue;\r
                }\r
                return c;\r
@@ -282,10 +286,10 @@ public abstract class Preferences {
         * @param key\r
         * @param value\r
         */\r
-       public final void putColor( String key, Color value ) {\r
-               putString( key, stringifyColor(value) );\r
+       public final void putColor(String key, Color value) {\r
+               putString(key, stringifyColor(value));\r
        }\r
-\r
+       \r
        /**\r
         * Helper function to convert a string representation into a net.sf.openrocket.util.Color object.\r
         * @param color\r
@@ -319,7 +323,7 @@ public abstract class Preferences {
                String string = color.getRed() + "," + color.getGreen() + "," + color.getBlue();\r
                return string;\r
        }\r
-\r
+       \r
        /**\r
         * Special helper function which allows for a map of default values.\r
         * \r
@@ -358,11 +362,17 @@ public abstract class Preferences {
                \r
                return null;\r
        }\r
-\r
+       \r
        public abstract void addUserMaterial(Material m);\r
+       \r
        public abstract Set<Material> getUserMaterials();\r
+       \r
        public abstract void removeUserMaterial(Material m);\r
-\r
+       \r
+       public abstract void setComponentFavorite(ComponentPreset preset, ComponentPreset.Type type, boolean favorite);\r
+       \r
+       public abstract Set<String> getComponentFavorites(ComponentPreset.Type type);\r
+       \r
        /*\r
         * Map of default line styles\r
         */\r
@@ -377,18 +387,9 @@ public abstract class Preferences {
         * Within a holder class so they will load only when needed.\r
         */\r
        private static class DefaultMaterialHolder {\r
-               private static final Translator trans = Application.getTranslator();\r
-               \r
-               //// Elastic cord (round 2mm, 1/16 in)\r
-               private static final Material DEFAULT_LINE_MATERIAL =\r
-                               Databases.findMaterial(Material.Type.LINE, trans.get("Databases.materials.Elasticcordround2mm"),\r
-                                               0.0018, false);\r
-               //// Ripstop nylon\r
-               private static final Material DEFAULT_SURFACE_MATERIAL =\r
-                               Databases.findMaterial(Material.Type.SURFACE, trans.get("Databases.materials.Ripstopnylon"), 0.067, false);\r
-               //// Cardboard\r
-               private static final Material DEFAULT_BULK_MATERIAL =\r
-                               Databases.findMaterial(Material.Type.BULK, trans.get("Databases.materials.Cardboard"), 680, false);\r
+               private static final Material DEFAULT_LINE_MATERIAL = Databases.findMaterial(Material.Type.LINE, "Elastic cord (round 2 mm, 1/16 in)");\r
+               private static final Material DEFAULT_SURFACE_MATERIAL = Databases.findMaterial(Material.Type.SURFACE, "Ripstop nylon");\r
+               private static final Material DEFAULT_BULK_MATERIAL = Databases.findMaterial(Material.Type.BULK, "Cardboard");\r
        }\r
        \r
        private static final HashMap<Class<?>, String> DEFAULT_COLORS =\r
@@ -402,6 +403,6 @@ public abstract class Preferences {
                DEFAULT_COLORS.put(RecoveryDevice.class, "255,0,0");\r
        }\r
        \r
-\r
-\r
+       \r
+       \r
 }\r