]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdDynamicPcdBuildDefinitions.java
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@671 6f19259b...
[mirror_edk2.git] / Tools / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / platform / ui / FpdDynamicPcdBuildDefinitions.java
diff --git a/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdDynamicPcdBuildDefinitions.java b/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdDynamicPcdBuildDefinitions.java
new file mode 100644 (file)
index 0000000..155f4f4
--- /dev/null
@@ -0,0 +1,669 @@
+package org.tianocore.frameworkwizard.platform.ui;\r
+\r
+import java.awt.BorderLayout;\r
+\r
+import javax.swing.ButtonGroup;\r
+import javax.swing.JPanel;\r
+import javax.swing.JDialog;\r
+import javax.swing.JScrollPane;\r
+import javax.swing.JTable;\r
+import javax.swing.ListSelectionModel;\r
+import javax.swing.event.ListSelectionEvent;\r
+import javax.swing.event.ListSelectionListener;\r
+import javax.swing.table.DefaultTableModel;\r
+\r
+import org.tianocore.PlatformSurfaceAreaDocument;\r
+import org.tianocore.frameworkwizard.common.ui.IInternalFrame;\r
+import javax.swing.JCheckBox;\r
+import java.awt.FlowLayout;\r
+import javax.swing.JRadioButton;\r
+import javax.swing.JButton;\r
+import javax.swing.JLabel;\r
+import javax.swing.JTextField;\r
+\r
+public class FpdDynamicPcdBuildDefinitions extends IInternalFrame {\r
+\r
+    private JPanel jContentPane = null;\r
+    private JPanel jPanel = null;\r
+    private JPanel jPanel1 = null;\r
+    private JPanel jPanel2 = null;\r
+    private JScrollPane jScrollPane = null;\r
+    private JTable jTable = null;\r
+    private DynPcdTableModel model = null; \r
+    private DynPcdTableModel model1 = null;\r
+    private FpdFileContents ffc = null;\r
+    private JPanel jPanel3 = null;\r
+    private JCheckBox jCheckBox = null;\r
+    private JPanel jPanel4 = null;\r
+    private JRadioButton jRadioButton = null;\r
+    private JRadioButton jRadioButton1 = null;\r
+    private JScrollPane jScrollPane1 = null;\r
+    private JTable jTable1 = null;\r
+    private JButton jButton = null;\r
+    private JLabel jLabel = null;\r
+    private JTextField jTextField = null;\r
+    private JLabel jLabel1 = null;\r
+    private JTextField jTextField1 = null;\r
+    private JLabel jLabel2 = null;\r
+    private JLabel jLabel3 = null;\r
+    private JTextField jTextField2 = null;\r
+    private JLabel jLabel4 = null;\r
+    private JTextField jTextField3 = null;\r
+    private JTextField jTextField4 = null;\r
+    private JLabel jLabel5 = null;\r
+    private JTextField jTextField5 = null;\r
+    private JRadioButton jRadioButton2 = null;\r
+    private ButtonGroup bg = new ButtonGroup();\r
+    private JLabel jLabel6 = null;\r
+    /**\r
+     * This is the default constructor\r
+     */\r
+    public FpdDynamicPcdBuildDefinitions() {\r
+        super();\r
+        initialize();\r
+    }\r
+\r
+    public FpdDynamicPcdBuildDefinitions(PlatformSurfaceAreaDocument.PlatformSurfaceArea fpd){\r
+        this();\r
+        init(fpd);\r
+    }\r
+    \r
+    public void init(PlatformSurfaceAreaDocument.PlatformSurfaceArea fpd) {\r
+        if (ffc == null) {\r
+            ffc = new FpdFileContents(fpd);\r
+        }\r
+        String[][] saa = new String[ffc.getDynamicPcdBuildDataCount()][5];\r
+        ffc.getDynamicPcdBuildData(saa);\r
+        for (int i = 0; i < saa.length; ++i) {\r
+            model.addRow(saa[i]);\r
+        }\r
+        \r
+        saa = new String[ffc.getPlatformDefsSkuInfoCount()][2];\r
+        ffc.getPlatformDefsSkuInfos(saa);\r
+        for (int i = 0; i < saa.length; ++i) {\r
+            model1.addRow(saa[i]);\r
+        }\r
+        \r
+    }\r
+    /**\r
+     * This method initializes this\r
+     * \r
+     * @return void\r
+     */\r
+    private void initialize() {\r
+        this.setSize(661, 558);\r
+        this.setTitle("Dynamic PCD Build Definitions");\r
+        this.setContentPane(getJContentPane());\r
+        this.setVisible(true);\r
+    }\r
+\r
+    /**\r
+     * This method initializes jContentPane\r
+     * \r
+     * @return javax.swing.JPanel\r
+     */\r
+    private JPanel getJContentPane() {\r
+        if (jContentPane == null) {\r
+            jContentPane = new JPanel();\r
+            jContentPane.setLayout(new BorderLayout());\r
+            jContentPane.add(getJPanel(), java.awt.BorderLayout.NORTH);\r
+            jContentPane.add(getJPanel1(), java.awt.BorderLayout.CENTER);\r
+            jContentPane.add(getJPanel2(), java.awt.BorderLayout.SOUTH);\r
+        }\r
+        return jContentPane;\r
+    }\r
+\r
+    /**\r
+     * This method initializes jPanel  \r
+     *         \r
+     * @return javax.swing.JPanel      \r
+     */\r
+    private JPanel getJPanel() {\r
+        if (jPanel == null) {\r
+            jPanel = new JPanel();\r
+        }\r
+        return jPanel;\r
+    }\r
+\r
+    /**\r
+     * This method initializes jPanel1 \r
+     *         \r
+     * @return javax.swing.JPanel      \r
+     */\r
+    private JPanel getJPanel1() {\r
+        if (jPanel1 == null) {\r
+            jPanel1 = new JPanel();\r
+            jPanel1.add(getJScrollPane(), null);\r
+            jPanel1.add(getJPanel3(), null);\r
+            jPanel1.add(getJPanel4(), null);\r
+        }\r
+        return jPanel1;\r
+    }\r
+\r
+    /**\r
+     * This method initializes jPanel2 \r
+     *         \r
+     * @return javax.swing.JPanel      \r
+     */\r
+    private JPanel getJPanel2() {\r
+        if (jPanel2 == null) {\r
+            jPanel2 = new JPanel();\r
+        }\r
+        return jPanel2;\r
+    }\r
+\r
+    /**\r
+     * This method initializes jScrollPane     \r
+     *         \r
+     * @return javax.swing.JScrollPane \r
+     */\r
+    private JScrollPane getJScrollPane() {\r
+        if (jScrollPane == null) {\r
+            jScrollPane = new JScrollPane();\r
+            jScrollPane.setPreferredSize(new java.awt.Dimension(600,200));\r
+            jScrollPane.setViewportView(getJTable());\r
+        }\r
+        return jScrollPane;\r
+    }\r
+\r
+    /**\r
+     * This method initializes jTable  \r
+     *         \r
+     * @return javax.swing.JTable      \r
+     */\r
+    private JTable getJTable() {\r
+        if (jTable == null) {\r
+            model = new DynPcdTableModel();\r
+            model.addColumn("CName");\r
+            model.addColumn("Token");\r
+            model.addColumn("TokenSpaceGuid");\r
+            model.addColumn("MaxDatumSize");\r
+            model.addColumn("DatumType");\r
+            jTable = new JTable(model);\r
+            \r
+            jTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
+            jTable.getSelectionModel().addListSelectionListener(new ListSelectionListener(){\r
+                public void valueChanged(ListSelectionEvent e) {\r
+                    if (e.getValueIsAdjusting()){\r
+                        return;\r
+                    }\r
+                    ListSelectionModel lsm = (ListSelectionModel)e.getSource();\r
+                    if (lsm.isSelectionEmpty()) {\r
+                        return;\r
+                    }\r
+                    else{\r
+                        int selectedRow = lsm.getMinSelectionIndex();\r
+                        \r
+                        displayDetails(selectedRow);\r
+                    }\r
+                }\r
+            });\r
+        }\r
+        return jTable;\r
+    }\r
+    //\r
+    // should display default sku info here, as no selection event of table1 will be triggered when change selection of rows in table. \r
+    //\r
+    private void displayDetails(int i) {\r
+        jTable1.changeSelection(0, 1, false, false);\r
+        int skuCount = ffc.getDynamicPcdSkuInfoCount(i);\r
+        String defaultVal = ffc.getDynamicPcdBuildDataValue(i);\r
+        if (defaultVal != null) {\r
+            jRadioButton2.setSelected(true);\r
+            jTextField5.setText(defaultVal);\r
+            if ( skuCount == 1) {\r
+                jCheckBox.setSelected(false);\r
+            }\r
+            else{\r
+                jCheckBox.setSelected(true);\r
+            }\r
+        }\r
+        \r
+        else if (ffc.getDynamicPcdBuildDataVpdOffset(i) != null) {\r
+            jRadioButton1.setSelected(true);\r
+            jTextField4.setText(ffc.getDynamicPcdBuildDataVpdOffset(i));\r
+            if (skuCount ==1) {\r
+                jCheckBox.setSelected(false);\r
+                \r
+            }\r
+            else{\r
+                jCheckBox.setSelected(true);\r
+            }\r
+        }\r
+        else {\r
+            jRadioButton.setSelected(true);\r
+            String[][] saa = new String[ffc.getDynamicPcdSkuInfoCount(i)][7];\r
+            ffc.getDynamicPcdSkuInfos(i, saa);\r
+            jTextField.setText(saa[0][1]);\r
+            jTextField1.setText(saa[0][2]);\r
+            jTextField2.setText(saa[0][3]);\r
+            jTextField3.setText(saa[0][4]);\r
+            if (skuCount ==1) {\r
+                jCheckBox.setSelected(false);\r
+            }\r
+            else{\r
+                jCheckBox.setSelected(true);\r
+            }\r
+        }\r
+        \r
+    }\r
+    \r
+    private void displaySkuInfoDetails(int i) {\r
+        int pcdSelected = jTable.getSelectedRow();\r
+        if (pcdSelected < 0) {\r
+            return;\r
+        }\r
+        \r
+        String[][] saa = new String[ffc.getDynamicPcdSkuInfoCount(pcdSelected)][7];\r
+        ffc.getDynamicPcdSkuInfos(pcdSelected, saa);\r
+        \r
+        if (saa[i][5] != null){\r
+            jRadioButton1.setSelected(true);\r
+            jTextField4.setText(saa[i][5]);\r
+        } \r
+        \r
+        else if (saa[i][1] != null) {\r
+            jRadioButton.setSelected(true);\r
+            jTextField.setText(saa[i][1]);\r
+            jTextField1.setText(saa[i][2]);\r
+            jTextField2.setText(saa[i][3]);\r
+            jTextField3.setText(saa[i][4]);\r
+        }\r
+        \r
+        else{\r
+            jRadioButton2.setSelected(true);\r
+            jTextField5.setText(saa[i][6]);\r
+        }\r
+        \r
+    }\r
+\r
+    /**\r
+     * This method initializes jPanel3 \r
+     *         \r
+     * @return javax.swing.JPanel      \r
+     */\r
+    private JPanel getJPanel3() {\r
+        if (jPanel3 == null) {\r
+            FlowLayout flowLayout = new FlowLayout();\r
+            flowLayout.setAlignment(java.awt.FlowLayout.LEFT);\r
+            jPanel3 = new JPanel();\r
+            jPanel3.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.RAISED));\r
+            jPanel3.setLayout(flowLayout);\r
+            jPanel3.setPreferredSize(new java.awt.Dimension(600,100));\r
+            jPanel3.add(getJCheckBox(), null);\r
+            jPanel3.add(getJScrollPane1(), null);\r
+            jPanel3.add(getJButton(), null);\r
+        }\r
+        return jPanel3;\r
+    }\r
+\r
+    /**\r
+     * This method initializes jCheckBox       \r
+     *         \r
+     * @return javax.swing.JCheckBox   \r
+     */\r
+    private JCheckBox getJCheckBox() {\r
+        if (jCheckBox == null) {\r
+            jCheckBox = new JCheckBox();\r
+            jCheckBox.setText("SKU Enable");\r
+            jCheckBox.addItemListener(new java.awt.event.ItemListener() {\r
+                public void itemStateChanged(java.awt.event.ItemEvent e) {\r
+                    jTable1.setEnabled(jCheckBox.isSelected());\r
+                }\r
+            });\r
+        }\r
+        return jCheckBox;\r
+    }\r
+\r
+                       \r
+  /**\r
+     * This method initializes jPanel4 \r
+     *         \r
+     * @return javax.swing.JPanel      \r
+     */\r
+    private JPanel getJPanel4() {\r
+        if (jPanel4 == null) {\r
+            jLabel5 = new JLabel();\r
+            jLabel5.setPreferredSize(new java.awt.Dimension(80,20));\r
+            jLabel5.setText("VPD Offset");\r
+            jLabel4 = new JLabel();\r
+            jLabel4.setPreferredSize(new java.awt.Dimension(100,20));\r
+            jLabel4.setText("HII Default Value");\r
+            jLabel3 = new JLabel();\r
+            jLabel3.setText("Variable Offset");\r
+            jLabel3.setPreferredSize(new java.awt.Dimension(90,20));\r
+            jLabel2 = new JLabel();\r
+            jLabel2.setText("                           ");\r
+            jLabel1 = new JLabel();\r
+            jLabel1.setText("Variable GUID");\r
+            jLabel1.setPreferredSize(new java.awt.Dimension(100,20));\r
+            jLabel = new JLabel();\r
+            jLabel.setText("Variable Name");\r
+            jLabel.setToolTipText("");\r
+            jLabel.setPreferredSize(new java.awt.Dimension(90,20));\r
+            FlowLayout flowLayout1 = new FlowLayout();\r
+            flowLayout1.setAlignment(java.awt.FlowLayout.LEFT);\r
+            jPanel4 = new JPanel();\r
+            jPanel4.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.LOWERED));\r
+            jPanel4.setLayout(flowLayout1);\r
+            jPanel4.setPreferredSize(new java.awt.Dimension(600,120));\r
+            jPanel4.add(getJRadioButton(), null);\r
+            jPanel4.add(jLabel, null);\r
+            jPanel4.add(getJTextField(), null);\r
+            jPanel4.add(jLabel1, null);\r
+            jPanel4.add(getJTextField1(), null);\r
+            jPanel4.add(jLabel2, null);\r
+            jPanel4.add(jLabel3, null);\r
+            jPanel4.add(getJTextField2(), null);\r
+            jPanel4.add(jLabel4, null);\r
+            jPanel4.add(getJTextField3(), null);\r
+            jPanel4.add(getJRadioButton1(), null);\r
+            jPanel4.add(jLabel5, null);\r
+            jPanel4.add(getJTextField4(), null);\r
+            jLabel6 = new JLabel();\r
+            jLabel6.setText("                           ");\r
+            jPanel4.add(jLabel6, null);\r
+                       jLabel.setEnabled(false);\r
+                       jLabel1.setEnabled(false);\r
+                       jLabel4.setEnabled(false);\r
+                       jLabel3.setEnabled(false);\r
+                       jLabel5.setEnabled(false);\r
+                       jPanel4.add(getJRadioButton2(), null);\r
+                       jPanel4.add(getJTextField5(), null);\r
+            bg.add(jRadioButton);\r
+            bg.add(jRadioButton1);\r
+        }                      \r
+\r
+        return jPanel4;\r
+    }\r
+\r
+    /**\r
+     * This method initializes jRadioButton    \r
+     *         \r
+     * @return javax.swing.JRadioButton        \r
+     */\r
+    private JRadioButton getJRadioButton() {\r
+        if (jRadioButton == null) {\r
+            jRadioButton = new JRadioButton();\r
+            jRadioButton.setText("HII Enable");\r
+            jRadioButton.addItemListener(new java.awt.event.ItemListener() {\r
+                public void itemStateChanged(java.awt.event.ItemEvent e) {\r
+                    boolean selected = jRadioButton.isSelected();\r
+                    jLabel.setEnabled(selected);\r
+                    jLabel1.setEnabled(selected);\r
+                    jLabel2.setEnabled(selected);\r
+                    jLabel3.setEnabled(selected);\r
+                    jLabel4.setEnabled(selected);\r
+                    jTextField.setEnabled(selected);\r
+                    jTextField1.setEnabled(selected);\r
+                    jTextField2.setEnabled(selected);\r
+                    jTextField3.setEnabled(selected);\r
+                }\r
+            });\r
+        }\r
+        return jRadioButton;\r
+    }\r
+\r
+    /**\r
+     * This method initializes jRadioButton1   \r
+     *         \r
+     * @return javax.swing.JRadioButton        \r
+     */\r
+    private JRadioButton getJRadioButton1() {\r
+        if (jRadioButton1 == null) {\r
+            jRadioButton1 = new JRadioButton();\r
+            jRadioButton1.setText("VPD Enable");\r
+            jRadioButton1.addItemListener(new java.awt.event.ItemListener() {\r
+                public void itemStateChanged(java.awt.event.ItemEvent e) {\r
+                    boolean selected = jRadioButton1.isSelected();\r
+                    jTextField4.setEnabled(selected);\r
+                    jLabel5.setEnabled(selected);\r
+                }\r
+            });\r
+        }\r
+        return jRadioButton1;\r
+    }\r
+\r
+    /**\r
+     * This method initializes jScrollPane1    \r
+     *         \r
+     * @return javax.swing.JScrollPane \r
+     */\r
+    private JScrollPane getJScrollPane1() {\r
+        if (jScrollPane1 == null) {\r
+            jScrollPane1 = new JScrollPane();\r
+            jScrollPane1.setPreferredSize(new java.awt.Dimension(300,80));\r
+            jScrollPane1.setViewportView(getJTable1());\r
+        }\r
+        return jScrollPane1;\r
+    }\r
+\r
+    /**\r
+     * This method initializes jTable1 \r
+     *         \r
+     * @return javax.swing.JTable      \r
+     */\r
+    private JTable getJTable1() {\r
+        if (jTable1 == null) {\r
+            model1 = new DynPcdTableModel();\r
+            jTable1 = new JTable(model1);\r
+            model1.addColumn("SKU ID");\r
+            model1.addColumn("SKU Name");\r
+            \r
+            jTable1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
+            jTable1.getSelectionModel().addListSelectionListener(new ListSelectionListener(){\r
+                public void valueChanged(ListSelectionEvent e) {\r
+                    if (jTable.getSelectedRow() < 0) {\r
+                        return;\r
+                    }\r
+                    if (e.getValueIsAdjusting()){\r
+                        return;\r
+                    }\r
+                    ListSelectionModel lsm = (ListSelectionModel)e.getSource();\r
+                    if (lsm.isSelectionEmpty()) {\r
+                        return;\r
+                    }\r
+                    else{\r
+                        int selected = lsm.getMinSelectionIndex();\r
+                        \r
+                    }\r
+                }\r
+            });\r
+        }\r
+        return jTable1;\r
+    }\r
+\r
+    /**\r
+     * This method initializes jButton \r
+     *         \r
+     * @return javax.swing.JButton     \r
+     */\r
+    private JButton getJButton() {\r
+        if (jButton == null) {\r
+            jButton = new JButton();\r
+            jButton.setPreferredSize(new java.awt.Dimension(180,20));\r
+            jButton.setText(" Update SKU Information");\r
+            jButton.addActionListener(new java.awt.event.ActionListener() {\r
+                public void actionPerformed(java.awt.event.ActionEvent e) {\r
+                    int pcdSelected = jTable.getSelectedRow();\r
+                    if (pcdSelected < 0) {\r
+                        return;\r
+                    }\r
+                    \r
+                    updateSkuInfo(pcdSelected);\r
+                    \r
+                }\r
+            });\r
+        }\r
+        return jButton;\r
+    }\r
+\r
+    private void updateSkuInfo (int pcdSelected) {\r
+        int skuCount = ffc.getDynamicPcdSkuInfoCount(pcdSelected);\r
+        \r
+        String varName = null;\r
+        String varGuid = null;\r
+        String varOffset = null;\r
+        String hiiDefault = null;\r
+        String value = null;\r
+        String vpdOffset = null;\r
+        if (jRadioButton.isSelected()) {\r
+            varName = jTextField.getText();\r
+            varGuid = jTextField1.getText();\r
+            varOffset = jTextField2.getText();\r
+            hiiDefault = jTextField3.getText();\r
+        }\r
+        if (jRadioButton1.isSelected()) {\r
+            vpdOffset = jTextField4.getText();\r
+        }\r
+        if (jRadioButton2.isSelected()) {\r
+            value = jTextField5.getText();\r
+        }\r
+        //\r
+        // SKU disabled. only modify data for default SKU.\r
+        //\r
+        if (!jCheckBox.isSelected()) {\r
+            if (true) {\r
+                ffc.removeDynamicPcdBuildDataSkuInfo(pcdSelected);\r
+                if (jRadioButton.isSelected()) {\r
+                    ffc.genDynamicPcdBuildDataSkuInfo("0", varName, varGuid, varOffset, hiiDefault, null, null, pcdSelected);\r
+                }\r
+                else if (jRadioButton1.isSelected()){\r
+                    ffc.genDynamicPcdBuildDataSkuInfo("0", null, null, null, null, vpdOffset, null, pcdSelected);\r
+                }\r
+                else{\r
+                    ffc.genDynamicPcdBuildDataSkuInfo("0", null, null, null, null, null, value, pcdSelected);\r
+                }\r
+            }\r
+        }\r
+        //\r
+        // SKU Enabled, need add data to all SKUs.\r
+        //\r
+        if (jCheckBox.isSelected()) {\r
+            if (skuCount == 1) {\r
+                \r
+                for (int i = 1; i < jTable1.getRowCount(); ++i) {\r
+                    ffc.genDynamicPcdBuildDataSkuInfo(jTable1.getValueAt(i, 0)+"", varName, varGuid, varOffset, hiiDefault, vpdOffset, value, pcdSelected);\r
+                }\r
+            }\r
+            else {\r
+                int row = jTable1.getSelectedRow();\r
+                if (row < 0) {\r
+                    return;\r
+                }\r
+                ffc.updateDynamicPcdBuildDataSkuInfo(jTable1.getValueAt(row, 0)+"", varName, varGuid, varOffset, hiiDefault, vpdOffset, value, pcdSelected);\r
+            }\r
+        }\r
+    }\r
+    /**\r
+     * This method initializes jTextField      \r
+     *         \r
+     * @return javax.swing.JTextField  \r
+     */\r
+    private JTextField getJTextField() {\r
+        if (jTextField == null) {\r
+            jTextField = new JTextField();\r
+            jTextField.setPreferredSize(new java.awt.Dimension(150,20));\r
+            jTextField.setEnabled(false);\r
+        }\r
+        return jTextField;\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(150,20));\r
+            jTextField1.setEnabled(false);\r
+        }\r
+        return jTextField1;\r
+    }\r
+\r
+    /**\r
+     * This method initializes jTextField2     \r
+     *         \r
+     * @return javax.swing.JTextField  \r
+     */\r
+    private JTextField getJTextField2() {\r
+        if (jTextField2 == null) {\r
+            jTextField2 = new JTextField();\r
+            jTextField2.setPreferredSize(new java.awt.Dimension(150,20));\r
+            jTextField2.setEnabled(false);\r
+        }\r
+        return jTextField2;\r
+    }\r
+\r
+    /**\r
+     * This method initializes jTextField3     \r
+     *         \r
+     * @return javax.swing.JTextField  \r
+     */\r
+    private JTextField getJTextField3() {\r
+        if (jTextField3 == null) {\r
+            jTextField3 = new JTextField();\r
+            jTextField3.setPreferredSize(new java.awt.Dimension(150,20));\r
+            jTextField3.setEnabled(false);\r
+        }\r
+        return jTextField3;\r
+    }\r
+\r
+    /**\r
+     * This method initializes jTextField4     \r
+     *         \r
+     * @return javax.swing.JTextField  \r
+     */\r
+    private JTextField getJTextField4() {\r
+        if (jTextField4 == null) {\r
+            jTextField4 = new JTextField();\r
+            jTextField4.setPreferredSize(new java.awt.Dimension(150,20));\r
+            jTextField4.setEnabled(false);\r
+        }\r
+        return jTextField4;\r
+    }\r
+\r
+    /**\r
+     * This method initializes jTextField5     \r
+     *         \r
+     * @return javax.swing.JTextField  \r
+     */\r
+    private JTextField getJTextField5() {\r
+        if (jTextField5 == null) {\r
+            jTextField5 = new JTextField();\r
+            jTextField5.setPreferredSize(new java.awt.Dimension(150,20));\r
+        }\r
+        return jTextField5;\r
+    }\r
+\r
+    /**\r
+     * This method initializes jRadioButton2   \r
+     *         \r
+     * @return javax.swing.JRadioButton        \r
+     */\r
+    private JRadioButton getJRadioButton2() {\r
+        if (jRadioButton2 == null) {\r
+            jRadioButton2 = new JRadioButton();\r
+            jRadioButton2.setText("Default PCD Value");\r
+            jRadioButton2.setSelected(true);\r
+            jRadioButton2.setPreferredSize(new java.awt.Dimension(175,20));\r
+            jRadioButton2.addItemListener(new java.awt.event.ItemListener() {\r
+                public void itemStateChanged(java.awt.event.ItemEvent e) {\r
+                    jTextField5.setEnabled(jRadioButton2.isSelected());\r
+                }\r
+            });\r
+            bg.add(jRadioButton2);\r
+        }\r
+        return jRadioButton2;\r
+    }\r
+\r
+}  //  @jve:decl-index=0:visual-constraint="10,10"\r
+\r
+class DynPcdTableModel extends DefaultTableModel {\r
+    public boolean isCellEditable(int row, int col) {\r
+        \r
+        return false;\r
+    }\r
+}\r