X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=Tools%2FJava%2FSource%2FFrameworkWizard%2Fsrc%2Forg%2Ftianocore%2Fframeworkwizard%2Fplatform%2Fui%2FFpdDynamicPcdBuildDefinitions.java;h=04fc791c48228d585da448d98a7268a7c7371fca;hb=4fd52612c2eaf63bd6c8dc1713806317bf983049;hp=bbd24f2f79537c42e5e815ec07cd0f171a39e4c1;hpb=5a502bd47aaf312ee39560c6e59a353264a17113;p=mirror_edk2.git diff --git a/Tools/Java/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdDynamicPcdBuildDefinitions.java b/Tools/Java/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdDynamicPcdBuildDefinitions.java index bbd24f2f79..04fc791c48 100644 --- a/Tools/Java/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdDynamicPcdBuildDefinitions.java +++ b/Tools/Java/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdDynamicPcdBuildDefinitions.java @@ -1,6 +1,8 @@ package org.tianocore.frameworkwizard.platform.ui; import java.awt.BorderLayout; +import java.awt.Dimension; +import java.awt.FontMetrics; import javax.swing.ButtonGroup; import javax.swing.JOptionPane; @@ -11,6 +13,7 @@ import javax.swing.ListSelectionModel; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; import javax.swing.table.DefaultTableModel; +import javax.swing.table.TableColumn; import org.tianocore.PlatformSurfaceAreaDocument; import org.tianocore.frameworkwizard.common.DataValidation; @@ -18,12 +21,12 @@ import org.tianocore.frameworkwizard.common.Tools; import org.tianocore.frameworkwizard.common.Identifications.OpeningPlatformType; import org.tianocore.frameworkwizard.common.ui.IInternalFrame; import javax.swing.JCheckBox; -import java.awt.FlowLayout; import javax.swing.JRadioButton; import javax.swing.JButton; import javax.swing.JLabel; import javax.swing.JTextField; import java.awt.GridLayout; +import java.util.ArrayList; public class FpdDynamicPcdBuildDefinitions extends IInternalFrame { @@ -62,6 +65,7 @@ public class FpdDynamicPcdBuildDefinitions extends IInternalFrame { private ButtonGroup bg = new ButtonGroup(); private JLabel jLabelPadd = null; private JLabel jLabelPad1 = null; + private JScrollPane jScrollPane = null; /** * This is the default constructor */ @@ -83,6 +87,7 @@ public class FpdDynamicPcdBuildDefinitions extends IInternalFrame { public void init(PlatformSurfaceAreaDocument.PlatformSurfaceArea fpd) { if (ffc == null) { ffc = new FpdFileContents(fpd); + ffc.initDynPcdMap(); } String[][] saa = new String[ffc.getDynamicPcdBuildDataCount()][5]; ffc.getDynamicPcdBuildData(saa); @@ -120,7 +125,6 @@ public class FpdDynamicPcdBuildDefinitions extends IInternalFrame { jContentPane.setLayout(new BorderLayout()); jContentPane.add(getJScrollPaneDynPcd(), java.awt.BorderLayout.NORTH); jContentPane.add(getJPanelSkuInfo(), java.awt.BorderLayout.CENTER); - jContentPane.add(getJPanelDynPcdValue(), java.awt.BorderLayout.SOUTH); } return jContentPane; } @@ -133,7 +137,7 @@ public class FpdDynamicPcdBuildDefinitions extends IInternalFrame { private JScrollPane getJScrollPaneDynPcd() { if (jScrollPaneDynPcd == null) { jScrollPaneDynPcd = new JScrollPane(); - jScrollPaneDynPcd.setPreferredSize(new java.awt.Dimension(100,300)); + jScrollPaneDynPcd.setPreferredSize(new java.awt.Dimension(100,250)); jScrollPaneDynPcd.setViewportView(getJTableDynPcd()); } return jScrollPaneDynPcd; @@ -154,7 +158,8 @@ public class FpdDynamicPcdBuildDefinitions extends IInternalFrame { modelPcd.addColumn("DatumType"); jTableDynPcd = new JTable(modelPcd); jTableDynPcd.setRowHeight(20); - + TableColumn tokenColumn = jTableDynPcd.getColumnModel().getColumn(1); + jTableDynPcd.removeColumn(tokenColumn); jTableDynPcd.getColumnModel().getColumn(0).setMinWidth(250); jTableDynPcd.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); @@ -269,15 +274,17 @@ public class FpdDynamicPcdBuildDefinitions extends IInternalFrame { */ private JPanel getJPanelSkuInfo() { if (jPanelSkuInfo == null) { - FlowLayout flowLayout = new FlowLayout(); - flowLayout.setAlignment(java.awt.FlowLayout.LEFT); jPanelSkuInfo = new JPanel(); + jPanelSkuInfo.setLayout(new BorderLayout()); jPanelSkuInfo.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.RAISED)); - jPanelSkuInfo.setLayout(flowLayout); - jPanelSkuInfo.setPreferredSize(new java.awt.Dimension(600,100)); - jPanelSkuInfo.add(getJCheckBoxSkuEnable(), null); - jPanelSkuInfo.add(getJScrollPaneSkuInfo(), null); - jPanelSkuInfo.add(getJButtonSkuInfoUpdate(), null); + jPanelSkuInfo.setPreferredSize(new java.awt.Dimension(600,120)); + +// jPanelSkuInfo.add(getJPanelSkuInfoN(), java.awt.BorderLayout.NORTH); + jPanelSkuInfo.add(getJScrollPane(), java.awt.BorderLayout.NORTH); + jPanelSkuInfo.add(getJScrollPaneSkuInfo(), java.awt.BorderLayout.CENTER); + + +// jPanelSkuInfo.add(getJPanelDynPcdValue(), java.awt.BorderLayout.SOUTH); } return jPanelSkuInfo; } @@ -313,8 +320,8 @@ public class FpdDynamicPcdBuildDefinitions extends IInternalFrame { GridLayout gridLayout = new GridLayout(); gridLayout.setColumns(5); gridLayout.setRows(4); - gridLayout.setHgap(5); - gridLayout.setVgap(5); + gridLayout.setHgap(20); + gridLayout.setVgap(20); jLabelVpdOffset = new JLabel(); jLabelVpdOffset.setPreferredSize(new java.awt.Dimension(80,20)); @@ -336,8 +343,8 @@ public class FpdDynamicPcdBuildDefinitions extends IInternalFrame { jLabelVarName.setPreferredSize(new java.awt.Dimension(90,20)); jPanelDynPcdValue = new JPanel(); jPanelDynPcdValue.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.LOWERED)); + jPanelDynPcdValue.setPreferredSize(new java.awt.Dimension(1000,150)); jPanelDynPcdValue.setLayout(gridLayout); - jPanelDynPcdValue.setPreferredSize(new java.awt.Dimension(600,120)); jPanelDynPcdValue.add(getJRadioButtonHii(), null); jPanelDynPcdValue.add(jLabelVarName, null); jPanelDynPcdValue.add(getJTextFieldVarName(), null); @@ -362,6 +369,8 @@ public class FpdDynamicPcdBuildDefinitions extends IInternalFrame { jPanelDynPcdValue.add(jLabelPad1, null); jPanelDynPcdValue.add(getJRadioButtonDefaultValue(), null); jPanelDynPcdValue.add(getJTextFieldDefaultValue(), null); + jPanelDynPcdValue.add(getJCheckBoxSkuEnable(), null); + jPanelDynPcdValue.add(getJButtonSkuInfoUpdate(), null); bg.add(jRadioButtonHii); bg.add(jRadioButtonVpd); } @@ -424,7 +433,7 @@ public class FpdDynamicPcdBuildDefinitions extends IInternalFrame { private JScrollPane getJScrollPaneSkuInfo() { if (jScrollPaneSkuInfo == null) { jScrollPaneSkuInfo = new JScrollPane(); - jScrollPaneSkuInfo.setPreferredSize(new java.awt.Dimension(300,80)); + jScrollPaneSkuInfo.setPreferredSize(new java.awt.Dimension(300,50)); jScrollPaneSkuInfo.setViewportView(getJTableSkuInfo()); } return jScrollPaneSkuInfo; @@ -480,7 +489,9 @@ public class FpdDynamicPcdBuildDefinitions extends IInternalFrame { if (jButtonSkuInfoUpdate == null) { jButtonSkuInfoUpdate = new JButton(); jButtonSkuInfoUpdate.setPreferredSize(new java.awt.Dimension(180,20)); - jButtonSkuInfoUpdate.setText(" Update SKU Information"); + jButtonSkuInfoUpdate.setText("Update SKU Value"); + FontMetrics fm = jButtonSkuInfoUpdate.getFontMetrics(jButtonSkuInfoUpdate.getFont()); + jButtonSkuInfoUpdate.setPreferredSize(new Dimension (fm.stringWidth(jButtonSkuInfoUpdate.getText()) + 40, 20)); jButtonSkuInfoUpdate.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent e) { int pcdSelected = jTableDynPcd.getSelectedRow(); @@ -498,6 +509,8 @@ public class FpdDynamicPcdBuildDefinitions extends IInternalFrame { private void updateSkuInfo (int pcdSelected) { int skuCount = ffc.getDynamicPcdSkuInfoCount(pcdSelected); + String cName = modelPcd.getValueAt(pcdSelected, 0)+""; + String tsGuid = modelPcd.getValueAt(pcdSelected, 2)+""; String varName = null; String varGuid = null; @@ -549,12 +562,36 @@ public class FpdDynamicPcdBuildDefinitions extends IInternalFrame { ffc.removeDynamicPcdBuildDataSkuInfo(pcdSelected); if (jRadioButtonHii.isSelected()) { ffc.genDynamicPcdBuildDataSkuInfo("0", varName, varGuid, varOffset, hiiDefault, null, null, pcdSelected); + ArrayList al = ffc.getDynPcdMapValue(cName + " " + tsGuid); + if (al == null) { + return; + } + for (int i = 0; i < al.size(); ++i) { + String mKey = moduleInfo (al.get(i)); + ffc.updatePcdData(mKey, cName, tsGuid, null, null, hiiDefault); + } } else if (jRadioButtonVpd.isSelected()){ ffc.genDynamicPcdBuildDataSkuInfo("0", null, null, null, null, vpdOffset, null, pcdSelected); + ArrayList al = ffc.getDynPcdMapValue(cName + " " + tsGuid); + if (al == null) { + return; + } + for (int i = 0; i < al.size(); ++i) { + String mKey = moduleInfo (al.get(i)); + ffc.updatePcdData(mKey, cName, tsGuid, null, null, vpdOffset); + } } else{ ffc.genDynamicPcdBuildDataSkuInfo("0", null, null, null, null, null, value, pcdSelected); + ArrayList al = ffc.getDynPcdMapValue(cName + " " + tsGuid); + if (al == null) { + return; + } + for (int i = 0; i < al.size(); ++i) { + String mKey = moduleInfo (al.get(i)); + ffc.updatePcdData(mKey, cName, tsGuid, null, null, value); + } } } } @@ -577,6 +614,11 @@ public class FpdDynamicPcdBuildDefinitions extends IInternalFrame { } } } + + private String moduleInfo (String pcdInfo) { + + return pcdInfo.substring(0, pcdInfo.lastIndexOf(" ")); + } /** * This method initializes jTextField * @@ -681,6 +723,20 @@ public class FpdDynamicPcdBuildDefinitions extends IInternalFrame { return jRadioButtonDefaultValue; } + /** + * This method initializes jScrollPane + * + * @return javax.swing.JScrollPane + */ + private JScrollPane getJScrollPane() { + if (jScrollPane == null) { + jScrollPane = new JScrollPane(); + jScrollPane.setPreferredSize(new java.awt.Dimension(1003,180)); + jScrollPane.setViewportView(getJPanelDynPcdValue()); + } + return jScrollPane; + } + } // @jve:decl-index=0:visual-constraint="10,10" class DynPcdTableModel extends DefaultTableModel {