Remove FIXME by adding undo point before assigning the preset.
authorkruland2607 <kruland2607@180e2498-e6e9-4542-8430-84ac67f01cd8>
Thu, 23 Aug 2012 02:23:41 +0000 (02:23 +0000)
committerkruland2607 <kruland2607@180e2498-e6e9-4542-8430-84ac67f01cd8>
Thu, 23 Aug 2012 02:23:41 +0000 (02:23 +0000)
git-svn-id: https://openrocket.svn.sourceforge.net/svnroot/openrocket/trunk@980 180e2498-e6e9-4542-8430-84ac67f01cd8

core/src/net/sf/openrocket/gui/adaptors/PresetModel.java
core/src/net/sf/openrocket/gui/configdialog/RocketComponentConfig.java

index 4dca6f568e40bf9a0e2aa5c61da83d17c3e7805b..474610de606698564f7d7d807b072a933ffe2ee3 100644 (file)
@@ -9,6 +9,7 @@ import javax.swing.SwingUtilities;
 
 import net.sf.openrocket.database.Database;
 import net.sf.openrocket.database.DatabaseListener;
+import net.sf.openrocket.document.OpenRocketDocument;
 import net.sf.openrocket.gui.dialogs.preset.ComponentPresetChooserDialog;
 import net.sf.openrocket.l10n.Translator;
 import net.sf.openrocket.logging.LogHelper;
@@ -29,12 +30,14 @@ public class PresetModel extends AbstractListModel implements ComboBoxModel, Com
        
        private final Component parent;
        private final RocketComponent component;
+       private final OpenRocketDocument document;
        private ComponentPreset previousPreset;
        
        private List<ComponentPreset> presets;
        
-       public PresetModel(Component parent, RocketComponent component) {
+       public PresetModel(Component parent, OpenRocketDocument document, RocketComponent component) {
                this.parent = parent;
+               this.document = document;
                presets = Application.getComponentPresetDao().listForType(component.getPresetType(), true);
                this.component = component;
                previousPreset = component.getPresetComponent();
@@ -62,7 +65,6 @@ public class PresetModel extends AbstractListModel implements ComboBoxModel, Com
                log.user("User selected preset item '" + item + "' for component " + component);
                
                if (item == null) {
-                       // FIXME:  What to do?
                        throw new BugException("item is null");
                } else if (item.equals(NONE_SELECTED)) {
                        component.clearPreset();
@@ -80,7 +82,7 @@ public class PresetModel extends AbstractListModel implements ComboBoxModel, Com
                                }
                        });
                } else {
-                       // FIXME: Add undo point here
+                       document.addUndoPosition("Use Preset " + component.getComponentName());
                        component.loadPreset((ComponentPreset) item);
                }
        }
index 24d8220f8a6efe0603e6fb62131ddeeabfed8164..c2fbd63ec362ca22ae2c83e5d836ae264e56c751 100644 (file)
@@ -98,7 +98,7 @@ public class RocketComponentConfig extends JPanel {
                
                if (component.getPresetType() != null) {
                        // If the component supports a preset, show the preset selection box.
-                       presetModel = new PresetModel(this, component);
+                       presetModel = new PresetModel(this, document, component);
                        ((ComponentPresetDatabase) Application.getComponentPresetDao()).addDatabaseListener(presetModel);
                        presetComboBox = new JComboBox(presetModel);
                        presetComboBox.setEditable(false);