]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Java/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdHeader.java
Restructuring for better separation of Tool packages.
[mirror_edk2.git] / Tools / Java / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / platform / ui / FpdHeader.java
diff --git a/Tools/Java/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdHeader.java b/Tools/Java/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdHeader.java
new file mode 100644 (file)
index 0000000..6265f27
--- /dev/null
@@ -0,0 +1,742 @@
+/** @file\r
\r
+ The file is used to create, update FpdHeader of Fpd file\r
\r
+ Copyright (c) 2006, Intel Corporation\r
+ All rights reserved. This program and the accompanying materials\r
+ are licensed and made available under the terms and conditions of the BSD License\r
+ which accompanies this distribution.  The full text of the license may be found at\r
+ http://opensource.org/licenses/bsd-license.php\r
\r
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
\r
+ **/\r
+\r
+package org.tianocore.frameworkwizard.platform.ui;\r
+\r
+import java.awt.Dimension;\r
+import java.awt.event.ActionEvent;\r
+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
+import javax.swing.JTextField;\r
+\r
+\r
+\r
+import org.tianocore.PlatformSurfaceAreaDocument;\r
+\r
+import org.tianocore.frameworkwizard.common.DataValidation;\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
+/**\r
+ The class is used to create, update FpdHeader of Fpd file\r
+ It extends IInternalFrame\r
\r
+ @since PackageEditor 1.0\r
+\r
+ **/\r
+public class FpdHeader extends IInternalFrame {\r
+\r
+    private int dialogWidth = 560;\r
+\r
+    private int labelColumn = 12;\r
+\r
+    private int labelWidth = 155;\r
+\r
+    private int buttonWidth = 60;\r
+\r
+    private final int valueColumn = 168;\r
+\r
+    private final int valueWidth = 320;\r
+    \r
+    private final int specWidth = 420;\r
+    \r
+    private int shortValueWidth = valueWidth - (buttonWidth + 5);\r
+\r
+    private final int oneRowHeight = 20;\r
+\r
+    private final int threeRowHeight = 60;\r
+\r
+    private final int fourRowHeight = 80;\r
+\r
+    private final int rowSep = 5;\r
+\r
+    private final int rowOne = 12;\r
+\r
+    private final int rowTwo = rowOne + oneRowHeight + rowSep;\r
+\r
+    private final int rowThree = rowTwo + oneRowHeight + rowSep;\r
+\r
+    private final int rowFour = rowThree + oneRowHeight + rowSep;\r
+\r
+    private final int rowFive = rowFour + threeRowHeight + rowSep;\r
+\r
+    private final int rowSix = rowFive + fourRowHeight + rowSep;\r
+\r
+    private final int rowSeven = rowSix + oneRowHeight + rowSep;\r
+\r
+    private final int rowEight = rowSeven + oneRowHeight + rowSep;\r
+\r
+    private final int rowNine = rowEight + fourRowHeight +  threeRowHeight +rowSep;\r
+\r
+    private int dialogHeight = rowNine + threeRowHeight;\r
+    ///\r
+    /// Define class Serial Version UID\r
+    ///\r
+    private static final long serialVersionUID = -8152099582923006900L;\r
+\r
+    static JFrame frame;\r
+    //\r
+    //Define class members\r
+    //\r
+    private JPanel jContentPane = null;  //  @jve:decl-index=0:visual-constraint="10,53"\r
+\r
+    private JLabel jLabelBaseName = null;\r
+\r
+    private JTextField jTextFieldBaseName = null;\r
+\r
+    private JLabel jLabelGuid = null;\r
+\r
+    private JTextField jTextFieldGuid = null;\r
+\r
+    private JLabel jLabelVersion = null;\r
+\r
+    private JTextField jTextFieldVersion = null;\r
+\r
+    private JButton jButtonGenerateGuid = null;\r
+\r
+    private JLabel jLabelLicense = null;\r
+\r
+    private JTextArea jTextAreaLicense = null;\r
+\r
+    private JLabel jLabelCopyright = null;\r
+\r
+    private JLabel jLabelDescription = null;\r
+\r
+    private JTextArea jTextAreaDescription = null;\r
+\r
+    private JTextField jTextFieldSpecification = null;\r
+\r
+    private JButton jButtonOk = null;\r
+\r
+    private JButton jButtonCancel = null;\r
+\r
+    private JScrollPane jScrollPaneLicense = null;\r
+\r
+    private JScrollPane jScrollPaneDescription = null;\r
+    \r
+    private JScrollPane jCopyrightScrollPane = null;\r
+\r
+    private JLabel jLabelAbstract = null;\r
+\r
+    private JTextField jTextFieldAbstract = null;\r
+\r
+    private StarLabel jStarLabel1 = null;\r
+\r
+    private StarLabel jStarLabel2 = null;\r
+\r
+    private StarLabel jStarLabel3 = null;\r
+\r
+    private StarLabel jStarLabel4 = null;\r
+\r
+    private StarLabel jStarLabel5 = null;\r
+\r
+    private StarLabel jStarLabel7 = null;\r
+\r
+    private StarLabel jStarLabel8 = null;\r
+    \r
+    private JTextArea jCopyrightTextArea = null;\r
+\r
+    private JLabel jLabel = null;\r
+\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
+     \r
+     @return javax.swing.JTextField jTextFieldBaseName\r
+     \r
+     **/\r
+    private JTextField getJTextFieldBaseName() {\r
+        if (jTextFieldBaseName == null) {\r
+            jTextFieldBaseName = new JTextField();\r
+            jTextFieldBaseName.setBounds(new java.awt.Rectangle(valueColumn, rowOne, valueWidth, oneRowHeight));\r
+            jTextFieldBaseName.setPreferredSize(new java.awt.Dimension(valueWidth,oneRowHeight));\r
+            jTextFieldBaseName.addFocusListener(new FocusAdapter(){\r
+               public void focusLost(FocusEvent e) {\r
+                   if (!DataValidation.isUiNameType(jTextFieldBaseName.getText())) {\r
+                       JOptionPane.showMessageDialog(frame, "Package Name does not match the UiNameType datatype.");\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
+        }\r
+        return jTextFieldBaseName;\r
+    }\r
+\r
+    /**\r
+     This method initializes jTextFieldGuid \r
+     \r
+     @return javax.swing.JTextField jTextFieldGuid\r
+     \r
+     **/\r
+    private JTextField getJTextFieldGuid() {\r
+        if (jTextFieldGuid == null) {\r
+            jTextFieldGuid = new JTextField();\r
+            jTextFieldGuid.setBounds(new java.awt.Rectangle(valueColumn, rowTwo, shortValueWidth, oneRowHeight));\r
+            jTextFieldGuid.setPreferredSize(new java.awt.Dimension(shortValueWidth,oneRowHeight));\r
+            jTextFieldGuid.addFocusListener(new FocusAdapter(){\r
+                public void focusLost(FocusEvent e) {\r
+                    if (!DataValidation.isGuid(jTextFieldGuid.getText())) {\r
+                        JOptionPane.showMessageDialog(frame, "Guid must be in registry (8-4-4-4-12) format.");\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
+        }\r
+        return jTextFieldGuid;\r
+    }\r
+\r
+    /**\r
+     This method initializes jTextFieldVersion \r
+     \r
+     @return javax.swing.JTextField jTextFieldVersion\r
+     \r
+     **/\r
+    private JTextField getJTextFieldVersion() {\r
+        if (jTextFieldVersion == null) {\r
+            jTextFieldVersion = new JTextField();\r
+            jTextFieldVersion.setBounds(new java.awt.Rectangle(valueColumn, rowThree, valueWidth, oneRowHeight));\r
+            jTextFieldVersion.setPreferredSize(new java.awt.Dimension(valueWidth,oneRowHeight));\r
+            jTextFieldVersion.addFocusListener(new FocusAdapter(){\r
+                public void focusLost(FocusEvent e) {\r
+                    if (!DataValidation.isVersion(jTextFieldVersion.getText())) {\r
+                        JOptionPane.showMessageDialog(frame, "Version does not match the Version datatype.");\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
+        }\r
+        return jTextFieldVersion;\r
+    }\r
+\r
+    /**\r
+     This method initializes jButtonGenerateGuid \r
+     \r
+     @return javax.swing.JButton jButtonGenerateGuid\r
+     \r
+     **/\r
+    private JButton getJButtonGenerateGuid() {\r
+        if (jButtonGenerateGuid == null) {\r
+            jButtonGenerateGuid = new JButton();\r
+            jButtonGenerateGuid.setBounds(new java.awt.Rectangle(valueColumn + shortValueWidth + 5, rowTwo, buttonWidth, oneRowHeight));\r
+            jButtonGenerateGuid.setText("GEN");\r
+            jButtonGenerateGuid.addActionListener(this);\r
+        }\r
+        return jButtonGenerateGuid;\r
+    }\r
+\r
+    /**\r
+     This method initializes jTextAreaLicense \r
+     \r
+     @return javax.swing.JTextArea jTextAreaLicense\r
+     \r
+     **/\r
+    private JTextArea getJTextAreaLicense() {\r
+        if (jTextAreaLicense == null) {\r
+            jTextAreaLicense = new JTextArea();\r
+            jTextAreaLicense.setText("");\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 must be entered!");\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
+        }\r
+        return jTextAreaLicense;\r
+    }\r
+\r
+    /**\r
+     This method initializes jTextAreaDescription \r
+     \r
+     @return javax.swing.JTextArea jTextAreaDescription\r
+     \r
+     **/\r
+    private JTextArea getJTextAreaDescription() {\r
+        if (jTextAreaDescription == null) {\r
+            jTextAreaDescription = new JTextArea();\r
+            jTextAreaDescription.setLineWrap(true);\r
+            jTextAreaDescription.addFocusListener(new FocusAdapter(){\r
+                public void focusLost(FocusEvent e) {\r
+                    if (jTextAreaDescription.getText().length() == 0) {\r
+                        JOptionPane.showMessageDialog(frame, "Description must be entered.");\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
+        }\r
+        return jTextAreaDescription;\r
+    }\r
+\r
+    /**\r
+     This method initializes jTextFieldSpecification \r
+     \r
+     @return javax.swing.JTextField jTextFieldSpecification\r
+     \r
+     **/\r
+    private JTextField getJTextFieldSpecification() {\r
+        if (jTextFieldSpecification == null) {\r
+            jTextFieldSpecification = new JTextField();\r
+            jTextFieldSpecification.setBounds(new java.awt.Rectangle(labelColumn,rowNine,specWidth,oneRowHeight));\r
+            jTextFieldSpecification.setEditable(false);\r
+            jTextFieldSpecification.setPreferredSize(new java.awt.Dimension(specWidth,oneRowHeight));\r
+            jTextFieldSpecification.setBorder(null);\r
+            jTextFieldSpecification.addFocusListener(new FocusAdapter(){\r
+                public void focusLost(FocusEvent e) {\r
+                    ffc.setFpdHdrSpec(jTextFieldSpecification.getText());\r
+                } \r
+             });\r
+        }\r
+        return jTextFieldSpecification;\r
+    }\r
+\r
+    /**\r
+     This method initializes jButtonOk \r
+     \r
+     @return javax.swing.JButton jButtonOk\r
+     \r
+     **/\r
+    private JButton getJButtonOk() {\r
+        if (jButtonOk == null) {\r
+            jButtonOk = new JButton();\r
+            jButtonOk.setText("OK");\r
+            jButtonOk.setBounds(new java.awt.Rectangle(290,351,90,20));\r
+            jButtonOk.setVisible(false);\r
+            jButtonOk.addActionListener(this);\r
+        }\r
+        return jButtonOk;\r
+    }\r
+\r
+    /**\r
+     This method initializes jButtonCancel \r
+     \r
+     @return javax.swing.JButton jButtonCancel\r
+     \r
+     **/\r
+    private JButton getJButtonCancel() {\r
+        if (jButtonCancel == null) {\r
+            jButtonCancel = new JButton();\r
+            jButtonCancel.setText("Cancel");\r
+            jButtonCancel.setBounds(new java.awt.Rectangle(390,351,90,20));\r
+            jButtonCancel.setVisible(false);\r
+            jButtonCancel.addActionListener(this);\r
+        }\r
+        return jButtonCancel;\r
+    }\r
+\r
+    /**\r
+     This method initializes jScrollPaneLicense \r
+     \r
+     @return javax.swing.JScrollPane jScrollPaneLicense\r
+     \r
+     **/\r
+    private JScrollPane getJScrollPaneLicense() {\r
+        if (jScrollPaneLicense == null) {\r
+            jScrollPaneLicense = new JScrollPane();\r
+            jScrollPaneLicense.setBounds(new java.awt.Rectangle(valueColumn,rowFive,valueWidth,fourRowHeight));\r
+            jScrollPaneLicense.setHorizontalScrollBarPolicy(javax.swing.JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);\r
+            jScrollPaneLicense.setPreferredSize(new java.awt.Dimension(valueWidth,fourRowHeight));\r
+            jScrollPaneLicense.setViewportView(getJTextAreaLicense());\r
+        }\r
+        return jScrollPaneLicense;\r
+    }\r
+\r
+    /**\r
+     This method initializes jScrollPaneDescription \r
+     \r
+     @return javax.swing.JScrollPane jScrollPaneDescription\r
+     \r
+     **/\r
+    private JScrollPane getJScrollPaneDescription() {\r
+        if (jScrollPaneDescription == null) {\r
+            jScrollPaneDescription = new JScrollPane();\r
+            jScrollPaneDescription.setBounds(new java.awt.Rectangle(valueColumn,rowEight,valueWidth,fourRowHeight));\r
+            jScrollPaneDescription.setHorizontalScrollBarPolicy(javax.swing.JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);\r
+            jScrollPaneDescription.setPreferredSize(new java.awt.Dimension(valueWidth, fourRowHeight));\r
+            jScrollPaneDescription.setViewportView(getJTextAreaDescription());\r
+        }\r
+        return jScrollPaneDescription;\r
+    }\r
+\r
+    /**\r
+     This method initializes jTextFieldAbstract \r
+     \r
+     @return javax.swing.JTextField jTextFieldAbstract\r
+     \r
+     **/\r
+    private JTextField getJTextFieldAbstract() {\r
+        if (jTextFieldAbstract == null) {\r
+            jTextFieldAbstract = new JTextField();\r
+            jTextFieldAbstract.setBounds(new java.awt.Rectangle(valueColumn,rowSeven,valueWidth,oneRowHeight));\r
+            jTextFieldAbstract.setPreferredSize(new java.awt.Dimension(valueWidth, oneRowHeight));\r
+            jTextFieldAbstract.addFocusListener(new FocusAdapter(){\r
+                public void focusLost(FocusEvent e) {\r
+                    if (!DataValidation.isAbstract(jTextFieldAbstract.getText())) {\r
+                        JOptionPane.showMessageDialog(frame, "Abstract must be entered.");\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
+        }\r
+        return jTextFieldAbstract;\r
+    }\r
+\r
+    private JScrollPane getCopyrightScrollPane() {\r
+        if (jCopyrightScrollPane == null) {\r
+            jCopyrightScrollPane = new JScrollPane();\r
+            jCopyrightScrollPane.setBounds(new java.awt.Rectangle(valueColumn, rowFour, valueWidth, threeRowHeight));\r
+            jCopyrightScrollPane.setHorizontalScrollBarPolicy(javax.swing.JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);\r
+            jCopyrightScrollPane.setPreferredSize(new java.awt.Dimension(valueWidth, threeRowHeight));\r
+            jCopyrightScrollPane.setViewportView(getJCopyrightTextArea());\r
+        }\r
+        return jCopyrightScrollPane;\r
+    }\r
+    /**\r
+      This method initializes jTextFieldCopyright      \r
+       \r
+      @return javax.swing.JTextField jTextFieldCopyright\r
+     \r
+     **/\r
+    private JTextArea getJCopyrightTextArea() {\r
+        if (jCopyrightTextArea == null) {\r
+            jCopyrightTextArea = new JTextArea();\r
+            jCopyrightTextArea.setWrapStyleWord(true);\r
+            jCopyrightTextArea.addFocusListener(new FocusAdapter(){\r
+                public void focusLost(FocusEvent e) {\r
+                    if (!DataValidation.isCopyright(jCopyrightTextArea.getText())) {\r
+                        JOptionPane.showMessageDialog(frame, "Copyright must be entered.");\r
+                        return;\r
+                    }\r
+                    if (jCopyrightTextArea.getText().equals(ffc.getFpdHdrCopyright())) {\r
+                        return;\r
+                    }\r
+                    docConsole.setSaved(false);\r
+                    ffc.setFpdHdrCopyright(jCopyrightTextArea.getText());\r
+                } \r
+             });\r
+        }\r
+        return jCopyrightTextArea;\r
+    }\r
+\r
+    /**\r
+     * This method initializes jTextField      \r
+     *         \r
+     * @return javax.swing.JTextField  \r
+     */\r
+    private JTextField getJTextFieldUrl() {\r
+        if (jTextFieldUrl == null) {\r
+            jTextFieldUrl = new JTextField();\r
+            jTextFieldUrl.setBounds(new java.awt.Rectangle(valueColumn,rowSix,valueWidth,oneRowHeight));\r
+            jTextFieldUrl.setPreferredSize(new Dimension(valueWidth, oneRowHeight));\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(jTextFieldUrl.getText());\r
+                   docConsole.setSaved(false);\r
+               } \r
+            });\r
+        }\r
+        return jTextFieldUrl;\r
+    }\r
+\r
+    public static void main(String[] args) {\r
+        new FpdHeader().setVisible(true);\r
+    }\r
+\r
+    /**\r
+     This is the default constructor\r
+     \r
+     **/\r
+    public FpdHeader() {\r
+        super();\r
+        init();\r
+        this.setVisible(true);\r
+    }\r
+\r
+    /**\r
+     This is the override edit constructor\r
+     \r
+     @param inFpdHeader The input data of FpdHeaderDocument.FpdHeader\r
+     \r
+     **/\r
+    public FpdHeader(PlatformSurfaceAreaDocument.PlatformSurfaceArea inFpd) {\r
+        this();\r
+        ffc = new FpdFileContents(inFpd);\r
+        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
+     \r
+     **/\r
+    private void init() {\r
+        //this.setSize(500, 515);\r
+        this.setContentPane(getJContentPane());\r
+        this.setTitle("Platform Surface Area Header");\r
+        initFrame();\r
+      \r
+    }\r
+\r
+    /**\r
+     This method initializes this\r
+     Fill values to all fields if these values are not empty\r
+     \r
+     @param inFpdHeader  The input data of FpdHeaderDocument.FpdHeader\r
+     \r
+     **/\r
+    private void init(FpdFileContents ffc) {\r
+\r
+        if (ffc.getFpdHdrPlatformName() != null) {\r
+            jTextFieldBaseName.setText(ffc.getFpdHdrPlatformName());\r
+        }\r
+        if (ffc.getFpdHdrGuidValue() != null) {\r
+            jTextFieldGuid.setText(ffc.getFpdHdrGuidValue());\r
+        }\r
+        if (ffc.getFpdHdrVer() != null) {\r
+            jTextFieldVersion.setText(ffc.getFpdHdrVer());\r
+        }\r
+        if (ffc.getFpdHdrLicense() != null) {\r
+            jTextAreaLicense.setText(ffc.getFpdHdrLicense());\r
+        }\r
+        if (ffc.getFpdHdrAbs() != null) {\r
+            jTextFieldAbstract.setText(ffc.getFpdHdrAbs());\r
+        }\r
+        if (ffc.getFpdHdrUrl() != null) {\r
+            jTextFieldUrl.setText(ffc.getFpdHdrUrl());\r
+        }\r
+        if (ffc.getFpdHdrCopyright() != null) {\r
+            jCopyrightTextArea.setText(ffc.getFpdHdrCopyright());\r
+        }\r
+        if (ffc.getFpdHdrDescription() != null) {\r
+            jTextAreaDescription.setText(ffc.getFpdHdrDescription());\r
+        }\r
+        if (ffc.getFpdHdrSpec() != null) {\r
+            jTextFieldSpecification.setText(ffc.getFpdHdrSpec());\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
+     This method initializes jContentPane\r
+     \r
+     @return javax.swing.JPanel jContentPane\r
+     \r
+     **/\r
+    private JPanel getJContentPane() {\r
+        if (jContentPane == null) {\r
+            jContentPane = new JPanel();\r
+            jContentPane.setLayout(null);\r
+            jContentPane.setLocation(new java.awt.Point(0, 0));\r
+            jContentPane.setSize(new java.awt.Dimension(dialogWidth - 20 ,dialogHeight - 20));\r
+\r
+            jLabel = new JLabel();\r
+               jLabel.setBounds(new java.awt.Rectangle(labelColumn,rowSix,labelWidth,oneRowHeight));\r
+               jLabel.setText("URL");\r
+            jLabelAbstract = new JLabel();\r
+            jLabelAbstract.setBounds(new java.awt.Rectangle(labelColumn,rowSeven,labelWidth,oneRowHeight));\r
+            jLabelAbstract.setText("Abstract");\r
+            jLabelDescription = new JLabel();\r
+            jLabelDescription.setText("Description");\r
+            jLabelDescription.setBounds(new java.awt.Rectangle(labelColumn,rowEight,labelWidth,oneRowHeight));\r
+            jLabelCopyright = new JLabel();\r
+            jLabelCopyright.setText("Copyright");\r
+            jLabelCopyright.setBounds(new java.awt.Rectangle(labelColumn,rowFour,labelWidth,oneRowHeight));\r
+            jLabelLicense = new JLabel();\r
+            jLabelLicense.setText("License");\r
+            jLabelLicense.setBounds(new java.awt.Rectangle(labelColumn,rowFive,labelWidth,oneRowHeight));\r
+            jLabelVersion = new JLabel();\r
+            jLabelVersion.setText("Version");\r
+            jLabelVersion.setBounds(new java.awt.Rectangle(labelColumn, rowThree, labelWidth, oneRowHeight));\r
+            jLabelGuid = new JLabel();\r
+            jLabelGuid.setPreferredSize(new java.awt.Dimension(labelWidth, oneRowHeight));\r
+            jLabelGuid.setBounds(new java.awt.Rectangle(labelColumn, rowTwo, labelWidth, oneRowHeight));\r
+            jLabelGuid.setText("Guid");\r
+            jLabelBaseName = new JLabel();\r
+            jLabelBaseName.setText("Platform Name");\r
+            jLabelBaseName.setBounds(new java.awt.Rectangle(labelColumn, rowOne, labelWidth, oneRowHeight));\r
+            jStarLabel1 = new StarLabel();\r
+            jStarLabel1.setLocation(new java.awt.Point(0, rowOne));\r
+            jStarLabel2 = new StarLabel();\r
+            jStarLabel2.setLocation(new java.awt.Point(0, rowTwo));\r
+            jStarLabel3 = new StarLabel();\r
+            jStarLabel3.setLocation(new java.awt.Point(0, rowThree));\r
+            jStarLabel4 = new StarLabel();\r
+            jStarLabel4.setLocation(new java.awt.Point(0,rowFour));\r
+            jStarLabel5 = new StarLabel();\r
+            jStarLabel5.setLocation(new java.awt.Point(0,rowFive));\r
+            jStarLabel7 = new StarLabel();\r
+            jStarLabel7.setLocation(new java.awt.Point(0,rowSeven));\r
+            jStarLabel8 = new StarLabel();\r
+            jStarLabel8.setLocation(new java.awt.Point(0,rowEight));\r
+            \r
+            jContentPane.add(jLabelBaseName, null);\r
+            jContentPane.add(getJTextFieldBaseName(), null);\r
+            jContentPane.add(jLabelGuid, null);\r
+            jContentPane.add(getJTextFieldGuid(), null);\r
+            jContentPane.add(jLabelVersion, null);\r
+            jContentPane.add(getJTextFieldVersion(), null);\r
+            jContentPane.add(getJButtonGenerateGuid(), null);\r
+            jContentPane.add(jLabelLicense, null);\r
+            jContentPane.add(jLabelCopyright, null);\r
+            jContentPane.add(jLabelDescription, null);\r
+            jContentPane.add(getJTextFieldSpecification(), null);\r
+            jContentPane.add(getJButtonOk(), null);\r
+            jContentPane.add(getJButtonCancel(), null);\r
+            jContentPane.add(getJScrollPaneLicense(), null);\r
+            jContentPane.add(getJScrollPaneDescription(), null);\r
+            jContentPane.add(jLabelAbstract, null);\r
+            jContentPane.add(getJTextFieldAbstract(), null);\r
\r
+            jContentPane.add(jStarLabel1, null);\r
+            jContentPane.add(jStarLabel2, null);\r
+            jContentPane.add(jStarLabel3, null);\r
+            jContentPane.add(jStarLabel4, null);\r
+            jContentPane.add(jStarLabel5, null);\r
+            jContentPane.add(jStarLabel7, null);\r
+            jContentPane.add(jStarLabel8, null);\r
+            jContentPane.add(getCopyrightScrollPane(), null);\r
+\r
+            jContentPane.add(jLabel, null);\r
+            jContentPane.add(getJTextFieldUrl(), null);\r
+        }\r
+        return jContentPane;\r
+    }\r
+\r
+    /* (non-Javadoc)\r
+     * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)\r
+     *\r
+     * Override actionPerformed to listen all actions\r
+     *\r
+     */\r
+    public void actionPerformed(ActionEvent arg0) {\r
+        \r
+        if (arg0.getSource() == jButtonGenerateGuid) {\r
+            docConsole.setSaved(false);\r
+            jTextFieldGuid.setText(Tools.generateUuidString());\r
+            ffc.setFpdHdrGuidValue(jTextFieldGuid.getText());\r
+        }\r
+    }\r
+\r
+    \r
+    /**\r
+     This method initializes Package type and Compontent type\r
+     \r
+     **/\r
+    private void initFrame() {\r
+        \r
+        \r
+    }\r
+\r
+       /* (non-Javadoc)\r
+        * @see java.awt.event.ComponentListener#componentResized(java.awt.event.ComponentEvent)\r
+        * \r
+        * Override componentResized to resize all components when frame's size is changed\r
+        */\r
+       public void componentResized(ComponentEvent arg0) {\r
+        int intPreferredWidth = dialogWidth;\r
+        int intCurrentWidth = this.getJContentPane().getWidth();\r
+        \r
+        // Tools.resizeComponentWidth(this.jTextFieldBaseName, this.getWidth(), intPreferredWidth);\r
+        // Tools.resizeComponentWidth(this.jTextFieldGuid, this.getWidth(), intPreferredWidth);\r
+//      Tools.relocateComponentX(this.jButtonGenerateGuid, this.getWidth(), jButtonGenerateGuid.getWidth(), 25);\r
+        // Tools.resizeComponentWidth(this.jTextFieldVersion, this.getWidth(), intPreferredWidth);\r
+        // Tools.resizeComponentWidth(this.jTextFieldCopyright, this.getWidth(), intPreferredWidth);\r
+        Tools.resizeComponentWidth(this.jScrollPaneLicense, intCurrentWidth, intPreferredWidth);\r
+        Tools.resizeComponentWidth(this.jTextFieldUrl, intCurrentWidth, intPreferredWidth);\r
+        Tools.resizeComponentWidth(this.jTextFieldAbstract, intCurrentWidth, intPreferredWidth);        \r
+        Tools.resizeComponentWidth(this.jScrollPaneDescription, intCurrentWidth, intPreferredWidth);\r
+        // Tools.resizeComponentWidth(this.jTextFieldSpecification, this.getWidth(), intPreferredWidth);\r
+        \r
+               \r
+        \r
+       }\r
+}\r