1 package com.billkuker.rocketry.motorsim.visual.workbench;
\r
3 import java.awt.FileDialog;
\r
4 import java.awt.event.ActionEvent;
\r
6 import java.io.FileInputStream;
\r
7 import java.io.FileOutputStream;
\r
8 import java.io.IOException;
\r
9 import java.util.Vector;
\r
11 import javax.swing.JFrame;
\r
12 import javax.swing.JMenu;
\r
13 import javax.swing.JMenuItem;
\r
14 import javax.swing.JSeparator;
\r
15 import java.awt.event.ActionListener;
\r
17 import com.billkuker.rocketry.motorsim.Burn;
\r
18 import com.billkuker.rocketry.motorsim.Motor;
\r
19 import com.billkuker.rocketry.motorsim.io.ENGExporter;
\r
20 import com.billkuker.rocketry.motorsim.io.MotorIO;
\r
21 import com.billkuker.rocketry.motorsim.visual.MultiObjectEditor;
\r
23 public class MotorsEditor extends MultiObjectEditor<Motor, MotorEditor> {
\r
24 private static final long serialVersionUID = 1L;
\r
26 public MotorsEditor(JFrame f) {
\r
28 addCreator(new ObjectCreator() {
\r
30 public Motor newObject() {
\r
31 return MotorEditor.defaultMotor();
\r
35 public String getName() {
\r
42 public MotorEditor createEditor(Motor o) {
\r
43 return new MotorEditor(o);
\r
48 protected Motor loadFromFile(File f) throws IOException {
\r
49 return MotorIO.readMotor(new FileInputStream(f));
\r
53 protected void saveToFile(Motor o, File f) throws IOException {
\r
54 MotorIO.writeMotor(o, new FileOutputStream(f));
\r
59 public JMenu getMenu(){
\r
60 JMenu ret = super.getMenu();
\r
61 ret.add(new JSeparator());
\r
62 ret.add(new JMenuItem("Export .ENG"){
\r
63 private static final long serialVersionUID = 1L;
\r
65 addActionListener(new ActionListener() {
\r
67 public void actionPerformed(ActionEvent arg0) {
\r
69 final FileDialog fd = new FileDialog(frame, "Export .ENG File", FileDialog.SAVE);
\r
70 fd.setFile("motorsim.eng");
\r
71 fd.setVisible(true);
\r
72 if (fd.getFile() != null) {
\r
73 File file = new File(fd.getDirectory()
\r
75 MotorEditor me = getSelectedEditor();
\r
76 Vector<Burn> bb = new Vector<Burn>();
\r
79 ENGExporter.export(bb, file);
\r
80 } catch (IOException e) {
\r
81 // TODO Auto-generated catch block
\r
82 e.printStackTrace();
\r