package org.tianocore.frameworkwizard.platform.ui;\r
\r
import java.awt.BorderLayout;\r
-import java.awt.Dimension;\r
\r
import javax.swing.JPanel;\r
-import javax.swing.JDialog;\r
import javax.swing.JTabbedPane;\r
import javax.swing.JCheckBox;\r
import javax.swing.JLabel;\r
import javax.swing.AbstractAction;\r
import java.awt.event.ActionEvent;\r
import java.awt.event.ActionListener;\r
-import java.awt.event.ItemEvent;\r
-import java.awt.event.ItemListener;\r
\r
-import javax.swing.ButtonGroup;\r
import javax.swing.DefaultCellEditor;\r
-import javax.swing.DefaultListModel;\r
import javax.swing.JTextField;\r
import javax.swing.JButton;\r
import javax.swing.JScrollPane;\r
import javax.swing.JTable;\r
import javax.swing.JComboBox;\r
-import javax.swing.JRadioButton;\r
import javax.swing.ListSelectionModel;\r
import javax.swing.event.InternalFrameAdapter;\r
import javax.swing.event.InternalFrameEvent;\r
\r
import org.tianocore.PlatformSurfaceAreaDocument;\r
import org.tianocore.frameworkwizard.common.ui.IInternalFrame;\r
-import java.awt.CardLayout;\r
import java.util.ArrayList;\r
import java.util.Iterator;\r
import java.util.LinkedHashMap;\r
import java.util.Set;\r
+import java.util.Vector;\r
\r
public class FpdBuildOptions extends IInternalFrame {\r
\r
private JTable jTable5 = null;\r
private JButton jButton10 = null;\r
private JButton jButton11 = null;\r
- private DefaultListModel listModel = new DefaultListModel();\r
private JButton jButton17 = null;\r
private JButton jButton18 = null;\r
private FpdFileContents ffc = null;\r
if (jTable2 == null) {\r
antTaskTableModel = new DefaultTableModel();\r
jTable2 = new JTable(antTaskTableModel);\r
+ jTable2.setRowHeight(20);\r
antTaskTableModel.addColumn("ID");\r
antTaskTableModel.addColumn("Filename");\r
antTaskTableModel.addColumn("ANT Command Options");\r
if (jTextField6 == null) {\r
jTextField6 = new JTextField();\r
jTextField6.setPreferredSize(new java.awt.Dimension(100,20));\r
+ jTextField6.setEditable(false);\r
+ jTextField6.addFocusListener(new java.awt.event.FocusAdapter() {\r
+ public void focusLost(java.awt.event.FocusEvent e) {\r
+ if (jTable.getSelectedRow() < 0) {\r
+ return;\r
+ }\r
+// ffc.updateBuildOptionsFfsKey(jTable.getSelectedRow(), jTextField6.getText());\r
+ }\r
+ });\r
}\r
return jTextField6;\r
}\r
ffsAttributesTableModel = new DefaultTableModel();\r
jTable4 = new JTable(ffsAttributesTableModel);\r
jTable4.setPreferredSize(new java.awt.Dimension(400,80));\r
+ jTable4.setRowHeight(20);\r
ffsAttributesTableModel.addColumn("Name");\r
ffsAttributesTableModel.addColumn("Value");\r
\r
if (jTable5 == null) {\r
optionsTableModel = new DefaultTableModel();\r
jTable5 = new JTable(optionsTableModel);\r
+ jTable5.setRowHeight(20);\r
optionsTableModel.addColumn("BuildTargets");\r
optionsTableModel.addColumn("ToolChainFamily");\r
optionsTableModel.addColumn("SupportedArch");\r
TableModel m = (TableModel)arg0.getSource();\r
if (arg0.getType() == TableModelEvent.UPDATE){\r
//ToDo Data Validition check.\r
- String targetName = m.getValueAt(row, 0) + "";\r
+ String targets = m.getValueAt(row, 0) + "";\r
+ Vector<Object> targetName = new Vector<Object>();\r
+ String[] sArray = targets.split("( )+");\r
+ for (int i = 0; i < sArray.length; ++i) {\r
+ targetName.add(sArray[i]);\r
+ }\r
String toolChain = m.getValueAt(row, 1) + "";\r
- String supArch = m.getValueAt(row, 2) + "";\r
+ String archs = m.getValueAt(row, 2) + "";\r
+ Vector<Object> supArch = new Vector<Object>();\r
+ String[] sArray1 = archs.split("( )+");\r
+ for (int i = 0; i < sArray1.length; ++i) {\r
+ supArch.add(sArray1[i]);\r
+ }\r
+ if (supArch.size() == 0) {\r
+ supArch.add("IA32");\r
+ }\r
String toolCmd = m.getValueAt(row, 3) + "";\r
String tagName = m.getValueAt(row, 4) + "";\r
String contents = m.getValueAt(row, 5) + "";\r
Object[] o = {jTextField12.getText(), jComboBox2.getSelectedItem(), s,\r
jTextField8.getText(), jTextField13.getText(), jTextField7.getText()};\r
optionsTableModel.addRow(o);\r
- ffc.genBuildOptionsOpt(jTextField12.getText(), jComboBox2.getSelectedItem()+"", jTextField13.getText(), jTextField8.getText(), s, jTextField7.getText());\r
+ \r
+ ffc.genBuildOptionsOpt(stringToVector(jTextField12.getText()), jComboBox2.getSelectedItem()+"", jTextField13.getText(), jTextField8.getText(), stringToVector(s), jTextField7.getText());\r
}\r
});\r
}\r
return jButton10;\r
}\r
\r
+ private Vector<Object> stringToVector(String s) {\r
+ String[] sArray = s.split(" ");\r
+ Vector<Object> v = new Vector<Object>();\r
+ for (int i = 0; i < sArray.length; ++i) {\r
+ v.add(sArray[i]);\r
+ }\r
+ return v;\r
+ }\r
+ \r
private String boolToList (boolean[] bool) {\r
String s = " ";\r
if (bool[0]) {\r
if (bool[5]) {\r
s += "PPC ";\r
}\r
- \r
+ if (s == " ") {\r
+ s += "IA32";\r
+ }\r
return s.trim();\r
}\r
\r
return;\r
}\r
\r
-// ffc.updateBuildOptionsUserDefAntTask(row, id, file, execOrder);\r
- \r
+ ffc.updateBuildOptionsFfsKey(row, id);\r
}\r
}\r
});\r
sectionTableModel = new DefaultTableModel();\r
sectionTableModel.addColumn("SectionType");\r
\r
- jTable1 = new JTable(sectionsTableModel);\r
+ jTable1 = new JTable(sectionTableModel);\r
+ jTable1.setRowHeight(20);\r
+ JComboBox cb = new JComboBox();\r
+ cb.addItem("EFI_SECTION_FREEFORM_SUBTYPE_GUID");\r
+ cb.addItem("EFI_SECTION_VERSION");\r
+ cb.addItem("EFI_SECTION_USER_INTERFACE");\r
+ cb.addItem("EFI_SECTION_DXE_DEPEX");\r
+ cb.addItem("EFI_SECTION_PEI_DEPEX");\r
+ cb.addItem("EFI_SECTION_PE32");\r
+ cb.addItem("EFI_SECTION_PIC");\r
+ cb.addItem("EFI_SECTION_TE");\r
+ cb.addItem("EFI_SECTION_RAW");\r
+ cb.addItem("EFI_SECTION_COMPRESSION");\r
+ cb.addItem("EFI_SECTION_GUID_DEFINED");\r
+ cb.addItem("EFI_SECTION_COMPATIBILITY16");\r
+ cb.addItem("EFI_SECTION_FIRMWARE_VOLUME_IMAGE");\r
+ jTable1.getColumnModel().getColumn(0).setCellEditor(new DefaultCellEditor(cb));\r
+ \r
+ jTable1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
+ \r
+ jTable1.getModel().addTableModelListener(new TableModelListener() {\r
+ public void tableChanged(TableModelEvent arg0) {\r
+ // TODO Auto-generated method stub\r
+ if (jTable.getSelectedRow() < 0) {\r
+ return;\r
+ }\r
+ int row = arg0.getFirstRow();\r
+ TableModel m = (TableModel)arg0.getSource();\r
+ if (arg0.getType() == TableModelEvent.UPDATE){\r
+ //ToDo Data Validition check.\r
+ String type = m.getValueAt(row, 0) + "";\r
+ \r
+ ffc.updateBuildOptionsFfsSectionsSection(jTable.getSelectedRow(), row, type);\r
+ }\r
+ }\r
+ });\r
}\r
return jTable1;\r
}\r
subsectionsTableModel = new DefaultTableModel();\r
subsectionsTableModel.addColumn("SectionType");\r
jTable3 = new JTable(subsectionsTableModel);\r
+ jTable3.setRowHeight(20);\r
+ JComboBox cb = new JComboBox();\r
+ cb.addItem("EFI_SECTION_FREEFORM_SUBTYPE_GUID");\r
+ cb.addItem("EFI_SECTION_VERSION");\r
+ cb.addItem("EFI_SECTION_USER_INTERFACE");\r
+ cb.addItem("EFI_SECTION_DXE_DEPEX");\r
+ cb.addItem("EFI_SECTION_PEI_DEPEX");\r
+ cb.addItem("EFI_SECTION_PE32");\r
+ cb.addItem("EFI_SECTION_PIC");\r
+ cb.addItem("EFI_SECTION_TE");\r
+ cb.addItem("EFI_SECTION_RAW");\r
+ cb.addItem("EFI_SECTION_COMPRESSION");\r
+ cb.addItem("EFI_SECTION_GUID_DEFINED");\r
+ cb.addItem("EFI_SECTION_COMPATIBILITY16");\r
+ cb.addItem("EFI_SECTION_FIRMWARE_VOLUME_IMAGE");\r
+ jTable3.getColumnModel().getColumn(0).setCellEditor(new DefaultCellEditor(cb));\r
+ jTable3.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
+ \r
+ jTable3.getModel().addTableModelListener(new TableModelListener() {\r
+ public void tableChanged(TableModelEvent arg0) {\r
+ // TODO Auto-generated method stub\r
+ if (jTable.getSelectedRow() < 0 || jTable6.getSelectedRow() < 0) {\r
+ return;\r
+ }\r
+ int row = arg0.getFirstRow();\r
+ TableModel m = (TableModel)arg0.getSource();\r
+ if (arg0.getType() == TableModelEvent.UPDATE){\r
+ //ToDo Data Validition check.\r
+ String type = m.getValueAt(row, 0) + "";\r
+ ffc.updateBuildOptionsFfsSectionsSectionsSection(jTable.getSelectedRow(), jTable6.getSelectedRow(), row, type);\r
+ }\r
+ }\r
+ });\r
}\r
return jTable3;\r
}\r
if (jTextField == null) {\r
jTextField = new JTextField();\r
jTextField.setPreferredSize(new java.awt.Dimension(100,20));\r
+ jTextField.addFocusListener(new java.awt.event.FocusAdapter() {\r
+ public void focusLost(java.awt.event.FocusEvent e) {\r
+ if (jTable.getSelectedRow() < 0) {\r
+ return;\r
+ }\r
+ ffc.updateBuildOptionsFfsSectionsType(jTable.getSelectedRow(), jTextField.getText());\r
+ }\r
+ });\r
}\r
return jTextField;\r
}\r
jButton = new JButton();\r
jButton.setPreferredSize(new java.awt.Dimension(80,20));\r
jButton.setText("New");\r
+ jButton.addActionListener(new java.awt.event.ActionListener() {\r
+ public void actionPerformed(java.awt.event.ActionEvent e) {\r
+ if (jTable.getSelectedRow() < 0) {\r
+ return;\r
+ }\r
+ String[] row = {"EFI_SECTION_RAW"};\r
+ sectionTableModel.addRow(row);\r
+ ffc.genBuildOptionsFfsSectionsSection(jTable.getSelectedRow(), row[0]);\r
+ }\r
+ });\r
}\r
return jButton;\r
}\r
jButton1 = new JButton();\r
jButton1.setPreferredSize(new java.awt.Dimension(80,20));\r
jButton1.setText("Remove");\r
+ \r
+ jButton1.addActionListener(new java.awt.event.ActionListener() {\r
+ public void actionPerformed(java.awt.event.ActionEvent e) {\r
+ if (jTable.getSelectedRow() < 0 || jTable1.getSelectedRow() < 0) {\r
+ return;\r
+ }\r
+ sectionTableModel.removeRow(jTable1.getSelectedRow());\r
+ ffc.removeBuildOptionsFfsSectionsSection(jTable.getSelectedRow(), jTable1.getSelectedRow());\r
+ }\r
+ });\r
}\r
return jButton1;\r
}\r
jButton2 = new JButton();\r
jButton2.setPreferredSize(new java.awt.Dimension(80,20));\r
jButton2.setText("New");\r
+ jButton2.addActionListener(new java.awt.event.ActionListener() {\r
+ public void actionPerformed(java.awt.event.ActionEvent e) {\r
+ if (jTable.getSelectedRow() < 0 || jTable6.getSelectedRow() < 0) {\r
+ return;\r
+ }\r
+ String[] row = {"EFI_SECTION_RAW"};\r
+ subsectionsTableModel.addRow(row);\r
+ ffc.genBuildOptionsFfsSectionsSectionsSection(jTable.getSelectedRow(), jTable6.getSelectedRow(), row[0]);\r
+ \r
+ }\r
+ });\r
}\r
return jButton2;\r
}\r
jButton3 = new JButton();\r
jButton3.setPreferredSize(new java.awt.Dimension(80,20));\r
jButton3.setText("Remove");\r
+ jButton3.addActionListener(new java.awt.event.ActionListener() {\r
+ public void actionPerformed(java.awt.event.ActionEvent e) {\r
+ if (jTable.getSelectedRow() < 0 || jTable6.getSelectedRow() < 0 || jTable3.getSelectedRow() < 0) {\r
+ return;\r
+ }\r
+ subsectionsTableModel.removeRow(jTable3.getSelectedRow());\r
+ ffc.removeBuildOptionsFfsSectionsSectionsSection(jTable.getSelectedRow(), jTable6.getSelectedRow(), jTable3.getSelectedRow());\r
+ }\r
+ });\r
}\r
return jButton3;\r
}\r
jButton6 = new JButton();\r
jButton6.setPreferredSize(new java.awt.Dimension(80,20));\r
jButton6.setText("New");\r
+ jButton6.addActionListener(new java.awt.event.ActionListener() {\r
+ public void actionPerformed(java.awt.event.ActionEvent e) {\r
+ if (jTable.getSelectedRow() < 0) {\r
+ return;\r
+ }\r
+ String[] row = {""};\r
+ sectionsTableModel.addRow(row);\r
+ ffc.genBuildOptionsFfsSectionsSections(jTable.getSelectedRow(), "");\r
+ }\r
+ });\r
}\r
return jButton6;\r
}\r
jButton7 = new JButton();\r
jButton7.setPreferredSize(new java.awt.Dimension(80,20));\r
jButton7.setText("Remove");\r
+ jButton7.addActionListener(new java.awt.event.ActionListener() {\r
+ public void actionPerformed(java.awt.event.ActionEvent e) {\r
+ if (jTable.getSelectedRow() < 0 || jTable6.getSelectedRow() < 0) {\r
+ return;\r
+ }\r
+ sectionsTableModel.removeRow(jTable6.getSelectedRow());\r
+ ffc.removeBuildOptionsFfsSectionsSections(jTable.getSelectedRow(), jTable6.getSelectedRow());\r
+ }\r
+ });\r
}\r
return jButton7;\r
}\r
sectionsTableModel = new DefaultTableModel();\r
sectionsTableModel.addColumn("EncapsulationType");\r
jTable6 = new JTable(sectionsTableModel);\r
- \r
+ jTable6.setRowHeight(20);\r
jTable6.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
jTable6.getSelectionModel().addListSelectionListener(new ListSelectionListener(){\r
public void valueChanged(ListSelectionEvent e) {\r
TableModel m = (TableModel)arg0.getSource();\r
if (arg0.getType() == TableModelEvent.UPDATE){\r
//ToDo Data Validition check.\r
-// String targetName = m.getValueAt(row, 0) + "";\r
-// String toolChain = m.getValueAt(row, 1) + "";\r
-// String supArch = m.getValueAt(row, 2) + "";\r
-// String toolCmd = m.getValueAt(row, 3) + "";\r
-// String tagName = m.getValueAt(row, 4) + "";\r
-// String contents = m.getValueAt(row, 5) + "";\r
-// ffc.updateBuildOptionsOpt(row, targetName, toolChain, tagName, toolCmd, supArch, contents);\r
+ String encapType = m.getValueAt(row, 0) + "";\r
+ ffc.updateBuildOptionsFfsSectionsSections(jTable.getSelectedRow(), row, encapType);\r
}\r
}\r
});\r