]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdBuildOptions.java
Adapt to new Main UI interface.
[mirror_edk2.git] / Tools / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / platform / ui / FpdBuildOptions.java
index af0c95cadd394ad61e7ccc864925a2f6d07fa130..875ddac7fe7595e4fa11131ad919a2984593c6ad 100644 (file)
@@ -26,6 +26,8 @@ import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;\r
 \r
 import javax.swing.DefaultCellEditor;\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
@@ -43,6 +45,8 @@ import javax.swing.table.TableColumn;
 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
 import java.util.ArrayList;\r
 import java.util.Iterator;\r
@@ -53,6 +57,7 @@ import java.util.Vector;
 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,6 +110,7 @@ public class FpdBuildOptions extends IInternalFrame {
     private JButton jButton17 = null;\r
     private JButton jButton18 = null;\r
     private FpdFileContents ffc = null;\r
+    private OpeningPlatformType docConsole = null;\r
     private JButton jButton19 = null;\r
     private JCheckBox jCheckBox9 = null;\r
     private JCheckBox jCheckBox10 = null;\r
@@ -319,12 +325,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())) {\r
+                        JOptionPane.showMessageDialog(frame, "ID must be an 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
                     antTaskTableModel.addRow(o);\r
-                    \r
+                    docConsole.setSaved(false);\r
                 }\r
             });\r
         }\r
@@ -344,6 +354,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
@@ -544,7 +555,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
@@ -577,6 +588,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
@@ -605,6 +617,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
@@ -657,6 +670,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
@@ -826,7 +840,14 @@ public class FpdBuildOptions extends IInternalFrame {
             cb.addItem("CYGWIN");\r
             cb.addItem("INTEL");\r
             toolFamilyCol.setCellEditor(new DefaultCellEditor(cb));\r
-            \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
@@ -859,17 +880,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
@@ -901,7 +924,7 @@ public class FpdBuildOptions extends IInternalFrame {
                     Object[] o = {jTextField12.getText(), jComboBox2.getSelectedItem(), s,\r
                                   jTextField8.getText(), jTextField13.getText(), jTextField7.getText()};\r
                     optionsTableModel.addRow(o);\r
-                  \r
+                    docConsole.setSaved(false);\r
                     ffc.genBuildOptionsOpt(stringToVector(jTextField12.getText()), jComboBox2.getSelectedItem()+"", jTextField13.getText(), jTextField8.getText(),  stringToVector(s), jTextField7.getText());\r
                 }\r
             });\r
@@ -911,9 +934,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
@@ -963,6 +989,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
@@ -993,6 +1020,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
@@ -1021,6 +1049,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
@@ -1240,7 +1269,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
@@ -1304,7 +1333,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
@@ -1366,6 +1395,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
@@ -1425,6 +1455,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
@@ -1450,6 +1481,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
@@ -1473,6 +1505,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
@@ -1498,6 +1531,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
@@ -1521,6 +1555,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
@@ -1545,6 +1580,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
@@ -1612,6 +1648,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
@@ -1642,6 +1679,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