// 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
- jTableSkuInfo.changeSelection(0, 1, false, false);\r
+ int defaultSkuRow = getDefaultSkuInfoRow();\r
+ jTableSkuInfo.changeSelection(defaultSkuRow, 0, false, false);\r
+ \r
int skuCount = ffc.getDynamicPcdSkuInfoCount(i);\r
String defaultVal = ffc.getDynamicPcdBuildDataValue(i);\r
if (defaultVal != null) {\r
\r
}\r
\r
- private void displaySkuInfoDetails(int i) {\r
+ private void displaySkuInfoDetails(String id) {\r
int pcdSelected = jTableDynPcd.getSelectedRow();\r
if (pcdSelected < 0) {\r
return;\r
}\r
\r
- String[][] saa = new String[ffc.getDynamicPcdSkuInfoCount(pcdSelected)][7];\r
+ int skuInfoCount = ffc.getDynamicPcdSkuInfoCount(pcdSelected);\r
+ String[][] saa = new String[skuInfoCount][7];\r
ffc.getDynamicPcdSkuInfos(pcdSelected, saa);\r
- \r
- if (saa[i][5] != null){\r
- jRadioButtonVpd.setSelected(true);\r
- jTextFieldVpdOffset.setText(saa[i][5]);\r
- } \r
- \r
- else if (saa[i][1] != null) {\r
- jRadioButtonHii.setSelected(true);\r
- String varDisplayName = Tools.convertUnicodeHexStringToString(saa[i][1]);\r
- jTextFieldVarName.setText(varDisplayName);\r
- jTextFieldVarGuid.setText(saa[i][2]);\r
- jTextFieldVarOffset.setText(saa[i][3]);\r
- jTextFieldHiiDefaultValue.setText(saa[i][4]);\r
- }\r
- \r
- else{\r
- jRadioButtonDefaultValue.setSelected(true);\r
- jTextFieldDefaultValue.setText(saa[i][6]);\r
+ int i = 0;\r
+ while (i < skuInfoCount) {\r
+ if (id.equals(saa[i][0])) {\r
+ if (saa[i][5] != null){\r
+ jRadioButtonVpd.setSelected(true);\r
+ jTextFieldVpdOffset.setText(saa[i][5]);\r
+ } \r
+ \r
+ else if (saa[i][1] != null) {\r
+ jRadioButtonHii.setSelected(true);\r
+ String varDisplayName = Tools.convertUnicodeHexStringToString(saa[i][1]);\r
+ jTextFieldVarName.setText(varDisplayName);\r
+ jTextFieldVarGuid.setText(saa[i][2]);\r
+ jTextFieldVarOffset.setText(saa[i][3]);\r
+ jTextFieldHiiDefaultValue.setText(saa[i][4]);\r
+ }\r
+ \r
+ else{\r
+ jRadioButtonDefaultValue.setSelected(true);\r
+ jTextFieldDefaultValue.setText(saa[i][6]);\r
+ }\r
+ return;\r
+ }\r
+ ++i;\r
}\r
- \r
+ }\r
+ \r
+ private int getDefaultSkuInfoRow () {\r
+ for (int i = 0; i < modelSku.getRowCount(); ++i) {\r
+ if (modelSku.getValueAt(i, 0).equals("0")) {\r
+ return i;\r
+ }\r
+ }\r
+ return 0;\r
}\r
\r
/**\r
jCheckBoxSkuEnable.setText("SKU Enable");\r
jCheckBoxSkuEnable.addItemListener(new java.awt.event.ItemListener() {\r
public void itemStateChanged(java.awt.event.ItemEvent e) {\r
+ if (!jCheckBoxSkuEnable.isSelected()) {\r
+ int defaultSkuRow = getDefaultSkuInfoRow();\r
+ jTableSkuInfo.changeSelection(defaultSkuRow, 0, false, false);\r
+ }\r
jTableSkuInfo.setEnabled(jCheckBoxSkuEnable.isSelected());\r
}\r
});\r
jTableSkuInfo = new JTable(modelSku);\r
modelSku.addColumn("SKU ID");\r
modelSku.addColumn("SKU Name");\r
- \r
+ jTableSkuInfo.setEnabled(false);\r
jTableSkuInfo.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
jTableSkuInfo.getSelectionModel().addListSelectionListener(new ListSelectionListener(){\r
public void valueChanged(ListSelectionEvent e) {\r
jTextFieldVarOffset.setText("");\r
jTextFieldHiiDefaultValue.setText("");\r
int selected = lsm.getMinSelectionIndex();\r
- displaySkuInfoDetails(selected);\r
+ String skuId = modelSku.getValueAt(selected, 0)+"";\r
+ displaySkuInfoDetails(skuId);\r
}\r
}\r
});\r
if (skuCount == 1) {\r
\r
for (int i = 1; i < jTableSkuInfo.getRowCount(); ++i) {\r
- ffc.genDynamicPcdBuildDataSkuInfo(jTableSkuInfo.getValueAt(i, 0)+"", varName, varGuid, varOffset, hiiDefault, vpdOffset, value, pcdSelected);\r
+ ffc.genDynamicPcdBuildDataSkuInfo(modelSku.getValueAt(i, 0)+"", varName, varGuid, varOffset, hiiDefault, vpdOffset, value, pcdSelected);\r
}\r
}\r
else {\r
if (row < 0) {\r
return;\r
}\r
- ffc.updateDynamicPcdBuildDataSkuInfo(jTableSkuInfo.getValueAt(row, 0)+"", varName, varGuid, varOffset, hiiDefault, vpdOffset, value, pcdSelected);\r
+ ffc.updateDynamicPcdBuildDataSkuInfo(modelSku.getValueAt(row, 0)+"", varName, varGuid, varOffset, hiiDefault, vpdOffset, value, pcdSelected);\r
}\r
}\r
}\r