Remove FIXME by adding undo point before assigning the preset.

This commit is contained in:
Kevin Ruland 2012-08-23 02:23:41 +00:00
parent d72a6099cf
commit 007c7d6b41
2 changed files with 6 additions and 4 deletions

View 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);
}
}

View 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);