Export HTML option
authorBill Kuker <bkuker@billkuker.com>
Tue, 30 Nov 2010 21:41:52 +0000 (21:41 +0000)
committerBill Kuker <bkuker@billkuker.com>
Tue, 30 Nov 2010 21:41:52 +0000 (21:41 +0000)
gui/com/billkuker/rocketry/motorsim/visual/workbench/MotorsEditor.java

index 2ecb013e7068b078e2d8e93318fd321b2db33e39..46c73d8c642f875f32e489d734787f49e78b9d99 100644 (file)
@@ -1,10 +1,14 @@
 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
@@ -14,6 +18,7 @@ import java.util.Vector;
 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
@@ -21,6 +26,7 @@ import javax.swing.JTabbedPane;
 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
@@ -137,32 +143,59 @@ public class MotorsEditor extends MultiObjectEditor<Motor, MotorEditor> {
        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