]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/packaging/ui/SpdPackageHeaders.java
Fixed Enumeration ModuleType was suppose to be TOOL, not TOOLS.
[mirror_edk2.git] / Tools / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / packaging / ui / SpdPackageHeaders.java
index 9deba4c4dda8b0b8880dc387fbf564a0654fbc0d..00f196f8110a3d591304a0a16b133195e58d3307 100644 (file)
@@ -12,17 +12,12 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 **/\r
 package org.tianocore.frameworkwizard.packaging.ui;\r
 \r
-import java.awt.BorderLayout;\r
 import java.awt.Dimension;\r
-import java.awt.Toolkit;\r
 import java.awt.event.ActionEvent;\r
-import java.awt.event.ActionListener;\r
 import java.awt.event.ComponentEvent;\r
 import java.io.File;\r
-import java.util.Vector;\r
 \r
 import javax.swing.DefaultCellEditor;\r
-import javax.swing.DefaultListModel;\r
 import javax.swing.JFileChooser;\r
 import javax.swing.JOptionPane;\r
 import javax.swing.JPanel;\r
@@ -31,7 +26,6 @@ import javax.swing.JTable;
 import javax.swing.JTextField;\r
 import javax.swing.JComboBox;\r
 import javax.swing.JLabel;\r
-import javax.swing.JList;\r
 import javax.swing.JScrollPane;\r
 import javax.swing.JButton;\r
 import javax.swing.JFrame;\r
@@ -47,8 +41,9 @@ import javax.swing.table.TableColumn;
 import javax.swing.table.TableModel;\r
 \r
 import org.tianocore.PackageSurfaceAreaDocument;\r
-import org.tianocore.frameworkwizard.common.DataType;\r
+import org.tianocore.frameworkwizard.common.DataValidation;\r
 import org.tianocore.frameworkwizard.common.Tools;\r
+import org.tianocore.frameworkwizard.common.Identifications.OpeningPackageType;\r
 import org.tianocore.frameworkwizard.common.ui.IInternalFrame;\r
 import org.tianocore.frameworkwizard.common.ui.StarLabel;\r
 \r
@@ -58,20 +53,23 @@ import org.tianocore.frameworkwizard.common.ui.StarLabel;
  @since PackageEditor 1.0\r
 **/\r
 public class SpdPackageHeaders extends IInternalFrame implements TableModelListener{\r
+    /**\r
+     * \r
+     */\r
+    private static final long serialVersionUID = 1L;\r
+\r
     static JFrame frame;\r
     \r
     private SpdFileContents sfc = null;\r
+    \r
+    private OpeningPackageType docConsole = null;\r
 \r
     private DefaultTableModel model = null;\r
 \r
     private JPanel jContentPane = null;\r
 \r
-    private JRadioButton jRadioButtonAdd = null;\r
-\r
     private JRadioButton jRadioButtonSelect = null;\r
 \r
-    private JTextField jTextFieldAdd = null;\r
-\r
     private JComboBox jComboBoxSelect = null;\r
 \r
     private JButton jButtonAdd = null;\r
@@ -114,23 +112,6 @@ public class SpdPackageHeaders extends IInternalFrame implements TableModelListe
 \r
     }\r
 \r
