create changelog entry
[debian/openrocket] / core / src / net / sf / openrocket / rocketcomponent / RecoveryDevice.java
index e9c493db7086e76980b9a328f56d05b638c0f814..3c5a88f1bc005e2deb39b0b5b85adb40a7d95890 100644 (file)
@@ -2,6 +2,7 @@ package net.sf.openrocket.rocketcomponent;
 
 import net.sf.openrocket.l10n.Translator;
 import net.sf.openrocket.material.Material;
+import net.sf.openrocket.preset.ComponentPreset;
 import net.sf.openrocket.simulation.FlightEvent;
 import net.sf.openrocket.startup.Application;
 import net.sf.openrocket.util.MathUtil;
@@ -169,6 +170,7 @@ public abstract class RecoveryDevice extends MassObject {
                if (mat.equals(material))
                        return;
                this.material = (Material.Surface) mat;
+               clearPreset();
                fireComponentChangeEvent(ComponentChangeEvent.MASS_CHANGE);
        }
        
@@ -220,5 +222,16 @@ public abstract class RecoveryDevice extends MassObject {
        public double getComponentMass() {
                return getArea() * getMaterial().getDensity();
        }
-       
+
+       @Override
+       protected void loadFromPreset(ComponentPreset preset) {
+               if ( preset.has(ComponentPreset.MATERIAL)) {
+                       Material m = preset.get(ComponentPreset.MATERIAL);
+                       this.material = (Material.Surface)m;
+               }
+               super.loadFromPreset(preset);
+               fireComponentChangeEvent(ComponentChangeEvent.BOTH_CHANGE);
+
+       }
+
 }