X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=Tools%2FSource%2FFrameworkWizard%2Fsrc%2Forg%2Ftianocore%2Fframeworkwizard%2Fplatform%2Fui%2FFpdFlash.java;h=3b07c696b265588866a7a38cb3f11ca029a550bd;hp=6ad18492202eb91802f3ab395a9e01086da116cf;hb=61919f8cfa2cdd6a965928933844a91d7aa69626;hpb=a13899c5acad2f5e125abdae972b4c3d1e522f69 diff --git a/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdFlash.java b/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdFlash.java index 6ad1849220..3b07c696b2 100644 --- a/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdFlash.java +++ b/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdFlash.java @@ -16,40 +16,35 @@ import java.awt.BorderLayout; import javax.swing.JPanel; import javax.swing.AbstractAction; -import javax.swing.ButtonGroup; import javax.swing.DefaultCellEditor; -import javax.swing.DefaultListModel; -import javax.swing.JDialog; import javax.swing.JFileChooser; import javax.swing.JFrame; -import javax.swing.JInternalFrame; import javax.swing.JOptionPane; import javax.swing.JTabbedPane; import javax.swing.JButton; import javax.swing.ListSelectionModel; import org.tianocore.PlatformSurfaceAreaDocument; -import org.tianocore.frameworkwizard.common.Tools; +import org.tianocore.frameworkwizard.common.GlobalData; +import org.tianocore.frameworkwizard.common.Identifications.OpeningPlatformType; import org.tianocore.frameworkwizard.common.ui.IInternalFrame; import org.tianocore.frameworkwizard.common.ui.StarLabel; - +import org.tianocore.frameworkwizard.module.Identifications.ModuleIdentification; +import org.tianocore.frameworkwizard.platform.ui.FpdFrameworkModules; +import org.tianocore.frameworkwizard.platform.ui.global.WorkspaceProfile; import java.awt.FlowLayout; import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.awt.event.ComponentAdapter; -import java.awt.event.ComponentEvent; -import java.awt.event.FocusAdapter; -import java.awt.event.FocusEvent; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; -import java.awt.event.ActionEvent; +import java.io.BufferedReader; import java.io.File; -import java.util.ArrayList; +import java.io.FileReader; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.Map; import java.util.Set; +import java.util.Vector; import javax.swing.JCheckBox; import javax.swing.JTextField; @@ -57,7 +52,8 @@ import java.awt.GridLayout; import javax.swing.JLabel; import javax.swing.JScrollPane; import javax.swing.JTable; -import javax.swing.JList; +import javax.swing.event.InternalFrameAdapter; +import javax.swing.event.InternalFrameEvent; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; import javax.swing.event.TableModelEvent; @@ -67,81 +63,95 @@ import javax.swing.table.TableColumn; import javax.swing.table.TableModel; import javax.swing.JComboBox; import java.awt.Dimension; -import javax.swing.JRadioButton; -import javax.swing.JTextArea; -import java.awt.CardLayout; +import javax.swing.JSplitPane; public class FpdFlash extends IInternalFrame { + /** + * + */ + private static final long serialVersionUID = 1L; static JFrame frame; private JPanel jContentPane = null; - private JPanel jPanel = null; - private JPanel jPanel1 = null; - private JPanel jPanel2 = null; - private JPanel jPanel3 = null; + private JPanel jPanelContentEast = null; + private JPanel jPanelContentSouth = null; + private JPanel jPanelContentWest = null; + private JPanel jPanelContentNorth = null; private JTabbedPane jTabbedPane = null; private JPanel jPanelFvImages = null; - private JButton jButtonOk = null; - private JButton jButtonCancel = null; private JPanel jPanelFvImageN = null; - private JPanel jPanelFvImageW = null; private JPanel jPanelFvImageS = null; - private JCheckBox jCheckBox1 = null; - private JLabel jLabel = null; - private JTextField jTextField = null; - private JLabel jLabel1 = null; - private JTextField jTextField1 = null; - private JButton jButton = null; - private JScrollPane jScrollPane = null; - private JScrollPane jScrollPane1 = null; - private JTable jTable = null; - private JPanel jPanel4 = null; - private JButton jButton1 = null; + private JCheckBox jCheckBoxFvProperty = null; + private JLabel jLabelFvPropName = null; + private JTextField jTextFieldFvPropName = null; + private JLabel jLabelFvPropValue = null; + private JTextField jTextFieldFvPropValue = null; + private JButton jButtonFvPropAdd = null; + private JScrollPane jScrollPaneFvProp = null; + private JTable jTableFvProp = null; + private JPanel jPanelFvPropButtonGroup = null; + private JButton jButtonFvPropDel = null; private DefaultTableModel fvPropertyTableModel = null; private DefaultTableModel fvImageNameTableModel = null; private ImageParaTableModel fvImageParaTableModel = null; + private DefaultTableModel fvOptionTableModel = null; private JPanel jPanelFvImageC = null; - private JCheckBox jCheckBox2 = null; - private JLabel jLabel2 = null; - private JComboBox jComboBox = null; - private JLabel jLabel3 = null; - private JLabel jLabel4 = null; - private JTextField jTextField2 = null; - private JButton jButton2 = null; - private JScrollPane jScrollPane2 = null; - private JTable jTable1 = null; - private JButton jButton3 = null; - private JPanel jPanel5 = null; - private JButton jButton4 = null; - private JScrollPane jScrollPane3 = null; - private JTable jTable2 = null; - private JButton jButton6 = null; - private JCheckBox jCheckBox3 = null; - private JLabel jLabel5 = null; - private JComboBox jComboBox1 = null; - private JCheckBox jCheckBox4 = null; - private JCheckBox jCheckBox5 = null; - private JCheckBox jCheckBox6 = null; - private JCheckBox jCheckBox7 = null; - private JCheckBox jCheckBox8 = null; - private JCheckBox jCheckBox9 = null; - private JCheckBox jCheckBox10 = null; - private JCheckBox jCheckBox11 = null; - private JCheckBox jCheckBox12 = null; - private JCheckBox jCheckBox13 = null; - private JPanel jPanel6 = null; - private DefaultTableModel fdfImageDefTableModel = null; - private DefaultTableModel fdfBlocksTableModel = null; - private DefaultTableModel fdfRegionsTableModel = null; - private DefaultTableModel fdfSubRegionsTableModel = null; - - private JLabel jLabel17 = null; - private DefaultListModel listModel = new DefaultListModel(); + private JCheckBox jCheckBoxFvImagePara = null; + private JLabel jLabelFvParaType = null; + private JComboBox jComboBoxFvParaType = null; + private JLabel jLabelFvImageNames = null; + private JLabel jLabelFvParaName = null; + private JTextField jTextFieldFvParaName = null; + private JButton jButtonFvParaAdd = null; + private JScrollPane jScrollPaneFvImageNames = null; + private JTable jTableFvImageNames = null; + private JButton jButtonFvParaDel = null; + private JPanel jPanelFvImageOpts = null; + private JButton jButtonAddFvImage = null; + private JScrollPane jScrollPaneFvInfo = null; + private JTable jTableFvInfo = null; + private JButton jButtonDelFvImage = null; + private JCheckBox jCheckBoxFvImageOpts = null; + private JPanel jPanelFvImagePara = null; + private OpeningPlatformType docConsole = null; private FpdFileContents ffc = null; - private JPanel jPanel7 = null; - private JCheckBox jCheckBox = null; - private JTextField jTextField3 = null; - private JButton jButton5 = null; + private JPanel jPanelFdf = null; + private JCheckBox jCheckBoxFdf = null; + private JTextField jTextFieldFdf = null; + private JButton jButtonFdfBrowse = null; + private JLabel jLabelFvImageOptName = null; + private JTextField jTextFieldFvImageOptName = null; + private JLabel jLabelFvImageOptValue = null; + private JTextField jTextFieldFvImageOptValue = null; + private JPanel jPanelFvImageOptsButtonGroup = null; + private JButton jButtonFvImageOptAdd = null; + private JButton jButtonFvImageOptDel = null; + private JScrollPane jScrollPane = null; + private JTable jTableFvImageOpts = null; + private JButton jButtonUpdateFvImage = null; + private JPanel jPanelFdfN = null; + private JPanel jPanelFdfS = null; + private JSplitPane jSplitPaneFdfC = null; + private JPanel jPanelFdfCTop = null; + private JPanel jPanelFdfCBottom = null; + private JPanel jPanelFdfCTopN = null; + private JPanel jPanelFdfCTopS = null; + private JPanel jPanelFdfCTopC = null; + private JPanel jPanelFdfCBottomN = null; + private JPanel jPanelFdfCBottomC = null; + private JLabel jLabelFvInFdf = null; + private JLabel jLabelFvAdditional = null; + private JScrollPane jScrollPaneFvInFdf = null; + private JTable jTableFvInFdf = null; + private NonEditableTableModel fvInFdfTableModel = null; // @jve:decl-index=0:visual-constraint="" + private JButton jButtonFvInFdfOptions = null; + private JScrollPane jScrollPaneFvAdditional = null; + private JTable jTableFvAdditional = null; + private DefaultTableModel fvAddtionalTableModel = null; // @jve:decl-index=0:visual-constraint="" + private JButton jButtonAddFv = null; + private JButton jButtonDelFv = null; + private JButton jButtonAddFvOptions = null; + public FpdFlash() { super(); @@ -158,16 +168,21 @@ public class FpdFlash extends IInternalFrame { init(ffc); } + public FpdFlash(OpeningPlatformType opt) { + this(opt.getXmlFpd()); + docConsole = opt; + } + /** * This method initializes jPanel * * @return javax.swing.JPanel */ - private JPanel getJPanel() { - if (jPanel == null) { - jPanel = new JPanel(); + private JPanel getJPanelContentEast() { + if (jPanelContentEast == null) { + jPanelContentEast = new JPanel(); } - return jPanel; + return jPanelContentEast; } /** @@ -175,18 +190,16 @@ public class FpdFlash extends IInternalFrame { * * @return javax.swing.JPanel */ - private JPanel getJPanel1() { - if (jPanel1 == null) { + private JPanel getJPanelContentSouth() { + if (jPanelContentSouth == null) { FlowLayout flowLayout = new FlowLayout(); flowLayout.setAlignment(java.awt.FlowLayout.RIGHT); flowLayout.setHgap(15); - jPanel1 = new JPanel(); - jPanel1.setLayout(flowLayout); - jPanel1.setComponentOrientation(java.awt.ComponentOrientation.LEFT_TO_RIGHT); - jPanel1.add(getJButtonCancel(), null); - jPanel1.add(getJButtonOk(), null); + jPanelContentSouth = new JPanel(); + jPanelContentSouth.setLayout(flowLayout); + jPanelContentSouth.setComponentOrientation(java.awt.ComponentOrientation.LEFT_TO_RIGHT); } - return jPanel1; + return jPanelContentSouth; } /** @@ -194,11 +207,11 @@ public class FpdFlash extends IInternalFrame { * * @return javax.swing.JPanel */ - private JPanel getJPanel2() { - if (jPanel2 == null) { - jPanel2 = new JPanel(); + private JPanel getJPanelContentWest() { + if (jPanelContentWest == null) { + jPanelContentWest = new JPanel(); } - return jPanel2; + return jPanelContentWest; } /** @@ -206,11 +219,11 @@ public class FpdFlash extends IInternalFrame { * * @return javax.swing.JPanel */ - private JPanel getJPanel3() { - if (jPanel3 == null) { - jPanel3 = new JPanel(); + private JPanel getJPanelContentNorth() { + if (jPanelContentNorth == null) { + jPanelContentNorth = new JPanel(); } - return jPanel3; + return jPanelContentNorth; } /** @@ -221,8 +234,8 @@ public class FpdFlash extends IInternalFrame { private JTabbedPane getJTabbedPane() { if (jTabbedPane == null) { jTabbedPane = new JTabbedPane(); - jTabbedPane.addTab("FV Images", null, getJPanelFvImages(), null); - jTabbedPane.addTab("Flash Definition File", null, getJPanel7(), null); + jTabbedPane.addTab("General", null, getJPanelFdf(), null); + jTabbedPane.addTab("Advanced", null, getJPanelFvImages(), null); } return jTabbedPane; @@ -246,36 +259,6 @@ public class FpdFlash extends IInternalFrame { return jPanelFvImages; } - /** - * This method initializes jButtonOk - * - * @return javax.swing.JButton - */ - private JButton getJButtonOk() { - if (jButtonOk == null) { - jButtonOk = new JButton(); - jButtonOk.setPreferredSize(new java.awt.Dimension(80,20)); - jButtonOk.setText("Cancel"); - jButtonOk.setVisible(false); - } - return jButtonOk; - } - - /** - * This method initializes jButtonCancel - * - * @return javax.swing.JButton - */ - private JButton getJButtonCancel() { - if (jButtonCancel == null) { - jButtonCancel = new JButton(); - jButtonCancel.setPreferredSize(new java.awt.Dimension(80,20)); - jButtonCancel.setText("Ok"); - jButtonCancel.setVisible(false); - } - return jButtonCancel; - } - /** * This method initializes jPanelFvImageN * @@ -283,47 +266,32 @@ public class FpdFlash extends IInternalFrame { */ private JPanel getJPanelFvImageN() { if (jPanelFvImageN == null) { - jLabel1 = new JLabel(); - jLabel1.setText("Value"); - jLabel1.setEnabled(false); - jLabel1.setPreferredSize(new java.awt.Dimension(38,20)); - jLabel = new JLabel(); - jLabel.setText("Name"); - jLabel.setEnabled(false); - jLabel.setPreferredSize(new java.awt.Dimension(38,20)); + jLabelFvPropValue = new JLabel(); + jLabelFvPropValue.setText("Value"); + jLabelFvPropValue.setEnabled(false); + jLabelFvPropValue.setPreferredSize(new java.awt.Dimension(38,20)); + jLabelFvPropName = new JLabel(); + jLabelFvPropName.setText("Name"); + jLabelFvPropName.setEnabled(false); + jLabelFvPropName.setPreferredSize(new java.awt.Dimension(38,20)); FlowLayout flowLayout2 = new FlowLayout(); - flowLayout2.setAlignment(java.awt.FlowLayout.CENTER); + flowLayout2.setAlignment(java.awt.FlowLayout.LEFT); flowLayout2.setHgap(15); jPanelFvImageN = new JPanel(); jPanelFvImageN.setPreferredSize(new java.awt.Dimension(576,100)); jPanelFvImageN.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED)); jPanelFvImageN.setLayout(flowLayout2); - jPanelFvImageN.add(getJCheckBox1(), null); - jPanelFvImageN.add(jLabel, null); - jPanelFvImageN.add(getJTextField(), null); - jPanelFvImageN.add(jLabel1, null); - jPanelFvImageN.add(getJTextField1(), null); - jPanelFvImageN.add(getJScrollPane1(), null); - jPanelFvImageN.add(getJPanel4(), null); + jPanelFvImageN.add(getJCheckBoxFvProperty(), null); + jPanelFvImageN.add(jLabelFvPropName, null); + jPanelFvImageN.add(getJTextFieldFvPropName(), null); + jPanelFvImageN.add(jLabelFvPropValue, null); + jPanelFvImageN.add(getJTextFieldFvPropValue(), null); + jPanelFvImageN.add(getJScrollPaneFvProp(), null); + jPanelFvImageN.add(getJPanelFvPropButtonGroup(), null); } return jPanelFvImageN; } - - /** - * This method initializes jPanelFvImageW - * - * @return javax.swing.JPanel - */ - private JPanel getJPanelFvImageW() { - if (jPanelFvImageW == null) { - jPanelFvImageW = new JPanel(); - jPanelFvImageW.setPreferredSize(new java.awt.Dimension(10,2)); - } - return jPanelFvImageW; - } - - /** * This method initializes jPanelFvImageS * @@ -334,9 +302,9 @@ public class FpdFlash extends IInternalFrame { GridLayout gridLayout2 = new GridLayout(); gridLayout2.setRows(1); jPanelFvImageS = new JPanel(); - jPanelFvImageS.setPreferredSize(new java.awt.Dimension(480,200)); + jPanelFvImageS.setPreferredSize(new java.awt.Dimension(480,190)); jPanelFvImageS.setLayout(gridLayout2); - jPanelFvImageS.add(getJScrollPane3(), null); + jPanelFvImageS.add(getJScrollPaneFvInfo(), null); } return jPanelFvImageS; } @@ -347,30 +315,30 @@ public class FpdFlash extends IInternalFrame { * * @return javax.swing.JCheckBox */ - private JCheckBox getJCheckBox1() { - if (jCheckBox1 == null) { - jCheckBox1 = new JCheckBox(); - jCheckBox1.setText("FV Properties"); - jCheckBox1.addItemListener(new ItemListener(){ + private JCheckBox getJCheckBoxFvProperty() { + if (jCheckBoxFvProperty == null) { + jCheckBoxFvProperty = new JCheckBox(); + jCheckBoxFvProperty.setText("Global FV Variables"); + jCheckBoxFvProperty.addItemListener(new ItemListener(){ public void itemStateChanged(ItemEvent arg0) { // TODO Auto-generated method stub - boolean seleted = jCheckBox1.isSelected(); + boolean seleted = jCheckBoxFvProperty.isSelected(); - jLabel.setEnabled(seleted); - jTextField.setEnabled(seleted); - jLabel1.setEnabled(seleted); - jTextField1.setEnabled(seleted); - jTable.setEnabled(seleted); - jButton.setEnabled(seleted); - jButton1.setEnabled(seleted); + jLabelFvPropName.setEnabled(seleted); + jTextFieldFvPropName.setEnabled(seleted); + jLabelFvPropValue.setEnabled(seleted); + jTextFieldFvPropValue.setEnabled(seleted); + jTableFvProp.setEnabled(seleted); + jButtonFvPropAdd.setEnabled(seleted); + jButtonFvPropDel.setEnabled(seleted); } }); } - return jCheckBox1; + return jCheckBoxFvProperty; } @@ -379,13 +347,13 @@ public class FpdFlash extends IInternalFrame { * * @return javax.swing.JTextField */ - private JTextField getJTextField() { - if (jTextField == null) { - jTextField = new JTextField(); - jTextField.setPreferredSize(new java.awt.Dimension(100,20)); - jTextField.setEnabled(false); + private JTextField getJTextFieldFvPropName() { + if (jTextFieldFvPropName == null) { + jTextFieldFvPropName = new JTextField(); + jTextFieldFvPropName.setPreferredSize(new java.awt.Dimension(100,20)); + jTextFieldFvPropName.setEnabled(false); } - return jTextField; + return jTextFieldFvPropName; } @@ -394,13 +362,13 @@ public class FpdFlash extends IInternalFrame { * * @return javax.swing.JTextField */ - private JTextField getJTextField1() { - if (jTextField1 == null) { - jTextField1 = new JTextField(); - jTextField1.setPreferredSize(new java.awt.Dimension(100,20)); - jTextField1.setEnabled(false); + private JTextField getJTextFieldFvPropValue() { + if (jTextFieldFvPropValue == null) { + jTextFieldFvPropValue = new JTextField(); + jTextFieldFvPropValue.setPreferredSize(new java.awt.Dimension(100,20)); + jTextFieldFvPropValue.setEnabled(false); } - return jTextField1; + return jTextFieldFvPropValue; } @@ -409,23 +377,29 @@ public class FpdFlash extends IInternalFrame { * * @return javax.swing.JButton */ - private JButton getJButton() { - if (jButton == null) { - jButton = new JButton(); - jButton.setPreferredSize(new java.awt.Dimension(80,20)); - jButton.setEnabled(false); - jButton.setText("Add"); - jButton.addActionListener(new AbstractAction() { + private JButton getJButtonFvPropAdd() { + if (jButtonFvPropAdd == null) { + jButtonFvPropAdd = new JButton(); + jButtonFvPropAdd.setPreferredSize(new java.awt.Dimension(80,20)); + jButtonFvPropAdd.setEnabled(false); + jButtonFvPropAdd.setText("Add"); + jButtonFvPropAdd.addActionListener(new AbstractAction() { + /** + * + */ + private static final long serialVersionUID = 1L; + public void actionPerformed(ActionEvent e) { - if (jTextField.getText().length() > 0 && jTextField1.getText().length() > 0){ - String[] row = {jTextField.getText(), jTextField1.getText()}; + if (jTextFieldFvPropName.getText().length() > 0 && jTextFieldFvPropValue.getText().length() > 0){ + String[] row = {jTextFieldFvPropName.getText(), jTextFieldFvPropValue.getText()}; fvPropertyTableModel.addRow(row); + docConsole.setSaved(false); ffc.genFvImagesNameValue(row[0], row[1]); } } }); } - return jButton; + return jButtonFvPropAdd; } @@ -434,13 +408,13 @@ public class FpdFlash extends IInternalFrame { * * @return javax.swing.JScrollPane */ - private JScrollPane getJScrollPane1() { - if (jScrollPane1 == null) { - jScrollPane1 = new JScrollPane(); - jScrollPane1.setPreferredSize(new java.awt.Dimension(350,55)); - jScrollPane1.setViewportView(getJTable()); + private JScrollPane getJScrollPaneFvProp() { + if (jScrollPaneFvProp == null) { + jScrollPaneFvProp = new JScrollPane(); + jScrollPaneFvProp.setPreferredSize(new java.awt.Dimension(350,55)); + jScrollPaneFvProp.setViewportView(getJTableFvProp()); } - return jScrollPane1; + return jScrollPaneFvProp; } @@ -449,17 +423,17 @@ public class FpdFlash extends IInternalFrame { * * @return javax.swing.JTable */ - private JTable getJTable() { - if (jTable == null) { + private JTable getJTableFvProp() { + if (jTableFvProp == null) { fvPropertyTableModel = new DefaultTableModel(); - jTable = new JTable(fvPropertyTableModel); + jTableFvProp = new JTable(fvPropertyTableModel); fvPropertyTableModel.addColumn("Name"); fvPropertyTableModel.addColumn("Value"); - jTable.setRowHeight(20); - jTable.setEnabled(false); + jTableFvProp.setRowHeight(20); + jTableFvProp.setEnabled(false); - jTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); - jTable.getSelectionModel().addListSelectionListener(new ListSelectionListener(){ + jTableFvProp.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); + jTableFvProp.getSelectionModel().addListSelectionListener(new ListSelectionListener(){ public void valueChanged(ListSelectionEvent e) { if (e.getValueIsAdjusting()){ return; @@ -474,7 +448,7 @@ public class FpdFlash extends IInternalFrame { } }); - jTable.getModel().addTableModelListener(new TableModelListener(){ + jTableFvProp.getModel().addTableModelListener(new TableModelListener(){ public void tableChanged(TableModelEvent arg0) { // TODO Auto-generated method stub int row = arg0.getFirstRow(); @@ -483,13 +457,13 @@ public class FpdFlash extends IInternalFrame { String name = m.getValueAt(row, 0) + ""; String value = m.getValueAt(row, 1) + ""; - + docConsole.setSaved(false); ffc.updateFvImagesNameValue(row, name, value); } } }); } - return jTable; + return jTableFvProp; } @@ -498,15 +472,15 @@ public class FpdFlash extends IInternalFrame { * * @return javax.swing.JPanel */ - private JPanel getJPanel4() { - if (jPanel4 == null) { - jPanel4 = new JPanel(); - jPanel4.setPreferredSize(new java.awt.Dimension(80,55)); + private JPanel getJPanelFvPropButtonGroup() { + if (jPanelFvPropButtonGroup == null) { + jPanelFvPropButtonGroup = new JPanel(); + jPanelFvPropButtonGroup.setPreferredSize(new java.awt.Dimension(80,55)); - jPanel4.add(getJButton(), null); - jPanel4.add(getJButton1(), null); + jPanelFvPropButtonGroup.add(getJButtonFvPropAdd(), null); + jPanelFvPropButtonGroup.add(getJButtonFvPropDel(), null); } - return jPanel4; + return jPanelFvPropButtonGroup; } @@ -515,22 +489,28 @@ public class FpdFlash extends IInternalFrame { * * @return javax.swing.JButton */ - private JButton getJButton1() { - if (jButton1 == null) { - jButton1 = new JButton(); - jButton1.setPreferredSize(new java.awt.Dimension(80,20)); - jButton1.setEnabled(false); - jButton1.setText("Delete"); - jButton1.addActionListener(new AbstractAction() { + private JButton getJButtonFvPropDel() { + if (jButtonFvPropDel == null) { + jButtonFvPropDel = new JButton(); + jButtonFvPropDel.setPreferredSize(new java.awt.Dimension(80,20)); + jButtonFvPropDel.setEnabled(false); + jButtonFvPropDel.setText("Delete"); + jButtonFvPropDel.addActionListener(new AbstractAction() { + /** + * + */ + private static final long serialVersionUID = 1L; + public void actionPerformed(ActionEvent e) { - if (jTable.getSelectedRow() >= 0){ - fvPropertyTableModel.removeRow(jTable.getSelectedRow()); - ffc.removeFvImagesNameValue(jTable.getSelectedRow()); + if (jTableFvProp.getSelectedRow() >= 0){ + fvPropertyTableModel.removeRow(jTableFvProp.getSelectedRow()); + docConsole.setSaved(false); + ffc.removeFvImagesNameValue(jTableFvProp.getSelectedRow()); } } }); } - return jButton1; + return jButtonFvPropDel; } @@ -541,26 +521,26 @@ public class FpdFlash extends IInternalFrame { */ private JPanel getJPanelFvImageC() { if (jPanelFvImageC == null) { - jLabel4 = new JLabel(); - jLabel4.setPreferredSize(new Dimension(38, 20)); - jLabel4.setEnabled(false); - jLabel4.setText("Name"); - jLabel3 = new JLabel(); - jLabel3.setText("FV Image Names"); - jLabel3.setEnabled(false); - jLabel3.setPreferredSize(new java.awt.Dimension(150,20)); - jLabel2 = new JLabel(); - jLabel2.setText("Type"); - jLabel2.setEnabled(false); - jLabel2.setPreferredSize(new java.awt.Dimension(70,20)); + jLabelFvParaName = new JLabel(); + jLabelFvParaName.setPreferredSize(new Dimension(38, 20)); + jLabelFvParaName.setEnabled(false); + jLabelFvParaName.setText("Name"); + jLabelFvImageNames = new JLabel(); + jLabelFvImageNames.setText("FV Image Names"); + jLabelFvImageNames.setEnabled(false); + jLabelFvImageNames.setPreferredSize(new java.awt.Dimension(150,20)); + jLabelFvParaType = new JLabel(); + jLabelFvParaType.setText("Type"); + jLabelFvParaType.setEnabled(false); + jLabelFvParaType.setPreferredSize(new java.awt.Dimension(70,20)); FlowLayout flowLayout3 = new FlowLayout(); flowLayout3.setAlignment(java.awt.FlowLayout.LEFT); flowLayout3.setHgap(5); jPanelFvImageC = new JPanel(); jPanelFvImageC.setLayout(flowLayout3); - jPanelFvImageC.add(getJPanel6(), null); + jPanelFvImageC.add(getJPanelFvImagePara(), null); - jPanelFvImageC.add(getJPanel5(), null); + jPanelFvImageC.add(getJPanelFvImageOpts(), null); } return jPanelFvImageC; @@ -572,33 +552,33 @@ public class FpdFlash extends IInternalFrame { * * @return javax.swing.JCheckBox */ - private JCheckBox getJCheckBox2() { - if (jCheckBox2 == null) { - jCheckBox2 = new JCheckBox(); - jCheckBox2.setText("FV Image Parameters"); - jCheckBox2.setPreferredSize(new java.awt.Dimension(200,20)); - jCheckBox2.addItemListener(new ItemListener(){ + private JCheckBox getJCheckBoxFvImagePara() { + if (jCheckBoxFvImagePara == null) { + jCheckBoxFvImagePara = new JCheckBox(); + jCheckBoxFvImagePara.setText("FV Image Parameters"); + jCheckBoxFvImagePara.setPreferredSize(new java.awt.Dimension(200,20)); + jCheckBoxFvImagePara.addItemListener(new ItemListener(){ public void itemStateChanged(ItemEvent arg0) { // TODO Auto-generated method stub - boolean seleted = jCheckBox2.isSelected(); + boolean seleted = jCheckBoxFvImagePara.isSelected(); - jLabel2.setEnabled(seleted); - jLabel3.setEnabled(seleted); - jLabel4.setEnabled(seleted); - jComboBox.setEnabled(seleted); - jTextField2.setEnabled(seleted); + jLabelFvParaType.setEnabled(seleted); + jLabelFvImageNames.setEnabled(seleted); + jLabelFvParaName.setEnabled(seleted); + jComboBoxFvParaType.setEnabled(seleted); + jTextFieldFvParaName.setEnabled(seleted); - jTable1.setEnabled(seleted); - jButton2.setEnabled(seleted); - jButton3.setEnabled(seleted); + jTableFvImageNames.setEnabled(seleted); + jButtonFvParaAdd.setEnabled(seleted); + jButtonFvParaDel.setEnabled(seleted); } }); } - return jCheckBox2; + return jCheckBoxFvImagePara; } @@ -607,16 +587,16 @@ public class FpdFlash extends IInternalFrame { * * @return javax.swing.JComboBox */ - private JComboBox getJComboBox() { - if (jComboBox == null) { - jComboBox = new JComboBox(); - jComboBox.addItem("ImageName"); - jComboBox.addItem("Attributes"); - jComboBox.addItem("Options"); - jComboBox.addItem("Components"); - jComboBox.setPreferredSize(new java.awt.Dimension(180,20)); - jComboBox.setEnabled(false); - jComboBox.addItemListener(new ItemListener() { + private JComboBox getJComboBoxFvParaType() { + if (jComboBoxFvParaType == null) { + jComboBoxFvParaType = new JComboBox(); + jComboBoxFvParaType.addItem("ImageName"); + jComboBoxFvParaType.addItem("Attributes"); + jComboBoxFvParaType.addItem("Options"); + jComboBoxFvParaType.addItem("Components"); + jComboBoxFvParaType.setPreferredSize(new java.awt.Dimension(180,20)); + jComboBoxFvParaType.setEnabled(false); + jComboBoxFvParaType.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent arg0) { // TODO disable attribute settings when ValidImageNames selected. @@ -625,7 +605,7 @@ public class FpdFlash extends IInternalFrame { }); } - return jComboBox; + return jComboBoxFvParaType; } @@ -634,13 +614,13 @@ public class FpdFlash extends IInternalFrame { * * @return javax.swing.JTextField */ - private JTextField getJTextField2() { - if (jTextField2 == null) { - jTextField2 = new JTextField(); - jTextField2.setPreferredSize(new java.awt.Dimension(140,20)); - jTextField2.setEnabled(false); + private JTextField getJTextFieldFvParaName() { + if (jTextFieldFvParaName == null) { + jTextFieldFvParaName = new JTextField(); + jTextFieldFvParaName.setPreferredSize(new java.awt.Dimension(140,20)); + jTextFieldFvParaName.setEnabled(false); } - return jTextField2; + return jTextFieldFvParaName; } @@ -649,22 +629,27 @@ public class FpdFlash extends IInternalFrame { * * @return javax.swing.JButton */ - private JButton getJButton2() { - if (jButton2 == null) { - jButton2 = new JButton(); - jButton2.setPreferredSize(new Dimension(80, 20)); - jButton2.setEnabled(false); - jButton2.setText("Add"); - jButton2.addActionListener(new AbstractAction() { + private JButton getJButtonFvParaAdd() { + if (jButtonFvParaAdd == null) { + jButtonFvParaAdd = new JButton(); + jButtonFvParaAdd.setPreferredSize(new Dimension(80, 20)); + jButtonFvParaAdd.setEnabled(false); + jButtonFvParaAdd.setText("Add"); + jButtonFvParaAdd.addActionListener(new AbstractAction() { + /** + * + */ + private static final long serialVersionUID = 1L; + public void actionPerformed(java.awt.event.ActionEvent e) { - if (jTextField2.getText().length() > 0){ - String[] row = {jTextField2.getText()}; + if (jTextFieldFvParaName.getText().length() > 0){ + String[] row = {jTextFieldFvParaName.getText()}; fvImageNameTableModel.addRow(row); } } }); } - return jButton2; + return jButtonFvParaAdd; } @@ -673,13 +658,13 @@ public class FpdFlash extends IInternalFrame { * * @return javax.swing.JScrollPane */ - private JScrollPane getJScrollPane2() { - if (jScrollPane2 == null) { - jScrollPane2 = new JScrollPane(); - jScrollPane2.setPreferredSize(new java.awt.Dimension(350,50)); - jScrollPane2.setViewportView(getJTable1()); + private JScrollPane getJScrollPaneFvImageNames() { + if (jScrollPaneFvImageNames == null) { + jScrollPaneFvImageNames = new JScrollPane(); + jScrollPaneFvImageNames.setPreferredSize(new java.awt.Dimension(350,50)); + jScrollPaneFvImageNames.setViewportView(getJTableFvImageNames()); } - return jScrollPane2; + return jScrollPaneFvImageNames; } @@ -688,14 +673,14 @@ public class FpdFlash extends IInternalFrame { * * @return javax.swing.JTable */ - private JTable getJTable1() { - if (jTable1 == null) { + private JTable getJTableFvImageNames() { + if (jTableFvImageNames == null) { fvImageNameTableModel = new DefaultTableModel(); - jTable1 = new JTable(fvImageNameTableModel); - jTable1.setEnabled(false); + jTableFvImageNames = new JTable(fvImageNameTableModel); + jTableFvImageNames.setEnabled(false); fvImageNameTableModel.addColumn("FV Image Name"); } - return jTable1; + return jTableFvImageNames; } @@ -704,66 +689,68 @@ public class FpdFlash extends IInternalFrame { * * @return javax.swing.JButton */ - private JButton getJButton3() { - if (jButton3 == null) { - jButton3 = new JButton(); - jButton3.setPreferredSize(new Dimension(80, 20)); - jButton3.setEnabled(false); - jButton3.setText("Delete"); - jButton3.addActionListener(new AbstractAction() { + private JButton getJButtonFvParaDel() { + if (jButtonFvParaDel == null) { + jButtonFvParaDel = new JButton(); + jButtonFvParaDel.setPreferredSize(new Dimension(80, 20)); + jButtonFvParaDel.setEnabled(false); + jButtonFvParaDel.setText("Delete"); + jButtonFvParaDel.addActionListener(new AbstractAction() { + /** + * + */ + private static final long serialVersionUID = 1L; + public void actionPerformed(java.awt.event.ActionEvent e) { - if (jTable1.getSelectedRow() >= 0){ + if (jTableFvImageNames.getSelectedRow() >= 0){ - fvImageNameTableModel.removeRow(jTable1.getSelectedRow()); + fvImageNameTableModel.removeRow(jTableFvImageNames.getSelectedRow()); } } }); } - return jButton3; + return jButtonFvParaDel; } - private JPanel getJPanel5() { + private JPanel getJPanelFvImageOpts() { - if (jPanel5 == null) { + if (jPanelFvImageOpts == null) { //ToDo add ButtonGroup for RadioButtons - jPanel5 = new JPanel(); - jPanel5.setPreferredSize(new java.awt.Dimension(480,120)); + jLabelFvImageOptValue = new JLabel(); + jLabelFvImageOptValue.setEnabled(true); + jLabelFvImageOptValue.setText("Value"); + jLabelFvImageOptValue.setPreferredSize(new Dimension(38, 20)); + jLabelFvImageOptName = new JLabel(); + jLabelFvImageOptName.setEnabled(true); + jLabelFvImageOptName.setText("Name"); + jLabelFvImageOptName.setPreferredSize(new Dimension(38, 20)); + jPanelFvImageOpts = new JPanel(); + jPanelFvImageOpts.setPreferredSize(new java.awt.Dimension(480,150)); - GridLayout gridLayout = new GridLayout(); - gridLayout.setRows(5); - gridLayout.setColumns(3); - jPanel5.setLayout(gridLayout); - jPanel5.add(getJCheckBox3(), null); + jPanelFvImageOpts.setLayout(new FlowLayout()); - jLabel5 = new JLabel(); - jLabel5.setText("EFI_ERASE_POLARITY"); - jLabel5.setEnabled(false); - jPanel5.add(jLabel5, null); - jPanel5.add(getJComboBox1(), null); - jPanel5.add(getJCheckBox4(), null); - jPanel5.add(getJCheckBox5(), null); - jPanel5.add(getJCheckBox6(), null); - jPanel5.add(getJCheckBox7(), null); - jPanel5.add(getJCheckBox8(), null); - jPanel5.add(getJCheckBox9(), null); - jPanel5.add(getJCheckBox10(), null); - jPanel5.add(getJCheckBox11(), null); - jPanel5.add(getJCheckBox12(), null); - jPanel5.add(getJCheckBox13(), null); - jPanel5.add(getJButton4(), null); - jPanel5.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.LOWERED)); - jPanel5.add(getJButton6(), null); + jPanelFvImageOpts.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.LOWERED)); + jPanelFvImageOpts.add(getJCheckBoxFvImageOpts(), null); + jPanelFvImageOpts.add(jLabelFvImageOptName, null); + jPanelFvImageOpts.add(getJTextFieldFvImageOptName(), null); + jPanelFvImageOpts.add(jLabelFvImageOptValue, null); + jPanelFvImageOpts.add(getJTextFieldFvImageOptValue(), null); + jPanelFvImageOpts.add(getJScrollPane(), null); + jPanelFvImageOpts.add(getJPanelFvImageOptsButtonGroup(), null); + jPanelFvImageOpts.add(getJButtonAddFvImage(), null); + jPanelFvImageOpts.add(getJButtonDelFvImage(), null); + jPanelFvImageOpts.add(getJButtonUpdateFvImage(), null); } - return jPanel5; + return jPanelFvImageOpts; } @@ -772,49 +759,53 @@ public class FpdFlash extends IInternalFrame { * * @return javax.swing.JButton */ - private JButton getJButton4() { - if (jButton4 == null) { - jButton4 = new JButton(); - jButton4.setPreferredSize(new java.awt.Dimension(80,20)); + private JButton getJButtonAddFvImage() { + if (jButtonAddFvImage == null) { + jButtonAddFvImage = new JButton(); + jButtonAddFvImage.setPreferredSize(new java.awt.Dimension(120,20)); // jButton4.setEnabled(false); - jButton4.setText("Add FV Image"); - jButton4.addActionListener(new AbstractAction() { + jButtonAddFvImage.setText("Add FV Image"); + jButtonAddFvImage.addActionListener(new AbstractAction() { + /** + * + */ + private static final long serialVersionUID = 1L; + public void actionPerformed(java.awt.event.ActionEvent e) { - if (jTable1.getRowCount()== 0){ + if (jTableFvInfo.isEditing()) { + jTableFvInfo.getCellEditor().stopCellEditing(); + } + if (jTableFvImageOpts.isEditing()) { + jTableFvImageOpts.getCellEditor().stopCellEditing(); + } + if (jTableFvImageNames.getRowCount()== 0){ return; } String imageName = " "; - for (int i = 0; i < jTable1.getRowCount(); ++i){ - imageName += (String)jTable1.getValueAt(i, 0); + for (int i = 0; i < jTableFvImageNames.getRowCount(); ++i){ + imageName += (String)jTableFvImageNames.getValueAt(i, 0); imageName += " "; } imageName = imageName.trim(); - if (!jCheckBox3.isSelected() && jComboBox.getSelectedIndex() != 0){ + if (!jCheckBoxFvImageOpts.isSelected() && jComboBoxFvParaType.getSelectedIndex() != 0){ return; } - LinkedHashMap m = new LinkedHashMap(); - boolean[] boolArray = {jComboBox1.getSelectedIndex()==0 ? true: false, jCheckBox6.isSelected(), jCheckBox9.isSelected(), - jCheckBox11.isSelected(), jCheckBox12.isSelected(), - jCheckBox13.isSelected(),jCheckBox4.isSelected(), - jCheckBox5.isSelected(), jCheckBox7.isSelected(), - jCheckBox8.isSelected(),jCheckBox10.isSelected()}; - booleanToNameValue(boolArray, m); - ffc.genFvImagesFvImage(imageName.split(" "), jComboBox.getSelectedItem()+"", m); - - Object[] o = {imageName, jComboBox.getSelectedItem(), jComboBox1.getSelectedIndex()==0 ? true: false, - jCheckBox6.isSelected(), jCheckBox9.isSelected(), - jCheckBox11.isSelected(), jCheckBox12.isSelected(), - jCheckBox13.isSelected(),jCheckBox4.isSelected(), - jCheckBox5.isSelected(), jCheckBox7.isSelected(), - jCheckBox8.isSelected(),jCheckBox10.isSelected()}; - fvImageParaTableModel.addRow(o); + LinkedHashMap m = null; + if (jCheckBoxFvImageOpts.isSelected()) { + m = new LinkedHashMap(); + getOptionNameValue(m); + } + ffc.genFvImagesFvImage(imageName.split(" "), jComboBoxFvParaType.getSelectedItem()+"", m); + docConsole.setSaved(false); + Object[] row = {imageName, jComboBoxFvParaType.getSelectedItem()}; + fvImageParaTableModel.addRow(row); } }); } - return jButton4; + return jButtonAddFvImage; } @@ -823,13 +814,13 @@ public class FpdFlash extends IInternalFrame { * * @return javax.swing.JScrollPane */ - private JScrollPane getJScrollPane3() { - if (jScrollPane3 == null) { - jScrollPane3 = new JScrollPane(); - jScrollPane3.setPreferredSize(new java.awt.Dimension(480,150)); - jScrollPane3.setViewportView(getJTable2()); + private JScrollPane getJScrollPaneFvInfo() { + if (jScrollPaneFvInfo == null) { + jScrollPaneFvInfo = new JScrollPane(); + jScrollPaneFvInfo.setPreferredSize(new java.awt.Dimension(480,150)); + jScrollPaneFvInfo.setViewportView(getJTableFvInfo()); } - return jScrollPane3; + return jScrollPaneFvInfo; } @@ -838,40 +829,24 @@ public class FpdFlash extends IInternalFrame { * * @return javax.swing.JTable */ - private JTable getJTable2() { - if (jTable2 == null) { + private JTable getJTableFvInfo() { + if (jTableFvInfo == null) { fvImageParaTableModel = new ImageParaTableModel(); - jTable2 = new JTable(fvImageParaTableModel); - jTable2.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF); + jTableFvInfo = new JTable(fvImageParaTableModel); fvImageParaTableModel.addColumn("FvImageNames"); fvImageParaTableModel.addColumn("Type"); - fvImageParaTableModel.addColumn("ErasePolarity"); - fvImageParaTableModel.addColumn("ReadStatus"); - fvImageParaTableModel.addColumn("WriteStatus"); - fvImageParaTableModel.addColumn("LockStatus"); - fvImageParaTableModel.addColumn("MemoryMapped"); - fvImageParaTableModel.addColumn("StickyWrite"); - fvImageParaTableModel.addColumn("ReadDisableCap"); - fvImageParaTableModel.addColumn("ReadEnableCap"); - fvImageParaTableModel.addColumn("WriteDisableCap"); - fvImageParaTableModel.addColumn("WriteEnableCap"); - fvImageParaTableModel.addColumn("LockCap"); - TableColumn typeCol = jTable2.getColumnModel().getColumn(1); + + TableColumn typeCol = jTableFvInfo.getColumnModel().getColumn(1); JComboBox cb = new JComboBox(); - cb.addItem("ValidImageNames"); + cb.addItem("ImageName"); cb.addItem("Attributes"); cb.addItem("Options"); cb.addItem("Components"); typeCol.setCellEditor(new DefaultCellEditor(cb)); -// TableColumn epCol = jTable2.getColumnModel().getColumn(2); -// JComboBox cb1 = new JComboBox(); -// cb1.addItem("1"); -// cb1.addItem("0"); -// epCol.setCellEditor(new DefaultCellEditor(cb1)); - jTable2.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); - jTable2.getSelectionModel().addListSelectionListener(new ListSelectionListener(){ + jTableFvInfo.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); + jTableFvInfo.getSelectionModel().addListSelectionListener(new ListSelectionListener(){ public void valueChanged(ListSelectionEvent e) { if (e.getValueIsAdjusting()){ return; @@ -881,33 +856,37 @@ public class FpdFlash extends IInternalFrame { return; } else{ -// selectedRow = lsm.getMinSelectionIndex(); - } - } - }); - - jTable2.getModel().addTableModelListener(new TableModelListener(){ - public void tableChanged(TableModelEvent arg0) { - // TODO Auto-generated method stub - int row = arg0.getFirstRow(); - TableModel m = (TableModel)arg0.getSource(); - if (arg0.getType() == TableModelEvent.UPDATE){ - //ToDo Check data validity before update - String name = m.getValueAt(row, 0) + ""; - String type = m.getValueAt(row, 1) + ""; - boolean[] boolArray = new boolean[11]; - for (int i = 2; i < 13; ++i) { - boolArray[i-2] = (Boolean)m.getValueAt(row, i); + int selectedRow = lsm.getMinSelectionIndex(); + if (fvImageParaTableModel.getValueAt(selectedRow, 1).equals("ImageName")) { + String[] fvNames = fvImageParaTableModel.getValueAt(selectedRow, 0).toString().split(" "); + for (int i = 0; i < fvNames.length; ++i) { + String[] row = {fvNames[i]}; + fvImageNameTableModel.addRow(row); + } + return; } - LinkedHashMap lhm = new LinkedHashMap(); - booleanToNameValue(boolArray, lhm); - - ffc.updateFvImagesFvImage(row, name.split(" "), type, lhm); + LinkedHashMap optionMap = new LinkedHashMap(); + ffc.getFvImagesFvImageOptions(selectedRow, optionMap); + if (optionMap.size() > 0){ + fvOptionTableModel.setRowCount(0); + Set key = optionMap.keySet(); + Iterator i = key.iterator(); + while (i.hasNext()) { + + String k = (String)i.next(); + String[] row = {k, optionMap.get(k)}; + + fvOptionTableModel.addRow(row); + } + } + } } }); + + } - return jTable2; + return jTableFvInfo; } @@ -916,25 +895,30 @@ public class FpdFlash extends IInternalFrame { * * @return javax.swing.JButton */ - private JButton getJButton6() { - if (jButton6 == null) { - jButton6 = new JButton(); - jButton6.setPreferredSize(new java.awt.Dimension(150,20)); + private JButton getJButtonDelFvImage() { + if (jButtonDelFvImage == null) { + jButtonDelFvImage = new JButton(); + jButtonDelFvImage.setPreferredSize(new java.awt.Dimension(120,20)); // jButton6.setEnabled(false); - jButton6.setText("Delete Row"); - jButton6.addActionListener(new AbstractAction() { + jButtonDelFvImage.setText("Delete Row"); + jButtonDelFvImage.addActionListener(new AbstractAction() { + /** + * + */ + private static final long serialVersionUID = 1L; public void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stub - if (jTable2.getSelectedRow() >= 0 ) { - fvImageParaTableModel.removeRow(jTable2.getSelectedRow()); - ffc.removeFvImagesFvImage(jTable2.getSelectedRow()); + if (jTableFvInfo.getSelectedRow() >= 0 ) { + ffc.removeFvImagesFvImage(jTableFvInfo.getSelectedRow()); + fvImageParaTableModel.removeRow(jTableFvInfo.getSelectedRow()); + docConsole.setSaved(false); } } }); } - return jButton6; + return jButtonDelFvImage; } @@ -943,339 +927,673 @@ public class FpdFlash extends IInternalFrame { * * @return javax.swing.JCheckBox */ - private JCheckBox getJCheckBox3() { - if (jCheckBox3 == null) { - jCheckBox3 = new JCheckBox(); - jCheckBox3.setText("FV Image Options"); - jCheckBox3.addItemListener(new ItemListener(){ + private JCheckBox getJCheckBoxFvImageOpts() { + if (jCheckBoxFvImageOpts == null) { + jCheckBoxFvImageOpts = new JCheckBox(); + jCheckBoxFvImageOpts.setText("FV Image Options"); + jCheckBoxFvImageOpts.addItemListener(new ItemListener(){ public void itemStateChanged(ItemEvent arg0) { // TODO Auto-generated method stub - boolean seleted = jCheckBox3.isSelected(); +// boolean selected = jCheckBox3.isSelected(); - if (!jCheckBox2.isSelected() || jComboBox.getSelectedIndex() == 0) { + if (!jCheckBoxFvImagePara.isSelected() || jComboBoxFvParaType.getSelectedIndex() == 0) { return; } - jLabel5.setEnabled(seleted); - jComboBox1.setEnabled(seleted); - - jCheckBox4.setEnabled(seleted); - jCheckBox5.setEnabled(seleted); - jCheckBox6.setEnabled(seleted); - jCheckBox7.setEnabled(seleted); - jCheckBox8.setEnabled(seleted); - jCheckBox9.setEnabled(seleted); - jCheckBox10.setEnabled(seleted); - jCheckBox11.setEnabled(seleted); - jCheckBox12.setEnabled(seleted); - jCheckBox13.setEnabled(seleted); -// jButton4.setEnabled(seleted); -// jButton6.setEnabled(seleted); } }); } - return jCheckBox3; + return jCheckBoxFvImageOpts; } /** - * This method initializes jComboBox1 + * This method initializes jPanel6 * - * @return javax.swing.JComboBox + * @return javax.swing.JPanel */ - private JComboBox getJComboBox1() { - if (jComboBox1 == null) { - jComboBox1 = new JComboBox(); - jComboBox1.setPreferredSize(new java.awt.Dimension(20,20)); - jComboBox1.setEnabled(false); - jComboBox1.addItem("1"); - jComboBox1.addItem("0"); - jComboBox1.setSelectedIndex(0); - } - return jComboBox1; + private JPanel getJPanelFvImagePara() { + if (jPanelFvImagePara == null) { + StarLabel starLabel = new StarLabel(); + starLabel.setVisible(false); + jPanelFvImagePara = new JPanel(); + jPanelFvImagePara.setPreferredSize(new java.awt.Dimension(480,120)); + jPanelFvImagePara.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.RAISED)); + jPanelFvImagePara.add(getJCheckBoxFvImagePara(), null); + jPanelFvImagePara.add(jLabelFvParaType, null); + jPanelFvImagePara.add(getJComboBoxFvParaType(), null); + jPanelFvImagePara.add(new StarLabel(), null); + jPanelFvImagePara.add(jLabelFvImageNames, null); + jPanelFvImagePara.add(jLabelFvParaName, null); + jPanelFvImagePara.add(getJTextFieldFvParaName(), null); + jPanelFvImagePara.add(getJButtonFvParaAdd(), null); + jPanelFvImagePara.add(getJScrollPaneFvImageNames(), null); + jPanelFvImagePara.add(getJButtonFvParaDel(), null); + } + return jPanelFvImagePara; } + /** + * This method initializes jPanel7 + * + * @return javax.swing.JPanel + */ + private JPanel getJPanelFdf() { + if (jPanelFdf == null) { + jPanelFdf = new JPanel(); + jPanelFdf.setLayout(new BorderLayout()); + + jPanelFdf.add(getJPanelFdfN(), java.awt.BorderLayout.NORTH); + jPanelFdf.add(getJPanelFdfS(), java.awt.BorderLayout.SOUTH); + jPanelFdf.add(getJSplitPaneFdfC(), java.awt.BorderLayout.CENTER); +// jPanelFdf.addComponentListener(new ComponentAdapter(){ +// public void componentShown(ComponentEvent e) { +// if (ffc.getFlashDefinitionFile() != null) { +// jTextFieldFdf.setText(ffc.getFlashDefinitionFile()); +// } +// } +// public void componentHidden(ComponentEvent e) { +// if (jCheckBoxFdf.isSelected()) { +// ffc.genFlashDefinitionFile(jTextFieldFdf.getText()); +// } +// } +// }); + } + return jPanelFdf; + } /** - * This method initializes jCheckBox4 + * This method initializes jCheckBox * * @return javax.swing.JCheckBox */ - private JCheckBox getJCheckBox4() { - if (jCheckBox4 == null) { - jCheckBox4 = new JCheckBox(); - jCheckBox4.setText("Read Disable CAP"); - jCheckBox4.setEnabled(false); + private JCheckBox getJCheckBoxFdf() { + if (jCheckBoxFdf == null) { + jCheckBoxFdf = new JCheckBox(); + jCheckBoxFdf.setText("Flash Definition File"); + jCheckBoxFdf.addItemListener(new ItemListener() { + + public void itemStateChanged(ItemEvent arg0) { + // TODO Auto-generated method stub + if (jCheckBoxFdf.isSelected()){ + jTextFieldFdf.setEnabled(true); + jButtonFdfBrowse.setEnabled(true); + } + else { + + jTextFieldFdf.setEnabled(false); + jButtonFdfBrowse.setEnabled(false); + } + } + }); } - return jCheckBox4; + return jCheckBoxFdf; } + /** + * This method initializes jTextField3 + * + * @return javax.swing.JTextField + */ + private JTextField getJTextFieldFdf() { + if (jTextFieldFdf == null) { + jTextFieldFdf = new JTextField(); + jTextFieldFdf.setEnabled(false); + jTextFieldFdf.setPreferredSize(new Dimension(300, 20)); + jTextFieldFdf.addFocusListener(new java.awt.event.FocusAdapter() { + public void focusLost(java.awt.event.FocusEvent e) { + ffc.genFlashDefinitionFile(jTextFieldFdf.getText()); + } + }); + } + return jTextFieldFdf; + } /** - * This method initializes jCheckBox5 + * This method initializes jButton5 * - * @return javax.swing.JCheckBox + * @return javax.swing.JButton */ - private JCheckBox getJCheckBox5() { - if (jCheckBox5 == null) { - jCheckBox5 = new JCheckBox(); - jCheckBox5.setText("Read Enable CAP"); - jCheckBox5.setEnabled(false); + private JButton getJButtonFdfBrowse() { + if (jButtonFdfBrowse == null) { + jButtonFdfBrowse = new JButton(); + jButtonFdfBrowse.setEnabled(false); + jButtonFdfBrowse.setText("Browse"); + jButtonFdfBrowse.setPreferredSize(new Dimension(78, 20)); + jButtonFdfBrowse.addActionListener(new AbstractAction(){ + /** + * + */ + private static final long serialVersionUID = 1L; + + public void actionPerformed(ActionEvent e) { + // TODO Auto-generated method stub + String wsDir = System.getenv("WORKSPACE"); + JFileChooser chooser = new JFileChooser(wsDir); + chooser.setMultiSelectionEnabled(false); + chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES); + int retval = chooser.showOpenDialog(frame); + if (retval == JFileChooser.APPROVE_OPTION) { + + File theFile = chooser.getSelectedFile(); + String filePath = theFile.getPath(); + if (!filePath.startsWith(wsDir)) { + JOptionPane.showMessageDialog(frame, "You can only select files in current WORKSPACE."); + return; + } + jTextFieldFdf.setText(filePath.substring(wsDir.length() + 1).replace('\\', '/')); + ffc.genFlashDefinitionFile(jTextFieldFdf.getText()); + docConsole.setSaved(false); + Vector vFvInfo = new Vector(); + getFvInfoFromFdf(filePath, vFvInfo); + getFvInFdfTableModel().setRowCount(0); + for (int j = 0; j < vFvInfo.size(); ++j) { + FvInfoFromFdf fvInfo = vFvInfo.get(j); + String[] row = {fvInfo.getFvName(), fvInfo.getSize(), fvInfo.getEfiFileName()}; + getFvInFdfTableModel().addRow(row); + } + } + } + + }); } - return jCheckBox5; + return jButtonFdfBrowse; } + /** + * This method initializes jTextField4 + * + * @return javax.swing.JTextField + */ + private JTextField getJTextFieldFvImageOptName() { + if (jTextFieldFvImageOptName == null) { + jTextFieldFvImageOptName = new JTextField(); + jTextFieldFvImageOptName.setEnabled(true); + jTextFieldFvImageOptName.setPreferredSize(new Dimension(100, 20)); + } + return jTextFieldFvImageOptName; + } /** - * This method initializes jCheckBox6 + * This method initializes jTextField5 * - * @return javax.swing.JCheckBox + * @return javax.swing.JTextField */ - private JCheckBox getJCheckBox6() { - if (jCheckBox6 == null) { - jCheckBox6 = new JCheckBox(); - jCheckBox6.setText("Read Status"); - jCheckBox6.setEnabled(false); + private JTextField getJTextFieldFvImageOptValue() { + if (jTextFieldFvImageOptValue == null) { + jTextFieldFvImageOptValue = new JTextField(); + jTextFieldFvImageOptValue.setEnabled(true); + jTextFieldFvImageOptValue.setPreferredSize(new Dimension(100, 20)); } - return jCheckBox6; + return jTextFieldFvImageOptValue; } + /** + * This method initializes jPanel8 + * + * @return javax.swing.JPanel + */ + private JPanel getJPanelFvImageOptsButtonGroup() { + if (jPanelFvImageOptsButtonGroup == null) { + jPanelFvImageOptsButtonGroup = new JPanel(); + jPanelFvImageOptsButtonGroup.setPreferredSize(new Dimension(80, 55)); + jPanelFvImageOptsButtonGroup.add(getJButtonFvImageOptAdd(), null); + jPanelFvImageOptsButtonGroup.add(getJButtonFvImageOptDel(), null); + } + return jPanelFvImageOptsButtonGroup; + } /** - * This method initializes jCheckBox7 + * This method initializes jButton7 * - * @return javax.swing.JCheckBox + * @return javax.swing.JButton */ - private JCheckBox getJCheckBox7() { - if (jCheckBox7 == null) { - jCheckBox7 = new JCheckBox(); - jCheckBox7.setText("Write Disable CAP"); - jCheckBox7.setEnabled(false); + private JButton getJButtonFvImageOptAdd() { + if (jButtonFvImageOptAdd == null) { + jButtonFvImageOptAdd = new JButton(); + jButtonFvImageOptAdd.setEnabled(true); + jButtonFvImageOptAdd.setText("Add"); + jButtonFvImageOptAdd.setPreferredSize(new Dimension(80, 20)); + jButtonFvImageOptAdd.addActionListener(new AbstractAction() { + /** + * + */ + private static final long serialVersionUID = 1L; + + public void actionPerformed(ActionEvent e) { + if (jTextFieldFvImageOptName.getText().length() > 0 && jTextFieldFvImageOptValue.getText().length() > 0){ + String[] row = {jTextFieldFvImageOptName.getText(), jTextFieldFvImageOptValue.getText()}; + fvOptionTableModel.addRow(row); + } + } + }); } - return jCheckBox7; + return jButtonFvImageOptAdd; } + /** + * This method initializes jButton8 + * + * @return javax.swing.JButton + */ + private JButton getJButtonFvImageOptDel() { + if (jButtonFvImageOptDel == null) { + jButtonFvImageOptDel = new JButton(); + jButtonFvImageOptDel.setEnabled(true); + jButtonFvImageOptDel.setText("Delete"); + jButtonFvImageOptDel.setPreferredSize(new Dimension(80, 20)); + jButtonFvImageOptDel.addActionListener(new AbstractAction() { + /** + * + */ + private static final long serialVersionUID = 1L; + + public void actionPerformed(ActionEvent e) { + if (jTableFvImageOpts.getSelectedRow() >= 0){ + fvOptionTableModel.removeRow(jTableFvProp.getSelectedRow()); + } + } + }); + } + return jButtonFvImageOptDel; + } /** - * This method initializes jCheckBox8 + * This method initializes jScrollPane * - * @return javax.swing.JCheckBox + * @return javax.swing.JScrollPane */ - private JCheckBox getJCheckBox8() { - if (jCheckBox8 == null) { - jCheckBox8 = new JCheckBox(); - jCheckBox8.setText("Write Enable CAP"); - jCheckBox8.setEnabled(false); + private JScrollPane getJScrollPane() { + if (jScrollPane == null) { + jScrollPane = new JScrollPane(); + jScrollPane.setPreferredSize(new java.awt.Dimension(350,80)); + jScrollPane.setViewportView(getJTableFvImageOpts()); } - return jCheckBox8; + return jScrollPane; } + /** + * This method initializes jTable3 + * + * @return javax.swing.JTable + */ + private JTable getJTableFvImageOpts() { + if (jTableFvImageOpts == null) { + fvOptionTableModel = new DefaultTableModel(); + fvOptionTableModel.addColumn("Name"); + fvOptionTableModel.addColumn("Value"); + jTableFvImageOpts = new JTable(fvOptionTableModel); + + jTableFvImageOpts.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); + jTableFvImageOpts.setRowHeight(20); + + } + return jTableFvImageOpts; + } /** - * This method initializes jCheckBox9 + * This method initializes jButton9 * - * @return javax.swing.JCheckBox + * @return javax.swing.JButton */ - private JCheckBox getJCheckBox9() { - if (jCheckBox9 == null) { - jCheckBox9 = new JCheckBox(); - jCheckBox9.setText("Write Status"); - jCheckBox9.setEnabled(false); + private JButton getJButtonUpdateFvImage() { + if (jButtonUpdateFvImage == null) { + jButtonUpdateFvImage = new JButton(); + jButtonUpdateFvImage.setPreferredSize(new Dimension(120, 20)); + jButtonUpdateFvImage.setActionCommand("Update"); + jButtonUpdateFvImage.setText("Update FV"); + jButtonUpdateFvImage.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent e) { + int row = jTableFvInfo.getSelectedRow(); + if (jTableFvInfo.isEditing()) { + jTableFvInfo.getCellEditor().stopCellEditing(); + } + if (jTableFvImageOpts.isEditing()) { + jTableFvImageOpts.getCellEditor().stopCellEditing(); + } + + //ToDo Check data validity before update + String name = fvImageParaTableModel.getValueAt(row, 0) + ""; + String type = fvImageParaTableModel.getValueAt(row, 1) + ""; + + LinkedHashMap lhm = new LinkedHashMap(); + getOptionNameValue(lhm); + + docConsole.setSaved(false); + ffc.updateFvImagesFvImage(row, name.split(" "), type, lhm); + + } + }); } - return jCheckBox9; + return jButtonUpdateFvImage; } +// private JButton getJButtonTest() { +// if (jButtonTest == null) { +// jButtonTest = new JButton(); +// jButtonTest.addActionListener(new java.awt.event.ActionListener() { +// public void actionPerformed(java.awt.event.ActionEvent e) { +// docConsole.setSaved(false); +// String[][] includeModules = {{"1", "a"}, {"2", "b"}}; +// ffc.genBuildOptionsUserExtensions("FV_RECOVERY", "FvRecovery.inf", null, includeModules); +// int i = ffc.getUserExtsIncModCount("FV_RECOVERY"); +// String[][] saa = new String[i][2]; +// ffc.getUserExtsIncMods("FV_RECOVERY", saa); +// jTextFieldFdf.setText(saa[0][0] + saa[0][1] + saa[1][0] + saa[1][1]); +// +// } +// }); +// } +// return jButtonTest; +// } /** - * This method initializes jCheckBox10 + * This method initializes jPanelFdfN * - * @return javax.swing.JCheckBox + * @return javax.swing.JPanel */ - private JCheckBox getJCheckBox10() { - if (jCheckBox10 == null) { - jCheckBox10 = new JCheckBox(); - jCheckBox10.setText("Lock CAP"); - jCheckBox10.setEnabled(false); - } - return jCheckBox10; + private JPanel getJPanelFdfN() { + if (jPanelFdfN == null) { + jPanelFdfN = new JPanel(); + jPanelFdfN.add(getJCheckBoxFdf(), null); + jPanelFdfN.add(getJTextFieldFdf(), null); + jPanelFdfN.add(getJButtonFdfBrowse(), null); + } + return jPanelFdfN; } + /** + * This method initializes jPanelFdfS + * + * @return javax.swing.JPanel + */ + private JPanel getJPanelFdfS() { + if (jPanelFdfS == null) { + FlowLayout flowLayout4 = new FlowLayout(); + flowLayout4.setAlignment(java.awt.FlowLayout.RIGHT); + jPanelFdfS = new JPanel(); + jPanelFdfS.setLayout(flowLayout4); + jPanelFdfS.add(getJButtonAddFv(), null); + jPanelFdfS.add(getJButtonDelFv(), null); + jPanelFdfS.add(getJButtonAddFvOptions(), null); + } + return jPanelFdfS; + } /** - * This method initializes jCheckBox11 + * This method initializes jSplitPaneFdfC * - * @return javax.swing.JCheckBox + * @return javax.swing.JSplitPane */ - private JCheckBox getJCheckBox11() { - if (jCheckBox11 == null) { - jCheckBox11 = new JCheckBox(); - jCheckBox11.setText("Lock Status"); - jCheckBox11.setEnabled(false); - } - return jCheckBox11; + private JSplitPane getJSplitPaneFdfC() { + if (jSplitPaneFdfC == null) { + jSplitPaneFdfC = new JSplitPane(); + jSplitPaneFdfC.setOrientation(javax.swing.JSplitPane.VERTICAL_SPLIT); + jSplitPaneFdfC.setDividerSize(5); + jSplitPaneFdfC.setTopComponent(getJPanelFdfCTop()); + jSplitPaneFdfC.setBottomComponent(getJPanelFdfCBottom()); + jSplitPaneFdfC.setDividerLocation(280); + } + return jSplitPaneFdfC; } + /** + * This method initializes jPanelFdfCTop + * + * @return javax.swing.JPanel + */ + private JPanel getJPanelFdfCTop() { + if (jPanelFdfCTop == null) { + jPanelFdfCTop = new JPanel(); + jPanelFdfCTop.setLayout(new BorderLayout()); + jPanelFdfCTop.add(getJPanelFdfCTopN(), java.awt.BorderLayout.NORTH); + jPanelFdfCTop.add(getJPanelFdfCTopS(), java.awt.BorderLayout.SOUTH); + jPanelFdfCTop.add(getJPanelFdfCTopC(), java.awt.BorderLayout.CENTER); + } + return jPanelFdfCTop; + } /** - * This method initializes jCheckBox12 + * This method initializes jPanelFdfCBottom * - * @return javax.swing.JCheckBox + * @return javax.swing.JPanel */ - private JCheckBox getJCheckBox12() { - if (jCheckBox12 == null) { - jCheckBox12 = new JCheckBox(); - jCheckBox12.setText("Memory Mapped"); - jCheckBox12.setEnabled(false); - } - return jCheckBox12; + private JPanel getJPanelFdfCBottom() { + if (jPanelFdfCBottom == null) { + jPanelFdfCBottom = new JPanel(); + jPanelFdfCBottom.setLayout(new BorderLayout()); + jPanelFdfCBottom.add(getJPanelFdfCBottomN(), java.awt.BorderLayout.NORTH); + jPanelFdfCBottom.add(getJPanelFdfCBottomC(), java.awt.BorderLayout.CENTER); + } + return jPanelFdfCBottom; } + /** + * This method initializes jPanelFdfCTopN + * + * @return javax.swing.JPanel + */ + private JPanel getJPanelFdfCTopN() { + if (jPanelFdfCTopN == null) { + jLabelFvInFdf = new JLabel(); + jLabelFvInFdf.setText("FVs in Flash Definition File"); + jPanelFdfCTopN = new JPanel(); + jPanelFdfCTopN.add(jLabelFvInFdf, null); + } + return jPanelFdfCTopN; + } /** - * This method initializes jCheckBox13 + * This method initializes jPanelFdfCTopS * - * @return javax.swing.JCheckBox + * @return javax.swing.JPanel */ - private JCheckBox getJCheckBox13() { - if (jCheckBox13 == null) { - jCheckBox13 = new JCheckBox(); - jCheckBox13.setText("Sticky Write"); - jCheckBox13.setEnabled(false); + private JPanel getJPanelFdfCTopS() { + if (jPanelFdfCTopS == null) { + FlowLayout flowLayout1 = new FlowLayout(); + flowLayout1.setAlignment(java.awt.FlowLayout.RIGHT); + jPanelFdfCTopS = new JPanel(); + jPanelFdfCTopS.setLayout(flowLayout1); + jPanelFdfCTopS.add(getJButtonFvInFdfOptions(), null); } - return jCheckBox13; + return jPanelFdfCTopS; } - /** - * This method initializes jPanel6 + * This method initializes jPanelFdfCTopC * * @return javax.swing.JPanel */ - private JPanel getJPanel6() { - if (jPanel6 == null) { - StarLabel starLabel = new StarLabel(); - starLabel.setVisible(false); - jPanel6 = new JPanel(); - jPanel6.setPreferredSize(new java.awt.Dimension(480,120)); - jPanel6.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.RAISED)); - jPanel6.add(getJCheckBox2(), null); - jPanel6.add(jLabel2, null); - jPanel6.add(getJComboBox(), null); - jPanel6.add(new StarLabel(), null); - jPanel6.add(jLabel3, null); - jPanel6.add(jLabel4, null); - jPanel6.add(getJTextField2(), null); - jPanel6.add(getJButton2(), null); - jPanel6.add(getJScrollPane2(), null); - jPanel6.add(getJButton3(), null); + private JPanel getJPanelFdfCTopC() { + if (jPanelFdfCTopC == null) { + jPanelFdfCTopC = new JPanel(); + jPanelFdfCTopC.add(getJScrollPaneFvInFdf(), null); } - return jPanel6; + return jPanelFdfCTopC; } /** - * This method initializes jPanel7 + * This method initializes jPanelFdfCBottomN * * @return javax.swing.JPanel */ - private JPanel getJPanel7() { - if (jPanel7 == null) { - FlowLayout flowLayout1 = new FlowLayout(); - flowLayout1.setAlignment(FlowLayout.LEFT); - jPanel7 = new JPanel(); - jPanel7.setLayout(flowLayout1); - jPanel7.add(getJCheckBox(), null); - jPanel7.add(getJTextField3(), null); - jPanel7.add(getJButton5(), null); - jPanel7.addComponentListener(new ComponentAdapter(){ - public void componentShown(ComponentEvent e) { - if (ffc.getFlashDefinitionFile() != null) { - jTextField3.setText(ffc.getFlashDefinitionFile()); - } - } - public void componentHidden(ComponentEvent e) { - if (jCheckBox.isSelected()) { - ffc.genFlashDefinitionFile(jTextField3.getText()); - } - } - }); + private JPanel getJPanelFdfCBottomN() { + if (jPanelFdfCBottomN == null) { + jLabelFvAdditional = new JLabel(); + jLabelFvAdditional.setText("Additional FVs"); + jPanelFdfCBottomN = new JPanel(); + jPanelFdfCBottomN.add(jLabelFvAdditional, null); + } + return jPanelFdfCBottomN; + } + + /** + * This method initializes jPanelFdfCBottomC + * + * @return javax.swing.JPanel + */ + private JPanel getJPanelFdfCBottomC() { + if (jPanelFdfCBottomC == null) { + jPanelFdfCBottomC = new JPanel(); + jPanelFdfCBottomC.add(getJScrollPaneFvAdditional(), null); } - return jPanel7; + return jPanelFdfCBottomC; } /** - * This method initializes jCheckBox + * This method initializes jScrollPaneFvInFdf * - * @return javax.swing.JCheckBox + * @return javax.swing.JScrollPane */ - private JCheckBox getJCheckBox() { - if (jCheckBox == null) { - jCheckBox = new JCheckBox(); - jCheckBox.setText("Flash Definition File"); - jCheckBox.addItemListener(new ItemListener() { + private JScrollPane getJScrollPaneFvInFdf() { + if (jScrollPaneFvInFdf == null) { + jScrollPaneFvInFdf = new JScrollPane(); + jScrollPaneFvInFdf.setPreferredSize(new java.awt.Dimension(653,200)); + jScrollPaneFvInFdf.setViewportView(getJTableFvInFdf()); + } + return jScrollPaneFvInFdf; + } - public void itemStateChanged(ItemEvent arg0) { - // TODO Auto-generated method stub - if (jCheckBox.isSelected()){ - jTextField3.setEnabled(true); - jButton5.setEnabled(true); - } - else { - - jTextField3.setEnabled(false); - jButton5.setEnabled(false); + /** + * This method initializes jTableFvInFdf + * + * @return javax.swing.JTable + */ + private JTable getJTableFvInFdf() { + if (jTableFvInFdf == null) { + jTableFvInFdf = new JTable(); + jTableFvInFdf.setRowHeight(20); + jTableFvInFdf.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION); + jTableFvInFdf.setModel(getFvInFdfTableModel()); + } + return jTableFvInFdf; + } + + /** + * This method initializes fvInFdfTableModel + * + * @return org.tianocore.frameworkwizard.platform.ui.NonEditableTableModel + */ + private NonEditableTableModel getFvInFdfTableModel() { + if (fvInFdfTableModel == null) { + fvInFdfTableModel = new NonEditableTableModel(); + fvInFdfTableModel.addColumn("FV Name"); + fvInFdfTableModel.addColumn("Size"); + fvInFdfTableModel.addColumn("Corresponding File Name"); + } + return fvInFdfTableModel; + } + + /** + * This method initializes jButtonFvInFdfOptions + * + * @return javax.swing.JButton + */ + private JButton getJButtonFvInFdfOptions() { + if (jButtonFvInFdfOptions == null) { + jButtonFvInFdfOptions = new JButton(); + jButtonFvInFdfOptions.setPreferredSize(new java.awt.Dimension(80,20)); + jButtonFvInFdfOptions.setText("Options"); + jButtonFvInFdfOptions.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent e) { + int selectedRow = jTableFvInFdf.getSelectedRow(); + if (selectedRow < 0) { + return; } } }); } - return jCheckBox; + return jButtonFvInFdfOptions; } /** - * This method initializes jTextField3 + * This method initializes jScrollPaneFvAdditional * - * @return javax.swing.JTextField + * @return javax.swing.JScrollPane */ - private JTextField getJTextField3() { - if (jTextField3 == null) { - jTextField3 = new JTextField(); - jTextField3.setEnabled(false); - jTextField3.setPreferredSize(new Dimension(300, 20)); + private JScrollPane getJScrollPaneFvAdditional() { + if (jScrollPaneFvAdditional == null) { + jScrollPaneFvAdditional = new JScrollPane(); + jScrollPaneFvAdditional.setPreferredSize(new java.awt.Dimension(653,200)); + jScrollPaneFvAdditional.setViewportView(getJTableFvAdditional()); } - return jTextField3; + return jScrollPaneFvAdditional; } /** - * This method initializes jButton5 + * This method initializes jTableFvAdditional + * + * @return javax.swing.JTable + */ + private JTable getJTableFvAdditional() { + if (jTableFvAdditional == null) { + jTableFvAdditional = new JTable(); + jTableFvAdditional.setRowHeight(20); + jTableFvAdditional.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION); + jTableFvAdditional.setModel(getFvAddtionalTableModel()); + } + return jTableFvAdditional; + } + + /** + * This method initializes fvAddtionalTableModel + * + * @return javax.swing.table.DefaultTableModel + */ + private DefaultTableModel getFvAddtionalTableModel() { + if (fvAddtionalTableModel == null) { + fvAddtionalTableModel = new DefaultTableModel(); + fvAddtionalTableModel.addColumn("FV Name"); + fvAddtionalTableModel.addColumn("Size"); + fvAddtionalTableModel.addColumn("Corresponding File Name"); + } + return fvAddtionalTableModel; + } + + /** + * This method initializes jButtonAddFv * * @return javax.swing.JButton */ - private JButton getJButton5() { - if (jButton5 == null) { - jButton5 = new JButton(); - jButton5.setEnabled(false); - jButton5.setText("Browse"); - jButton5.setPreferredSize(new Dimension(78, 20)); - jButton5.addActionListener(new AbstractAction(){ - public void actionPerformed(ActionEvent e) { - // TODO Auto-generated method stub - JFileChooser chooser = new JFileChooser(); - chooser.setMultiSelectionEnabled(false); - chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES); - int retval = chooser.showOpenDialog(frame); - if (retval == JFileChooser.APPROVE_OPTION) { + private JButton getJButtonAddFv() { + if (jButtonAddFv == null) { + jButtonAddFv = new JButton(); + jButtonAddFv.setPreferredSize(new java.awt.Dimension(80,20)); + jButtonAddFv.setText("New"); + } + return jButtonAddFv; + } - File theFile = chooser.getSelectedFile(); - jTextField3.setText(theFile.getPath()); - } - } - - }); + /** + * This method initializes jButtonDelFv + * + * @return javax.swing.JButton + */ + private JButton getJButtonDelFv() { + if (jButtonDelFv == null) { + jButtonDelFv = new JButton(); + jButtonDelFv.setPreferredSize(new java.awt.Dimension(80,20)); + jButtonDelFv.setText("Delete"); } - return jButton5; + return jButtonDelFv; } + /** + * This method initializes jButtonAddFvOptions + * + * @return javax.swing.JButton + */ + private JButton getJButtonAddFvOptions() { + if (jButtonAddFvOptions == null) { + jButtonAddFvOptions = new JButton(); + jButtonAddFvOptions.setPreferredSize(new java.awt.Dimension(80,20)); + jButtonAddFvOptions.setText("Options"); + } + return jButtonAddFvOptions; + } + /** * @param args */ @@ -1294,6 +1612,19 @@ public class FpdFlash extends IInternalFrame { this.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); this.setContentPane(getJContentPane()); this.setTitle("FPD Flash Definitions"); + this.addInternalFrameListener(new InternalFrameAdapter(){ + public void internalFrameDeactivated(InternalFrameEvent e){ + if (jTableFvProp.isEditing()) { + jTableFvProp.getCellEditor().stopCellEditing(); + } + if (jTableFvImageNames.isEditing()) { + jTableFvImageNames.getCellEditor().stopCellEditing(); + } + if (jTableFvInfo.isEditing()) { + jTableFvInfo.getCellEditor().stopCellEditing(); + } + } + }); } private void init(FpdFileContents ffc) { @@ -1301,145 +1632,48 @@ public class FpdFlash extends IInternalFrame { return; } String[][] saa = new String[ffc.getFvImagesFvImageCount()][2]; - ArrayList> options = new ArrayList>(ffc.getFvImagesFvImageCount()); - - for (int j = 0; j < ffc.getFvImagesFvImageCount(); ++j){ - options.add(new LinkedHashMap()); - } - ffc.getFvImagesFvImages(saa, options); - - Object[] rowData = new Object[13]; + ffc.getFvImagesFvImages(saa); + int i = 0; - Boolean f = new Boolean("false"); while (i < saa.length) { - rowData[0] = saa[i][0]; - rowData[1] = saa[i][1]; - - //ToDo: add alignment settings - Boolean[] boolArray = new Boolean[11]; - int k = 0; - while (k < 11){ - boolArray[k] = f; - ++k; - } - namevalueToBoolean(options.get(i), boolArray); - for (k = 2; k < 13; ++k) { - rowData[k] = boolArray[k-2]; - } - fvImageParaTableModel.addRow(rowData); + fvImageParaTableModel.addRow(saa[i]); ++i; } - } - - private void namevalueToBoolean(Map m, Boolean[] boolArray){ - Set key = m.keySet(); - Iterator ki= key.iterator(); - Boolean t = new Boolean("true"); - while(ki.hasNext()) { - String k = ki.next(); - if (k.equals("EFI_ERASE_POLARITY") && m.get(k).equals("1")) { - boolArray[0] = t; - } - if (k.equals("EFI_READ_STATUS") && m.get(k).equals("1")) { - boolArray[1] = t; - } - if (k.equals("EFI_WRITE_STATUS") && m.get(k).equals("1")) { - boolArray[2] = t; - } - if (k.equals("EFI_LOCK_STATUS") && m.get(k).equals("1")) { - boolArray[3] = t; - } - if (k.equals("EFI_MEMORY_MAPPED") && m.get(k).equals("1")) { - boolArray[4] = t; - } - if (k.equals("EFI_STICKY_WRITE") && m.get(k).equals("1")) { - boolArray[5] = t; - } - if (k.equals("EFI_READ_DISABLED_CAP") && m.get(k).equals("1")) { - boolArray[6] = t; - } - if (k.equals("EFI_READ_ENABLED_CAP") && m.get(k).equals("1")) { - boolArray[7] = t; - } - if (k.equals("EFI_WRITE_DISABLED_CAP") && m.get(k).equals("1")) { - boolArray[8] = t; - } - if (k.equals("EFI_WRITE_ENABLED_CAP") && m.get(k).equals("1")) { - boolArray[9] = t; - } - if (k.equals("EFI_LOCK_CAP") && m.get(k).equals("1")) { - boolArray[10] = t; - } - } - } - - private void booleanToNameValue(boolean[] boolArray, Map m){ - if (boolArray[0]) { - m.put("EFI_ERASE_POLARITY", "1"); - } - else { - m.put("EFI_ERASE_POLARITY", "0"); - } - if (boolArray[1]) { - m.put("EFI_READ_STATUS", "1"); - } - else { - m.put("EFI_READ_STATUS", "0"); - } - if (boolArray[2]) { - m.put("EFI_WRITE_STATUS", "1"); - } - else { - m.put("EFI_WRITE_STATUS", "0"); - } - if (boolArray[3]) { - m.put("EFI_LOCK_STATUS", "1"); - } - else { - m.put("EFI_LOCK_STATUS", "0"); - } - if (boolArray[4]) { - m.put("EFI_MEMORY_MAPPED", "1"); - } - else { - m.put("EFI_MEMORY_MAPPED", "0"); - } - if (boolArray[5]) { - m.put("EFI_STICKY_WRITE", "1"); - } - else { - m.put("EFI_STICKY_WRITE", "0"); - } - if (boolArray[6]) { - m.put("EFI_READ_DISABLED_CAP", "1"); - } - else { - m.put("EFI_READ_DISABLED_CAP", "0"); - } - if (boolArray[7]) { - m.put("EFI_READ_ENABLED_CAP", "1"); - } - else { - m.put("EFI_READ_ENABLED_CAP", "0"); - } - if (boolArray[8]) { - m.put("EFI_WRITE_DISABLED_CAP", "1"); - } - else { - m.put("EFI_WRITE_DISABLED_CAP", "0"); + + saa = new String[ffc.getFvImagesNameValueCount()][2]; + ffc.getFvImagesNameValues(saa); + for (int m = 0; m < saa.length; ++m) { + fvPropertyTableModel.addRow(saa[m]); } - if (boolArray[9]) { - m.put("EFI_WRITE_ENABLED_CAP", "1"); + + jTextFieldFdf.setText(""); + String fdfFile = ffc.getFlashDefinitionFile(); + if (fdfFile != null) { + jTextFieldFdf.setText(fdfFile); } - else { - m.put("EFI_WRITE_ENABLED_CAP", "0"); + + String fdfPath = System.getenv("WORKSPACE") + File.separator + fdfFile; + Vector vFvInfo = new Vector(); + getFvInfoFromFdf(fdfPath, vFvInfo); + getFvInFdfTableModel().setRowCount(0); + for (int j = 0; j < vFvInfo.size(); ++j) { + FvInfoFromFdf fvInfo = vFvInfo.get(j); + String[] row = {fvInfo.getFvName(), fvInfo.getSize(), fvInfo.getEfiFileName()}; + getFvInFdfTableModel().addRow(row); } - if (boolArray[10]) { - m.put("EFI_LOCK_CAP", "1"); + + + for (int k = 0; k < vFvInfo.size(); ++k) { + FvInfoFromFdf fvInfo = vFvInfo.get(k); + getJTabbedPane().addTab(fvInfo.getFvName(), null, new ModuleOrderPane(), null); + } - else { - m.put("EFI_LOCK_CAP", "0"); + } + + private void getOptionNameValue(Map m){ + for (int i = 0; i < jTableFvImageOpts.getRowCount(); ++i) { + m.put(fvOptionTableModel.getValueAt(i, 0)+"", fvOptionTableModel.getValueAt(i, 1)+""); } } /** @@ -1451,20 +1685,564 @@ public class FpdFlash extends IInternalFrame { if (jContentPane == null) { jContentPane = new JPanel(); jContentPane.setLayout(new BorderLayout()); - jContentPane.add(getJPanel(), java.awt.BorderLayout.EAST); - jContentPane.add(getJPanel1(), java.awt.BorderLayout.SOUTH); - jContentPane.add(getJPanel2(), java.awt.BorderLayout.WEST); - jContentPane.add(getJPanel3(), java.awt.BorderLayout.NORTH); + jContentPane.add(getJPanelContentEast(), java.awt.BorderLayout.EAST); + jContentPane.add(getJPanelContentSouth(), java.awt.BorderLayout.SOUTH); + jContentPane.add(getJPanelContentWest(), java.awt.BorderLayout.WEST); + jContentPane.add(getJPanelContentNorth(), java.awt.BorderLayout.NORTH); jContentPane.add(getJTabbedPane(), java.awt.BorderLayout.CENTER); } return jContentPane; } + + private void getFvInfoFromFdf(String fdfPath, Vector vFvInfo) { + File fdf = new File(fdfPath); + if (!fdf.exists()) { + return; + } + int lines = 0; + + try { + FileReader reader = new FileReader(fdf); + BufferedReader in = new BufferedReader(reader); + String str; + + while ((str = in.readLine()) != null) { + ++lines; + str = str.trim(); + // + // skip empty line, comment (start with //) + // + if (str.length() == 0 || str.startsWith("//")) { + continue; + } + // + // dig into Region {} section, create FvInfoFromFdf object for it. + // + if (str.startsWith("Region") && str.endsWith("{")) { + FvInfoFromFdf fvInfo = new FvInfoFromFdf(); + boolean nameFound = false; + boolean sizeFound = false; + while ((str = in.readLine()) != null) { + ++lines; + str = str.trim(); + // + // skip empty line, comment (start with //) + // + if (str.length() == 0 || str.startsWith("//")) { + continue; + } + + if (str.startsWith("Name")) { + int firstQuote = str.indexOf("\""); + int lastQuote = str.lastIndexOf("\""); + fvInfo.setFvName(str.substring(firstQuote + 1, lastQuote)); + nameFound = true; + } + + if (str.startsWith("Size")) { + int equalIndex = str.indexOf("="); + int commaIndex = str.indexOf(","); + fvInfo.setSize(str.substring(equalIndex + 1, commaIndex).trim()); + sizeFound = true; + } + + if (nameFound && sizeFound) { + break; + } + } + + vFvInfo.add(fvInfo); + } + // + // dig into File {} section, supply file name information to existing FvInfoFromFdf object. + // + if (str.startsWith("File")) { + boolean fileNameFound = false; + boolean fvFound = false; + String fileName = ""; + String fvName = ""; + while ((str = in.readLine()) != null) { + ++lines; + str = str.trim(); + // + // skip empty line, comment (start with //) + // + if (str.length() == 0 || str.startsWith("//")) { + continue; + } + + if (str.startsWith("Name")) { + int firstQuote = str.indexOf("\""); + int lastQuote = str.lastIndexOf("\""); + fileName = str.substring(firstQuote + 1, lastQuote); + fileNameFound = true; + } + + if (str.startsWith("Region")) { + int firstQuote = str.indexOf("\""); + int lastQuote = str.lastIndexOf("\""); + fvName = str.substring(firstQuote + 1, lastQuote); + fvFound = true; + } + + if (fileNameFound && fvFound) { + break; + } + } + + for (int i = 0; i vGuid = new Vector(); + ffc.getFrameworkModuleGuid(fvName, vGuid); + // + // If BuildOptions->UserExtensions already contain these module info, + // no need to add them into table again. + // + Iterator iter = vGuid.iterator(); + while (iter.hasNext()){ + String guid = iter.next(); + String moduleName = getModuleName(guid); + if (existedInTable(moduleName, modInFvTableModel)) { + vGuid.remove(guid); + } + } + + for (int j = 0; j < vGuid.size(); ++j) { + String[] row = {getModuleName(vGuid.get(j))}; + modInFvTableModel.addRow(row); + } + } + + private void showAllModulesInPlatform() { + int size = ffc.getFrameworkModulesCount(); + String[][] saa = new String[size][5]; + ffc.getFrameworkModulesInfo(saa); + + for (int i = 0; i < size; ++i) { + String name = getModuleName(saa[i][0]); + if (existedInTable(name, modInFvTableModel) || existedInTable(name, fpdModTableModel)) { + continue; + } + String[] row = {name}; + fpdModTableModel.addRow(row); + } + + TableSorter sorter = (TableSorter)jTableFpdModules.getModel(); + sorter.setSortState(0, TableSorter.ASCENDING); + } + + private String getModuleName (String guid) { + + for (int i = 0; i < GlobalData.vModuleList.size(); ++i) { + String mg = GlobalData.vModuleList.get(i).getGuid(); + if (mg == null) { + continue; + } + if (mg.equalsIgnoreCase(guid)) { + return GlobalData.vModuleList.get(i).getName(); + } + } + + return ""; + } + + private boolean existedInTable (String name, DefaultTableModel model) { + int size = model.getDataVector().size(); + for (int i = 0; i < size; ++i) { + if (((Vector)model.getDataVector().elementAt(i)).contains(name)) { + return true; + } + } + return false; + } + + /** + * This method initializes jPanelModOrderN + * + * @return javax.swing.JPanel + */ + private JPanel getJPanelModOrderN() { + if (jPanelModOrderN == null) { + jPanelModOrderN = new JPanel(); + } + return jPanelModOrderN; + } + + /** + * This method initializes jPanelModOrderS + * + * @return javax.swing.JPanel + */ + private JPanel getJPanelModOrderS() { + if (jPanelModOrderS == null) { + FlowLayout flowLayout6 = new FlowLayout(); + flowLayout6.setAlignment(java.awt.FlowLayout.RIGHT); + jPanelModOrderS = new JPanel(); + jPanelModOrderS.setLayout(flowLayout6); + jPanelModOrderS.add(getJButtonOk(), null); + jPanelModOrderS.add(getJButtonCancel(), null); + } + return jPanelModOrderS; + } + + /** + * This method initializes jPanelModOrderC + * + * @return javax.swing.JPanel + */ + private JPanel getJPanelModOrderC() { + if (jPanelModOrderC == null) { + jPanelModOrderC = new JPanel(); + jPanelModOrderC.add(getJScrollPaneModInFv(), null); + jPanelModOrderC.add(getJPanelController(), null); + jPanelModOrderC.add(getJScrollPaneFpdModules(), null); + } + return jPanelModOrderC; + } + + /** + * This method initializes jScrollPaneModInFv + * + * @return javax.swing.JScrollPane + */ + private JScrollPane getJScrollPaneModInFv() { + if (jScrollPaneModInFv == null) { + jScrollPaneModInFv = new JScrollPane(); + jScrollPaneModInFv.setPreferredSize(new java.awt.Dimension(200,500)); + jScrollPaneModInFv.setViewportView(getJTableModInFv()); + } + return jScrollPaneModInFv; + } + + /** + * This method initializes jTableModInFv + * + * @return javax.swing.JTable + */ + private JTable getJTableModInFv() { + if (jTableModInFv == null) { + modInFvTableModel = new NonEditableTableModel(); + modInFvTableModel.addColumn("Module Orders in FV"); + jTableModInFv = new JTable(modInFvTableModel); + jTableModInFv.setRowHeight(20); + jTableModInFv.setShowGrid(false); + } + return jTableModInFv; + } + + /** + * This method initializes jPanelController + * + * @return javax.swing.JPanel + */ + private JPanel getJPanelController() { + if (jPanelController == null) { + FlowLayout flowLayout5 = new FlowLayout(); + flowLayout5.setVgap(50); + flowLayout5.setHgap(50); + jPanelController = new JPanel(); + jPanelController.setLayout(flowLayout5); + jPanelController.setPreferredSize(new java.awt.Dimension(150,500)); + jPanelController.add(getJButtonUp(), null); + jPanelController.add(getJButtonInsert(), null); + jPanelController.add(getJButtonRemove(), null); + jPanelController.add(getJButtonDown(), null); + } + return jPanelController; + } + + /** + * This method initializes jScrollPaneFpdModules + * + * @return javax.swing.JScrollPane + */ + private JScrollPane getJScrollPaneFpdModules() { + if (jScrollPaneFpdModules == null) { + jScrollPaneFpdModules = new JScrollPane(); + jScrollPaneFpdModules.setPreferredSize(new java.awt.Dimension(200,500)); + jScrollPaneFpdModules.setViewportView(getJTableFpdModules()); + } + return jScrollPaneFpdModules; + } + + /** + * This method initializes jTableFpdModules + * + * @return javax.swing.JTable + */ + private JTable getJTableFpdModules() { + if (jTableFpdModules == null) { + fpdModTableModel = new NonEditableTableModel(); + TableSorter sorter = new TableSorter(fpdModTableModel); + jTableFpdModules = new JTable(sorter); + jTableFpdModules.setRowHeight(20); + jTableFpdModules.setShowGrid(false); + fpdModTableModel.addColumn("Modules in Platform"); + } + return jTableFpdModules; + } + + /** + * This method initializes jButtonUp + * + * @return javax.swing.JButton + */ + private JButton getJButtonUp() { + if (jButtonUp == null) { + jButtonUp = new JButton(); + jButtonUp.setPreferredSize(new java.awt.Dimension(60,20)); + jButtonUp.setFont(new java.awt.Font("Dialog", java.awt.Font.BOLD, 14)); + jButtonUp.setText("^"); + jButtonUp.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent e) { + int selectedRow = jTableModInFv.getSelectedRow(); + if (selectedRow <= 0) { + return; + } + modInFvTableModel.moveRow(selectedRow, selectedRow, selectedRow - 1); + jTableModInFv.changeSelection(selectedRow - 1, 0, false, false); + } + }); + } + return jButtonUp; + } + + /** + * This method initializes jButtonInsert + * + * @return javax.swing.JButton + */ + private JButton getJButtonInsert() { + if (jButtonInsert == null) { + jButtonInsert = new JButton(); + jButtonInsert.setText("<<"); + jButtonInsert.setPreferredSize(new java.awt.Dimension(60,20)); + jButtonInsert.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent e) { + int selectedRowRight = jTableFpdModules.getSelectedRow(); + if (selectedRowRight < 0) { + return; + } + + int rowInModel = ((TableSorter)jTableFpdModules.getModel()).getModelRowIndex(selectedRowRight); + + String[] row = {jTableFpdModules.getValueAt(selectedRowRight, 0)+""}; + int selectedRowLeft = jTableModInFv.getSelectedRow(); + if (selectedRowLeft < 0) { + modInFvTableModel.addRow(row); + jTableModInFv.changeSelection(jTableModInFv.getRowCount() - 1, 0, false, false); + fpdModTableModel.removeRow(rowInModel); + } + else { + modInFvTableModel.insertRow(selectedRowLeft, row); + jTableModInFv.changeSelection(selectedRowLeft, 0, false, false); + } + } + }); + } + return jButtonInsert; + } + + /** + * This method initializes jButtonRemove + * + * @return javax.swing.JButton + */ + private JButton getJButtonRemove() { + if (jButtonRemove == null) { + jButtonRemove = new JButton(); + jButtonRemove.setPreferredSize(new java.awt.Dimension(60,20)); + jButtonRemove.setText(">>"); + jButtonRemove.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent e) { + int selectedRowLeft = jTableModInFv.getSelectedRow(); + if (selectedRowLeft < 0) { + return; + } + + String[] row = {jTableModInFv.getValueAt(selectedRowLeft, 0)+""}; + fpdModTableModel.addRow(row); + int viewIndex = ((TableSorter) jTableFpdModules.getModel()).getViewIndexArray()[jTableFpdModules + .getRowCount() - 1]; + jTableFpdModules.changeSelection(viewIndex, 0, false, false); + modInFvTableModel.removeRow(selectedRowLeft); + } + }); + } + return jButtonRemove; + } + + /** + * This method initializes jButtonDown + * + * @return javax.swing.JButton + */ + private JButton getJButtonDown() { + if (jButtonDown == null) { + jButtonDown = new JButton(); + jButtonDown.setPreferredSize(new java.awt.Dimension(60,20)); + jButtonDown.setFont(new java.awt.Font("Dialog", java.awt.Font.BOLD, 10)); + jButtonDown.setText("v"); + jButtonDown.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent e) { + int selectedRow = jTableModInFv.getSelectedRow(); + if (selectedRow >= jTableModInFv.getRowCount() - 1) { + return; + } + modInFvTableModel.moveRow(selectedRow, selectedRow, selectedRow + 1); + jTableModInFv.changeSelection(selectedRow + 1, 0, false, false); + } + }); + } + return jButtonDown; + } + + /** + * This method initializes jButtonOk + * + * @return javax.swing.JButton + */ + private JButton getJButtonOk() { + if (jButtonOk == null) { + jButtonOk = new JButton(); + jButtonOk.setPreferredSize(new java.awt.Dimension(80,20)); + jButtonOk.setText("Ok"); + } + return jButtonOk; + } + + /** + * This method initializes jButtonCancel + * + * @return javax.swing.JButton + */ + private JButton getJButtonCancel() { + if (jButtonCancel == null) { + jButtonCancel = new JButton(); + jButtonCancel.setPreferredSize(new java.awt.Dimension(80,20)); + jButtonCancel.setText("Cancel"); + jButtonCancel.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent e) { + jTabbedPane.setSelectedIndex(0); + } + }); + } + return jButtonCancel; + } + } } // @jve:decl-index=0:visual-constraint="10,10" class ImageParaTableModel extends DefaultTableModel { - public Class getColumnClass (int c) { - return getValueAt(0, c).getClass(); + private static final long serialVersionUID = 1L; + + public boolean isCellEditable(int row, int col) { + if (getValueAt(row, 1).equals("ImageName") && col >=1) { + return false; + } + return true; } } + +class FvInfoFromFdf { + private String fvName; + private String size; + private String efiFileName; + + public FvInfoFromFdf () { + fvName = ""; + size = ""; + efiFileName = ""; + } + public FvInfoFromFdf (String f, String s, String e) { + this(); + fvName = f; + size = s; + efiFileName = e; + } + public String getEfiFileName() { + return efiFileName; + } + public void setEfiFileName(String efiFileName) { + this.efiFileName = efiFileName; + } + public String getFvName() { + return fvName; + } + public void setFvName(String fvName) { + this.fvName = fvName; + } + public String getSize() { + return size; + } + public void setSize(String size) { + this.size = size; + } + +}