private JLabel jLabelFvImageNames = null;\r
private JLabel jLabelFvParaName = null;\r
private JTextField jTextFieldFvParaName = null;\r
- private JButton jButtonFvParaAdd = null;\r
+ private JButton jButtonFvNameAdd = null;\r
private JScrollPane jScrollPaneFvImageNames = null;\r
private JTable jTableFvImageNames = null;\r
- private JButton jButtonFvParaDel = null;\r
+ private JButton jButtonFvNameDel = null;\r
private JPanel jPanelFvImageOpts = null;\r
private JButton jButtonAddFvImage = null;\r
private JScrollPane jScrollPaneFvInfo = null;\r
private JPanel jPanelBgFvName = null;\r
private JPanel jPanelBgFvImage = null;\r
private JPanel jPanelW = null;\r
+ private String oldFvNameInFvImage = "";\r
\r
public FpdFlash() {\r
super();\r
jComboBoxFvParaType = new JComboBox();\r
jComboBoxFvParaType.addItem("Attributes");\r
jComboBoxFvParaType.addItem("Components");\r
+ jComboBoxFvParaType.setSelectedIndex(0);\r
jComboBoxFvParaType.setPreferredSize(new java.awt.Dimension(180,20));\r
jComboBoxFvParaType.addItemListener(new ItemListener() {\r
\r
* \r
* @return javax.swing.JButton \r
*/\r
- private JButton getJButtonFvParaAdd() {\r
- if (jButtonFvParaAdd == null) {\r
- jButtonFvParaAdd = new JButton();\r
- jButtonFvParaAdd.setPreferredSize(new Dimension(80, 20));\r
- jButtonFvParaAdd.setEnabled(true);\r
- jButtonFvParaAdd.setText("Add");\r
- jButtonFvParaAdd.addActionListener(new AbstractAction() {\r
+ private JButton getJButtonFvNameAdd() {\r
+ if (jButtonFvNameAdd == null) {\r
+ jButtonFvNameAdd = new JButton();\r
+ jButtonFvNameAdd.setPreferredSize(new Dimension(80, 20));\r
+ jButtonFvNameAdd.setEnabled(true);\r
+ jButtonFvNameAdd.setText("Add");\r
+ jButtonFvNameAdd.addActionListener(new AbstractAction() {\r
/**\r
* \r
*/\r
public void actionPerformed(java.awt.event.ActionEvent e) {\r
if (jTextFieldFvParaName.getText().length() > 0){\r
String[] row = {jTextFieldFvParaName.getText()}; \r
- fvImageNameTableModel.addRow(row);\r
- if (jTableFvInfo.getSelectedRow() < 0) {\r
+ int selectedRow = jTableFvInfo.getSelectedRow();\r
+ if (selectedRow < 0) {\r
return;\r
}\r
\r
- String fvNameList = jTableFvInfo.getValueAt(jTableFvInfo.getSelectedRow(), 0)+"";\r
- String type = jTableFvInfo.getValueAt(jTableFvInfo.getSelectedRow(), 1)+"";\r
+ String fvNameList = jTableFvInfo.getValueAt(selectedRow, 0)+"";\r
+ String type = jTableFvInfo.getValueAt(selectedRow, 1)+"";\r
int fvImagePos = ffc.getFvImagePosInFvImages(fvNameList, type);\r
\r
if (fvImagePos < 0) {\r
// new FvImage.\r
+ ffc.genFvImagesFvImage(row, jComboBoxFvParaType.getSelectedItem()+"", null); \r
}\r
else {\r
- //append Fv name. \r
+ //append Fv name.\r
+ ffc.addFvImageNamesInFvImage(fvImagePos, row); \r
}\r
+ docConsole.setSaved(false);\r
+ fvImageNameTableModel.addRow(row);\r
+ fvNameList += " ";\r
+ fvNameList += row[0];\r
+ jTableFvInfo.setValueAt(fvNameList.trim(), selectedRow, 0);\r
+ jTableFvImageNames.changeSelection(jTableFvImageNames.getRowCount() - 1, 0, false, false);\r
}\r
}\r
});\r
}\r
- return jButtonFvParaAdd;\r
+ return jButtonFvNameAdd;\r
}\r
\r
\r
*/\r
private JTable getJTableFvImageNames() {\r
if (jTableFvImageNames == null) {\r
- fvImageNameTableModel = new DefaultTableModel();\r
+ fvImageNameTableModel = new NonEditableTableModel();\r
jTableFvImageNames = new JTable(fvImageNameTableModel);\r
jTableFvImageNames.setRowHeight(20);\r
fvImageNameTableModel.addColumn("FV Image Name");\r
\r
- jTableFvImageNames.getSelectionModel().addListSelectionListener(new ListSelectionListener() {\r
- public void valueChanged(ListSelectionEvent e) {\r
- if (e.getValueIsAdjusting()) {\r
- return;\r
- }\r
- ListSelectionModel lsm = (ListSelectionModel) e.getSource();\r
- if (lsm.isSelectionEmpty()) {\r
- return;\r
- } else {\r
- int selectedRow = lsm.getMinSelectionIndex();\r
- String oldFvName = jTableFvImageNames.getValueAt(selectedRow, 0)+"";\r
- }\r
- }\r
- });\r
- \r
- jTableFvImageNames.getModel().addTableModelListener(new TableModelListener() {\r
- public void tableChanged(TableModelEvent arg0) {\r
- // TODO Auto-generated method stub\r
- int row = arg0.getFirstRow();\r
- int col = arg0.getColumn();\r
- TableModel m = (TableModel) arg0.getSource();\r
- \r
- if (arg0.getType() == TableModelEvent.UPDATE) {\r
- }\r
- }\r
- });\r
}\r
return jTableFvImageNames;\r
}\r
* \r
* @return javax.swing.JButton \r
*/\r
- private JButton getJButtonFvParaDel() {\r
- if (jButtonFvParaDel == null) {\r
- jButtonFvParaDel = new JButton();\r
- jButtonFvParaDel.setPreferredSize(new Dimension(80, 20));\r
- jButtonFvParaDel.setEnabled(true);\r
- jButtonFvParaDel.setText("Delete");\r
- jButtonFvParaDel.addActionListener(new AbstractAction() {\r
+ private JButton getJButtonFvNameDel() {\r
+ if (jButtonFvNameDel == null) {\r
+ jButtonFvNameDel = new JButton();\r
+ jButtonFvNameDel.setPreferredSize(new Dimension(80, 20));\r
+ jButtonFvNameDel.setEnabled(true);\r
+ jButtonFvNameDel.setText("Delete");\r
+ jButtonFvNameDel.addActionListener(new AbstractAction() {\r
/**\r
* \r
*/\r
\r
public void actionPerformed(java.awt.event.ActionEvent e) {\r
if (jTableFvImageNames.getSelectedRow() >= 0){\r
- \r
+ int selectedRow = jTableFvInfo.getSelectedRow();\r
+ if (selectedRow < 0) {\r
+ return;\r
+ }\r
+ \r
+ String selectedFvName = jTableFvImageNames.getValueAt(jTableFvImageNames.getSelectedRow(), 0)+"";\r
+ String fvNameList = jTableFvInfo.getValueAt(selectedRow, 0)+"";\r
+ String type = jTableFvInfo.getValueAt(selectedRow, 1)+"";\r
+ int fvImagePos = ffc.getFvImagePosInFvImages(fvNameList, type);\r
+ \r
+ if (fvImagePos < 0) {\r
+ return; \r
+ }\r
+ else {\r
+ //delete Fv name.\r
+ ffc.updateFvImageNamesInFvImage(fvImagePos, selectedFvName, null);\r
+ }\r
+ docConsole.setSaved(false);\r
+ String newList = removeFvNameFromList(fvNameList, selectedFvName);\r
+ jTableFvInfo.setValueAt(newList, selectedRow, 0); \r
fvImageNameTableModel.removeRow(jTableFvImageNames.getSelectedRow());\r
}\r
}\r
});\r
}\r
- return jButtonFvParaDel;\r
- }\r
-\r
-\r
+ return jButtonFvNameDel;\r
+ }\r
+\r
+ private String removeFvNameFromList (String list, String name) {\r
+ String[] nameArray = list.split(" ");\r
+ int occursAt = -1;\r
+ for (int i = 0; i < nameArray.length; ++i) {\r
+ if (nameArray[i].equals(name)) {\r
+ occursAt = i;\r
+ break;\r
+ }\r
+ }\r
+ \r
+ if (occursAt == -1) {\r
+ return list;\r
+ }\r
+ \r
+ String newList = " ";\r
+ for (int j = 0; j < nameArray.length; ++j) {\r
+ if (j != occursAt) {\r
+ newList += nameArray[j];\r
+ newList += " ";\r
+ }\r
+ }\r
+ \r
+ return newList.trim();\r
+ }\r
\r
\r
private JPanel getJPanelFvImageOpts() {\r
private static final long serialVersionUID = 1L;\r
\r
public void actionPerformed(java.awt.event.ActionEvent e) {\r
- if (jTableFvInfo.isEditing()) {\r
- jTableFvInfo.getCellEditor().stopCellEditing();\r
- }\r
- if (jTableFvImageOpts.isEditing()) {\r
- jTableFvImageOpts.getCellEditor().stopCellEditing();\r
- }\r
- if (jTableFvImageNames.getRowCount()== 0){\r
- return;\r
- }\r
- String imageName = " ";\r
- for (int i = 0; i < jTableFvImageNames.getRowCount(); ++i){\r
- imageName += (String)jTableFvImageNames.getValueAt(i, 0);\r
- imageName += " ";\r
- }\r
- imageName = imageName.trim();\r
\r
- \r
- \r
- LinkedHashMap<String, String> m = null;\r
-// if (jCheckBoxFvImageOpts.isSelected()) {\r
- m = new LinkedHashMap<String, String>();\r
- getOptionNameValue(m);\r
+// String imageName = " ";\r
+// for (int i = 0; i < jTableFvImageNames.getRowCount(); ++i){\r
+// imageName += (String)jTableFvImageNames.getValueAt(i, 0);\r
+// imageName += " ";\r
// }\r
- ffc.genFvImagesFvImage(imageName.split(" "), jComboBoxFvParaType.getSelectedItem()+"", m);\r
- docConsole.setSaved(false);\r
- Object[] row = {imageName, jComboBoxFvParaType.getSelectedItem()};\r
- fvImageParaTableModel.addRow(row); \r
+// imageName = imageName.trim();\r
+ \r
+// LinkedHashMap<String, String> m = null;\r
+// m = new LinkedHashMap<String, String>();\r
+// getOptionNameValue(m);\r
+// ffc.genFvImagesFvImage(imageName.split(" "), jComboBoxFvParaType.getSelectedItem()+"", m);\r
+// docConsole.setSaved(false);\r
+ fvImageNameTableModel.setRowCount(0);\r
+ fvOptionTableModel.setRowCount(0);\r
+ Object[] row = {"", jComboBoxFvParaType.getSelectedItem()};\r
+ fvImageParaTableModel.addRow(row);\r
+ jTableFvInfo.changeSelection(jTableFvInfo.getRowCount() - 1, 0, false, false);\r
}\r
});\r
}\r
jComboBoxFvParaType.setSelectedItem(type);\r
String[] fvNames = fvNameList.split(" ");\r
fvImageNameTableModel.setRowCount(0);\r
+ fvOptionTableModel.setRowCount(0);\r
for (int i = 0; i < fvNames.length; ++i) {\r
String[] row = { fvNames[i] };\r
- fvImageNameTableModel.addRow(row);\r
+ if (row[0].length() > 0) {\r
+ fvImageNameTableModel.addRow(row);\r
+ }\r
}\r
\r
int fvImagePos = ffc.getFvImagePosInFvImages(fvNameList, type);\r
LinkedHashMap<String, String> optionMap = new LinkedHashMap<String, String>();\r
ffc.getFvImagesFvImageOptions(fvImagePos, optionMap);\r
if (optionMap.size() > 0){\r
- fvOptionTableModel.setRowCount(0);\r
Set<String> key = optionMap.keySet();\r
Iterator<String> i = key.iterator();\r
while (i.hasNext()) {\r
public void actionPerformed(ActionEvent arg0) {\r
// TODO Auto-generated method stub\r
if (jTableFvInfo.getSelectedRow() >= 0 ) {\r
- ffc.removeFvImagesFvImage(jTableFvInfo.getSelectedRow());\r
+ String fvNameList = fvImageParaTableModel.getValueAt(jTableFvInfo.getSelectedRow(), 0)+"";\r
+ int fvImagePos = ffc.getFvImagePosInFvImages(fvNameList, jComboBoxFvParaType.getSelectedItem()+"");\r
+ \r
+ ffc.removeFvImagesFvImage(fvImagePos);\r
fvImageParaTableModel.removeRow(jTableFvInfo.getSelectedRow());\r
docConsole.setSaved(false);\r
+ \r
+ fvImageNameTableModel.setRowCount(0);\r
+ fvOptionTableModel.setRowCount(0);\r
}\r
}\r
\r
JOptionPane.showMessageDialog(frame, "FDF file does NOT contain valid Erase Polarity.");\r
}\r
else {\r
- ffc.setTypedFvImageNameValue("Attributes", "ErasePolarity", erasePolarity);\r
+ ffc.setTypedFvImageNameValue("Attributes", "EFI_ERASE_POLARITY", erasePolarity);\r
}\r
\r
// BugBug: assume all blocks have same size;\r
\r
public void actionPerformed(ActionEvent e) {\r
if (jTextFieldFvImageOptName.getText().length() > 0 && jTextFieldFvImageOptValue.getText().length() > 0){\r
- String[] row = {jTextFieldFvImageOptName.getText(), jTextFieldFvImageOptValue.getText()}; \r
+ int selectedRow = jTableFvInfo.getSelectedRow();\r
+ if (selectedRow < 0) {\r
+ return;\r
+ }\r
+ \r
+ String fvNameList = jTableFvInfo.getValueAt(selectedRow, 0)+"";\r
+ String type = jTableFvInfo.getValueAt(selectedRow, 1)+"";\r
+ int fvImagePos = ffc.getFvImagePosInFvImages(fvNameList, type);\r
+ String[] row = {jTextFieldFvImageOptName.getText(), jTextFieldFvImageOptValue.getText()};\r
+ \r
+ if (fvImagePos < 0) {\r
+ return;\r
+ }\r
+ else {\r
+ //append options to FvImage.\r
+ ffc.setFvImagesFvImageNameValue(fvImagePos, row[0], row[1]);\r
+ }\r
+ docConsole.setSaved(false);\r
fvOptionTableModel.addRow(row);\r
+ jTableFvImageOpts.changeSelection(jTableFvImageOpts.getRowCount() - 1, 0, false, false);\r
}\r
}\r
});\r
\r
public void actionPerformed(ActionEvent e) {\r
if (jTableFvImageOpts.getSelectedRow() >= 0){\r
- fvOptionTableModel.removeRow(jTableFvProp.getSelectedRow());\r
+ int selectedRow = jTableFvInfo.getSelectedRow();\r
+ if (selectedRow < 0) {\r
+ return;\r
+ }\r
+ \r
+ String fvNameList = jTableFvInfo.getValueAt(selectedRow, 0)+"";\r
+ String type = jTableFvInfo.getValueAt(selectedRow, 1)+"";\r
+ int fvImagePos = ffc.getFvImagePosInFvImages(fvNameList, type);\r
+ if (fvImagePos < 0) {\r
+ return;\r
+ }\r
+ \r
+ String optName = fvOptionTableModel.getValueAt(jTableFvImageOpts.getSelectedRow(), 0)+"";\r
+ ffc.removeFvImageNameValue(fvImagePos, optName);\r
+ docConsole.setSaved(false);\r
+ fvOptionTableModel.removeRow(jTableFvImageOpts.getSelectedRow());\r
}\r
}\r
});\r
*/\r
private JTable getJTableFvImageOpts() {\r
if (jTableFvImageOpts == null) {\r
- fvOptionTableModel = new DefaultTableModel();\r
+ fvOptionTableModel = new NonEditableTableModel();\r
fvOptionTableModel.addColumn("Name");\r
fvOptionTableModel.addColumn("Value");\r
jTableFvImageOpts = new JTable(fvOptionTableModel);\r
jTabbedPane.addTab(newFvName, new ModuleOrderPane(newFvName, ""));\r
// Add FvImageNames in Flash\r
String[] fvNames = {newFvName};\r
- ffc.AddFvImageFvImageNames(fvNames);\r
+ ffc.addFvImageFvImageNames(fvNames);\r
}\r
docConsole.setSaved(false);\r
oldFvName = newFvName;\r
if (jPanelBgFvName == null) {\r
jPanelBgFvName = new JPanel();\r
jPanelBgFvName.setPreferredSize(new java.awt.Dimension(80,55));\r
- jPanelBgFvName.add(getJButtonFvParaAdd(), null);\r
- jPanelBgFvName.add(getJButtonFvParaDel(), null);\r
+ jPanelBgFvName.add(getJButtonFvNameAdd(), null);\r
+ jPanelBgFvName.add(getJButtonFvNameDel(), null);\r
}\r
return jPanelBgFvName;\r
}\r