Changes to support integrated into main application.

This commit is contained in:
Doug Pedrick 2012-09-26 17:24:11 +00:00
parent efb4952333
commit 391d02dc66

View File

@ -1,15 +1,19 @@
package net.sf.openrocket.gui.preset;
import java.awt.Window;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import net.miginfocom.swing.MigLayout;
import net.sf.openrocket.gui.util.FileHelper;
import net.sf.openrocket.gui.util.Icons;
import net.sf.openrocket.gui.util.SwingPreferences;
import net.sf.openrocket.l10n.ResourceBundleTranslator;
import net.sf.openrocket.l10n.Translator;
import net.sf.openrocket.logging.LogHelper;
import net.sf.openrocket.material.Material;
import net.sf.openrocket.preset.ComponentPreset;
import net.sf.openrocket.preset.loader.MaterialHolder;
import net.sf.openrocket.preset.loader.RocksimComponentFileTranslator;
import net.sf.openrocket.preset.xml.OpenRocketComponentDTO;
import net.sf.openrocket.preset.xml.OpenRocketComponentSaver;
import net.sf.openrocket.startup.Application;
import javax.swing.AbstractAction;
import javax.swing.Action;
@ -29,20 +33,16 @@ import javax.swing.JTable;
import javax.swing.SwingUtilities;
import javax.swing.table.DefaultTableModel;
import javax.xml.bind.JAXBException;
import net.miginfocom.swing.MigLayout;
import net.sf.openrocket.gui.util.FileHelper;
import net.sf.openrocket.gui.util.Icons;
import net.sf.openrocket.gui.util.SwingPreferences;
import net.sf.openrocket.l10n.ResourceBundleTranslator;
import net.sf.openrocket.logging.LogHelper;
import net.sf.openrocket.material.Material;
import net.sf.openrocket.preset.ComponentPreset;
import net.sf.openrocket.preset.loader.MaterialHolder;
import net.sf.openrocket.preset.loader.RocksimComponentFileTranslator;
import net.sf.openrocket.preset.xml.OpenRocketComponentDTO;
import net.sf.openrocket.preset.xml.OpenRocketComponentSaver;
import net.sf.openrocket.startup.Application;
import java.awt.Window;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
/**
* A UI for editing component presets. Currently this is a standalone application - run the main within this class.
@ -58,7 +58,7 @@ public class ComponentPresetEditor extends JPanel implements PresetResultListene
/**
* The I18N translator.
*/
private static ResourceBundleTranslator trans = null;
private static Translator trans = null;
/**
* The table of presets.
@ -70,16 +70,10 @@ public class ComponentPresetEditor extends JPanel implements PresetResultListene
*/
private DataTableModel model;
/**
* Flag that indicates if an existing Preset is currently being edited.
*/
// private boolean editingSelected = false;
private final OpenedFileContext editContext = new OpenedFileContext();
static {
trans = new ResourceBundleTranslator("l10n.messages");
net.sf.openrocket.startup.Application.setBaseTranslator(trans);
trans = Application.getTranslator();
}
/**
@ -116,7 +110,9 @@ public class ComponentPresetEditor extends JPanel implements PresetResultListene
public void mouseClicked(MouseEvent e) {
JTable target = (JTable) e.getSource();
int selectedColumn = table.getColumnModel().getColumnIndexAtX(target.getSelectedColumn());
int selectedRow = table.getRowSorter().convertRowIndexToModel( target.getSelectedRow() );
final int targetSelectedRow = target.getSelectedRow();
if (targetSelectedRow > -1 && targetSelectedRow < model.getRowCount()) {
int selectedRow = table.getRowSorter().convertRowIndexToModel(targetSelectedRow);
if (selectedColumn == 4) {
if (JOptionPane.YES_OPTION == JOptionPane.showConfirmDialog(ComponentPresetEditor.this,
"Do you want to delete this preset?",
@ -133,6 +129,7 @@ public class ComponentPresetEditor extends JPanel implements PresetResultListene
}
}
}
}
});
@ -257,6 +254,9 @@ public class ComponentPresetEditor extends JPanel implements PresetResultListene
*/
public static void main(String[] args) {
try {
trans = new ResourceBundleTranslator("l10n.messages");
net.sf.openrocket.startup.Application.setBaseTranslator(trans);
Application.setPreferences(new SwingPreferences());
JFrame dialog = new JFrame();
dialog.getContentPane().add(new ComponentPresetEditor(dialog));
@ -429,8 +429,6 @@ public class ComponentPresetEditor extends JPanel implements PresetResultListene
return false;
}
((SwingPreferences) Application.getPreferences()).setDefaultDirectory(chooser.getCurrentDirectory());
file = FileHelper.forceExtension(file, "orc");
MaterialHolder materials = new MaterialHolder();
@ -441,7 +439,11 @@ public class ComponentPresetEditor extends JPanel implements PresetResultListene
// If we don't have a material already defined for saving...
if (materials.getMaterial(preset.get(ComponentPreset.MATERIAL)) == null) {
// Check if we loaded a material with this name.
Material m = editContext.getMaterialsLoaded().getMaterial(preset.get(ComponentPreset.MATERIAL));
Material m = null;
if (editContext.getMaterialsLoaded() != null) {
m = editContext.getMaterialsLoaded().getMaterial(preset.get
(ComponentPreset.MATERIAL));
}
// If there was no material loaded with that name, use the component's material.
if (m == null) {
m = preset.get(ComponentPreset.MATERIAL);