]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdBuildOptions.java
1. Make SPD editor tables bigger.and table now focus the entry added.
[mirror_edk2.git] / Tools / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / platform / ui / FpdBuildOptions.java
index b94e695ecc315165973596b07d4e25f7cf395b1a..f273d8db66718e16d2ff1324a609386a446ed145 100644 (file)
@@ -26,6 +26,9 @@ import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;\r
 \r
 import javax.swing.DefaultCellEditor;\r
+import javax.swing.JFileChooser;\r
+import javax.swing.JFrame;\r
+import javax.swing.JOptionPane;\r
 import javax.swing.JTextField;\r
 import javax.swing.JButton;\r
 import javax.swing.JScrollPane;\r
@@ -39,20 +42,25 @@ import javax.swing.event.ListSelectionListener;
 import javax.swing.event.TableModelEvent;\r
 import javax.swing.event.TableModelListener;\r
 import javax.swing.table.DefaultTableModel;\r
-import javax.swing.table.TableColumn;\r
 import javax.swing.table.TableModel;\r
 \r
 import org.tianocore.PlatformSurfaceAreaDocument;\r
+import org.tianocore.frameworkwizard.common.DataValidation;\r
+import org.tianocore.frameworkwizard.common.Identifications.OpeningPlatformType;\r
 import org.tianocore.frameworkwizard.common.ui.IInternalFrame;\r
+\r
+import java.io.File;\r
 import java.util.ArrayList;\r
 import java.util.Iterator;\r
 import java.util.LinkedHashMap;\r
 import java.util.Set;\r
 import java.util.Vector;\r
