package com.billkuker.rocketry.motorsim.visual.workbench;\r
\r
import java.awt.FileDialog;\r
+import java.awt.Toolkit;\r
+import java.awt.datatransfer.Clipboard;\r
+import java.awt.datatransfer.StringSelection;\r
import java.awt.event.ActionEvent;\r
import java.awt.event.ActionListener;\r
import java.awt.event.WindowEvent;\r
import java.awt.event.WindowListener;\r
+import java.io.ByteArrayOutputStream;\r
import java.io.File;\r
import java.io.FileInputStream;\r
import java.io.FileOutputStream;\r
import javax.swing.JFrame;\r
import javax.swing.JMenu;\r
import javax.swing.JMenuItem;\r
+import javax.swing.JOptionPane;\r
import javax.swing.JScrollPane;\r
import javax.swing.JSeparator;\r
import javax.swing.JTabbedPane;\r
import com.billkuker.rocketry.motorsim.Burn;\r
import com.billkuker.rocketry.motorsim.Motor;\r
import com.billkuker.rocketry.motorsim.io.ENGExporter;\r
+import com.billkuker.rocketry.motorsim.io.HTMLExporter;\r
import com.billkuker.rocketry.motorsim.io.MotorIO;\r
import com.billkuker.rocketry.motorsim.visual.MultiObjectEditor;\r
import com.billkuker.rocketry.motorsim.visual.RememberJFrame;\r
public JMenu getMenu() {\r
JMenu ret = super.getMenu();\r
ret.add(new JSeparator());\r
- ret.add(new JMenuItem("Export .ENG") {\r
+ ret.add(new JMenu("Export"){\r
private static final long serialVersionUID = 1L;\r
{\r
- addActionListener(new ActionListener() {\r
- @Override\r
- public void actionPerformed(ActionEvent arg0) {\r
-\r
- final FileDialog fd = new FileDialog(frame,\r
- "Export .ENG File", FileDialog.SAVE);\r
- fd.setFile("motorsim.eng");\r
- fd.setVisible(true);\r
- if (fd.getFile() != null) {\r
- File file = new File(fd.getDirectory()\r
- + fd.getFile());\r
- MotorEditor me = getSelectedEditor();\r
- Vector<Burn> bb = new Vector<Burn>();\r
- bb.add(me.burn);\r
- try {\r
- ENGExporter.export(bb, file);\r
- } catch (IOException e) {\r
- // TODO Auto-generated catch block\r
- e.printStackTrace();\r
+ add(new JMenuItem("Export .ENG") {\r
+ private static final long serialVersionUID = 1L;\r
+ {\r
+ addActionListener(new ActionListener() {\r
+ @Override\r
+ public void actionPerformed(ActionEvent arg0) {\r
+\r
+ final FileDialog fd = new FileDialog(frame,\r
+ "Export .ENG File", FileDialog.SAVE);\r
+ fd.setFile("motorsim.eng");\r
+ fd.setVisible(true);\r
+ if (fd.getFile() != null) {\r
+ File file = new File(fd.getDirectory()\r
+ + fd.getFile());\r
+ MotorEditor me = getSelectedEditor();\r
+ Vector<Burn> bb = new Vector<Burn>();\r
+ bb.add(me.burn);\r
+ try {\r
+ ENGExporter.export(bb, file);\r
+ } catch (IOException e) {\r
+ // TODO Auto-generated catch block\r
+ e.printStackTrace();\r
+ }\r
+ }\r
}\r
- }\r
+ });\r
}\r
- });\r
+ }); \r
+ add(new JMenuItem("Export HTML") {\r
+ private static final long serialVersionUID = 1L;\r
+ {\r
+ addActionListener(new ActionListener() {\r
+ @Override\r
+ public void actionPerformed(ActionEvent arg0) {\r
+ ByteArrayOutputStream out = new ByteArrayOutputStream();\r
+ MotorEditor me = getSelectedEditor();\r
+ try {\r
+ HTMLExporter.export(me.burn, out);\r
+ String html = new String(out.toByteArray());\r
+ Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();\r
+ clipboard.setContents( new StringSelection(html), null );\r
+ JOptionPane.showMessageDialog(MotorsEditor.this, "HTML Copied to Clipboard");\r
+ } catch (Exception e) {\r
+ \r
+ }\r
+ \r
+ }\r
+ });\r
+ }\r
+ }); \r
}\r
});\r
return ret;\r