\r
FvImagesDocument.FvImages.FvImage.FvImageOptions.NameValue nv = fio.addNewNameValue();\r
String k = (String)i.next();\r
- if (k.equals("EFI_ALIGNMENT_CAP")) {\r
- nv.setName(k);\r
- nv.setValue("TRUE");\r
- setFvImageOptionsAlign((String)options.get(k), fio);\r
- continue;\r
- }\r
+ \r
nv.setName(k);\r
nv.setValue((String)options.get(k));\r
\r
\r
}\r
\r
- private void setFvImageOptionsAlign(String alignValue, FvImagesDocument.FvImages.FvImage.FvImageOptions fio) {\r
- int numForm = -1;\r
- if (alignValue.endsWith("K")) {\r
- alignValue = alignValue.substring(0, alignValue.length()-1);\r
- numForm = new Integer(alignValue).intValue() * 1024;\r
- }\r
- else {\r
- numForm = new Integer(alignValue).intValue();\r
- }\r
- \r
- FvImagesDocument.FvImages.FvImage.FvImageOptions.NameValue nv = null;\r
- if (numForm / (64*1024) >= 1) {\r
- nv = fio.addNewNameValue();\r
- nv.setName("EFI_ALIGNMENT_64K");\r
- nv.setValue("TRUE");\r
- }\r
- else {\r
- nv = fio.addNewNameValue();\r
- nv.setName("EFI_ALIGNMENT_64K");\r
- nv.setValue("FALSE");\r
- }\r
- \r
- if (numForm / (32*1024) >= 1) {\r
- nv = fio.addNewNameValue();\r
- nv.setName("EFI_ALIGNMENT_32K");\r
- nv.setValue("TRUE");\r
- }\r
- else {\r
- nv = fio.addNewNameValue();\r
- nv.setName("EFI_ALIGNMENT_32K");\r
- nv.setValue("FALSE");\r
- }\r
- \r
- if (numForm / (16*1024) >= 1) {\r
- nv = fio.addNewNameValue();\r
- nv.setName("EFI_ALIGNMENT_16K");\r
- nv.setValue("TRUE");\r
- }\r
- else {\r
- nv = fio.addNewNameValue();\r
- nv.setName("EFI_ALIGNMENT_16K");\r
- nv.setValue("FALSE");\r
- }\r
- \r
- if (numForm / (8*1024) >= 1) {\r
- nv = fio.addNewNameValue();\r
- nv.setName("EFI_ALIGNMENT_8K");\r
- nv.setValue("TRUE");\r
- }\r
- else {\r
- nv = fio.addNewNameValue();\r
- nv.setName("EFI_ALIGNMENT_8K");\r
- nv.setValue("FALSE");\r
- }\r
- \r
- if (numForm / (4*1024) >= 1) {\r
- nv = fio.addNewNameValue();\r
- nv.setName("EFI_ALIGNMENT_4K");\r
- nv.setValue("TRUE");\r
- }\r
- else {\r
- nv = fio.addNewNameValue();\r
- nv.setName("EFI_ALIGNMENT_4K");\r
- nv.setValue("FALSE");\r
- }\r
- \r
- if (numForm / (2*1024) >= 1) {\r
- nv = fio.addNewNameValue();\r
- nv.setName("EFI_ALIGNMENT_2K");\r
- nv.setValue("TRUE");\r
- }\r
- else {\r
- nv = fio.addNewNameValue();\r
- nv.setName("EFI_ALIGNMENT_2K");\r
- nv.setValue("FALSE");\r
- }\r
- \r
- if (numForm / (1*1024) >= 1) {\r
- nv = fio.addNewNameValue();\r
- nv.setName("EFI_ALIGNMENT_1K");\r
- nv.setValue("TRUE");\r
- }\r
- else {\r
- nv = fio.addNewNameValue();\r
- nv.setName("EFI_ALIGNMENT_1K");\r
- nv.setValue("FALSE");\r
- }\r
- \r
- if (numForm / (512) >= 1) {\r
- nv = fio.addNewNameValue();\r
- nv.setName("EFI_ALIGNMENT_512");\r
- nv.setValue("TRUE");\r
- }\r
- else {\r
- nv = fio.addNewNameValue();\r
- nv.setName("EFI_ALIGNMENT_512");\r
- nv.setValue("FALSE");\r
- }\r
- \r
- if (numForm / (256) >= 1) {\r
- nv = fio.addNewNameValue();\r
- nv.setName("EFI_ALIGNMENT_256");\r
- nv.setValue("TRUE");\r
- }\r
- else {\r
- nv = fio.addNewNameValue();\r
- nv.setName("EFI_ALIGNMENT_256");\r
- nv.setValue("FALSE");\r
- }\r
- \r
- if (numForm / (128) >= 1) {\r
- nv = fio.addNewNameValue();\r
- nv.setName("EFI_ALIGNMENT_128");\r
- nv.setValue("TRUE");\r
- }\r
- else {\r
- nv = fio.addNewNameValue();\r
- nv.setName("EFI_ALIGNMENT_128");\r
- nv.setValue("FALSE");\r
- }\r
- \r
- if (numForm / (64) >= 1) {\r
- nv = fio.addNewNameValue();\r
- nv.setName("EFI_ALIGNMENT_64");\r
- nv.setValue("TRUE");\r
- }\r
- else {\r
- nv = fio.addNewNameValue();\r
- nv.setName("EFI_ALIGNMENT_64");\r
- nv.setValue("FALSE");\r
- }\r
- \r
- if (numForm / (32) >= 1) {\r
- nv = fio.addNewNameValue();\r
- nv.setName("EFI_ALIGNMENT_32");\r
- nv.setValue("TRUE");\r
- }\r
- else {\r
- nv = fio.addNewNameValue();\r
- nv.setName("EFI_ALIGNMENT_32");\r
- nv.setValue("FALSE");\r
- }\r
- \r
- if (numForm / (16) >= 1) {\r
- nv = fio.addNewNameValue();\r
- nv.setName("EFI_ALIGNMENT_16");\r
- nv.setValue("TRUE");\r
- }\r
- else {\r
- nv = fio.addNewNameValue();\r
- nv.setName("EFI_ALIGNMENT_16");\r
- nv.setValue("FALSE");\r
- }\r
- \r
- if (numForm / (8) >= 1) {\r
- nv = fio.addNewNameValue();\r
- nv.setName("EFI_ALIGNMENT_8");\r
- nv.setValue("TRUE");\r
- }\r
- else {\r
- nv = fio.addNewNameValue();\r
- nv.setName("EFI_ALIGNMENT_8");\r
- nv.setValue("FALSE");\r
- }\r
- \r
- if (numForm / (4) >= 1) {\r
- nv = fio.addNewNameValue();\r
- nv.setName("EFI_ALIGNMENT_4");\r
- nv.setValue("TRUE");\r
- }\r
- else {\r
- nv = fio.addNewNameValue();\r
- nv.setName("EFI_ALIGNMENT_4");\r
- nv.setValue("FALSE");\r
- }\r
- \r
- if (numForm / (2) >= 1) {\r
- nv = fio.addNewNameValue();\r
- nv.setName("EFI_ALIGNMENT_2");\r
- nv.setValue("TRUE");\r
- }\r
- else {\r
- nv = fio.addNewNameValue();\r
- nv.setName("EFI_ALIGNMENT_2");\r
- nv.setValue("FALSE");\r
- }\r
- \r
- }\r
\r
public void removeFvImagesFvImage(int i) {\r
\r
return getfpdFlash().getFvImages().getFvImageList().size();\r
}\r
\r
- public void getFvImagesFvImages(String[][] saa, ArrayList<LinkedHashMap<String, String>> options) {\r
+ /**Only Get Fv image setting - name and type.\r
+ * @param saa\r
+ */\r
+ public void getFvImagesFvImages(String[][] saa) {\r
\r
if (getfpdFlash().getFvImages() == null) {\r
return;\r
\r
saa[i][1] = fi.getType()+"";\r
\r
- //\r
- // get FvImageOptions into Map[i]\r
- //\r
- FvImagesDocument.FvImages.FvImage.FvImageOptions fo = fi.getFvImageOptions();\r
- if (fo == null) {\r
- ++i;\r
- continue;\r
+ ++i;\r
+ }\r
+ }\r
+ \r
+ /**Get FvImage Options for FvImage i\r
+ * @param i the ith FvImage\r
+ */\r
+ public void getFvImagesFvImageOptions(int i, Map<String, String> m) {\r
+ XmlObject o = getfpdFlash().getFvImages();\r
+ if (o == null) {\r
+ return;\r
+ }\r
+ XmlCursor cursor = o.newCursor();\r
+ QName qFvImage = new QName(xmlNs, "FvImage");\r
+ if (cursor.toChild(qFvImage)) {\r
+ for (int j = 0; j < i; ++j) {\r
+ cursor.toNextSibling(qFvImage);\r
}\r
- List<FvImagesDocument.FvImages.FvImage.FvImageOptions.NameValue> lnv = fo.getNameValueList();\r
- if (lnv == null || lnv.isEmpty()) {\r
- ++i;\r
- continue;\r
+ FvImagesDocument.FvImages.FvImage fi = (FvImagesDocument.FvImages.FvImage)cursor.getObject();\r
+ if (fi.getFvImageOptions() == null || fi.getFvImageOptions().getNameValueList() == null){\r
+ return;\r
}\r
- ListIterator lnvi = lnv.listIterator();\r
- while (lnvi.hasNext()) {\r
- FvImagesDocument.FvImages.FvImage.FvImageOptions.NameValue nv = (FvImagesDocument.FvImages.FvImage.FvImageOptions.NameValue)lnvi.next();\r
- Map<String, String> m = options.get(i);\r
+ ListIterator<FvImagesDocument.FvImages.FvImage.FvImageOptions.NameValue> li = fi.getFvImageOptions().getNameValueList().listIterator();\r
+ while(li.hasNext()){\r
+ FvImagesDocument.FvImages.FvImage.FvImageOptions.NameValue nv = li.next();\r
m.put(nv.getName(), nv.getValue());\r
}\r
- \r
- ++i;\r
}\r
}\r
\r
import javax.swing.JButton;\r
import javax.swing.ListSelectionModel;\r
\r
+import org.tianocore.FvImagesDocument;\r
import org.tianocore.PlatformSurfaceAreaDocument;\r
import org.tianocore.frameworkwizard.common.ui.IInternalFrame;\r
import org.tianocore.frameworkwizard.common.ui.StarLabel;\r
private DefaultTableModel fvPropertyTableModel = null;\r
private DefaultTableModel fvImageNameTableModel = null;\r
private ImageParaTableModel fvImageParaTableModel = null;\r
+ private DefaultTableModel fvOptionTableModel = null;\r
private JPanel jPanelFvImageC = null;\r
private JCheckBox jCheckBox2 = null;\r
private JLabel jLabel2 = null;\r
private JTable jTable2 = null;\r
private JButton jButton6 = null;\r
private JCheckBox jCheckBox3 = null;\r
- private JLabel jLabel5 = null;\r
- private JComboBox jComboBox1 = null;\r
- private JCheckBox jCheckBox4 = null;\r
- private JCheckBox jCheckBox5 = null;\r
- private JCheckBox jCheckBox6 = null;\r
- private JCheckBox jCheckBox7 = null;\r
- private JCheckBox jCheckBox8 = null;\r
- private JCheckBox jCheckBox9 = null;\r
- private JCheckBox jCheckBox10 = null;\r
- private JCheckBox jCheckBox11 = null;\r
- private JCheckBox jCheckBox12 = null;\r
- private JCheckBox jCheckBox13 = null;\r
private JPanel jPanel6 = null;\r
\r
private FpdFileContents ffc = null;\r
private JCheckBox jCheckBox = null;\r
private JTextField jTextField3 = null;\r
private JButton jButton5 = null;\r
+ private JLabel jLabel5 = null;\r
+ private JTextField jTextField4 = null;\r
private JLabel jLabel6 = null;\r
- private JComboBox jComboBox2 = null;\r
+ private JTextField jTextField5 = null;\r
+ private JPanel jPanel8 = null;\r
+ private JButton jButton7 = null;\r
+ private JButton jButton8 = null;\r
+ private JScrollPane jScrollPane = null;\r
+ private JTable jTable3 = null;\r
+ private JButton jButton9 = null;\r
public FpdFlash() {\r
super();\r
// TODO Auto-generated constructor stub\r
if (jPanel5 == null) {\r
//ToDo add ButtonGroup for RadioButtons\r
jLabel6 = new JLabel();\r
- jLabel6.setText("EFI Alignment CAP");\r
jLabel6.setEnabled(false);\r
+ jLabel6.setText("Value");\r
+ jLabel6.setPreferredSize(new Dimension(38, 20));\r
+ jLabel5 = new JLabel();\r
+ jLabel5.setEnabled(false);\r
+ jLabel5.setText("Name");\r
+ jLabel5.setPreferredSize(new Dimension(38, 20));\r
jPanel5 = new JPanel();\r
jPanel5.setPreferredSize(new java.awt.Dimension(480,150));\r
\r
- GridLayout gridLayout = new GridLayout();\r
- gridLayout.setRows(6);\r
- gridLayout.setColumns(3);\r
- jPanel5.setLayout(gridLayout);\r
- jPanel5.add(getJCheckBox3(), null);\r
+ jPanel5.setLayout(new FlowLayout());\r
\r
- jLabel5 = new JLabel();\r
- jLabel5.setText("EFI_ERASE_POLARITY");\r
- jLabel5.setEnabled(false);\r
- jPanel5.add(jLabel5, null);\r
- jPanel5.add(getJComboBox1(), null);\r
- jPanel5.add(getJCheckBox4(), null);\r
- jPanel5.add(getJCheckBox5(), null);\r
- jPanel5.add(getJCheckBox6(), null);\r
- jPanel5.add(getJCheckBox7(), null);\r
- jPanel5.add(getJCheckBox8(), null);\r
- jPanel5.add(getJCheckBox9(), null);\r
- jPanel5.add(getJCheckBox10(), null);\r
- jPanel5.add(getJCheckBox11(), null);\r
- jPanel5.add(getJCheckBox12(), null);\r
- jPanel5.add(getJCheckBox13(), null);\r
jPanel5.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.LOWERED));\r
+ jPanel5.add(getJCheckBox3(), null);\r
+ jPanel5.add(jLabel5, null);\r
+ jPanel5.add(getJTextField4(), null);\r
jPanel5.add(jLabel6, null);\r
- jPanel5.add(getJComboBox2(), null);\r
+ jPanel5.add(getJTextField5(), null);\r
+ jPanel5.add(getJScrollPane(), null);\r
+ jPanel5.add(getJPanel8(), null);\r
jPanel5.add(getJButton4(), null);\r
jPanel5.add(getJButton6(), null);\r
+ jPanel5.add(getJButton9(), null);\r
\r
\r
\r
private JButton getJButton4() {\r
if (jButton4 == null) {\r
jButton4 = new JButton();\r
- jButton4.setPreferredSize(new java.awt.Dimension(80,20));\r
+ jButton4.setPreferredSize(new java.awt.Dimension(120,20));\r
// jButton4.setEnabled(false);\r
jButton4.setText("Add FV Image");\r
jButton4.addActionListener(new AbstractAction() {\r
private static final long serialVersionUID = 1L;\r
\r
public void actionPerformed(java.awt.event.ActionEvent e) {\r
+ if (jTable2.isEditing()) {\r
+ jTable2.getCellEditor().stopCellEditing();\r
+ }\r
+ if (jTable3.isEditing()) {\r
+ jTable3.getCellEditor().stopCellEditing();\r
+ }\r
if (jTable1.getRowCount()== 0){\r
return;\r
}\r
LinkedHashMap<String, String> m = null;\r
if (jCheckBox3.isSelected()) {\r
m = new LinkedHashMap<String, String>();\r
- boolean[] boolArray = {jComboBox1.getSelectedIndex()==0 ? true: false, jCheckBox6.isSelected(), jCheckBox9.isSelected(),\r
- jCheckBox11.isSelected(), jCheckBox12.isSelected(),\r
- jCheckBox13.isSelected(),jCheckBox4.isSelected(),\r
- jCheckBox5.isSelected(), jCheckBox7.isSelected(),\r
- jCheckBox8.isSelected(),jCheckBox10.isSelected()};\r
- booleanToNameValue(boolArray, m);\r
+ getOptionNameValue(m);\r
}\r
ffc.genFvImagesFvImage(imageName.split(" "), jComboBox.getSelectedItem()+"", m);\r
\r
- Object[] o = {imageName, jComboBox.getSelectedItem(), jComboBox1.getSelectedIndex()==0 ? true: false, \r
- jCheckBox6.isSelected(), jCheckBox9.isSelected(),\r
- jCheckBox11.isSelected(), jCheckBox12.isSelected(),\r
- jCheckBox13.isSelected(),jCheckBox4.isSelected(),\r
- jCheckBox5.isSelected(), jCheckBox7.isSelected(),\r
- jCheckBox8.isSelected(),jCheckBox10.isSelected()};\r
- fvImageParaTableModel.addRow(o); \r
+ Object[] row = {imageName, jComboBox.getSelectedItem()};\r
+ fvImageParaTableModel.addRow(row); \r
}\r
});\r
}\r
if (jTable2 == null) {\r
fvImageParaTableModel = new ImageParaTableModel();\r
jTable2 = new JTable(fvImageParaTableModel);\r
- jTable2.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF);\r
fvImageParaTableModel.addColumn("FvImageNames");\r
fvImageParaTableModel.addColumn("Type");\r
- fvImageParaTableModel.addColumn("ErasePolarity");\r
- fvImageParaTableModel.addColumn("ReadStatus");\r
- fvImageParaTableModel.addColumn("WriteStatus");\r
- fvImageParaTableModel.addColumn("LockStatus");\r
- fvImageParaTableModel.addColumn("MemoryMapped");\r
- fvImageParaTableModel.addColumn("StickyWrite");\r
- fvImageParaTableModel.addColumn("ReadDisableCap");\r
- fvImageParaTableModel.addColumn("ReadEnableCap");\r
- fvImageParaTableModel.addColumn("WriteDisableCap");\r
- fvImageParaTableModel.addColumn("WriteEnableCap");\r
- fvImageParaTableModel.addColumn("LockCap");\r
- fvImageParaTableModel.addColumn("Alignment");\r
+ \r
\r
TableColumn typeCol = jTable2.getColumnModel().getColumn(1);\r
JComboBox cb = new JComboBox();\r
cb.addItem("Components");\r
typeCol.setCellEditor(new DefaultCellEditor(cb));\r
\r
- TableColumn alignCol = jTable2.getColumnModel().getColumn(13);\r
- JComboBox cb1 = new JComboBox();\r
- cb1.addItem("64K");\r
- cb1.addItem("32K");\r
- cb1.addItem("16K");\r
- cb1.addItem("8K");\r
- cb1.addItem("4K");\r
- cb1.addItem("2K");\r
- cb1.addItem("1K");\r
- cb1.addItem("512");\r
- cb1.addItem("256");\r
- cb1.addItem("128");\r
- cb1.addItem("64");\r
- cb1.addItem("32");\r
- cb1.addItem("16");\r
- cb1.addItem("8");\r
- cb1.addItem("4");\r
- cb1.addItem("2");\r
- alignCol.setCellEditor(new DefaultCellEditor(cb1));\r
- \r
jTable2.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
jTable2.getSelectionModel().addListSelectionListener(new ListSelectionListener(){\r
public void valueChanged(ListSelectionEvent e) {\r
return;\r
}\r
else{\r
-// selectedRow = lsm.getMinSelectionIndex();\r
- }\r
- }\r
- });\r
- \r
- jTable2.getModel().addTableModelListener(new TableModelListener(){\r
- public void tableChanged(TableModelEvent arg0) {\r
- // TODO Auto-generated method stub\r
- int row = arg0.getFirstRow();\r
- TableModel m = (TableModel)arg0.getSource();\r
- if (arg0.getType() == TableModelEvent.UPDATE){\r
- //ToDo Check data validity before update\r
- String name = m.getValueAt(row, 0) + "";\r
- String type = m.getValueAt(row, 1) + "";\r
- boolean[] boolArray = new boolean[11];\r
- for (int i = 2; i < 13; ++i) {\r
- boolArray[i-2] = (Boolean)m.getValueAt(row, i);\r
+ int selectedRow = lsm.getMinSelectionIndex();\r
+ LinkedHashMap<String, String> optionMap = new LinkedHashMap<String, String>();\r
+ ffc.getFvImagesFvImageOptions(selectedRow, 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
+ \r
+ String k = (String)i.next();\r
+ String[] row = {k, optionMap.get(k)};\r
+ \r
+ fvOptionTableModel.addRow(row);\r
+ }\r
}\r
- LinkedHashMap<String, String> lhm = new LinkedHashMap<String, String>();\r
- booleanToNameValue(boolArray, lhm);\r
- lhm.put("EFI_ALIGNMENT_CAP", m.getValueAt(row, 13)+"");\r
-\r
- ffc.updateFvImagesFvImage(row, name.split(" "), type, lhm);\r
+ \r
}\r
}\r
});\r
+ \r
+ \r
}\r
return jTable2;\r
}\r
private JButton getJButton6() {\r
if (jButton6 == null) {\r
jButton6 = new JButton();\r
- jButton6.setPreferredSize(new java.awt.Dimension(150,20));\r
+ jButton6.setPreferredSize(new java.awt.Dimension(120,20));\r
// jButton6.setEnabled(false);\r
jButton6.setText("Delete Row");\r
jButton6.addActionListener(new AbstractAction() {\r
\r
public void itemStateChanged(ItemEvent arg0) {\r
// TODO Auto-generated method stub\r
- boolean seleted = jCheckBox3.isSelected();\r
+ boolean selected = jCheckBox3.isSelected();\r
\r
if (!jCheckBox2.isSelected() || jComboBox.getSelectedIndex() == 0) {\r
return;\r
}\r
\r
- jLabel5.setEnabled(seleted);\r
- jComboBox1.setEnabled(seleted);\r
- \r
- jCheckBox4.setEnabled(seleted);\r
- jCheckBox5.setEnabled(seleted);\r
- jCheckBox6.setEnabled(seleted);\r
- jCheckBox7.setEnabled(seleted);\r
- jCheckBox8.setEnabled(seleted);\r
- jCheckBox9.setEnabled(seleted);\r
- jCheckBox10.setEnabled(seleted);\r
- jCheckBox11.setEnabled(seleted);\r
- jCheckBox12.setEnabled(seleted);\r
- jCheckBox13.setEnabled(seleted);\r
- jLabel6.setEnabled(seleted);\r
- jComboBox2.setEnabled(seleted);\r
-// jButton4.setEnabled(seleted);\r
-// jButton6.setEnabled(seleted);\r
+// jLabel5.setEnabled(selected);\r
+// jTextField4.setEnabled(selected);\r
+// jLabel6.setEnabled(selected);\r
+// jTextField5.setEnabled(selected);\r
+// jButton7.setEnabled(selected);\r
+// jButton8.setEnabled(selected);\r
+\r
}\r
\r
});\r
}\r
\r
\r
- /**\r
- * This method initializes jComboBox1 \r
- * \r
- * @return javax.swing.JComboBox \r
- */\r
- private JComboBox getJComboBox1() {\r
- if (jComboBox1 == null) {\r
- jComboBox1 = new JComboBox();\r
- jComboBox1.setPreferredSize(new java.awt.Dimension(20,20));\r
- jComboBox1.setEnabled(false);\r
- jComboBox1.addItem("1");\r
- jComboBox1.addItem("0");\r
- jComboBox1.setSelectedIndex(0);\r
- }\r
- return jComboBox1;\r
- }\r
-\r
-\r
- /**\r
- * This method initializes jCheckBox4 \r
- * \r
- * @return javax.swing.JCheckBox \r
- */\r
- private JCheckBox getJCheckBox4() {\r
- if (jCheckBox4 == null) {\r
- jCheckBox4 = new JCheckBox();\r
- jCheckBox4.setText("Read Disable CAP");\r
- jCheckBox4.setEnabled(false);\r
- }\r
- return jCheckBox4;\r
- }\r
-\r
-\r
- /**\r
- * This method initializes jCheckBox5 \r
- * \r
- * @return javax.swing.JCheckBox \r
- */\r
- private JCheckBox getJCheckBox5() {\r
- if (jCheckBox5 == null) {\r
- jCheckBox5 = new JCheckBox();\r
- jCheckBox5.setText("Read Enable CAP");\r
- jCheckBox5.setEnabled(false);\r
- }\r
- return jCheckBox5;\r
- }\r
-\r
-\r
- /**\r
- * This method initializes jCheckBox6 \r
- * \r
- * @return javax.swing.JCheckBox \r
- */\r
- private JCheckBox getJCheckBox6() {\r
- if (jCheckBox6 == null) {\r
- jCheckBox6 = new JCheckBox();\r
- jCheckBox6.setText("Read Status");\r
- jCheckBox6.setEnabled(false);\r
- }\r
- return jCheckBox6;\r
- }\r
-\r
-\r
- /**\r
- * This method initializes jCheckBox7 \r
- * \r
- * @return javax.swing.JCheckBox \r
- */\r
- private JCheckBox getJCheckBox7() {\r
- if (jCheckBox7 == null) {\r
- jCheckBox7 = new JCheckBox();\r
- jCheckBox7.setText("Write Disable CAP");\r
- jCheckBox7.setEnabled(false);\r
- }\r
- return jCheckBox7;\r
- }\r
-\r
-\r
- /**\r
- * This method initializes jCheckBox8 \r
- * \r
- * @return javax.swing.JCheckBox \r
- */\r
- private JCheckBox getJCheckBox8() {\r
- if (jCheckBox8 == null) {\r
- jCheckBox8 = new JCheckBox();\r
- jCheckBox8.setText("Write Enable CAP");\r
- jCheckBox8.setEnabled(false);\r
- }\r
- return jCheckBox8;\r
- }\r
-\r
-\r
- /**\r
- * This method initializes jCheckBox9 \r
- * \r
- * @return javax.swing.JCheckBox \r
- */\r
- private JCheckBox getJCheckBox9() {\r
- if (jCheckBox9 == null) {\r
- jCheckBox9 = new JCheckBox();\r
- jCheckBox9.setText("Write Status");\r
- jCheckBox9.setEnabled(false);\r
- }\r
- return jCheckBox9;\r
- }\r
-\r
-\r
- /**\r
- * This method initializes jCheckBox10 \r
- * \r
- * @return javax.swing.JCheckBox \r
- */\r
- private JCheckBox getJCheckBox10() {\r
- if (jCheckBox10 == null) {\r
- jCheckBox10 = new JCheckBox();\r
- jCheckBox10.setText("Lock CAP");\r
- jCheckBox10.setEnabled(false);\r
- }\r
- return jCheckBox10;\r
- }\r
-\r
-\r
- /**\r
- * This method initializes jCheckBox11 \r
- * \r
- * @return javax.swing.JCheckBox \r
- */\r
- private JCheckBox getJCheckBox11() {\r
- if (jCheckBox11 == null) {\r
- jCheckBox11 = new JCheckBox();\r
- jCheckBox11.setText("Lock Status");\r
- jCheckBox11.setEnabled(false);\r
- }\r
- return jCheckBox11;\r
- }\r
-\r
-\r
- /**\r
- * This method initializes jCheckBox12 \r
- * \r
- * @return javax.swing.JCheckBox \r
- */\r
- private JCheckBox getJCheckBox12() {\r
- if (jCheckBox12 == null) {\r
- jCheckBox12 = new JCheckBox();\r
- jCheckBox12.setText("Memory Mapped");\r
- jCheckBox12.setEnabled(false);\r
- }\r
- return jCheckBox12;\r
- }\r
-\r
-\r
- /**\r
- * This method initializes jCheckBox13 \r
- * \r
- * @return javax.swing.JCheckBox \r
- */\r
- private JCheckBox getJCheckBox13() {\r
- if (jCheckBox13 == null) {\r
- jCheckBox13 = new JCheckBox();\r
- jCheckBox13.setText("Sticky Write");\r
- jCheckBox13.setEnabled(false);\r
- }\r
- return jCheckBox13;\r
- }\r
-\r
-\r
/**\r
* This method initializes jPanel6 \r
* \r
}\r
\r
/**\r
- * This method initializes jComboBox2 \r
+ * This method initializes jTextField4 \r
* \r
- * @return javax.swing.JComboBox \r
+ * @return javax.swing.JTextField \r
*/\r
- private JComboBox getJComboBox2() {\r
- if (jComboBox2 == null) {\r
- jComboBox2 = new JComboBox();\r
- jComboBox2.setEnabled(false);\r
- jComboBox2.addItem("64K");\r
- jComboBox2.addItem("32K");\r
- jComboBox2.addItem("16K");\r
- jComboBox2.addItem("8K");\r
- jComboBox2.addItem("4K");\r
- jComboBox2.addItem("2K");\r
- jComboBox2.addItem("1K");\r
- jComboBox2.addItem("512");\r
- jComboBox2.addItem("256");\r
- jComboBox2.addItem("128");\r
- jComboBox2.addItem("64");\r
- jComboBox2.addItem("32");\r
- jComboBox2.addItem("16");\r
- jComboBox2.addItem("8");\r
- jComboBox2.addItem("4");\r
- jComboBox2.addItem("2");\r
- jComboBox2.setSelectedIndex(0);\r
+ private JTextField getJTextField4() {\r
+ if (jTextField4 == null) {\r
+ jTextField4 = new JTextField();\r
+ jTextField4.setEnabled(false);\r
+ jTextField4.setPreferredSize(new Dimension(100, 20));\r
}\r
- return jComboBox2;\r
+ return jTextField4;\r
+ }\r
+\r
+ /**\r
+ * This method initializes jTextField5 \r
+ * \r
+ * @return javax.swing.JTextField \r
+ */\r
+ private JTextField getJTextField5() {\r
+ if (jTextField5 == null) {\r
+ jTextField5 = new JTextField();\r
+ jTextField5.setEnabled(false);\r
+ jTextField5.setPreferredSize(new Dimension(100, 20));\r
+ }\r
+ return jTextField5;\r
+ }\r
+\r
+ /**\r
+ * This method initializes jPanel8 \r
+ * \r
+ * @return javax.swing.JPanel \r
+ */\r
+ private JPanel getJPanel8() {\r
+ if (jPanel8 == null) {\r
+ jPanel8 = new JPanel();\r
+ jPanel8.setPreferredSize(new Dimension(80, 55));\r
+ jPanel8.add(getJButton7(), null);\r
+ jPanel8.add(getJButton8(), null);\r
+ }\r
+ return jPanel8;\r
+ }\r
+\r
+ /**\r
+ * This method initializes jButton7 \r
+ * \r
+ * @return javax.swing.JButton \r
+ */\r
+ private JButton getJButton7() {\r
+ if (jButton7 == null) {\r
+ jButton7 = new JButton();\r
+ jButton7.setEnabled(true);\r
+ jButton7.setText("Add");\r
+ jButton7.setPreferredSize(new Dimension(80, 20));\r
+ jButton7.addActionListener(new AbstractAction() {\r
+ /**\r
+ * \r
+ */\r
+ private static final long serialVersionUID = 1L;\r
+\r
+ public void actionPerformed(ActionEvent e) {\r
+ if (jTextField4.getText().length() > 0 && jTextField5.getText().length() > 0){\r
+ String[] row = {jTextField4.getText(), jTextField5.getText()}; \r
+ fvOptionTableModel.addRow(row);\r
+ }\r
+ }\r
+ });\r
+ }\r
+ return jButton7;\r
+ }\r
+\r
+ /**\r
+ * This method initializes jButton8 \r
+ * \r
+ * @return javax.swing.JButton \r
+ */\r
+ private JButton getJButton8() {\r
+ if (jButton8 == null) {\r
+ jButton8 = new JButton();\r
+ jButton8.setEnabled(true);\r
+ jButton8.setText("Delete");\r
+ jButton8.setPreferredSize(new Dimension(80, 20));\r
+ jButton8.addActionListener(new AbstractAction() {\r
+ /**\r
+ * \r
+ */\r
+ private static final long serialVersionUID = 1L;\r
+\r
+ public void actionPerformed(ActionEvent e) {\r
+ if (jTable3.getSelectedRow() >= 0){\r
+ fvOptionTableModel.removeRow(jTable.getSelectedRow());\r
+ }\r
+ }\r
+ });\r
+ }\r
+ return jButton8;\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(350,80));\r
+ jScrollPane.setViewportView(getJTable3());\r
+ }\r
+ return jScrollPane;\r
+ }\r
+\r
+ /**\r
+ * This method initializes jTable3 \r
+ * \r
+ * @return javax.swing.JTable \r
+ */\r
+ private JTable getJTable3() {\r
+ if (jTable3 == null) {\r
+ fvOptionTableModel = new DefaultTableModel();\r
+ fvOptionTableModel.addColumn("Name");\r
+ fvOptionTableModel.addColumn("Value");\r
+ jTable3 = new JTable(fvOptionTableModel);\r
+\r
+ jTable3.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
+ jTable3.setRowHeight(20);\r
+ \r
+ }\r
+ return jTable3;\r
+ }\r
+\r
+ /**\r
+ * This method initializes jButton9 \r
+ * \r
+ * @return javax.swing.JButton \r
+ */\r
+ private JButton getJButton9() {\r
+ if (jButton9 == null) {\r
+ jButton9 = new JButton();\r
+ jButton9.setPreferredSize(new Dimension(120, 20));\r
+ jButton9.setActionCommand("Update");\r
+ jButton9.setText("Update FV");\r
+ jButton9.addActionListener(new java.awt.event.ActionListener() {\r
+ public void actionPerformed(java.awt.event.ActionEvent e) {\r
+ int row = jTable2.getSelectedRow();\r
+ if (jTable2.isEditing()) {\r
+ jTable2.getCellEditor().stopCellEditing();\r
+ }\r
+ if (jTable3.isEditing()) {\r
+ jTable3.getCellEditor().stopCellEditing();\r
+ }\r
+ \r
+ //ToDo Check data validity before update\r
+ String name = fvImageParaTableModel.getValueAt(row, 0) + "";\r
+ String type = fvImageParaTableModel.getValueAt(row, 1) + "";\r
+ \r
+ LinkedHashMap<String, String> lhm = new LinkedHashMap<String, String>();\r
+ getOptionNameValue(lhm);\r
+ \r
+\r
+ ffc.updateFvImagesFvImage(row, name.split(" "), type, lhm);\r
+ \r
+ }\r
+ });\r
+ }\r
+ return jButton9;\r
}\r
\r
/**\r
return;\r
}\r
String[][] saa = new String[ffc.getFvImagesFvImageCount()][2];\r
- ArrayList<LinkedHashMap<String, String>> options = new ArrayList<LinkedHashMap<String, String>>(ffc.getFvImagesFvImageCount());\r
-\r
- for (int j = 0; j < ffc.getFvImagesFvImageCount(); ++j){\r
- options.add(new LinkedHashMap<String, String>());\r
- }\r
- ffc.getFvImagesFvImages(saa, options);\r
+// ArrayList<LinkedHashMap<String, String>> options = new ArrayList<LinkedHashMap<String, String>>(ffc.getFvImagesFvImageCount());\r
+//\r
+// for (int j = 0; j < ffc.getFvImagesFvImageCount(); ++j){\r
+// options.add(new LinkedHashMap<String, String>());\r
+// }\r
+ ffc.getFvImagesFvImages(saa);\r
\r
- Object[] rowData = new Object[14];\r
+ \r
int i = 0;\r
- Boolean f = new Boolean("false");\r
while (i < saa.length) {\r
- rowData[0] = saa[i][0];\r
- rowData[1] = saa[i][1];\r
- \r
\r
- //ToDo: add alignment settings\r
- Boolean[] boolArray = new Boolean[11];\r
- int k = 0;\r
- while (k < 11){\r
- boolArray[k] = f;\r
- ++k;\r
- }\r
- namevalueToBoolean(options.get(i), boolArray);\r
- for (k = 2; k < 13; ++k) {\r
- rowData[k] = boolArray[k-2];\r
- }\r
- rowData[13] = getAlign(options.get(i));\r
- fvImageParaTableModel.addRow(rowData);\r
+ fvImageParaTableModel.addRow(saa[i]);\r
++i;\r
}\r
}\r
\r
- private String getAlign(Map<String, String> m){\r
- String s = "64K";\r
- if (m.get("EFI_ALIGNMENT_64K") != null) {\r
- if (m.get("EFI_ALIGNMENT_64K").equals("TRUE")) {\r
- s = "64K";\r
- return s;\r
- }\r
- }\r
- if (m.get("EFI_ALIGNMENT_32K") != null) {\r
- if (m.get("EFI_ALIGNMENT_32K").equals("TRUE")) {\r
- s = "32K";\r
- return s;\r
- }\r
- }\r
- if (m.get("EFI_ALIGNMENT_16K") != null) {\r
- if (m.get("EFI_ALIGNMENT_16K").equals("TRUE")) {\r
- s = "16K";\r
- return s;\r
- }\r
- }\r
- if (m.get("EFI_ALIGNMENT_8K") != null) {\r
- if (m.get("EFI_ALIGNMENT_8K").equals("TRUE")) {\r
- s = "8K";\r
- return s;\r
- }\r
- }\r
- if (m.get("EFI_ALIGNMENT_4K") != null) {\r
- if (m.get("EFI_ALIGNMENT_4K").equals("TRUE")) {\r
- s = "4K";\r
- return s;\r
- }\r
- }\r
- if (m.get("EFI_ALIGNMENT_2K") != null) {\r
- if (m.get("EFI_ALIGNMENT_2K").equals("TRUE")) {\r
- s = "2K";\r
- return s;\r
- }\r
- }\r
- if (m.get("EFI_ALIGNMENT_1K") != null) {\r
- if (m.get("EFI_ALIGNMENT_1K").equals("TRUE")) {\r
- s = "1K";\r
- return s;\r
- }\r
- }\r
- if (m.get("EFI_ALIGNMENT_512") != null) {\r
- if (m.get("EFI_ALIGNMENT_512").equals("TRUE")) {\r
- s = "512";\r
- return s;\r
- }\r
- }\r
- if (m.get("EFI_ALIGNMENT_256") != null) {\r
- if (m.get("EFI_ALIGNMENT_256").equals("TRUE")) {\r
- s = "256";\r
- return s;\r
- }\r
- }\r
- if (m.get("EFI_ALIGNMENT_128") != null) {\r
- if (m.get("EFI_ALIGNMENT_128").equals("TRUE")) {\r
- s = "128";\r
- return s;\r
- }\r
- }\r
- if (m.get("EFI_ALIGNMENT_64") != null) {\r
- if (m.get("EFI_ALIGNMENT_64").equals("TRUE")) {\r
- s = "64";\r
- return s;\r
- }\r
- }\r
- if (m.get("EFI_ALIGNMENT_32") != null) {\r
- if (m.get("EFI_ALIGNMENT_32").equals("TRUE")) {\r
- s = "32";\r
- return s;\r
- }\r
- }\r
- if (m.get("EFI_ALIGNMENT_16") != null) {\r
- if (m.get("EFI_ALIGNMENT_16").equals("TRUE")) {\r
- s = "16";\r
- return s;\r
- }\r
- }\r
- if (m.get("EFI_ALIGNMENT_8") != null) {\r
- if (m.get("EFI_ALIGNMENT_8").equals("TRUE")) {\r
- s = "8";\r
- return s;\r
- }\r
- }\r
- if (m.get("EFI_ALIGNMENT_4") != null) {\r
- if (m.get("EFI_ALIGNMENT_4").equals("TRUE")) {\r
- s = "4";\r
- return s;\r
- }\r
- }\r
- if (m.get("EFI_ALIGNMENT_2") != null) {\r
- if (m.get("EFI_ALIGNMENT_2").equals("TRUE")) {\r
- s = "2";\r
- return s;\r
- }\r
- }\r
- return s;\r
- }\r
- \r
- private void namevalueToBoolean(Map<String, String> m, Boolean[] boolArray){\r
- Set<String> key = m.keySet();\r
- Iterator<String> ki= key.iterator();\r
- Boolean t = new Boolean("true");\r
- while(ki.hasNext()) {\r
- String k = ki.next();\r
- if (k.equals("EFI_ERASE_POLARITY") && m.get(k).equals("1")) {\r
- boolArray[0] = t;\r
- }\r
- if (k.equals("EFI_READ_STATUS") && m.get(k).equals("TRUE")) {\r
- boolArray[1] = t;\r
- }\r
- if (k.equals("EFI_WRITE_STATUS") && m.get(k).equals("TRUE")) {\r
- boolArray[2] = t;\r
- }\r
- if (k.equals("EFI_LOCK_STATUS") && m.get(k).equals("TRUE")) {\r
- boolArray[3] = t;\r
- }\r
- if (k.equals("EFI_MEMORY_MAPPED") && m.get(k).equals("TRUE")) {\r
- boolArray[4] = t;\r
- }\r
- if (k.equals("EFI_STICKY_WRITE") && m.get(k).equals("TRUE")) {\r
- boolArray[5] = t;\r
- }\r
- if (k.equals("EFI_READ_DISABLED_CAP") && m.get(k).equals("TRUE")) {\r
- boolArray[6] = t;\r
- }\r
- if (k.equals("EFI_READ_ENABLED_CAP") && m.get(k).equals("TRUE")) {\r
- boolArray[7] = t;\r
- }\r
- if (k.equals("EFI_WRITE_DISABLED_CAP") && m.get(k).equals("TRUE")) {\r
- boolArray[8] = t;\r
- }\r
- if (k.equals("EFI_WRITE_ENABLED_CAP") && m.get(k).equals("TRUE")) {\r
- boolArray[9] = t;\r
- }\r
- if (k.equals("EFI_LOCK_CAP") && m.get(k).equals("TRUE")) {\r
- boolArray[10] = t;\r
- }\r
- }\r
- }\r
- \r
- private void booleanToNameValue(boolean[] boolArray, Map<String, String> m){\r
- if (boolArray[0]) {\r
- m.put("EFI_ERASE_POLARITY", "1");\r
- }\r
- else {\r
- m.put("EFI_ERASE_POLARITY", "0");\r
- }\r
- if (boolArray[1]) {\r
- m.put("EFI_READ_STATUS", "TRUE");\r
- }\r
- else {\r
- m.put("EFI_READ_STATUS", "FALSE");\r
- }\r
- if (boolArray[2]) {\r
- m.put("EFI_WRITE_STATUS", "TRUE");\r
- }\r
- else {\r
- m.put("EFI_WRITE_STATUS", "FALSE");\r
- }\r
- if (boolArray[3]) {\r
- m.put("EFI_LOCK_STATUS", "TRUE");\r
- }\r
- else {\r
- m.put("EFI_LOCK_STATUS", "FALSE");\r
- }\r
- if (boolArray[4]) {\r
- m.put("EFI_MEMORY_MAPPED", "TRUE");\r
- }\r
- else {\r
- m.put("EFI_MEMORY_MAPPED", "FALSE");\r
- }\r
- if (boolArray[5]) {\r
- m.put("EFI_STICKY_WRITE", "TRUE");\r
- }\r
- else {\r
- m.put("EFI_STICKY_WRITE", "FALSE");\r
- }\r
- if (boolArray[6]) {\r
- m.put("EFI_READ_DISABLED_CAP", "TRUE");\r
- }\r
- else {\r
- m.put("EFI_READ_DISABLED_CAP", "FALSE");\r
- }\r
- if (boolArray[7]) {\r
- m.put("EFI_READ_ENABLED_CAP", "TRUE");\r
- }\r
- else {\r
- m.put("EFI_READ_ENABLED_CAP", "FALSE");\r
- }\r
- if (boolArray[8]) {\r
- m.put("EFI_WRITE_DISABLED_CAP", "TRUE");\r
- }\r
- else {\r
- m.put("EFI_WRITE_DISABLED_CAP", "FALSE");\r
- }\r
- if (boolArray[9]) {\r
- m.put("EFI_WRITE_ENABLED_CAP", "TRUE");\r
- }\r
- else {\r
- m.put("EFI_WRITE_ENABLED_CAP", "FALSE");\r
- }\r
- if (boolArray[10]) {\r
- m.put("EFI_LOCK_CAP", "TRUE");\r
- }\r
- else {\r
- m.put("EFI_LOCK_CAP", "FALSE");\r
+ private void getOptionNameValue(Map<String, String> m){\r
+ for (int i = 0; i < jTable3.getRowCount(); ++i) {\r
+ m.put(fvOptionTableModel.getValueAt(i, 0)+"", fvOptionTableModel.getValueAt(i, 1)+"");\r
}\r
}\r
/**\r
\r
class ImageParaTableModel extends DefaultTableModel {\r
\r
- /**\r
- * \r
- */\r
private static final long serialVersionUID = 1L;\r
-\r
- public Class<?> getColumnClass (int c) {\r
- if (getValueAt(0, c) != null) {\r
- return getValueAt(0, c).getClass();\r
- }\r
- return String.class;\r
- }\r
\r
public boolean isCellEditable(int row, int col) {\r
if (getValueAt(row, 1).equals("ImageName") && col >=1) {\r
return true;\r
}\r
}\r
+\r