]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdHeader.java
comment out item type checking temporarily when adding module to fpd file.
[mirror_edk2.git] / Tools / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / platform / ui / FpdHeader.java
index 3f50fb6862a56c33b37f10891b670e235c0d41e6..ea6171fac7ddf8c1b05a8e8ff774182c16b876f3 100644 (file)
@@ -20,9 +20,12 @@ import java.awt.event.ActionEvent;
 import java.awt.event.ComponentEvent;\r
 import java.awt.event.FocusAdapter;\r
 import java.awt.event.FocusEvent;\r
+import java.util.Vector;\r
 \r
 import javax.swing.JButton;\r
+import javax.swing.JFrame;\r
 import javax.swing.JLabel;\r
+import javax.swing.JOptionPane;\r
 import javax.swing.JPanel;\r
 import javax.swing.JScrollPane;\r
 import javax.swing.JTextArea;\r
@@ -33,8 +36,8 @@ import javax.swing.JTextField;
 import org.tianocore.PlatformSurfaceAreaDocument;\r
 \r
 import org.tianocore.frameworkwizard.common.DataValidation;\r
-import org.tianocore.frameworkwizard.common.Log;\r
 import org.tianocore.frameworkwizard.common.Tools;\r
+import org.tianocore.frameworkwizard.common.Identifications.OpeningPlatformType;\r
 import org.tianocore.frameworkwizard.common.ui.IInternalFrame;\r
 import org.tianocore.frameworkwizard.common.ui.StarLabel;\r
 \r
