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.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
\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
* @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
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
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
String material = get("componentMaterials", componentClass, null);\r
if (material != null) {\r
try {\r
- Material m = Material.fromStorableString(material);\r
+ Material m = Material.fromStorableString(material, false);\r
if (m.getType() == type)\r
return m;\r
} catch (IllegalArgumentException ignore) {\r
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
* @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
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
\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
- public abstract void setComponentFavorite( ComponentPreset preset, ComponentPreset.Type type, boolean favorite );\r
- public abstract Set<String> getComponentFavorites( ComponentPreset.Type type );\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
* 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, "Elasticcordround2mm", trans.get("Databases.materials.Elasticcordround2mm"),0.0018);\r
- //// Ripstop nylon\r
- private static final Material DEFAULT_SURFACE_MATERIAL =\r
- Databases.findMaterial(Material.Type.SURFACE, "Ripstopnylon", trans.get("Databases.materials.Ripstopnylon"), 0.067);\r
- //// Cardboard\r
- private static final Material DEFAULT_BULK_MATERIAL =\r
- Databases.findMaterial(Material.Type.BULK, "Cardboard", trans.get("Databases.materials.Cardboard"), 680);\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
DEFAULT_COLORS.put(RecoveryDevice.class, "255,0,0");\r
}\r
\r
-\r
-\r
+ \r
+ \r
}\r