-    /**\r
-      This method initializes jRadioButtonAdd  \r
-       \r
-      @return javax.swing.JRadioButton \r
-     **/\r
-    private JRadioButton getJRadioButtonAdd() {\r
-        if (jRadioButtonAdd == null) {\r
-            jRadioButtonAdd = new JRadioButton();\r
-            jRadioButtonAdd.setBounds(new java.awt.Rectangle(9,35,197,20));\r
-            jRadioButtonAdd.setText("Add a new ModuleType");\r
-            jRadioButtonAdd.setEnabled(false);\r
-            jRadioButtonAdd.addActionListener(this);\r
-            jRadioButtonAdd.setSelected(false);\r
-        }\r
-        return jRadioButtonAdd;\r
-    }\r
-\r
     /**\r
       This method initializes jRadioButtonSelect       \r
        \r
@@ -147,21 +128,6 @@ public class SpdPackageHeaders extends IInternalFrame implements TableModelListe
         return jRadioButtonSelect;\r
     }\r
 \r
-    /**\r
-      This method initializes jTextFieldAdd    \r
-       \r
-      @return javax.swing.JTextField   \r
-     **/\r
-    private JTextField getJTextFieldAdd() {\r
-        if (jTextFieldAdd == null) {\r
-            jTextFieldAdd = new JTextField();\r
-            jTextFieldAdd.setBounds(new java.awt.Rectangle(220, 35, 260, 20));\r
-            jTextFieldAdd.setPreferredSize(new java.awt.Dimension(260,20));\r
-            jTextFieldAdd.setEnabled(false);\r
-        }\r
-        return jTextFieldAdd;\r
-    }\r
-\r
     /**\r
       This method initializes jComboBoxSelect  \r
        \r
@@ -288,6 +254,11 @@ public class SpdPackageHeaders extends IInternalFrame implements TableModelListe
         sfc = new SpdFileContents(inPsa);\r
         init(sfc);\r
     }\r
+    \r
+    public SpdPackageHeaders(OpeningPackageType opt) {\r
+        this(opt.getXmlSpd());\r
+        docConsole = opt;\r
+    }\r
     /**\r
       This method initializes this\r
       \r
@@ -350,9 +321,7 @@ public class SpdPackageHeaders extends IInternalFrame implements TableModelListe
             jContentPane.add(jLabel, null);\r
             jContentPane.add(jStarLabel1, null);\r
             jContentPane.add(jStarLabel2, null);\r
-            jContentPane.add(getJRadioButtonAdd(), null);\r
             jContentPane.add(getJRadioButtonSelect(), null);\r
-            jContentPane.add(getJTextFieldAdd(), null);\r
             jContentPane.add(getJComboBoxSelect(), null);\r
             jContentPane.add(getJButtonAdd(), null);\r
             jContentPane.add(getJButtonRemove(), null);\r
@@ -380,7 +349,7 @@ public class SpdPackageHeaders extends IInternalFrame implements TableModelListe
         jComboBoxSelect.addItem("DXE_RUNTIME_DRIVER");\r
         jComboBoxSelect.addItem("DXE_SAL_DRIVER");\r
         jComboBoxSelect.addItem("DXE_SMM_DRIVER");\r
-        jComboBoxSelect.addItem("TOOLS");\r
+        jComboBoxSelect.addItem("TOOL");\r
         jComboBoxSelect.addItem("UEFI_DRIVER");\r
         jComboBoxSelect.addItem("UEFI_APPLICATION");\r
         jComboBoxSelect.addItem("USER_DEFINED");\r
@@ -391,6 +360,8 @@ public class SpdPackageHeaders extends IInternalFrame implements TableModelListe
      * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)\r
      */\r
     public void actionPerformed(ActionEvent arg0) {\r
+        \r
+        docConsole.setSaved(false);\r
         if (arg0.getSource() == jButtonOk) {\r
             this.save();\r
             this.dispose();\r
@@ -402,9 +373,7 @@ public class SpdPackageHeaders extends IInternalFrame implements TableModelListe
 \r
         if (arg0.getSource() == jButtonAdd) {\r
             String strLibClass = "";\r
-            if (jRadioButtonAdd.isSelected()) {\r
-                strLibClass = jTextFieldAdd.getText();\r
-            }\r
+            \r
             if (jRadioButtonSelect.isSelected()) {\r
                 strLibClass = jComboBoxSelect.getSelectedItem().toString();\r
             }\r
@@ -412,7 +381,11 @@ public class SpdPackageHeaders extends IInternalFrame implements TableModelListe
             String[] row = {"", ""};\r
             row[0] = strLibClass;\r
             row[1] = jTextField.getText().replace('\\', '/');\r
+            if (!dataValidation(row)) {\r
+                return;\r
+            }\r
             model.addRow(row);\r
+            jTable.changeSelection(model.getRowCount()-1, 0, false, false);\r
             sfc.genSpdModuleHeaders(row[0], row[1], null, null, null, null, null, null);\r
         }\r
         //\r
@@ -437,31 +410,15 @@ public class SpdPackageHeaders extends IInternalFrame implements TableModelListe
             sfc.removeSpdPkgHeader();\r
         }\r
 \r
-        if (arg0.getSource() == jRadioButtonAdd) {\r
-            if (jRadioButtonAdd.isSelected()) {\r
-                jRadioButtonSelect.setSelected(false);\r
-                jTextFieldAdd.setEnabled(true);\r
-                jComboBoxSelect.setEnabled(false);\r
-            }\r
-            if (!jRadioButtonSelect.isSelected() && !jRadioButtonAdd.isSelected()) {\r
-                jRadioButtonAdd.setSelected(true);\r
-                jTextFieldAdd.setEnabled(true);\r
-                jComboBoxSelect.setEnabled(false);\r
-            }\r
-        }\r
-\r
-        if (arg0.getSource() == jRadioButtonSelect) {\r
-            if (jRadioButtonSelect.isSelected()) {\r
-                jRadioButtonAdd.setSelected(false);\r
-                jTextFieldAdd.setEnabled(false);\r
-                jComboBoxSelect.setEnabled(true);\r
-            }\r
-            if (!jRadioButtonSelect.isSelected() && !jRadioButtonAdd.isSelected()) {\r
-                jRadioButtonSelect.setSelected(true);\r
-                jTextFieldAdd.setEnabled(false);\r
-                jComboBoxSelect.setEnabled(true);\r
-            }\r
+    }\r
+    \r
+    private boolean dataValidation(String[] row) {\r
+        if (!DataValidation.isPathAndFilename(row[1])) {\r
+            JOptionPane.showMessageDialog(this, "Include header path is NOT PathAndFilename type.");\r
+            return false;\r
         }\r
+        \r
+        return true;\r
     }\r
 \r
     /**\r
@@ -497,6 +454,11 @@ public class SpdPackageHeaders extends IInternalFrame implements TableModelListe
             jButtonBrowse.setText("Browse");\r
             jButtonBrowse.setPreferredSize(new java.awt.Dimension(92,20));\r
             jButtonBrowse.addActionListener(new javax.swing.AbstractAction() {\r
+                /**\r
+                 * \r
+                 */\r
+                private static final long serialVersionUID = 1L;\r
+\r
                 public void actionPerformed(ActionEvent e) {\r
                     //\r
                     // Select files from current workspace\r
@@ -543,7 +505,7 @@ public class SpdPackageHeaders extends IInternalFrame implements TableModelListe
     private JScrollPane getJScrollPane1() {\r
         if (jScrollPane1 == null) {\r
             jScrollPane1 = new JScrollPane();\r
-            jScrollPane1.setBounds(new java.awt.Rectangle(13,149,453,165));\r
+            jScrollPane1.setBounds(new java.awt.Rectangle(13,149,453,258));\r
             jScrollPane1.setViewportView(getJTable());\r
         }\r
         return jScrollPane1;\r
@@ -558,6 +520,7 @@ public class SpdPackageHeaders extends IInternalFrame implements TableModelListe
         if (jTable == null) {\r
             model = new DefaultTableModel();\r
             jTable = new JTable(model);\r
+            jTable.setRowHeight(20);\r
             model.addColumn("ModuleType");\r
             model.addColumn("IncludeHeader");\r
             TableColumn typeColumn = jTable.getColumnModel().getColumn(0);\r
@@ -571,7 +534,7 @@ public class SpdPackageHeaders extends IInternalFrame implements TableModelListe
             jComboBoxSelect.addItem("DXE_RUNTIME_DRIVER");\r
             jComboBoxSelect.addItem("DXE_SAL_DRIVER");\r
             jComboBoxSelect.addItem("DXE_SMM_DRIVER");\r
-            jComboBoxSelect.addItem("TOOLS");\r
+            jComboBoxSelect.addItem("TOOL");\r
             jComboBoxSelect.addItem("UEFI_DRIVER");\r
             jComboBoxSelect.addItem("UEFI_APPLICATION");\r
             jComboBoxSelect.addItem("USER_DEFINED");\r
@@ -605,6 +568,11 @@ public class SpdPackageHeaders extends IInternalFrame implements TableModelListe
         if (arg0.getType() == TableModelEvent.UPDATE){\r
             String pkg = m.getValueAt(row, 0) + "";\r
             String hdr = m.getValueAt(row, 1) + "";\r
+            String[] rowData = {pkg, hdr};\r
+            if (!dataValidation(rowData)) {\r
+                return;\r
+            }\r
+            docConsole.setSaved(false);\r
             sfc.updateSpdPkgHdr(row, pkg, hdr);\r
         }\r
     }\r
@@ -613,7 +581,6 @@ public class SpdPackageHeaders extends IInternalFrame implements TableModelListe
         int intPreferredWidth = 500;\r
         \r
         resizeComponentWidth(this.jComboBoxSelect, this.getWidth(), intPreferredWidth);\r
-        resizeComponentWidth(this.jTextFieldAdd, this.getWidth(), intPreferredWidth);\r
         resizeComponentWidth(this.jTextField, this.getWidth(), intPreferredWidth);\r
         resizeComponentWidth(this.jScrollPane, this.getWidth(), intPreferredWidth);\r
         relocateComponentX(this.jButtonBrowse, this.getWidth(), this.getPreferredSize().width, 30);\r