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