+import java.awt.Dimension;\r
 \r
 public class FpdBuildOptions extends IInternalFrame {\r
 \r
     private static final long serialVersionUID = 1L;\r
+    static JFrame frame;\r
     private JPanel jContentPane = null;\r
     private JPanel jPanel = null;\r
     private JPanel jPanel1 = null;\r
@@ -105,7 +113,7 @@ public class FpdBuildOptions extends IInternalFrame {
     private JButton jButton17 = null;\r
     private JButton jButton18 = null;\r
     private FpdFileContents ffc = null;\r
-    private JButton jButton19 = null;\r
+    private OpeningPlatformType docConsole = null;\r
     private JCheckBox jCheckBox9 = null;\r
     private JCheckBox jCheckBox10 = null;\r
     private JCheckBox jCheckBox11 = null;\r
@@ -140,6 +148,8 @@ public class FpdBuildOptions extends IInternalFrame {
     private JButton jButton7 = null;\r
     private JScrollPane jScrollPane4 = null;\r
     private JTable jTable6 = null;\r
+    private JButton jButton12 = null;\r
+    private JTextField jTextField1 = null;\r
     /**\r
      * This method initializes jPanel  \r
      *         \r
@@ -239,6 +249,7 @@ public class FpdBuildOptions extends IInternalFrame {
             jPanel9.setLayout(flowLayout8);\r
             jPanel9.add(jLabel, null);\r
             jPanel9.add(getJTextField2(), null);\r
+            jPanel9.add(getJButton12(), null);\r
             jPanel9.add(jLabel3, null);\r
             jPanel9.add(getJTextField3(), null);\r
         }\r
@@ -319,12 +330,16 @@ public class FpdBuildOptions extends IInternalFrame {
             jButton4.setText("Add");\r
             jButton4.addActionListener(new ActionListener() {\r
                 public void actionPerformed(ActionEvent e) {\r
+                    if (!DataValidation.isInt(jTextField3.getText()) || jTextField3.getText().length() != 8) {\r
+                        JOptionPane.showMessageDialog(frame, "ID must be an 8-digit integer.");\r
+                        return;\r
+                    }\r
                     Object[] o = {jTextField3.getText(), null, null};\r
                         o[1] = jTextField2.getText();\r
                         o[2] = jTextField4.getText();\r
-                        ffc.genBuildOptionsUserDefAntTask(o[0]+"", null, o[2]+"");\r
+                        ffc.genBuildOptionsUserDefAntTask(o[0]+"", o[1]+"", o[2]+"");\r
                     antTaskTableModel.addRow(o);\r
-                    \r
+                    docConsole.setSaved(false);\r
                 }\r
             });\r
         }\r
@@ -344,6 +359,7 @@ public class FpdBuildOptions extends IInternalFrame {
             jButton5.addActionListener(new ActionListener() {\r
                 public void actionPerformed(ActionEvent e) {\r
                     if (selectedRow >= 0) {\r
+                        docConsole.setSaved(false);\r
                         antTaskTableModel.removeRow(selectedRow);\r
                         ffc.removeBuildOptionsUserDefAntTask(selectedRow);\r
                     }\r
@@ -390,6 +406,7 @@ public class FpdBuildOptions extends IInternalFrame {
         if (jTable2 == null) {\r
             antTaskTableModel = new DefaultTableModel();\r
             jTable2 = new JTable(antTaskTableModel);\r
+            jTable2.setRowHeight(20);\r
             antTaskTableModel.addColumn("ID");\r
             antTaskTableModel.addColumn("Filename");\r
             antTaskTableModel.addColumn("ANT Command Options");\r
@@ -543,7 +560,7 @@ public class FpdBuildOptions extends IInternalFrame {
         if (jTextField6 == null) {\r
             jTextField6 = new JTextField();\r
             jTextField6.setPreferredSize(new java.awt.Dimension(100,20));\r
-            jTextField6.setEditable(false);\r
+            jTextField6.setEditable(true);\r
             jTextField6.addFocusListener(new java.awt.event.FocusAdapter() {\r
                 public void focusLost(java.awt.event.FocusEvent e) {\r
                     if (jTable.getSelectedRow() < 0) {\r
@@ -576,6 +593,7 @@ public class FpdBuildOptions extends IInternalFrame {
                     if (jTextField6.getText().length() > 0) {\r
                         String[] row = {jTextField6.getText()};\r
                         ffsTableModel.addRow(row);\r
+                        docConsole.setSaved(false);\r
                         ffc.genBuildOptionsFfs(jTextField6.getText(), jTextField.getText());\r
                     }\r
                 }\r
@@ -604,6 +622,7 @@ public class FpdBuildOptions extends IInternalFrame {
                     if (jTable.getSelectedRow() < 0) {\r
                         return;\r
                     }\r
+                    docConsole.setSaved(false);\r
                     ffc.removeBuildOptionsFfs(jTable.getSelectedRow());\r
                 }\r
             });\r
@@ -635,6 +654,7 @@ public class FpdBuildOptions extends IInternalFrame {
             ffsAttributesTableModel = new DefaultTableModel();\r
             jTable4 = new JTable(ffsAttributesTableModel);\r
             jTable4.setPreferredSize(new java.awt.Dimension(400,80));\r
+            jTable4.setRowHeight(20);\r
             ffsAttributesTableModel.addColumn("Name");\r
             ffsAttributesTableModel.addColumn("Value");\r
             \r
@@ -655,6 +675,7 @@ public class FpdBuildOptions extends IInternalFrame {
                         if (value.length() == 0){\r
                             return;\r
                         }\r
+                        docConsole.setSaved(false);\r
                         ffc.updateBuildOptionsFfsAttribute(jTable.getSelectedRow(), row, name, value);\r
                     }\r
                 }\r
@@ -720,6 +741,7 @@ public class FpdBuildOptions extends IInternalFrame {
             jPanel20.add(jLabel14, null);\r
             jPanel20.add(getJTextField12(), null);\r
             jPanel20.add(jLabel10, null);\r
+            jPanel20.add(getJTextField1(), null);\r
             jPanel20.add(getJComboBox2(), null);\r
             jPanel20.add(jLabel12, null);\r
             jPanel20.add(getJTextField8(), null);\r
@@ -736,7 +758,6 @@ public class FpdBuildOptions extends IInternalFrame {
             jPanel20.add(getJTextField7(), null);\r
             jPanel20.add(getJButton10(), null);\r
             jPanel20.add(getJButton11(), null);\r
-            jPanel20.add(getJButton19(), null);\r
             jPanel20.add(getJScrollPane6(), null);\r
         }\r
         return jPanel20;\r
@@ -769,6 +790,7 @@ public class FpdBuildOptions extends IInternalFrame {
             jComboBox2.addItem("CYGWIN");\r
             jComboBox2.addItem("INTEL");\r
             jComboBox2.setSelectedIndex(0);\r
+            jComboBox2.setVisible(false);\r
         }\r
         return jComboBox2;\r
     }\r
@@ -809,6 +831,7 @@ public class FpdBuildOptions extends IInternalFrame {
         if (jTable5 == null) {\r
             optionsTableModel = new DefaultTableModel();\r
             jTable5 = new JTable(optionsTableModel);\r
+            jTable5.setRowHeight(20);\r
             optionsTableModel.addColumn("BuildTargets");\r
             optionsTableModel.addColumn("ToolChainFamily");\r
             optionsTableModel.addColumn("SupportedArch");\r
@@ -816,14 +839,21 @@ public class FpdBuildOptions extends IInternalFrame {
             optionsTableModel.addColumn("TagName");\r
             optionsTableModel.addColumn("Contents");\r
             \r
-            TableColumn toolFamilyCol = jTable5.getColumnModel().getColumn(1);\r
-            JComboBox cb = new JComboBox();\r
-            cb.addItem("MSFT");\r
-            cb.addItem("GCC");\r
-            cb.addItem("CYGWIN");\r
-            cb.addItem("INTEL");\r
-            toolFamilyCol.setCellEditor(new DefaultCellEditor(cb));\r
-            \r
+//            TableColumn toolFamilyCol = jTable5.getColumnModel().getColumn(1);\r
+//            JComboBox cb = new JComboBox();\r
+//            cb.addItem("MSFT");\r
+//            cb.addItem("GCC");\r
+//            cb.addItem("CYGWIN");\r
+//            cb.addItem("INTEL");\r
+//            toolFamilyCol.setCellEditor(new DefaultCellEditor(cb));\r
+            Vector<String> vArch = new Vector<String>();\r
+            vArch.add("IA32");\r
+            vArch.add("X64");\r
+            vArch.add("IPF");\r
+            vArch.add("EBC");\r
+            vArch.add("ARM");\r
+            vArch.add("PPC");\r
+            jTable5.getColumnModel().getColumn(2).setCellEditor(new ListEditor(vArch));\r
             jTable5.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
             jTable5.getSelectionModel().addListSelectionListener(new ListSelectionListener(){\r
                 public void valueChanged(ListSelectionEvent e) {\r
@@ -856,17 +886,19 @@ public class FpdBuildOptions extends IInternalFrame {
                         }\r
                         String toolChain = m.getValueAt(row, 1) + "";\r
                         String archs = m.getValueAt(row, 2) + "";\r
-                        Vector<Object> supArch = new Vector<Object>();\r
-                        String[] sArray1 = archs.split("( )+");\r
-                        for (int i = 0; i < sArray1.length; ++i) {\r
-                            supArch.add(sArray1[i]);\r
-                        }\r
-                        if (supArch.size() == 0) {\r
-                            supArch.add("IA32");\r
+                        Vector<Object> supArch = null;\r
+                        if (archs.length() > 0) {\r
+                            supArch = new Vector<Object>();\r
+                            String[] sArray1 = archs.split("( )+");\r
+                            for (int i = 0; i < sArray1.length; ++i) {\r
+                                supArch.add(sArray1[i]);\r
+                            }\r
                         }\r
+                        \r
                         String toolCmd = m.getValueAt(row, 3) + "";\r
                         String tagName = m.getValueAt(row, 4) + "";\r
                         String contents = m.getValueAt(row, 5) + "";\r
+                        docConsole.setSaved(false);\r
                         ffc.updateBuildOptionsOpt(row, targetName, toolChain, tagName, toolCmd, supArch, contents);\r
                     }\r
                 }\r
@@ -884,7 +916,7 @@ public class FpdBuildOptions extends IInternalFrame {
         if (jButton10 == null) {\r
             jButton10 = new JButton();\r
             jButton10.setText("Add");\r
-            jButton10.setPreferredSize(new java.awt.Dimension(70,20));\r
+            jButton10.setPreferredSize(new java.awt.Dimension(90,20));\r
             jButton10.addActionListener(new AbstractAction() {\r
                 /**\r
                  * \r
@@ -895,11 +927,11 @@ public class FpdBuildOptions extends IInternalFrame {
                     boolean[] boolArray = {jCheckBox9.isSelected(),jCheckBox10.isSelected(),jCheckBox11.isSelected(),\r
                                            jCheckBox12.isSelected(),jCheckBox13.isSelected(),jCheckBox14.isSelected()};\r
                     String s = boolToList(boolArray);\r
-                    Object[] o = {jTextField12.getText(), jComboBox2.getSelectedItem(), s,\r
+                    Object[] o = {jTextField12.getText(), jTextField1.getText(), s,\r
                                   jTextField8.getText(), jTextField13.getText(), jTextField7.getText()};\r
                     optionsTableModel.addRow(o);\r
-                  \r
-                    ffc.genBuildOptionsOpt(stringToVector(jTextField12.getText()), jComboBox2.getSelectedItem()+"", jTextField13.getText(), jTextField8.getText(),  stringToVector(s), jTextField7.getText());\r
+                    docConsole.setSaved(false);\r
+                    ffc.genBuildOptionsOpt(stringToVector(jTextField12.getText()), jTextField1.getText(), jTextField13.getText(), jTextField8.getText(),  stringToVector(s), jTextField7.getText());\r
                 }\r
             });\r
         }\r
@@ -908,9 +940,12 @@ public class FpdBuildOptions extends IInternalFrame {
     \r
     private Vector<Object> stringToVector(String s) {\r
         String[] sArray = s.split(" ");\r
-        Vector<Object> v = new Vector<Object>();\r
-        for (int i = 0; i < sArray.length; ++i) {\r
-            v.add(sArray[i]);\r
+        Vector<Object> v = null;\r
+        if (s.length() > 0) {\r
+            v = new Vector<Object>();\r
+            for (int i = 0; i < sArray.length; ++i) {\r
+                v.add(sArray[i]);\r
+            } \r
         }\r
         return v;\r
     }\r
@@ -950,7 +985,7 @@ public class FpdBuildOptions extends IInternalFrame {
         if (jButton11 == null) {\r
             jButton11 = new JButton();\r
             jButton11.setText("Delete");\r
-            jButton11.setPreferredSize(new java.awt.Dimension(70,20));\r
+            jButton11.setPreferredSize(new java.awt.Dimension(90,20));\r
             jButton11.addActionListener(new AbstractAction() {\r
                 /**\r
                  * \r
@@ -960,6 +995,7 @@ public class FpdBuildOptions extends IInternalFrame {
                 public void actionPerformed(java.awt.event.ActionEvent e) {\r
                     if (selectedRow >= 0) {\r
                         optionsTableModel.removeRow(selectedRow);\r
+                        docConsole.setSaved(false);\r
                         ffc.removeBuildOptionsOpt(selectedRow);\r
                     }\r
                 }\r
@@ -990,6 +1026,7 @@ public class FpdBuildOptions extends IInternalFrame {
                     }\r
                     Object[] o = {"", ""};\r
                     ffsAttributesTableModel.addRow(o);\r
+                    docConsole.setSaved(false);\r
                     ffc.genBuildOptionsFfsAttribute(jTable.getSelectedRow(), "", "");\r
                 }\r
             });\r
@@ -1018,6 +1055,7 @@ public class FpdBuildOptions extends IInternalFrame {
                         return;\r
                     }\r
                     if (jTable4.getSelectedRow() >= 0){\r
+                        docConsole.setSaved(false);\r
                         ffsAttributesTableModel.removeRow(jTable4.getSelectedRow());\r
                         ffc.removeBuildOptionsFfsAttribute(jTable.getSelectedRow(), jTable4.getSelectedRow());\r
                     }\r
@@ -1027,21 +1065,6 @@ public class FpdBuildOptions extends IInternalFrame {
         return jButton18;\r
     }\r
 \r
-    /**\r
-     * This method initializes jButton19       \r
-     *         \r
-     * @return javax.swing.JButton     \r
-     */\r
-    private JButton getJButton19() {\r
-        if (jButton19 == null) {\r
-            jButton19 = new JButton();\r
-            jButton19.setPreferredSize(new java.awt.Dimension(75,20));\r
-            jButton19.setEnabled(false);\r
-            jButton19.setText("Update");\r
-        }\r
-        return jButton19;\r
-    }\r
-\r
     /**\r
      * This method initializes jCheckBox9      \r
      *         \r
@@ -1237,7 +1260,7 @@ public class FpdBuildOptions extends IInternalFrame {
                         if (id.length() == 0) {\r
                             return;\r
                         }\r
-                       \r
+                        docConsole.setSaved(false);\r
                         ffc.updateBuildOptionsFfsKey(row, id);\r
                     }\r
                 }\r
@@ -1271,6 +1294,7 @@ public class FpdBuildOptions extends IInternalFrame {
             sectionTableModel.addColumn("SectionType");\r
             \r
             jTable1 = new JTable(sectionTableModel);\r
+            jTable1.setRowHeight(20);\r
             JComboBox cb = new JComboBox();\r
             cb.addItem("EFI_SECTION_FREEFORM_SUBTYPE_GUID");\r
             cb.addItem("EFI_SECTION_VERSION");\r
@@ -1300,7 +1324,7 @@ public class FpdBuildOptions extends IInternalFrame {
                     if (arg0.getType() == TableModelEvent.UPDATE){\r
                         //ToDo Data Validition check.\r
                         String type = m.getValueAt(row, 0) + "";\r
-                        \r
+                        docConsole.setSaved(false);\r
                        ffc.updateBuildOptionsFfsSectionsSection(jTable.getSelectedRow(), row, type);\r
                     }\r
                 }\r
@@ -1333,6 +1357,7 @@ public class FpdBuildOptions extends IInternalFrame {
             subsectionsTableModel = new DefaultTableModel();\r
             subsectionsTableModel.addColumn("SectionType");\r
             jTable3 = new JTable(subsectionsTableModel);\r
+            jTable3.setRowHeight(20);\r
             JComboBox cb = new JComboBox();\r
             cb.addItem("EFI_SECTION_FREEFORM_SUBTYPE_GUID");\r
             cb.addItem("EFI_SECTION_VERSION");\r
@@ -1361,6 +1386,7 @@ public class FpdBuildOptions extends IInternalFrame {
                     if (arg0.getType() == TableModelEvent.UPDATE){\r
                         //ToDo Data Validition check.\r
                         String type = m.getValueAt(row, 0) + "";\r
+                        docConsole.setSaved(false);\r
                         ffc.updateBuildOptionsFfsSectionsSectionsSection(jTable.getSelectedRow(), jTable6.getSelectedRow(), row, type);\r
                     }\r
                 }\r
@@ -1420,6 +1446,7 @@ public class FpdBuildOptions extends IInternalFrame {
                     if (jTable.getSelectedRow() < 0) {\r
                         return;\r
                     }\r
+                    docConsole.setSaved(false);\r
                     String[] row = {"EFI_SECTION_RAW"};\r
                     sectionTableModel.addRow(row);\r
                     ffc.genBuildOptionsFfsSectionsSection(jTable.getSelectedRow(), row[0]);\r
@@ -1445,6 +1472,7 @@ public class FpdBuildOptions extends IInternalFrame {
                     if (jTable.getSelectedRow() < 0 || jTable1.getSelectedRow() < 0) {\r
                         return;\r
                     }\r
+                    docConsole.setSaved(false);\r
                     sectionTableModel.removeRow(jTable1.getSelectedRow());\r
                     ffc.removeBuildOptionsFfsSectionsSection(jTable.getSelectedRow(), jTable1.getSelectedRow());\r
                 }\r
@@ -1468,6 +1496,7 @@ public class FpdBuildOptions extends IInternalFrame {
                     if (jTable.getSelectedRow() < 0 || jTable6.getSelectedRow() < 0) {\r
                         return;\r
                     }\r
+                    docConsole.setSaved(false);\r
                     String[] row = {"EFI_SECTION_RAW"};\r
                     subsectionsTableModel.addRow(row);\r
                     ffc.genBuildOptionsFfsSectionsSectionsSection(jTable.getSelectedRow(), jTable6.getSelectedRow(), row[0]);\r
@@ -1493,6 +1522,7 @@ public class FpdBuildOptions extends IInternalFrame {
                     if (jTable.getSelectedRow() < 0 || jTable6.getSelectedRow() < 0 || jTable3.getSelectedRow() < 0) {\r
                         return;\r
                     }\r
+                    docConsole.setSaved(false);\r
                     subsectionsTableModel.removeRow(jTable3.getSelectedRow());\r
                     ffc.removeBuildOptionsFfsSectionsSectionsSection(jTable.getSelectedRow(), jTable6.getSelectedRow(), jTable3.getSelectedRow());\r
                 }\r
@@ -1516,6 +1546,7 @@ public class FpdBuildOptions extends IInternalFrame {
                     if (jTable.getSelectedRow() < 0) {\r
                         return;\r
                     }\r
+                    docConsole.setSaved(false);\r
                     String[] row = {""};\r
                     sectionsTableModel.addRow(row);\r
                     ffc.genBuildOptionsFfsSectionsSections(jTable.getSelectedRow(), "");\r
@@ -1540,6 +1571,7 @@ public class FpdBuildOptions extends IInternalFrame {
                     if (jTable.getSelectedRow() < 0 || jTable6.getSelectedRow() < 0) {\r
                         return;\r
                     }\r
+                    docConsole.setSaved(false);\r
                     sectionsTableModel.removeRow(jTable6.getSelectedRow());\r
                     ffc.removeBuildOptionsFfsSectionsSections(jTable.getSelectedRow(), jTable6.getSelectedRow());\r
                 }\r
@@ -1572,7 +1604,7 @@ public class FpdBuildOptions extends IInternalFrame {
             sectionsTableModel = new DefaultTableModel();\r
             sectionsTableModel.addColumn("EncapsulationType");\r
             jTable6 = new JTable(sectionsTableModel);\r
-            \r
+            jTable6.setRowHeight(20);\r
             jTable6.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
             jTable6.getSelectionModel().addListSelectionListener(new ListSelectionListener(){\r
                 public void valueChanged(ListSelectionEvent e) {\r
@@ -1607,6 +1639,7 @@ public class FpdBuildOptions extends IInternalFrame {
                     if (arg0.getType() == TableModelEvent.UPDATE){\r
                         //ToDo Data Validition check.\r
                         String encapType = m.getValueAt(row, 0) + "";\r
+                        docConsole.setSaved(false);\r
                         ffc.updateBuildOptionsFfsSectionsSections(jTable.getSelectedRow(), row, encapType);\r
                     }\r
                 }\r
@@ -1615,6 +1648,67 @@ public class FpdBuildOptions extends IInternalFrame {
         return jTable6;\r
     }\r
 \r
+    /**\r
+     * This method initializes jButton12       \r
+     *         \r
+     * @return javax.swing.JButton     \r
+     */\r
+    private JButton getJButton12() {\r
+        if (jButton12 == null) {\r
+            jButton12 = new JButton();\r
+            jButton12.setPreferredSize(new Dimension(90, 20));\r
+            jButton12.setText("Browse");\r
+            jButton12.addActionListener(new AbstractAction() {\r
+                private static final long serialVersionUID = 1L;\r
+\r
+                public void actionPerformed(ActionEvent arg0) {\r
+                    //\r
+                    // Select files from current workspace\r
+                    //\r
+                    String dirPrefix = System.getenv("WORKSPACE");\r
+                    JFileChooser chooser = new JFileChooser(dirPrefix);\r
+                    File theFile = null;\r
+                    String headerDest = null;\r
+                    \r
+                    chooser.setMultiSelectionEnabled(false);\r
+                    chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);\r
+                    int retval = chooser.showOpenDialog(frame);\r
+                    if (retval == JFileChooser.APPROVE_OPTION) {\r
+\r
+                        theFile = chooser.getSelectedFile();\r
+                        String file = theFile.getPath();\r
+                        if (!file.startsWith(dirPrefix)) {\r
+                            JOptionPane.showMessageDialog(frame, "You can only select files in current package!");\r
+                            return;\r
+                        }\r
+                    }\r
+                    else {\r
+                        return;\r
+                    }\r
+                    \r
+                    headerDest = theFile.getPath();\r
+                    jTextField2.setText(headerDest.substring(dirPrefix.length()).replace('\\', '/'));\r
+               \r
+                }\r
+\r
+            });\r
+        }\r
+        return jButton12;\r
+    }\r
+\r
+    /**\r
+     * This method initializes jTextField1     \r
+     *         \r
+     * @return javax.swing.JTextField  \r
+     */\r
+    private JTextField getJTextField1() {\r
+        if (jTextField1 == null) {\r
+            jTextField1 = new JTextField();\r
+            jTextField1.setPreferredSize(new java.awt.Dimension(85,20));\r
+        }\r
+        return jTextField1;\r
+    }\r
+\r
     /**\r
      * @param args\r
      */\r
@@ -1637,6 +1731,11 @@ public class FpdBuildOptions extends IInternalFrame {
         ffc = new FpdFileContents(fpd);\r
         init(ffc);\r
     }\r
+    \r
+    public FpdBuildOptions(OpeningPlatformType opt) {\r
+        this(opt.getXmlFpd());\r
+        docConsole = opt;\r
+    }\r
 \r
     private void init(FpdFileContents ffc) {\r
         initOptionTable();\r