]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Java/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdDynamicPcdBuildDefinitions.java
Fix the problem of label, button text part-display on Linux and iMac.
[mirror_edk2.git] / Tools / Java / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / platform / ui / FpdDynamicPcdBuildDefinitions.java
index c846160ca8688455c84cb9ebfb9d2f90a689012a..04fc791c48228d585da448d98a7268a7c7371fca 100644 (file)
@@ -1,6 +1,8 @@
 package org.tianocore.frameworkwizard.platform.ui;\r
 \r
 import java.awt.BorderLayout;\r
+import java.awt.Dimension;\r
+import java.awt.FontMetrics;\r
 \r
 import javax.swing.ButtonGroup;\r
 import javax.swing.JOptionPane;\r
@@ -11,6 +13,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
@@ -84,6 +87,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
@@ -154,7 +158,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
@@ -484,7 +489,9 @@ public class FpdDynamicPcdBuildDefinitions extends IInternalFrame {
         if (jButtonSkuInfoUpdate == null) {\r
             jButtonSkuInfoUpdate = new JButton();\r
             jButtonSkuInfoUpdate.setPreferredSize(new java.awt.Dimension(180,20));\r
-            jButtonSkuInfoUpdate.setText(" Update SKU Information");\r
+            jButtonSkuInfoUpdate.setText("Update SKU Value");\r
+            FontMetrics fm = jButtonSkuInfoUpdate.getFontMetrics(jButtonSkuInfoUpdate.getFont());\r
+            jButtonSkuInfoUpdate.setPreferredSize(new Dimension (fm.stringWidth(jButtonSkuInfoUpdate.getText()) + 40, 20));\r
             jButtonSkuInfoUpdate.addActionListener(new java.awt.event.ActionListener() {\r
                 public void actionPerformed(java.awt.event.ActionEvent e) {\r
                     int pcdSelected = jTableDynPcd.getSelectedRow();\r
@@ -556,6 +563,9 @@ public class FpdDynamicPcdBuildDefinitions extends IInternalFrame {
                 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
@@ -564,6 +574,9 @@ public class FpdDynamicPcdBuildDefinitions extends IInternalFrame {
                 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
@@ -572,6 +585,9 @@ public class FpdDynamicPcdBuildDefinitions extends IInternalFrame {
                 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