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
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
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
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
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
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
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
*/\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
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
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
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
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
\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
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
}\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
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