Fix Ffs sections encapsulation type update problem.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1934 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
jlin16
2006-11-13 06:56:45 +00:00
parent ea1e4c10aa
commit 15db5db9f1
2 changed files with 58 additions and 48 deletions

View File

@ -36,6 +36,8 @@ import javax.swing.JScrollPane;
import javax.swing.JTable; import javax.swing.JTable;
import javax.swing.JComboBox; import javax.swing.JComboBox;
import javax.swing.ListSelectionModel; import javax.swing.ListSelectionModel;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import javax.swing.event.InternalFrameAdapter; import javax.swing.event.InternalFrameAdapter;
import javax.swing.event.InternalFrameEvent; import javax.swing.event.InternalFrameEvent;
import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionEvent;
@ -167,10 +169,6 @@ public class FpdBuildOptions extends IInternalFrame {
private JPanel jPanelFfsTabCenterS = null; private JPanel jPanelFfsTabCenterS = null;
private JLabel jLabelFfsKey = null;
private JTextField jTextFieldFfsKey = null;
private JButton jButtonFfsAdd = null; private JButton jButtonFfsAdd = null;
private JButton jButtonFfsDel = null; private JButton jButtonFfsDel = null;
@ -313,6 +311,8 @@ public class FpdBuildOptions extends IInternalFrame {
private final int toolCmdCodeWidth = 200; private final int toolCmdCodeWidth = 200;
private final int tagNameWidth = 150; private final int tagNameWidth = 150;
private final int argWidth = 400; private final int argWidth = 400;
private boolean ffsSelection = false;
/** /**
* This method initializes jPanel * This method initializes jPanel
@ -457,7 +457,6 @@ public class FpdBuildOptions extends IInternalFrame {
initFfsTable(); initFfsTable();
this.addInternalFrameListener(new InternalFrameAdapter() { this.addInternalFrameListener(new InternalFrameAdapter() {
public void internalFrameDeactivated(InternalFrameEvent e) { public void internalFrameDeactivated(InternalFrameEvent e) {
if (jTableAntTasks.isEditing()) { if (jTableAntTasks.isEditing()) {
jTableAntTasks.getCellEditor().stopCellEditing(); jTableAntTasks.getCellEditor().stopCellEditing();
} }
@ -529,12 +528,11 @@ public class FpdBuildOptions extends IInternalFrame {
jLabelEncapType.setText("Encapsulation Type"); jLabelEncapType.setText("Encapsulation Type");
FlowLayout flowLayout5 = new FlowLayout(); FlowLayout flowLayout5 = new FlowLayout();
flowLayout5.setAlignment(java.awt.FlowLayout.RIGHT); flowLayout5.setAlignment(java.awt.FlowLayout.RIGHT);
jLabelFfsKey = new JLabel();
jLabelFfsKey.setText("FFS Key");
jPanelFfsTabCenterN = new JPanel(); jPanelFfsTabCenterN = new JPanel();
jPanelFfsTabCenterN.setLayout(flowLayout5); jPanelFfsTabCenterN.setLayout(flowLayout5);
jPanelFfsTabCenterN.add(jLabelFfsKey, null);
jPanelFfsTabCenterN.add(getJTextFieldFfsKey(), null);
jPanelFfsTabCenterN.add(jLabelEncapType, null); jPanelFfsTabCenterN.add(jLabelEncapType, null);
jPanelFfsTabCenterN.add(getJTextFieldEncapType(), null); jPanelFfsTabCenterN.add(getJTextFieldEncapType(), null);
jPanelFfsTabCenterN.add(getJButtonFfsAdd(), null); jPanelFfsTabCenterN.add(getJButtonFfsAdd(), null);
@ -552,16 +550,12 @@ public class FpdBuildOptions extends IInternalFrame {
if (jPanelFfsTabCenterS == null) { if (jPanelFfsTabCenterS == null) {
jLabelFfsAttribs = new JLabel(); jLabelFfsAttribs = new JLabel();
jLabelFfsAttribs.setText("Attributes"); jLabelFfsAttribs.setText("Attributes");
FlowLayout flowLayout6 = new FlowLayout();
flowLayout6.setHgap(5);
flowLayout6.setVgap(20);
flowLayout6.setAlignment(java.awt.FlowLayout.CENTER);
jPanelFfsTabCenterS = new JPanel(); jPanelFfsTabCenterS = new JPanel();
jPanelFfsTabCenterS.setPreferredSize(new java.awt.Dimension(491, 130)); jPanelFfsTabCenterS.setPreferredSize(new java.awt.Dimension(491, 130));
jPanelFfsTabCenterS.setLayout(flowLayout6); jPanelFfsTabCenterS.setLayout(new BorderLayout());
jPanelFfsTabCenterS.add(jLabelFfsAttribs, null); jPanelFfsTabCenterS.add(jLabelFfsAttribs, java.awt.BorderLayout.WEST);
jPanelFfsTabCenterS.add(getJScrollPaneFfsAttribs(), null); jPanelFfsTabCenterS.add(getJScrollPaneFfsAttribs(), java.awt.BorderLayout.CENTER);
jPanelFfsTabCenterS.add(getJPanelFfsAttribButtonGroup(), null); jPanelFfsTabCenterS.add(getJPanelFfsAttribButtonGroup(), java.awt.BorderLayout.EAST);
} }
return jPanelFfsTabCenterS; return jPanelFfsTabCenterS;
} }
@ -571,22 +565,7 @@ public class FpdBuildOptions extends IInternalFrame {
* *
* @return javax.swing.JTextField * @return javax.swing.JTextField
*/ */
private JTextField getJTextFieldFfsKey() {
if (jTextFieldFfsKey == null) {
jTextFieldFfsKey = new JTextField();
jTextFieldFfsKey.setPreferredSize(new java.awt.Dimension(100, 20));
jTextFieldFfsKey.setEditable(true);
jTextFieldFfsKey.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent e) {
if (jTableFfs.getSelectedRow() < 0) {
return;
}
// ffc.updateBuildOptionsFfsKey(jTable.getSelectedRow(), jTextField6.getText());
}
});
}
return jTextFieldFfsKey;
}
/** /**
* This method initializes jButton8 * This method initializes jButton8
@ -597,7 +576,7 @@ public class FpdBuildOptions extends IInternalFrame {
if (jButtonFfsAdd == null) { if (jButtonFfsAdd == null) {
jButtonFfsAdd = new JButton(); jButtonFfsAdd = new JButton();
jButtonFfsAdd.setPreferredSize(new java.awt.Dimension(70, 20)); jButtonFfsAdd.setPreferredSize(new java.awt.Dimension(70, 20));
jButtonFfsAdd.setText("Add"); jButtonFfsAdd.setText("New");
jButtonFfsAdd.addActionListener(new AbstractAction() { jButtonFfsAdd.addActionListener(new AbstractAction() {
/** /**
* *
@ -605,12 +584,13 @@ public class FpdBuildOptions extends IInternalFrame {
private static final long serialVersionUID = -2923720717273384221L; private static final long serialVersionUID = -2923720717273384221L;
public void actionPerformed(java.awt.event.ActionEvent e) { public void actionPerformed(java.awt.event.ActionEvent e) {
if (jTextFieldFfsKey.getText().length() > 0) {
String[] row = { jTextFieldFfsKey.getText() }; String[] row = { "" };
ffsTableModel.addRow(row); ffsTableModel.addRow(row);
docConsole.setSaved(false); docConsole.setSaved(false);
ffc.genBuildOptionsFfs(jTextFieldFfsKey.getText(), jTextFieldEncapType.getText()); ffc.genBuildOptionsFfs("", "");
} jTableFfs.changeSelection(ffsTableModel.getRowCount()-1, 0, false, false);
} }
}); });
} }
@ -659,8 +639,9 @@ public class FpdBuildOptions extends IInternalFrame {
private JScrollPane getJScrollPaneFfsAttribs() { private JScrollPane getJScrollPaneFfsAttribs() {
if (jScrollPaneFfsAttribs == null) { if (jScrollPaneFfsAttribs == null) {
jScrollPaneFfsAttribs = new JScrollPane(); jScrollPaneFfsAttribs = new JScrollPane();
jScrollPaneFfsAttribs.setPreferredSize(new java.awt.Dimension(350, 100)); // jScrollPaneFfsAttribs.setPreferredSize(new java.awt.Dimension(350, 100));
jScrollPaneFfsAttribs.setViewportView(getJTableFfsAttribs()); jScrollPaneFfsAttribs.setViewportView(getJTableFfsAttribs());
} }
return jScrollPaneFfsAttribs; return jScrollPaneFfsAttribs;
} }
@ -674,7 +655,7 @@ public class FpdBuildOptions extends IInternalFrame {
if (jTableFfsAttribs == null) { if (jTableFfsAttribs == null) {
ffsAttributesTableModel = new DefaultTableModel(); ffsAttributesTableModel = new DefaultTableModel();
jTableFfsAttribs = new JTable(ffsAttributesTableModel); jTableFfsAttribs = new JTable(ffsAttributesTableModel);
jTableFfsAttribs.setPreferredSize(new java.awt.Dimension(400, 80)); // jTableFfsAttribs.setPreferredSize(new java.awt.Dimension(400, 80));
jTableFfsAttribs.setRowHeight(20); jTableFfsAttribs.setRowHeight(20);
ffsAttributesTableModel.addColumn("Name"); ffsAttributesTableModel.addColumn("Name");
ffsAttributesTableModel.addColumn("Value"); ffsAttributesTableModel.addColumn("Value");
@ -715,6 +696,7 @@ public class FpdBuildOptions extends IInternalFrame {
for (int i = 0; i < saa.length; ++i) { for (int i = 0; i < saa.length; ++i) {
ffsTableModel.addRow(saa[i]); ffsTableModel.addRow(saa[i]);
} }
jTableFfs.changeSelection(0, 0, false, false);
} }
/** /**
@ -788,7 +770,7 @@ public class FpdBuildOptions extends IInternalFrame {
private JScrollPane getJScrollPaneFfs() { private JScrollPane getJScrollPaneFfs() {
if (jScrollPaneFfs == null) { if (jScrollPaneFfs == null) {
jScrollPaneFfs = new JScrollPane(); jScrollPaneFfs = new JScrollPane();
jScrollPaneFfs.setPreferredSize(new java.awt.Dimension(150, 419)); jScrollPaneFfs.setPreferredSize(new java.awt.Dimension(200,419));
jScrollPaneFfs.setViewportView(getJTableFfs()); jScrollPaneFfs.setViewportView(getJTableFfs());
} }
return jScrollPaneFfs; return jScrollPaneFfs;
@ -828,7 +810,7 @@ public class FpdBuildOptions extends IInternalFrame {
ArrayList<String> alSections = new ArrayList<String>(); ArrayList<String> alSections = new ArrayList<String>();
ArrayList<String> alSection = new ArrayList<String>(); ArrayList<String> alSection = new ArrayList<String>();
ffc.getBuildOptionsFfs(row, sArray, lhm, alSections, alSection); ffc.getBuildOptionsFfs(row, sArray, lhm, alSections, alSection);
jTextFieldFfsKey.setText(sArray[0]); ffsSelection = true;
jTextFieldEncapType.setText(sArray[1]); jTextFieldEncapType.setText(sArray[1]);
for (int i = 0; i < alSection.size(); ++i) { for (int i = 0; i < alSection.size(); ++i) {
String[] sectionRow = { alSection.get(i) }; String[] sectionRow = { alSection.get(i) };
@ -1008,13 +990,42 @@ public class FpdBuildOptions extends IInternalFrame {
private JTextField getJTextFieldEncapType() { private JTextField getJTextFieldEncapType() {
if (jTextFieldEncapType == null) { if (jTextFieldEncapType == null) {
jTextFieldEncapType = new JTextField(); jTextFieldEncapType = new JTextField();
jTextFieldEncapType.setPreferredSize(new java.awt.Dimension(100, 20)); jTextFieldEncapType.setPreferredSize(new java.awt.Dimension(200,20));
jTextFieldEncapType.getDocument().addDocumentListener(new DocumentListener() {
public void insertUpdate(DocumentEvent arg0) {
if (ffsSelection) {
ffsSelection = false;
return;
}
if (docConsole != null) {
docConsole.setSaved(false);
}
}
public void removeUpdate(DocumentEvent arg0) {
if (ffsSelection) {
ffsSelection = false;
return;
}
if (docConsole != null) {
docConsole.setSaved(false);
}
}
public void changedUpdate(DocumentEvent arg0) {
// TODO Auto-generated method stub
}
});
jTextFieldEncapType.addFocusListener(new java.awt.event.FocusAdapter() { jTextFieldEncapType.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent e) { public void focusLost(java.awt.event.FocusEvent e) {
if (jTableFfs.getSelectedRow() < 0) { if (jTableFfs.getSelectedRow() < 0) {
return; return;
} }
ffc.updateBuildOptionsFfsSectionsType(jTableFfs.getSelectedRow(), jTextFieldEncapType.getText()); ffc.updateBuildOptionsFfsSectionsType(jTableFfs.getSelectedRow(), jTextFieldEncapType.getText());
} }
}); });
} }
@ -1165,10 +1176,11 @@ public class FpdBuildOptions extends IInternalFrame {
return; return;
} }
docConsole.setSaved(false); docConsole.setSaved(false);
String[] row = { "" }; String[] row = { "Compress" };
sectionsTableModel.addRow(row); sectionsTableModel.addRow(row);
ffc.genBuildOptionsFfsSectionsSections(jTableFfs.getSelectedRow(), ""); ffc.genBuildOptionsFfsSectionsSections(jTableFfs.getSelectedRow(), "");
JOptionPane.showMessageDialog(frame, "Add Default Section Type EFI_SECTION_PE32 into the New Sections Entry."); JOptionPane.showMessageDialog(frame, "Add Default Section Type EFI_SECTION_PE32 into the New Sections Entry.");
jTableFfsSections.changeSelection(sectionsTableModel.getRowCount()-1, 0, false, false);
} }
}); });
} }

View File

@ -2391,10 +2391,8 @@ public class FpdFileContents {
} }
public void updateBuildOptionsFfsSectionsType(int i, String type) { public void updateBuildOptionsFfsSectionsType(int i, String type) {
BuildOptionsDocument.BuildOptions.Ffs ffs = getfpdBuildOpts().addNewFfs(); BuildOptionsDocument.BuildOptions.Ffs ffs = getFfs(i);
if (type != null) { ffs.getSections().setEncapsulationType(type);
ffs.addNewSections().setEncapsulationType(type);
}
} }
public void genBuildOptionsFfsAttribute(int i, String name, String value) { public void genBuildOptionsFfsAttribute(int i, String name, String value) {