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=40a3473058a0efacd8a443a5dd49e99712e43bca;hb=61919f8cfa2cdd6a965928933844a91d7aa69626;hpb=1800d80f22f225e931a318c785646f581562d608 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 40a3473058..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 @@ -19,26 +19,32 @@ import javax.swing.AbstractAction; import javax.swing.DefaultCellEditor; import javax.swing.JFileChooser; import javax.swing.JFrame; +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.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.ComponentAdapter; -import java.awt.event.ComponentEvent; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; +import java.io.BufferedReader; import java.io.File; +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,6 +63,7 @@ import javax.swing.table.TableColumn; import javax.swing.table.TableModel; import javax.swing.JComboBox; import java.awt.Dimension; +import javax.swing.JSplitPane; public class FpdFlash extends IInternalFrame { @@ -66,64 +73,86 @@ 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 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 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 JPanel jPanel6 = null; - + 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 JLabel jLabel5 = null; - private JTextField jTextField4 = null; - private JLabel jLabel6 = null; - private JTextField jTextField5 = null; - private JPanel jPanel8 = null; - private JButton jButton7 = null; - private JButton jButton8 = 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 jTable3 = null; - private JButton jButton9 = 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(); // TODO Auto-generated constructor stub @@ -139,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; } /** @@ -156,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; } /** @@ -175,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; } /** @@ -187,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; } /** @@ -202,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; @@ -227,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 * @@ -264,28 +266,28 @@ 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; } @@ -302,7 +304,7 @@ public class FpdFlash extends IInternalFrame { jPanelFvImageS = new JPanel(); jPanelFvImageS.setPreferredSize(new java.awt.Dimension(480,190)); jPanelFvImageS.setLayout(gridLayout2); - jPanelFvImageS.add(getJScrollPane3(), null); + jPanelFvImageS.add(getJScrollPaneFvInfo(), null); } return jPanelFvImageS; } @@ -313,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; } @@ -345,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; } @@ -360,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; } @@ -375,28 +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; } @@ -405,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; } @@ -420,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; @@ -445,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(); @@ -454,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; } @@ -469,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; } @@ -486,27 +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; } @@ -517,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; @@ -548,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; } @@ -583,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. @@ -601,7 +605,7 @@ public class FpdFlash extends IInternalFrame { }); } - return jComboBox; + return jComboBoxFvParaType; } @@ -610,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; } @@ -625,27 +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; } @@ -654,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; } @@ -669,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; } @@ -685,68 +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 - jLabel6 = new JLabel(); - jLabel6.setEnabled(true); - jLabel6.setText("Value"); - jLabel6.setPreferredSize(new Dimension(38, 20)); - jLabel5 = new JLabel(); - jLabel5.setEnabled(true); - jLabel5.setText("Name"); - jLabel5.setPreferredSize(new Dimension(38, 20)); - jPanel5 = new JPanel(); - jPanel5.setPreferredSize(new java.awt.Dimension(480,150)); + 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)); - jPanel5.setLayout(new FlowLayout()); + jPanelFvImageOpts.setLayout(new FlowLayout()); - jPanel5.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.LOWERED)); - jPanel5.add(getJCheckBox3(), null); - jPanel5.add(jLabel5, null); - jPanel5.add(getJTextField4(), null); - jPanel5.add(jLabel6, null); - jPanel5.add(getJTextField5(), null); - jPanel5.add(getJScrollPane(), null); - jPanel5.add(getJPanel8(), null); - jPanel5.add(getJButton4(), null); - jPanel5.add(getJButton6(), null); - jPanel5.add(getJButton9(), 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; } @@ -755,53 +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(120,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 (jTable2.isEditing()) { - jTable2.getCellEditor().stopCellEditing(); + if (jTableFvInfo.isEditing()) { + jTableFvInfo.getCellEditor().stopCellEditing(); } - if (jTable3.isEditing()) { - jTable3.getCellEditor().stopCellEditing(); + if (jTableFvImageOpts.isEditing()) { + jTableFvImageOpts.getCellEditor().stopCellEditing(); } - if (jTable1.getRowCount()== 0){ + 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 = null; - if (jCheckBox3.isSelected()) { + if (jCheckBoxFvImageOpts.isSelected()) { m = new LinkedHashMap(); getOptionNameValue(m); } - ffc.genFvImagesFvImage(imageName.split(" "), jComboBox.getSelectedItem()+"", m); - - Object[] row = {imageName, jComboBox.getSelectedItem()}; + ffc.genFvImagesFvImage(imageName.split(" "), jComboBoxFvParaType.getSelectedItem()+"", m); + docConsole.setSaved(false); + Object[] row = {imageName, jComboBoxFvParaType.getSelectedItem()}; fvImageParaTableModel.addRow(row); } }); } - return jButton4; + return jButtonAddFvImage; } @@ -810,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; } @@ -825,24 +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); + jTableFvInfo = new JTable(fvImageParaTableModel); fvImageParaTableModel.addColumn("FvImageNames"); fvImageParaTableModel.addColumn("Type"); - 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)); - 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; @@ -853,6 +857,14 @@ public class FpdFlash extends IInternalFrame { } else{ 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 optionMap = new LinkedHashMap(); ffc.getFvImagesFvImageOptions(selectedRow, optionMap); if (optionMap.size() > 0){ @@ -874,7 +886,7 @@ public class FpdFlash extends IInternalFrame { } - return jTable2; + return jTableFvInfo; } @@ -883,13 +895,13 @@ public class FpdFlash extends IInternalFrame { * * @return javax.swing.JButton */ - private JButton getJButton6() { - if (jButton6 == null) { - jButton6 = new JButton(); - jButton6.setPreferredSize(new java.awt.Dimension(120,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() { /** * */ @@ -897,15 +909,16 @@ public class FpdFlash extends IInternalFrame { 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; } @@ -914,32 +927,25 @@ 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 selected = jCheckBox3.isSelected(); - if (!jCheckBox2.isSelected() || jComboBox.getSelectedIndex() == 0) { + if (!jCheckBoxFvImagePara.isSelected() || jComboBoxFvParaType.getSelectedIndex() == 0) { return; } -// jLabel5.setEnabled(selected); -// jTextField4.setEnabled(selected); -// jLabel6.setEnabled(selected); -// jTextField5.setEnabled(selected); -// jButton7.setEnabled(selected); -// jButton8.setEnabled(selected); - } }); } - return jCheckBox3; + return jCheckBoxFvImageOpts; } @@ -948,25 +954,25 @@ public class FpdFlash extends IInternalFrame { * * @return javax.swing.JPanel */ - private JPanel getJPanel6() { - if (jPanel6 == null) { + private JPanel getJPanelFvImagePara() { + if (jPanelFvImagePara == 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); + 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 jPanel6; + return jPanelFvImagePara; } /** @@ -974,29 +980,28 @@ public class FpdFlash extends IInternalFrame { * * @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 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 jPanel7; + return jPanelFdf; } /** @@ -1004,27 +1009,27 @@ public class FpdFlash extends IInternalFrame { * * @return javax.swing.JCheckBox */ - private JCheckBox getJCheckBox() { - if (jCheckBox == null) { - jCheckBox = new JCheckBox(); - jCheckBox.setText("Flash Definition File"); - jCheckBox.addItemListener(new ItemListener() { + 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 (jCheckBox.isSelected()){ - jTextField3.setEnabled(true); - jButton5.setEnabled(true); + if (jCheckBoxFdf.isSelected()){ + jTextFieldFdf.setEnabled(true); + jButtonFdfBrowse.setEnabled(true); } else { - jTextField3.setEnabled(false); - jButton5.setEnabled(false); + jTextFieldFdf.setEnabled(false); + jButtonFdfBrowse.setEnabled(false); } } }); } - return jCheckBox; + return jCheckBoxFdf; } /** @@ -1032,13 +1037,18 @@ public class FpdFlash extends IInternalFrame { * * @return javax.swing.JTextField */ - private JTextField getJTextField3() { - if (jTextField3 == null) { - jTextField3 = new JTextField(); - jTextField3.setEnabled(false); - jTextField3.setPreferredSize(new Dimension(300, 20)); + 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 jTextField3; + return jTextFieldFdf; } /** @@ -1046,13 +1056,13 @@ public class FpdFlash extends IInternalFrame { * * @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(){ + 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(){ /** * */ @@ -1060,20 +1070,36 @@ public class FpdFlash extends IInternalFrame { public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub - JFileChooser chooser = new JFileChooser(); + 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(); - jTextField3.setText(theFile.getPath()); + 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 jButton5; + return jButtonFdfBrowse; } /** @@ -1081,13 +1107,13 @@ public class FpdFlash extends IInternalFrame { * * @return javax.swing.JTextField */ - private JTextField getJTextField4() { - if (jTextField4 == null) { - jTextField4 = new JTextField(); - jTextField4.setEnabled(true); - jTextField4.setPreferredSize(new Dimension(100, 20)); + private JTextField getJTextFieldFvImageOptName() { + if (jTextFieldFvImageOptName == null) { + jTextFieldFvImageOptName = new JTextField(); + jTextFieldFvImageOptName.setEnabled(true); + jTextFieldFvImageOptName.setPreferredSize(new Dimension(100, 20)); } - return jTextField4; + return jTextFieldFvImageOptName; } /** @@ -1095,13 +1121,13 @@ public class FpdFlash extends IInternalFrame { * * @return javax.swing.JTextField */ - private JTextField getJTextField5() { - if (jTextField5 == null) { - jTextField5 = new JTextField(); - jTextField5.setEnabled(true); - jTextField5.setPreferredSize(new Dimension(100, 20)); + private JTextField getJTextFieldFvImageOptValue() { + if (jTextFieldFvImageOptValue == null) { + jTextFieldFvImageOptValue = new JTextField(); + jTextFieldFvImageOptValue.setEnabled(true); + jTextFieldFvImageOptValue.setPreferredSize(new Dimension(100, 20)); } - return jTextField5; + return jTextFieldFvImageOptValue; } /** @@ -1109,14 +1135,14 @@ public class FpdFlash extends IInternalFrame { * * @return javax.swing.JPanel */ - private JPanel getJPanel8() { - if (jPanel8 == null) { - jPanel8 = new JPanel(); - jPanel8.setPreferredSize(new Dimension(80, 55)); - jPanel8.add(getJButton7(), null); - jPanel8.add(getJButton8(), null); + private JPanel getJPanelFvImageOptsButtonGroup() { + if (jPanelFvImageOptsButtonGroup == null) { + jPanelFvImageOptsButtonGroup = new JPanel(); + jPanelFvImageOptsButtonGroup.setPreferredSize(new Dimension(80, 55)); + jPanelFvImageOptsButtonGroup.add(getJButtonFvImageOptAdd(), null); + jPanelFvImageOptsButtonGroup.add(getJButtonFvImageOptDel(), null); } - return jPanel8; + return jPanelFvImageOptsButtonGroup; } /** @@ -1124,27 +1150,27 @@ public class FpdFlash extends IInternalFrame { * * @return javax.swing.JButton */ - private JButton getJButton7() { - if (jButton7 == null) { - jButton7 = new JButton(); - jButton7.setEnabled(true); - jButton7.setText("Add"); - jButton7.setPreferredSize(new Dimension(80, 20)); - jButton7.addActionListener(new AbstractAction() { + 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 (jTextField4.getText().length() > 0 && jTextField5.getText().length() > 0){ - String[] row = {jTextField4.getText(), jTextField5.getText()}; + if (jTextFieldFvImageOptName.getText().length() > 0 && jTextFieldFvImageOptValue.getText().length() > 0){ + String[] row = {jTextFieldFvImageOptName.getText(), jTextFieldFvImageOptValue.getText()}; fvOptionTableModel.addRow(row); } } }); } - return jButton7; + return jButtonFvImageOptAdd; } /** @@ -1152,26 +1178,26 @@ public class FpdFlash extends IInternalFrame { * * @return javax.swing.JButton */ - private JButton getJButton8() { - if (jButton8 == null) { - jButton8 = new JButton(); - jButton8.setEnabled(true); - jButton8.setText("Delete"); - jButton8.setPreferredSize(new Dimension(80, 20)); - jButton8.addActionListener(new AbstractAction() { + 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 (jTable3.getSelectedRow() >= 0){ - fvOptionTableModel.removeRow(jTable.getSelectedRow()); + if (jTableFvImageOpts.getSelectedRow() >= 0){ + fvOptionTableModel.removeRow(jTableFvProp.getSelectedRow()); } } }); } - return jButton8; + return jButtonFvImageOptDel; } /** @@ -1183,7 +1209,7 @@ public class FpdFlash extends IInternalFrame { if (jScrollPane == null) { jScrollPane = new JScrollPane(); jScrollPane.setPreferredSize(new java.awt.Dimension(350,80)); - jScrollPane.setViewportView(getJTable3()); + jScrollPane.setViewportView(getJTableFvImageOpts()); } return jScrollPane; } @@ -1193,18 +1219,18 @@ public class FpdFlash extends IInternalFrame { * * @return javax.swing.JTable */ - private JTable getJTable3() { - if (jTable3 == null) { + private JTable getJTableFvImageOpts() { + if (jTableFvImageOpts == null) { fvOptionTableModel = new DefaultTableModel(); fvOptionTableModel.addColumn("Name"); fvOptionTableModel.addColumn("Value"); - jTable3 = new JTable(fvOptionTableModel); + jTableFvImageOpts = new JTable(fvOptionTableModel); - jTable3.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); - jTable3.setRowHeight(20); + jTableFvImageOpts.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); + jTableFvImageOpts.setRowHeight(20); } - return jTable3; + return jTableFvImageOpts; } /** @@ -1212,20 +1238,20 @@ public class FpdFlash extends IInternalFrame { * * @return javax.swing.JButton */ - private JButton getJButton9() { - if (jButton9 == null) { - jButton9 = new JButton(); - jButton9.setPreferredSize(new Dimension(120, 20)); - jButton9.setActionCommand("Update"); - jButton9.setText("Update FV"); - jButton9.addActionListener(new java.awt.event.ActionListener() { + 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 = jTable2.getSelectedRow(); - if (jTable2.isEditing()) { - jTable2.getCellEditor().stopCellEditing(); + int row = jTableFvInfo.getSelectedRow(); + if (jTableFvInfo.isEditing()) { + jTableFvInfo.getCellEditor().stopCellEditing(); } - if (jTable3.isEditing()) { - jTable3.getCellEditor().stopCellEditing(); + if (jTableFvImageOpts.isEditing()) { + jTableFvImageOpts.getCellEditor().stopCellEditing(); } //ToDo Check data validity before update @@ -1235,15 +1261,339 @@ public class FpdFlash extends IInternalFrame { LinkedHashMap lhm = new LinkedHashMap(); getOptionNameValue(lhm); - + docConsole.setSaved(false); ffc.updateFvImagesFvImage(row, name.split(" "), type, lhm); } }); } - return jButton9; + 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 jPanelFdfN + * + * @return javax.swing.JPanel + */ + 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 jSplitPaneFdfC + * + * @return javax.swing.JSplitPane + */ + 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 jPanelFdfCBottom + * + * @return javax.swing.JPanel + */ + 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 jPanelFdfCTopS + * + * @return javax.swing.JPanel + */ + 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 jPanelFdfCTopS; + } + + /** + * This method initializes jPanelFdfCTopC + * + * @return javax.swing.JPanel + */ + private JPanel getJPanelFdfCTopC() { + if (jPanelFdfCTopC == null) { + jPanelFdfCTopC = new JPanel(); + jPanelFdfCTopC.add(getJScrollPaneFvInFdf(), null); + } + return jPanelFdfCTopC; + } + + /** + * This method initializes jPanelFdfCBottomN + * + * @return javax.swing.JPanel + */ + 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 jPanelFdfCBottomC; + } + + /** + * This method initializes jScrollPaneFvInFdf + * + * @return javax.swing.JScrollPane + */ + private JScrollPane getJScrollPaneFvInFdf() { + if (jScrollPaneFvInFdf == null) { + jScrollPaneFvInFdf = new JScrollPane(); + jScrollPaneFvInFdf.setPreferredSize(new java.awt.Dimension(653,200)); + jScrollPaneFvInFdf.setViewportView(getJTableFvInFdf()); + } + return jScrollPaneFvInFdf; + } + + /** + * 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 jButtonFvInFdfOptions; + } + + /** + * This method initializes jScrollPaneFvAdditional + * + * @return javax.swing.JScrollPane + */ + private JScrollPane getJScrollPaneFvAdditional() { + if (jScrollPaneFvAdditional == null) { + jScrollPaneFvAdditional = new JScrollPane(); + jScrollPaneFvAdditional.setPreferredSize(new java.awt.Dimension(653,200)); + jScrollPaneFvAdditional.setViewportView(getJTableFvAdditional()); + } + return jScrollPaneFvAdditional; + } + + /** + * 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 getJButtonAddFv() { + if (jButtonAddFv == null) { + jButtonAddFv = new JButton(); + jButtonAddFv.setPreferredSize(new java.awt.Dimension(80,20)); + jButtonAddFv.setText("New"); + } + return jButtonAddFv; + } + + /** + * 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 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 */ @@ -1264,14 +1614,14 @@ public class FpdFlash extends IInternalFrame { this.setTitle("FPD Flash Definitions"); this.addInternalFrameListener(new InternalFrameAdapter(){ public void internalFrameDeactivated(InternalFrameEvent e){ - if (jTable.isEditing()) { - jTable.getCellEditor().stopCellEditing(); + if (jTableFvProp.isEditing()) { + jTableFvProp.getCellEditor().stopCellEditing(); } - if (jTable1.isEditing()) { - jTable1.getCellEditor().stopCellEditing(); + if (jTableFvImageNames.isEditing()) { + jTableFvImageNames.getCellEditor().stopCellEditing(); } - if (jTable2.isEditing()) { - jTable2.getCellEditor().stopCellEditing(); + if (jTableFvInfo.isEditing()) { + jTableFvInfo.getCellEditor().stopCellEditing(); } } }); @@ -1282,13 +1632,7 @@ 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); - int i = 0; while (i < saa.length) { @@ -1296,10 +1640,39 @@ public class FpdFlash extends IInternalFrame { fvImageParaTableModel.addRow(saa[i]); ++i; } + + saa = new String[ffc.getFvImagesNameValueCount()][2]; + ffc.getFvImagesNameValues(saa); + for (int m = 0; m < saa.length; ++m) { + fvPropertyTableModel.addRow(saa[m]); + } + + jTextFieldFdf.setText(""); + String fdfFile = ffc.getFlashDefinitionFile(); + if (fdfFile != null) { + jTextFieldFdf.setText(fdfFile); + } + + 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); + } + + + for (int k = 0; k < vFvInfo.size(); ++k) { + FvInfoFromFdf fvInfo = vFvInfo.get(k); + getJTabbedPane().addTab(fvInfo.getFvName(), null, new ModuleOrderPane(), null); + + } } private void getOptionNameValue(Map m){ - for (int i = 0; i < jTable3.getRowCount(); ++i) { + for (int i = 0; i < jTableFvImageOpts.getRowCount(); ++i) { m.put(fvOptionTableModel.getValueAt(i, 0)+"", fvOptionTableModel.getValueAt(i, 1)+""); } } @@ -1312,14 +1685,516 @@ 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" @@ -1335,3 +2210,39 @@ class ImageParaTableModel extends DefaultTableModel { } } +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; + } + +}