import javax.swing.JPanel;\r
\r
import javax.swing.AbstractAction;\r
-import javax.swing.ButtonGroup;\r
import javax.swing.DefaultCellEditor;\r
-import javax.swing.DefaultListModel;\r
-import javax.swing.JDialog;\r
import javax.swing.JFileChooser;\r
import javax.swing.JFrame;\r
-import javax.swing.JInternalFrame;\r
-import javax.swing.JOptionPane;\r
import javax.swing.JTabbedPane;\r
import javax.swing.JButton;\r
import javax.swing.ListSelectionModel;\r
\r
import org.tianocore.PlatformSurfaceAreaDocument;\r
-import org.tianocore.frameworkwizard.common.Tools;\r
import org.tianocore.frameworkwizard.common.ui.IInternalFrame;\r
import org.tianocore.frameworkwizard.common.ui.StarLabel;\r
\r
\r
import java.awt.FlowLayout;\r
import java.awt.event.ActionEvent;\r
-import java.awt.event.ActionListener;\r
import java.awt.event.ComponentAdapter;\r
import java.awt.event.ComponentEvent;\r
-import java.awt.event.FocusAdapter;\r
-import java.awt.event.FocusEvent;\r
import java.awt.event.ItemEvent;\r
import java.awt.event.ItemListener;\r
-import java.awt.event.ActionEvent;\r
import java.io.File;\r
import java.util.ArrayList;\r
import java.util.Iterator;\r
import javax.swing.JLabel;\r
import javax.swing.JScrollPane;\r
import javax.swing.JTable;\r
-import javax.swing.JList;\r
+import javax.swing.event.InternalFrameAdapter;\r
+import javax.swing.event.InternalFrameEvent;\r
import javax.swing.event.ListSelectionEvent;\r
import javax.swing.event.ListSelectionListener;\r
import javax.swing.event.TableModelEvent;\r
import javax.swing.table.TableModel;\r
import javax.swing.JComboBox;\r
import java.awt.Dimension;\r
-import javax.swing.JRadioButton;\r
-import javax.swing.JTextArea;\r
-import java.awt.CardLayout;\r
\r
public class FpdFlash extends IInternalFrame {\r
\r
+ /**\r
+ * \r
+ */\r
+ private static final long serialVersionUID = 1L;\r
static JFrame frame;\r
private JPanel jContentPane = null;\r
private JPanel jPanel = null;\r
private JButton jButtonOk = null;\r
private JButton jButtonCancel = null;\r
private JPanel jPanelFvImageN = null;\r
- private JPanel jPanelFvImageW = null;\r
private JPanel jPanelFvImageS = null;\r
private JCheckBox jCheckBox1 = null;\r
private JLabel jLabel = null;\r
private JLabel jLabel1 = null;\r
private JTextField jTextField1 = null;\r
private JButton jButton = null;\r
- private JScrollPane jScrollPane = null;\r
private JScrollPane jScrollPane1 = null;\r
private JTable jTable = null;\r
private JPanel jPanel4 = null;\r
private JCheckBox jCheckBox12 = null;\r
private JCheckBox jCheckBox13 = null;\r
private JPanel jPanel6 = null;\r
- private DefaultTableModel fdfImageDefTableModel = null;\r
- private DefaultTableModel fdfBlocksTableModel = null;\r
- private DefaultTableModel fdfRegionsTableModel = null;\r
- private DefaultTableModel fdfSubRegionsTableModel = null;\r
\r
- private JLabel jLabel17 = null;\r
- private DefaultListModel listModel = new DefaultListModel();\r
private FpdFileContents ffc = null;\r
private JPanel jPanel7 = null;\r
private JCheckBox jCheckBox = null;\r
private JTextField jTextField3 = null;\r
private JButton jButton5 = null;\r
- \r
+ private JLabel jLabel6 = null;\r
+ private JComboBox jComboBox2 = null;\r
public FpdFlash() {\r
super();\r
// TODO Auto-generated constructor stub\r
return jPanelFvImageN;\r
}\r
\r
-\r
- /**\r
- * This method initializes jPanelFvImageW \r
- * \r
- * @return javax.swing.JPanel \r
- */\r
- private JPanel getJPanelFvImageW() {\r
- if (jPanelFvImageW == null) {\r
- jPanelFvImageW = new JPanel();\r
- jPanelFvImageW.setPreferredSize(new java.awt.Dimension(10,2));\r
- }\r
- return jPanelFvImageW;\r
- }\r
-\r
-\r
/**\r
* This method initializes jPanelFvImageS \r
* \r
GridLayout gridLayout2 = new GridLayout();\r
gridLayout2.setRows(1);\r
jPanelFvImageS = new JPanel();\r
- jPanelFvImageS.setPreferredSize(new java.awt.Dimension(480,200));\r
+ jPanelFvImageS.setPreferredSize(new java.awt.Dimension(480,190));\r
jPanelFvImageS.setLayout(gridLayout2);\r
jPanelFvImageS.add(getJScrollPane3(), null);\r
}\r
jButton.setEnabled(false);\r
jButton.setText("Add");\r
jButton.addActionListener(new AbstractAction() {\r
+ /**\r
+ * \r
+ */\r
+ private static final long serialVersionUID = 1L;\r
+\r
public void actionPerformed(ActionEvent e) {\r
if (jTextField.getText().length() > 0 && jTextField1.getText().length() > 0){\r
String[] row = {jTextField.getText(), jTextField1.getText()}; \r
jButton1.setEnabled(false);\r
jButton1.setText("Delete");\r
jButton1.addActionListener(new AbstractAction() {\r
+ /**\r
+ * \r
+ */\r
+ private static final long serialVersionUID = 1L;\r
+\r
public void actionPerformed(ActionEvent e) {\r
if (jTable.getSelectedRow() >= 0){\r
fvPropertyTableModel.removeRow(jTable.getSelectedRow());\r
jButton2.setEnabled(false);\r
jButton2.setText("Add");\r
jButton2.addActionListener(new AbstractAction() {\r
+ /**\r
+ * \r
+ */\r
+ private static final long serialVersionUID = 1L;\r
+\r
public void actionPerformed(java.awt.event.ActionEvent e) {\r
if (jTextField2.getText().length() > 0){\r
String[] row = {jTextField2.getText()}; \r
jButton3.setEnabled(false);\r
jButton3.setText("Delete");\r
jButton3.addActionListener(new AbstractAction() {\r
+ /**\r
+ * \r
+ */\r
+ private static final long serialVersionUID = 1L;\r
+\r
public void actionPerformed(java.awt.event.ActionEvent e) {\r
if (jTable1.getSelectedRow() >= 0){\r
\r
\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
jPanel5 = new JPanel();\r
- jPanel5.setPreferredSize(new java.awt.Dimension(480,120));\r
+ jPanel5.setPreferredSize(new java.awt.Dimension(480,150));\r
\r
GridLayout gridLayout = new GridLayout();\r
- gridLayout.setRows(5);\r
+ gridLayout.setRows(6);\r
gridLayout.setColumns(3);\r
jPanel5.setLayout(gridLayout);\r
jPanel5.add(getJCheckBox3(), null);\r
jPanel5.add(getJCheckBox11(), null);\r
jPanel5.add(getJCheckBox12(), null);\r
jPanel5.add(getJCheckBox13(), null);\r
- jPanel5.add(getJButton4(), null);\r
jPanel5.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.LOWERED));\r
+ jPanel5.add(jLabel6, null);\r
+ jPanel5.add(getJComboBox2(), null);\r
+ jPanel5.add(getJButton4(), null);\r
jPanel5.add(getJButton6(), null);\r
\r
\r
// jButton4.setEnabled(false);\r
jButton4.setText("Add FV Image");\r
jButton4.addActionListener(new AbstractAction() {\r
+ /**\r
+ * \r
+ */\r
+ private static final long serialVersionUID = 1L;\r
+\r
public void actionPerformed(java.awt.event.ActionEvent e) {\r
if (jTable1.getRowCount()== 0){\r
return;\r
\r
}\r
\r
- LinkedHashMap<String, String> m = new LinkedHashMap<String, String>();\r
- boolean[] boolArray = {jComboBox1.getSelectedIndex()==0 ? true: false, jCheckBox6.isSelected(), jCheckBox9.isSelected(),\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
+ booleanToNameValue(boolArray, m);\r
+ }\r
ffc.genFvImagesFvImage(imageName.split(" "), jComboBox.getSelectedItem()+"", m);\r
\r
Object[] o = {imageName, jComboBox.getSelectedItem(), jComboBox1.getSelectedIndex()==0 ? true: false, \r
fvImageParaTableModel.addColumn("WriteDisableCap");\r
fvImageParaTableModel.addColumn("WriteEnableCap");\r
fvImageParaTableModel.addColumn("LockCap");\r
+ fvImageParaTableModel.addColumn("Alignment");\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 epCol = jTable2.getColumnModel().getColumn(2);\r
-// JComboBox cb1 = new JComboBox();\r
-// cb1.addItem("1");\r
-// cb1.addItem("0");\r
-// epCol.setCellEditor(new DefaultCellEditor(cb1));\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
}\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
// jButton6.setEnabled(false);\r
jButton6.setText("Delete Row");\r
jButton6.addActionListener(new AbstractAction() {\r
+ /**\r
+ * \r
+ */\r
+ private static final long serialVersionUID = 1L;\r
\r
public void actionPerformed(ActionEvent arg0) {\r
// TODO Auto-generated method stub\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
}\r
jButton5.setText("Browse");\r
jButton5.setPreferredSize(new Dimension(78, 20));\r
jButton5.addActionListener(new AbstractAction(){\r
+ /**\r
+ * \r
+ */\r
+ private static final long serialVersionUID = 1L;\r
+\r
public void actionPerformed(ActionEvent e) {\r
// TODO Auto-generated method stub\r
JFileChooser chooser = new JFileChooser();\r
return jButton5;\r
}\r
\r
+ /**\r
+ * This method initializes jComboBox2 \r
+ * \r
+ * @return javax.swing.JComboBox \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
+ }\r
+ return jComboBox2;\r
+ }\r
+\r
/**\r
* @param args\r
*/\r
this.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);\r
this.setContentPane(getJContentPane());\r
this.setTitle("FPD Flash Definitions");\r
+ this.addInternalFrameListener(new InternalFrameAdapter(){\r
+ public void internalFrameDeactivated(InternalFrameEvent e){\r
+ if (jTable.isEditing()) {\r
+ jTable.getCellEditor().stopCellEditing();\r
+ }\r
+ if (jTable1.isEditing()) {\r
+ jTable1.getCellEditor().stopCellEditing();\r
+ }\r
+ if (jTable2.isEditing()) {\r
+ jTable2.getCellEditor().stopCellEditing();\r
+ }\r
+ }\r
+ });\r
}\r
\r
private void init(FpdFileContents ffc) {\r
}\r
ffc.getFvImagesFvImages(saa, options);\r
\r
- Object[] rowData = new Object[13];\r
+ Object[] rowData = new Object[14];\r
int i = 0;\r
Boolean f = new Boolean("false");\r
while (i < saa.length) {\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
++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
\r
class ImageParaTableModel extends DefaultTableModel {\r
\r
- public Class getColumnClass (int c) {\r
- return getValueAt(0, c).getClass();\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 false;\r
+ }\r
+ return true;\r
}\r
}\r