]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Java/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdDynamicPcdBuildDefinitions.java
Do not display token number for Pcd in ModuleSA and Dynamic Pcd editors for FPD file.
[mirror_edk2.git] / Tools / Java / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / platform / ui / FpdDynamicPcdBuildDefinitions.java
index bbd24f2f79537c42e5e815ec07cd0f171a39e4c1..2dd39b459cd874dfcf37682fef373b66a4e7e5f2 100644 (file)
@@ -11,6 +11,7 @@ import javax.swing.ListSelectionModel;
 import javax.swing.event.ListSelectionEvent;\r
 import javax.swing.event.ListSelectionListener;\r
 import javax.swing.table.DefaultTableModel;\r
+import javax.swing.table.TableColumn;\r
 \r
 import org.tianocore.PlatformSurfaceAreaDocument;\r
 import org.tianocore.frameworkwizard.common.DataValidation;\r
@@ -18,12 +19,12 @@ import org.tianocore.frameworkwizard.common.Tools;
 import org.tianocore.frameworkwizard.common.Identifications.OpeningPlatformType;\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
 import java.awt.GridLayout;\r
+import java.util.ArrayList;\r
 \r
 public class FpdDynamicPcdBuildDefinitions extends IInternalFrame {\r
 \r
@@ -62,6 +63,7 @@ public class FpdDynamicPcdBuildDefinitions extends IInternalFrame {
     private ButtonGroup bg = new ButtonGroup();\r
     private JLabel jLabelPadd = null;\r
     private JLabel jLabelPad1 = null;\r
+    private JScrollPane jScrollPane = null;\r
     /**\r
      * This is the default constructor\r
      */\r
@@ -83,6 +85,7 @@ public class FpdDynamicPcdBuildDefinitions extends IInternalFrame {
     public void init(PlatformSurfaceAreaDocument.PlatformSurfaceArea fpd) {\r
         if (ffc == null) {\r
             ffc = new FpdFileContents(fpd);\r
+            ffc.initDynPcdMap();\r
         }\r
         String[][] saa = new String[ffc.getDynamicPcdBuildDataCount()][5];\r
         ffc.getDynamicPcdBuildData(saa);\r
@@ -120,7 +123,6 @@ public class FpdDynamicPcdBuildDefinitions extends IInternalFrame {
             jContentPane.setLayout(new BorderLayout());\r
             jContentPane.add(getJScrollPaneDynPcd(), java.awt.BorderLayout.NORTH);\r
             jContentPane.add(getJPanelSkuInfo(), java.awt.BorderLayout.CENTER);\r
-            jContentPane.add(getJPanelDynPcdValue(), java.awt.BorderLayout.SOUTH);\r
         }\r
         return jContentPane;\r
     }\r
@@ -133,7 +135,7 @@ public class FpdDynamicPcdBuildDefinitions extends IInternalFrame {
     private JScrollPane getJScrollPaneDynPcd() {\r
         if (jScrollPaneDynPcd == null) {\r
             jScrollPaneDynPcd = new JScrollPane();\r
-            jScrollPaneDynPcd.setPreferredSize(new java.awt.Dimension(100,300));\r
+            jScrollPaneDynPcd.setPreferredSize(new java.awt.Dimension(100,250));\r
             jScrollPaneDynPcd.setViewportView(getJTableDynPcd());\r
         }\r
         return jScrollPaneDynPcd;\r
@@ -154,7 +156,8 @@ public class FpdDynamicPcdBuildDefinitions extends IInternalFrame {
             modelPcd.addColumn("DatumType");\r
             jTableDynPcd = new JTable(modelPcd);\r
             jTableDynPcd.setRowHeight(20);\r
-            \r
+            TableColumn tokenColumn = jTableDynPcd.getColumnModel().getColumn(1);\r
+            jTableDynPcd.removeColumn(tokenColumn);\r
             jTableDynPcd.getColumnModel().getColumn(0).setMinWidth(250);\r
             \r
             jTableDynPcd.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
@@ -269,15 +272,17 @@ public class FpdDynamicPcdBuildDefinitions extends IInternalFrame {
      */\r
     private JPanel getJPanelSkuInfo() {\r
         if (jPanelSkuInfo == null) {\r
-            FlowLayout flowLayout = new FlowLayout();\r
-            flowLayout.setAlignment(java.awt.FlowLayout.LEFT);\r
             jPanelSkuInfo = new JPanel();\r
+            jPanelSkuInfo.setLayout(new BorderLayout());\r
             jPanelSkuInfo.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.RAISED));\r
-            jPanelSkuInfo.setLayout(flowLayout);\r
-            jPanelSkuInfo.setPreferredSize(new java.awt.Dimension(600,100));\r
-            jPanelSkuInfo.add(getJCheckBoxSkuEnable(), null);\r
-            jPanelSkuInfo.add(getJScrollPaneSkuInfo(), null);\r
-            jPanelSkuInfo.add(getJButtonSkuInfoUpdate(), null);\r
+            jPanelSkuInfo.setPreferredSize(new java.awt.Dimension(600,120));\r
+\r
+//            jPanelSkuInfo.add(getJPanelSkuInfoN(), java.awt.BorderLayout.NORTH);\r
+            jPanelSkuInfo.add(getJScrollPane(), java.awt.BorderLayout.NORTH);\r
+            jPanelSkuInfo.add(getJScrollPaneSkuInfo(), java.awt.BorderLayout.CENTER);\r
+            \r
+            \r
+//            jPanelSkuInfo.add(getJPanelDynPcdValue(), java.awt.BorderLayout.SOUTH);\r
         }\r
         return jPanelSkuInfo;\r
     }\r
@@ -313,8 +318,8 @@ public class FpdDynamicPcdBuildDefinitions extends IInternalFrame {
             GridLayout gridLayout = new GridLayout();\r
             gridLayout.setColumns(5);\r
             gridLayout.setRows(4);\r
-            gridLayout.setHgap(5);\r
-            gridLayout.setVgap(5);\r
+            gridLayout.setHgap(20);\r
+            gridLayout.setVgap(20);\r
             \r
             jLabelVpdOffset = new JLabel();\r
             jLabelVpdOffset.setPreferredSize(new java.awt.Dimension(80,20));\r
@@ -336,8 +341,8 @@ public class FpdDynamicPcdBuildDefinitions extends IInternalFrame {
             jLabelVarName.setPreferredSize(new java.awt.Dimension(90,20));\r
             jPanelDynPcdValue = new JPanel();\r
             jPanelDynPcdValue.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.LOWERED));\r
+            jPanelDynPcdValue.setPreferredSize(new java.awt.Dimension(1000,150));\r
             jPanelDynPcdValue.setLayout(gridLayout);\r
-            jPanelDynPcdValue.setPreferredSize(new java.awt.Dimension(600,120));\r
             jPanelDynPcdValue.add(getJRadioButtonHii(), null);\r
             jPanelDynPcdValue.add(jLabelVarName, null);\r
             jPanelDynPcdValue.add(getJTextFieldVarName(), null);\r
@@ -362,6 +367,8 @@ public class FpdDynamicPcdBuildDefinitions extends IInternalFrame {
                        jPanelDynPcdValue.add(jLabelPad1, null);\r
                        jPanelDynPcdValue.add(getJRadioButtonDefaultValue(), null);\r
                        jPanelDynPcdValue.add(getJTextFieldDefaultValue(), null);\r
+            jPanelDynPcdValue.add(getJCheckBoxSkuEnable(), null);\r
+            jPanelDynPcdValue.add(getJButtonSkuInfoUpdate(), null);\r
             bg.add(jRadioButtonHii);\r
             bg.add(jRadioButtonVpd);\r
         }                      \r
@@ -424,7 +431,7 @@ public class FpdDynamicPcdBuildDefinitions extends IInternalFrame {
     private JScrollPane getJScrollPaneSkuInfo() {\r
         if (jScrollPaneSkuInfo == null) {\r
             jScrollPaneSkuInfo = new JScrollPane();\r
-            jScrollPaneSkuInfo.setPreferredSize(new java.awt.Dimension(300,80));\r
+            jScrollPaneSkuInfo.setPreferredSize(new java.awt.Dimension(300,50));\r
             jScrollPaneSkuInfo.setViewportView(getJTableSkuInfo());\r
         }\r
         return jScrollPaneSkuInfo;\r
@@ -498,6 +505,8 @@ public class FpdDynamicPcdBuildDefinitions extends IInternalFrame {
     \r
     private void updateSkuInfo (int pcdSelected) {\r
         int skuCount = ffc.getDynamicPcdSkuInfoCount(pcdSelected);\r
+        String cName = modelPcd.getValueAt(pcdSelected, 0)+"";\r
+        String tsGuid = modelPcd.getValueAt(pcdSelected, 2)+"";\r
         \r
         String varName = null;\r
         String varGuid = null;\r
@@ -549,12 +558,36 @@ public class FpdDynamicPcdBuildDefinitions extends IInternalFrame {
                 ffc.removeDynamicPcdBuildDataSkuInfo(pcdSelected);\r
                 if (jRadioButtonHii.isSelected()) {\r
                     ffc.genDynamicPcdBuildDataSkuInfo("0", varName, varGuid, varOffset, hiiDefault, null, null, pcdSelected);\r
+                    ArrayList<String> al = ffc.getDynPcdMapValue(cName + " " + tsGuid);\r
+                    if (al == null) {\r
+                        return;\r
+                    }\r
+                    for (int i = 0; i < al.size(); ++i) {\r
+                        String mKey = moduleInfo (al.get(i));\r
+                        ffc.updatePcdData(mKey, cName, tsGuid, null, null, hiiDefault);\r
+                    }\r
                 }\r
                 else if (jRadioButtonVpd.isSelected()){\r
                     ffc.genDynamicPcdBuildDataSkuInfo("0", null, null, null, null, vpdOffset, null, pcdSelected);\r
+                    ArrayList<String> al = ffc.getDynPcdMapValue(cName + " " + tsGuid);\r
+                    if (al == null) {\r
+                        return;\r
+                    }\r
+                    for (int i = 0; i < al.size(); ++i) {\r
+                        String mKey = moduleInfo (al.get(i));\r
+                        ffc.updatePcdData(mKey, cName, tsGuid, null, null, vpdOffset);\r
+                    }\r
                 }\r
                 else{\r
                     ffc.genDynamicPcdBuildDataSkuInfo("0", null, null, null, null, null, value, pcdSelected);\r
+                    ArrayList<String> al = ffc.getDynPcdMapValue(cName + " " + tsGuid);\r
+                    if (al == null) {\r
+                        return;\r
+                    }\r
+                    for (int i = 0; i < al.size(); ++i) {\r
+                        String mKey = moduleInfo (al.get(i));\r
+                        ffc.updatePcdData(mKey, cName, tsGuid, null, null, value);\r
+                    }\r
                 }\r
             }\r
         }\r
@@ -577,6 +610,11 @@ public class FpdDynamicPcdBuildDefinitions extends IInternalFrame {
             }\r
         }\r
     }\r
+    \r
+    private String moduleInfo (String pcdInfo) {\r
+        \r
+        return pcdInfo.substring(0, pcdInfo.lastIndexOf(" "));\r
+    }\r
     /**\r
      * This method initializes jTextField      \r
      *         \r
@@ -681,6 +719,20 @@ public class FpdDynamicPcdBuildDefinitions extends IInternalFrame {
         return jRadioButtonDefaultValue;\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(1003,180));\r
+            jScrollPane.setViewportView(getJPanelDynPcdValue());\r
+        }\r
+        return jScrollPane;\r
+    }\r
+\r
 }  //  @jve:decl-index=0:visual-constraint="10,10"\r
 \r
 class DynPcdTableModel extends DefaultTableModel {\r