@@ -52,6 +55,7 @@ public class FpdHeader extends IInternalFrame {
     ///\r
     private static final long serialVersionUID = -8152099582923006900L;\r
 \r
+    static JFrame frame;\r
     //\r
     //Define class members\r
     //\r
@@ -119,9 +123,11 @@ public class FpdHeader extends IInternalFrame {
 \r
     private JLabel jLabel = null;\r
 \r
-    private JTextField jTextField = null;\r
+    private JTextField jTextFieldUrl = null;\r
     \r
     private FpdFileContents ffc = null;\r
+    \r
+    private OpeningPlatformType docConsole = null;\r
 \r
     /**\r
      This method initializes jTextFieldBaseName \r
@@ -136,6 +142,14 @@ public class FpdHeader extends IInternalFrame {
             jTextFieldBaseName.setPreferredSize(new java.awt.Dimension(320,20));\r
             jTextFieldBaseName.addFocusListener(new FocusAdapter(){\r
                public void focusLost(FocusEvent e) {\r
+                   if (!DataValidation.isUiNameType(jTextFieldBaseName.getText())) {\r
+                       JOptionPane.showMessageDialog(frame, "Package Name is NOT UiNameType.");\r
+                       return;\r
+                   }\r
+                   if (jTextFieldBaseName.getText().equals(ffc.getFpdHdrPlatformName())) {\r
+                       return;\r
+                   }\r
+                   docConsole.setSaved(false);\r
                    ffc.setFpdHdrPlatformName(jTextFieldBaseName.getText());\r
                } \r
             });\r
@@ -156,6 +170,14 @@ public class FpdHeader extends IInternalFrame {
             jTextFieldGuid.setPreferredSize(new java.awt.Dimension(250,20));\r
             jTextFieldGuid.addFocusListener(new FocusAdapter(){\r
                 public void focusLost(FocusEvent e) {\r
+                    if (!DataValidation.isGuid(jTextFieldGuid.getText())) {\r
+                        JOptionPane.showMessageDialog(frame, "Guid is NOT GuidType.");\r
+                        return;\r
+                    }\r
+                    if (jTextFieldGuid.getText().equals(ffc.getFpdHdrGuidValue())) {\r
+                        return;\r
+                    }\r
+                    docConsole.setSaved(false);\r
                     ffc.setFpdHdrGuidValue(jTextFieldGuid.getText());\r
                 } \r
              });\r
@@ -176,6 +198,14 @@ public class FpdHeader extends IInternalFrame {
             jTextFieldVersion.setPreferredSize(new java.awt.Dimension(320,20));\r
             jTextFieldVersion.addFocusListener(new FocusAdapter(){\r
                 public void focusLost(FocusEvent e) {\r
+                    if (!DataValidation.isVersion(jTextFieldVersion.getText())) {\r
+                        JOptionPane.showMessageDialog(frame, "Version is NOT version type.");\r
+                        return;\r
+                    }\r
+                    if (jTextFieldVersion.getText().equals(ffc.getFpdHdrVer())) {\r
+                        return;\r
+                    }\r
+                    docConsole.setSaved(false);\r
                     ffc.setFpdHdrVer(jTextFieldVersion.getText());\r
                 } \r
              });\r
@@ -209,10 +239,17 @@ public class FpdHeader extends IInternalFrame {
         if (jTextAreaLicense == null) {\r
             jTextAreaLicense = new JTextArea();\r
             jTextAreaLicense.setText("");\r
-            jTextAreaLicense.setPreferredSize(new java.awt.Dimension(317,77));\r
             jTextAreaLicense.setLineWrap(true);\r
             jTextAreaLicense.addFocusListener(new FocusAdapter(){\r
                 public void focusLost(FocusEvent e) {\r
+                    if (jTextAreaLicense.getText().length() == 0) {\r
+                        JOptionPane.showMessageDialog(frame, "License contents could NOT be empty.");\r
+                        return;\r
+                    }\r
+                    if (jTextAreaLicense.getText().equals(ffc.getFpdHdrLicense())) {\r
+                        return;\r
+                    }\r
+                    docConsole.setSaved(false);\r
                     ffc.setFpdHdrLicense(jTextAreaLicense.getText());\r
                 } \r
              });\r
@@ -230,9 +267,16 @@ public class FpdHeader extends IInternalFrame {
         if (jTextAreaDescription == null) {\r
             jTextAreaDescription = new JTextArea();\r
             jTextAreaDescription.setLineWrap(true);\r
-            jTextAreaDescription.setPreferredSize(new java.awt.Dimension(317,77));\r
             jTextAreaDescription.addFocusListener(new FocusAdapter(){\r
                 public void focusLost(FocusEvent e) {\r
+                    if (jTextAreaDescription.getText().length() == 0) {\r
+                        JOptionPane.showMessageDialog(frame, "Description contents could NOT be empty.");\r
+                        return;\r
+                    }\r
+                    if (jTextAreaDescription.getText().equals(ffc.getFpdHdrDescription())) {\r
+                        return;\r
+                    }\r
+                    docConsole.setSaved(false);\r
                     ffc.setFpdHdrDescription(jTextAreaDescription.getText());\r
                 } \r
              });\r
@@ -249,7 +293,7 @@ public class FpdHeader extends IInternalFrame {
     private JTextField getJTextFieldSpecification() {\r
         if (jTextFieldSpecification == null) {\r
             jTextFieldSpecification = new JTextField();\r
-            jTextFieldSpecification.setBounds(new java.awt.Rectangle(160, 305, 320, 20));\r
+            jTextFieldSpecification.setBounds(new java.awt.Rectangle(160,328,320,20));\r
             jTextFieldSpecification.setEditable(false);\r
             jTextFieldSpecification.setPreferredSize(new java.awt.Dimension(320,20));\r
             jTextFieldSpecification.addFocusListener(new FocusAdapter(){\r
@@ -304,7 +348,7 @@ public class FpdHeader extends IInternalFrame {
     private JScrollPane getJScrollPaneLicense() {\r
         if (jScrollPaneLicense == null) {\r
             jScrollPaneLicense = new JScrollPane();\r
-            jScrollPaneLicense.setBounds(new java.awt.Rectangle(160, 85, 320, 80));\r
+            jScrollPaneLicense.setBounds(new java.awt.Rectangle(160,107,320,80));\r
             jScrollPaneLicense.setHorizontalScrollBarPolicy(javax.swing.JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);\r
             jScrollPaneLicense.setPreferredSize(new java.awt.Dimension(320,80));\r
             jScrollPaneLicense.setViewportView(getJTextAreaLicense());\r
@@ -321,7 +365,7 @@ public class FpdHeader extends IInternalFrame {
     private JScrollPane getJScrollPaneDescription() {\r
         if (jScrollPaneDescription == null) {\r
             jScrollPaneDescription = new JScrollPane();\r
-            jScrollPaneDescription.setBounds(new java.awt.Rectangle(160, 220, 320, 80));\r
+            jScrollPaneDescription.setBounds(new java.awt.Rectangle(160,243,320,80));\r
             jScrollPaneDescription.setHorizontalScrollBarPolicy(javax.swing.JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);\r
             jScrollPaneDescription.setViewportView(getJTextAreaDescription());\r
         }\r
@@ -337,10 +381,18 @@ public class FpdHeader extends IInternalFrame {
     private JTextField getJTextFieldAbstract() {\r
         if (jTextFieldAbstract == null) {\r
             jTextFieldAbstract = new JTextField();\r
-            jTextFieldAbstract.setBounds(new java.awt.Rectangle(160,195,320,20));\r
+            jTextFieldAbstract.setBounds(new java.awt.Rectangle(160,218,320,20));\r
             jTextFieldAbstract.setPreferredSize(new java.awt.Dimension(320, 20));\r
             jTextFieldAbstract.addFocusListener(new FocusAdapter(){\r
                 public void focusLost(FocusEvent e) {\r
+                    if (!DataValidation.isAbstract(jTextFieldAbstract.getText())) {\r
+                        JOptionPane.showMessageDialog(frame, "Abstract could NOT be empty.");\r
+                        return;\r
+                    }\r
+                    if (jTextFieldAbstract.getText().equals(ffc.getFpdHdrAbs())) {\r
+                        return;\r
+                    }\r
+                    docConsole.setSaved(false);\r
                     ffc.setFpdHdrAbs(jTextFieldAbstract.getText());\r
                 } \r
              });\r
@@ -357,10 +409,18 @@ public class FpdHeader extends IInternalFrame {
     private JTextField getJTextFieldCopyright() {\r
         if (jTextFieldCopyright == null) {\r
             jTextFieldCopyright = new JTextField();\r
-            jTextFieldCopyright.setBounds(new java.awt.Rectangle(160,330,320, 20));\r
+            jTextFieldCopyright.setBounds(new java.awt.Rectangle(160,85,320,20));\r
             jTextFieldCopyright.setPreferredSize(new java.awt.Dimension(320,20));\r
             jTextFieldCopyright.addFocusListener(new FocusAdapter(){\r
                 public void focusLost(FocusEvent e) {\r
+                    if (!DataValidation.isCopyright(jTextFieldCopyright.getText())) {\r
+                        JOptionPane.showMessageDialog(frame, "Copyright contents could not be empty.");\r
+                        return;\r
+                    }\r
+                    if (jTextFieldCopyright.getText().equals(ffc.getFpdHdrCopyright())) {\r
+                        return;\r
+                    }\r
+                    docConsole.setSaved(false);\r
                     ffc.setFpdHdrCopyright(jTextFieldCopyright.getText());\r
                 } \r
              });\r
@@ -373,19 +433,26 @@ public class FpdHeader extends IInternalFrame {
      *         \r
      * @return javax.swing.JTextField  \r
      */\r
-    private JTextField getJTextField() {\r
-        if (jTextField == null) {\r
-            jTextField = new JTextField();\r
-            jTextField.setBounds(new java.awt.Rectangle(160,170,320,20));\r
-            jTextField.setPreferredSize(new Dimension(320, 20));\r
-            jTextField.addFocusListener(new FocusAdapter(){\r
+    private JTextField getJTextFieldUrl() {\r
+        if (jTextFieldUrl == null) {\r
+            jTextFieldUrl = new JTextField();\r
+            jTextFieldUrl.setBounds(new java.awt.Rectangle(160,193,320,20));\r
+            jTextFieldUrl.setPreferredSize(new Dimension(320, 20));\r
+            jTextFieldUrl.addFocusListener(new FocusAdapter(){\r
                public void focusLost(FocusEvent e){\r
+                   if (jTextFieldUrl.getText().length() == 0 && ffc.getFpdHdrUrl() == null) {\r
+                       return;\r
+                   }\r
+                   if (jTextFieldUrl.getText().equals(ffc.getFpdHdrUrl())) {\r
+                       return;\r
+                   }\r
                    ffc.setFpdHdrLicense(jTextAreaLicense.getText());\r
-                   ffc.setFpdHdrUrl(jTextField.getText());\r
+                   ffc.setFpdHdrUrl(jTextFieldUrl.getText());\r
+                   docConsole.setSaved(false);\r
                } \r
             });\r
         }\r
-        return jTextField;\r
+        return jTextFieldUrl;\r
     }\r
 \r
     public static void main(String[] args) {\r
@@ -414,6 +481,11 @@ public class FpdHeader extends IInternalFrame {
         init(ffc);\r
         \r
     }\r
+    \r
+    public FpdHeader(OpeningPlatformType opt) {\r
+        this(opt.getXmlFpd());\r
+        docConsole = opt;\r
+    }\r
 \r
     /**\r
      This method initializes this\r
@@ -452,7 +524,7 @@ public class FpdHeader extends IInternalFrame {
             jTextFieldAbstract.setText(ffc.getFpdHdrAbs());\r
         }\r
         if (ffc.getFpdHdrUrl() != null) {\r
-            jTextField.setText(ffc.getFpdHdrUrl());\r
+            jTextFieldUrl.setText(ffc.getFpdHdrUrl());\r
         }\r
         if (ffc.getFpdHdrCopyright() != null) {\r
             jTextFieldCopyright.setText(ffc.getFpdHdrCopyright());\r
@@ -463,7 +535,24 @@ public class FpdHeader extends IInternalFrame {
         if (ffc.getFpdHdrSpec() != null) {\r
             jTextFieldSpecification.setText(ffc.getFpdHdrSpec());\r
         }\r
-            \r
+        ffc.setFpdHdrSpec(jTextFieldSpecification.getText());\r
+        \r
+        ffc.genPlatformDefsSkuInfo("0", "DEFAULT");\r
+        Vector<Object> v = new Vector<Object>();\r
+        ffc.getPlatformDefsSupportedArchs(v);\r
+        if (v.size() == 0) {\r
+            v.add("IA32");\r
+            ffc.setPlatformDefsSupportedArchs(v);\r
+        }\r
+        v.removeAllElements();\r
+        ffc.getPlatformDefsBuildTargets(v);\r
+        if (v.size() == 0) {\r
+            v.add("DEBUG");\r
+            ffc.setPlatformDefsBuildTargets(v);\r
+        }\r
+        if (ffc.getPlatformDefsInterDir() == null) {\r
+            ffc.setPlatformDefsInterDir("UNIFIED");\r
+        }\r
     }\r
 \r
     /**\r
@@ -475,27 +564,27 @@ public class FpdHeader extends IInternalFrame {
     private JPanel getJContentPane() {\r
         if (jContentPane == null) {\r
                jLabel = new JLabel();\r
-               jLabel.setBounds(new java.awt.Rectangle(15,170,140,20));\r
+               jLabel.setBounds(new java.awt.Rectangle(15,193,140,20));\r
                jLabel.setText("URL");\r
                jContentPane = new JPanel();\r
             jContentPane.setLayout(null);\r
             jContentPane.setLocation(new java.awt.Point(0, 0));\r
             jContentPane.setSize(new java.awt.Dimension(500,423));\r
             jLabelAbstract = new JLabel();\r
-            jLabelAbstract.setBounds(new java.awt.Rectangle(15, 195, 140, 20));\r
+            jLabelAbstract.setBounds(new java.awt.Rectangle(15,218,140,20));\r
             jLabelAbstract.setText("Abstract");\r
             jLabelSpecification = new JLabel();\r
             jLabelSpecification.setText("Specification");\r
-            jLabelSpecification.setBounds(new java.awt.Rectangle(15, 305, 140, 20));\r
+            jLabelSpecification.setBounds(new java.awt.Rectangle(15,328,140,20));\r
             jLabelDescription = new JLabel();\r
             jLabelDescription.setText("Description");\r
-            jLabelDescription.setBounds(new java.awt.Rectangle(15, 220, 140, 20));\r
+            jLabelDescription.setBounds(new java.awt.Rectangle(15,243,140,20));\r
             jLabelCopyright = new JLabel();\r
             jLabelCopyright.setText("Copyright");\r
-            jLabelCopyright.setBounds(new java.awt.Rectangle(15, 330, 140, 20));\r
+            jLabelCopyright.setBounds(new java.awt.Rectangle(15,85,140,20));\r
             jLabelLicense = new JLabel();\r
             jLabelLicense.setText("License");\r
-            jLabelLicense.setBounds(new java.awt.Rectangle(15, 85, 140, 20));\r
+            jLabelLicense.setBounds(new java.awt.Rectangle(15,108,140,20));\r
             jLabelVersion = new JLabel();\r
             jLabelVersion.setText("Version");\r
             jLabelVersion.setBounds(new java.awt.Rectangle(15, 60, 140, 20));\r
@@ -531,18 +620,18 @@ public class FpdHeader extends IInternalFrame {
             jStarLabel3 = new StarLabel();\r
             jStarLabel3.setLocation(new java.awt.Point(0, 60));\r
             jStarLabel4 = new StarLabel();\r
-            jStarLabel4.setLocation(new java.awt.Point(0, 85));\r
+            jStarLabel4.setLocation(new java.awt.Point(0,108));\r
             jStarLabel5 = new StarLabel();\r
-            jStarLabel5.setLocation(new java.awt.Point(0, 330));\r
+            jStarLabel5.setLocation(new java.awt.Point(0,85));\r
             jStarLabel6 = new StarLabel();\r
-            jStarLabel6.setLocation(new java.awt.Point(0, 195));\r
+            jStarLabel6.setLocation(new java.awt.Point(0,218));\r
             jStarLabel7 = new StarLabel();\r
-            jStarLabel7.setLocation(new java.awt.Point(0, 305));\r
+            jStarLabel7.setLocation(new java.awt.Point(0,328));\r
             jStarLabel7.setEnabled(false);\r
             jStarLabel8 = new StarLabel();\r
-            jStarLabel8.setLocation(new java.awt.Point(0, 220));\r
+            jStarLabel8.setLocation(new java.awt.Point(0,243));\r
             jStarLabel9 = new StarLabel();\r
-            jStarLabel9.setLocation(new java.awt.Point(0, 280));\r
+            jStarLabel9.setLocation(new java.awt.Point(0,303));\r
             jStarLabel9.setVisible(false);\r
             jContentPane.add(jStarLabel1, null);\r
             jContentPane.add(jStarLabel2, null);\r
@@ -556,7 +645,7 @@ public class FpdHeader extends IInternalFrame {
             jContentPane.add(getJTextFieldCopyright(), null);\r
 \r
             jContentPane.add(jLabel, null);\r
-            jContentPane.add(getJTextField(), null);\r
+            jContentPane.add(getJTextFieldUrl(), null);\r
         }\r
         return jContentPane;\r
     }\r
@@ -568,92 +657,15 @@ public class FpdHeader extends IInternalFrame {
      *\r
      */\r
     public void actionPerformed(ActionEvent arg0) {\r
-        if (arg0.getSource() == jButtonOk) {\r
-            this.save();\r
-            this.setEdited(true);\r
-        }\r
-        if (arg0.getSource() == jButtonCancel) {\r
-            this.setEdited(false);\r
-        }\r
+        \r
         if (arg0.getSource() == jButtonGenerateGuid) {\r
-            //ToDo: invoke GuidValueEditor\r
+            docConsole.setSaved(false);\r
             jTextFieldGuid.setText(Tools.generateUuidString());\r
             ffc.setFpdHdrGuidValue(jTextFieldGuid.getText());\r
         }\r
     }\r
 \r
-    /**\r
-     Data validation for all fields\r
-     \r
-     @retval true - All datas are valid\r
-     @retval false - At least one data is invalid\r
-     \r
-     **/\r
-    public boolean check() {\r
-        //\r
-        // Check if all required fields are not empty\r
-        //\r
-        if (isEmpty(this.jTextFieldBaseName.getText())) {\r
-            Log.err("Base Name couldn't be empty");\r
-            return false;\r
-        }\r
-        if (isEmpty(this.jTextFieldGuid.getText())) {\r
-            Log.err("Guid couldn't be empty");\r
-            return false;\r
-        }\r
-        if (isEmpty(this.jTextFieldVersion.getText())) {\r
-            Log.err("Version couldn't be empty");\r
-            return false;\r
-        }\r
-        if (isEmpty(this.jTextAreaLicense.getText())) {\r
-            Log.err("License couldn't be empty");\r
-            return false;\r
-        }\r
-        if (isEmpty(this.jTextFieldCopyright.getText())) {\r
-            Log.err("Copyright couldn't be empty");\r
-            return false;\r
-        }\r
-        if (isEmpty(this.jTextAreaDescription.getText())) {\r
-            Log.err("Description couldn't be empty");\r
-            return false;\r
-        }\r
-        if (isEmpty(this.jTextFieldAbstract.getText())) {\r
-            Log.err("Abstract couldn't be empty");\r
-            return false;\r
-        }\r
-\r
-        //\r
-        // Check if all fields have correct data types \r
-        //\r
-        if (!DataValidation.isBaseName(this.jTextFieldBaseName.getText())) {\r
-            Log.err("Incorrect data type for Base Name");\r
-            return false;\r
-        }\r
-        if (!DataValidation.isGuid((this.jTextFieldGuid).getText())) {\r
-            Log.err("Incorrect data type for Guid");\r
-            return false;\r
-        }\r
-        if (!DataValidation.isAbstract(this.jTextFieldAbstract.getText())) {\r
-            Log.err("Incorrect data type for Abstract");\r
-            return false;\r
-        }\r
-        if (!DataValidation.isCopyright(this.jTextFieldCopyright.getText())) {\r
-            Log.err("Incorrect data type for Copyright");\r
-            return false;\r
-        }\r
-        return true;\r
-    }\r
-\r
-    /**\r
-     Save all components of Fpd Header\r
-     if exists FpdHeader, set the value directly\r
-     if not exists FpdHeader, new an instance first\r
-     \r
-     **/\r
-    public void save() {\r
-        \r
-    }\r
-\r
+    \r
     /**\r
      This method initializes Package type and Compontent type\r
      \r
@@ -674,7 +686,7 @@ public class FpdHeader extends IInternalFrame {
         resizeComponentWidth(this.jTextFieldBaseName, this.getWidth(), intPreferredWidth);\r
                resizeComponentWidth(this.jTextFieldGuid, this.getWidth(), intPreferredWidth);\r
                resizeComponentWidth(this.jTextFieldVersion, this.getWidth(), intPreferredWidth);\r
-        resizeComponentWidth(this.jTextField, this.getWidth(), intPreferredWidth);\r
+        resizeComponentWidth(this.jTextFieldUrl, this.getWidth(), intPreferredWidth);\r
                resizeComponentWidth(this.jScrollPaneLicense, this.getWidth(), intPreferredWidth);\r
                resizeComponentWidth(this.jTextFieldCopyright, this.getWidth(), intPreferredWidth);\r
                resizeComponentWidth(this.jScrollPaneDescription, this.getWidth(), intPreferredWidth);\r