jButtonFdfBrowse.setEnabled(true);\r
}\r
else {\r
- \r
+ getFvInFdfTableModel().setRowCount(0);\r
jTextFieldFdf.setEnabled(false);\r
+ jTextFieldFdf.setText("");\r
jButtonFdfBrowse.setEnabled(false);\r
+ ffc.genFlashDefinitionFile("");\r
+ docConsole.setSaved(false);\r
+ int selectedBackup = selectedRowInFvAdditionalTable;\r
+ selectedRowInFvAdditionalTable = -1;\r
+ initFvAdditionalTable();\r
+ selectedRowInFvAdditionalTable = selectedBackup;\r
}\r
}\r
});\r
determinedFvBlockSize = blkSize;\r
\r
getFvInFdfTableModel().setRowCount(0);\r
+ Vector<String> vExistingFvNameInFpd = new Vector<String>();\r
+ ffc.getFvImagesFvImageFvImageNames(vExistingFvNameInFpd);\r
for (int j = 0; j < vFvInfo.size(); ++j) {\r
FvInfoFromFdf fvInfo = vFvInfo.get(j);\r
String[] row = {fvInfo.getFvName(), fvInfo.getSize(), fvInfo.getEfiFileName()};\r
+ \r
+ if (row[0].length() > 0 && !vExistingFvNameInFpd.contains(row[0])) {\r
+ ffc.addFvImageFvImageNames(new String[]{row[0]});\r
+ }\r
+ \r
// if FV addtional table contains the same FV from fdf file, remove that row.\r
for (int k = 0; k < jTableFvAdditional.getRowCount(); ++k) {\r
if (fvAdditionalTableModel.getValueAt(k, 0).equals(row[0])) {\r
else {\r
ffc.getFvImagesFvImageOptions(row[0], mOptions);\r
if (mOptions.get("EFI_BLOCK_SIZE") == null || !mOptions.get("EFI_BLOCK_SIZE").equalsIgnoreCase(blkSize)) {\r
- ffc.setTypedNamedFvImageNameValue(row[0], "Options", "EFI_BLOCK_SIZE", blkSize);\r
+ ffc.setTypedNamedFvImageNameValue(row[0], "Options", "EFI_BLOCK_SIZE", blkSize, null);\r
memModified = true;\r
}\r
if (mOptions.get("EFI_NUM_BLOCKS") == null || Integer.decode(mOptions.get("EFI_NUM_BLOCKS")) != numBlocks) {\r
- ffc.setTypedNamedFvImageNameValue(row[0], "Options", "EFI_NUM_BLOCKS", numBlocks + "");\r
+ ffc.setTypedNamedFvImageNameValue(row[0], "Options", "EFI_NUM_BLOCKS", numBlocks + "", null);\r
memModified = true;\r
}\r
if (mOptions.get("EFI_FILE_NAME") == null || !mOptions.get("EFI_FILE_NAME").equals(row[2])) {\r
- ffc.setTypedNamedFvImageNameValue(row[0], "Options", "EFI_FILE_NAME", row[2]);\r
+ ffc.setTypedNamedFvImageNameValue(row[0], "Options", "EFI_FILE_NAME", row[2], null);\r
memModified = true;\r
}\r
\r
else {\r
blkSize = defaultBlkSize;\r
}\r
- ffc.setTypedNamedFvImageNameValue(oldFvName, "Options", "EFI_BLOCK_SIZE", blkSize);\r
+ ffc.setTypedNamedFvImageNameValue(oldFvName, "Options", "EFI_BLOCK_SIZE", blkSize, null);\r
int fs = Integer.decode(fvSize);\r
int bs = Integer.decode(blkSize);\r
- ffc.setTypedNamedFvImageNameValue(oldFvName, "Options", "EFI_NUM_BLOCKS", (fs/bs)+"");\r
+ ffc.setTypedNamedFvImageNameValue(oldFvName, "Options", "EFI_NUM_BLOCKS", (fs/bs)+"", null);\r
docConsole.setSaved(false);\r
}\r
else {\r
if (!DataValidation.isInt(blkSize) && !DataValidation.isHexDoubleWordDataType(blkSize)) {\r
int retVal = JOptionPane.showConfirmDialog(frame, "Confirm", "FPD file contains error block size format. Would you like to replace it with a default value?", JOptionPane.YES_NO_OPTION);\r
if (retVal == JOptionPane.YES_OPTION) {\r
- ffc.setTypedNamedFvImageNameValue(oldFvName, "Options", "EFI_BLOCK_SIZE", defaultBlkSize);\r
+ ffc.setTypedNamedFvImageNameValue(oldFvName, "Options", "EFI_BLOCK_SIZE", defaultBlkSize, null);\r
int fs = Integer.decode(fvSize);\r
int bs = Integer.decode(defaultBlkSize);\r
- ffc.setTypedNamedFvImageNameValue(oldFvName, "Options", "EFI_NUM_BLOCKS", (fs/bs)+"");\r
+ ffc.setTypedNamedFvImageNameValue(oldFvName, "Options", "EFI_NUM_BLOCKS", (fs/bs)+"", null);\r
docConsole.setSaved(false);\r
return;\r
}\r
}\r
int fs = Integer.decode(fvSize);\r
int bs = Integer.decode(blkSize);\r
- ffc.setTypedNamedFvImageNameValue(oldFvName, "Options", "EFI_NUM_BLOCKS", (fs/bs)+"");\r
+ ffc.setTypedNamedFvImageNameValue(oldFvName, "Options", "EFI_NUM_BLOCKS", (fs/bs)+"", null);\r
docConsole.setSaved(false);\r
}\r
}\r
\r
if (col == 2 && !fileFromOptionDlg) {\r
- ffc.setTypedNamedFvImageNameValue(oldFvName, "Options", "EFI_FILE_NAME", m.getValueAt(row, col)+"");\r
+ ffc.setTypedNamedFvImageNameValue(oldFvName, "Options", "EFI_FILE_NAME", m.getValueAt(row, col)+"", null);\r
docConsole.setSaved(false);\r
}\r
\r
jTextFieldFdf.setText("");\r
String fdfFile = ffc.getFlashDefinitionFile();\r
if (fdfFile != null && fdfFile.length() > 0) {\r
+ jCheckBoxFdf.setSelected(true);\r
jTextFieldFdf.setText(fdfFile);\r
String fdfPath = System.getenv("WORKSPACE") + File.separator + fdfFile;\r
initFvInFdfTable(fdfPath);\r
private Vector<Object> vKeyWords = new Vector<Object>();\r
\r
public boolean isCellEditable(int row, int col) {\r
+\r
if (vNonEditableName.size() > 0 || vKeyWords.size() > 0) {\r
if (vKeyWords.contains(getValueAt(row, 0))) {\r
return false;\r
if (vNonEditableName.contains(getValueAt(row, 0)) && col == 0) {\r
return false;\r
}\r
- } \r
+ }\r
+ \r
+ if (col == 0 && getValueAt(row, 0) != null && getValueAt(row, 0).toString().length() > 0) {\r
+ return false;\r
+ }\r
\r
return true;\r
}\r