import java.awt.event.ActionListener;\r
\r
import javax.swing.DefaultCellEditor;\r
+import javax.swing.JFrame;\r
+import javax.swing.JOptionPane;\r
import javax.swing.JTextField;\r
import javax.swing.JButton;\r
import javax.swing.JScrollPane;\r
import javax.swing.table.TableModel;\r
\r
import org.tianocore.PlatformSurfaceAreaDocument;\r
+import org.tianocore.frameworkwizard.common.DataValidation;\r
+import org.tianocore.frameworkwizard.common.Identifications.OpeningPlatformType;\r
import org.tianocore.frameworkwizard.common.ui.IInternalFrame;\r
import java.util.ArrayList;\r
import java.util.Iterator;\r
public class FpdBuildOptions extends IInternalFrame {\r
\r
private static final long serialVersionUID = 1L;\r
+ static JFrame frame;\r
private JPanel jContentPane = null;\r
private JPanel jPanel = null;\r
private JPanel jPanel1 = null;\r
private JButton jButton17 = null;\r
private JButton jButton18 = null;\r
private FpdFileContents ffc = null;\r
+ private OpeningPlatformType docConsole = null;\r
private JButton jButton19 = null;\r
private JCheckBox jCheckBox9 = null;\r
private JCheckBox jCheckBox10 = null;\r
jButton4.setText("Add");\r
jButton4.addActionListener(new ActionListener() {\r
public void actionPerformed(ActionEvent e) {\r
+ if (!DataValidation.isInt(jTextField3.getText())) {\r
+ JOptionPane.showMessageDialog(frame, "ID must be an integer.");\r
+ return;\r
+ }\r
Object[] o = {jTextField3.getText(), null, null};\r
o[1] = jTextField2.getText();\r
o[2] = jTextField4.getText();\r
ffc.genBuildOptionsUserDefAntTask(o[0]+"", null, o[2]+"");\r
antTaskTableModel.addRow(o);\r
- \r
+ docConsole.setSaved(false);\r
}\r
});\r
}\r
jButton5.addActionListener(new ActionListener() {\r
public void actionPerformed(ActionEvent e) {\r
if (selectedRow >= 0) {\r
+ docConsole.setSaved(false);\r
antTaskTableModel.removeRow(selectedRow);\r
ffc.removeBuildOptionsUserDefAntTask(selectedRow);\r
}\r
if (jTextField6 == null) {\r
jTextField6 = new JTextField();\r
jTextField6.setPreferredSize(new java.awt.Dimension(100,20));\r
- jTextField6.setEditable(false);\r
+ jTextField6.setEditable(true);\r
jTextField6.addFocusListener(new java.awt.event.FocusAdapter() {\r
public void focusLost(java.awt.event.FocusEvent e) {\r
if (jTable.getSelectedRow() < 0) {\r
if (jTextField6.getText().length() > 0) {\r
String[] row = {jTextField6.getText()};\r
ffsTableModel.addRow(row);\r
+ docConsole.setSaved(false);\r
ffc.genBuildOptionsFfs(jTextField6.getText(), jTextField.getText());\r
}\r
}\r
if (jTable.getSelectedRow() < 0) {\r
return;\r
}\r
+ docConsole.setSaved(false);\r
ffc.removeBuildOptionsFfs(jTable.getSelectedRow());\r
}\r
});\r
if (value.length() == 0){\r
return;\r
}\r
+ docConsole.setSaved(false);\r
ffc.updateBuildOptionsFfsAttribute(jTable.getSelectedRow(), row, name, value);\r
}\r
}\r
cb.addItem("CYGWIN");\r
cb.addItem("INTEL");\r
toolFamilyCol.setCellEditor(new DefaultCellEditor(cb));\r
- \r
+ Vector<String> vArch = new Vector<String>();\r
+ vArch.add("IA32");\r
+ vArch.add("X64");\r
+ vArch.add("IPF");\r
+ vArch.add("EBC");\r
+ vArch.add("ARM");\r
+ vArch.add("PPC");\r
+ jTable5.getColumnModel().getColumn(2).setCellEditor(new ListEditor(vArch));\r
jTable5.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
jTable5.getSelectionModel().addListSelectionListener(new ListSelectionListener(){\r
public void valueChanged(ListSelectionEvent e) {\r
}\r
String toolChain = m.getValueAt(row, 1) + "";\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
+ Vector<Object> supArch = null;\r
+ if (archs.length() > 0) {\r
+ 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
}\r
+ \r
String toolCmd = m.getValueAt(row, 3) + "";\r
String tagName = m.getValueAt(row, 4) + "";\r
String contents = m.getValueAt(row, 5) + "";\r
+ docConsole.setSaved(false);\r
ffc.updateBuildOptionsOpt(row, targetName, toolChain, tagName, toolCmd, supArch, contents);\r
}\r
}\r
Object[] o = {jTextField12.getText(), jComboBox2.getSelectedItem(), s,\r
jTextField8.getText(), jTextField13.getText(), jTextField7.getText()};\r
optionsTableModel.addRow(o);\r
- \r
+ docConsole.setSaved(false);\r
ffc.genBuildOptionsOpt(stringToVector(jTextField12.getText()), jComboBox2.getSelectedItem()+"", jTextField13.getText(), jTextField8.getText(), stringToVector(s), jTextField7.getText());\r
}\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
+ Vector<Object> v = null;\r
+ if (s.length() > 0) {\r
+ v = new Vector<Object>();\r
+ for (int i = 0; i < sArray.length; ++i) {\r
+ v.add(sArray[i]);\r
+ } \r
}\r
return v;\r
}\r
public void actionPerformed(java.awt.event.ActionEvent e) {\r
if (selectedRow >= 0) {\r
optionsTableModel.removeRow(selectedRow);\r
+ docConsole.setSaved(false);\r
ffc.removeBuildOptionsOpt(selectedRow);\r
}\r
}\r
}\r
Object[] o = {"", ""};\r
ffsAttributesTableModel.addRow(o);\r
+ docConsole.setSaved(false);\r
ffc.genBuildOptionsFfsAttribute(jTable.getSelectedRow(), "", "");\r
}\r
});\r
return;\r
}\r
if (jTable4.getSelectedRow() >= 0){\r
+ docConsole.setSaved(false);\r
ffsAttributesTableModel.removeRow(jTable4.getSelectedRow());\r
ffc.removeBuildOptionsFfsAttribute(jTable.getSelectedRow(), jTable4.getSelectedRow());\r
}\r
if (id.length() == 0) {\r
return;\r
}\r
- \r
+ docConsole.setSaved(false);\r
ffc.updateBuildOptionsFfsKey(row, id);\r
}\r
}\r
if (arg0.getType() == TableModelEvent.UPDATE){\r
//ToDo Data Validition check.\r
String type = m.getValueAt(row, 0) + "";\r
- \r
+ docConsole.setSaved(false);\r
ffc.updateBuildOptionsFfsSectionsSection(jTable.getSelectedRow(), row, type);\r
}\r
}\r
if (arg0.getType() == TableModelEvent.UPDATE){\r
//ToDo Data Validition check.\r
String type = m.getValueAt(row, 0) + "";\r
+ docConsole.setSaved(false);\r
ffc.updateBuildOptionsFfsSectionsSectionsSection(jTable.getSelectedRow(), jTable6.getSelectedRow(), row, type);\r
}\r
}\r
if (jTable.getSelectedRow() < 0) {\r
return;\r
}\r
+ docConsole.setSaved(false);\r
String[] row = {"EFI_SECTION_RAW"};\r
sectionTableModel.addRow(row);\r
ffc.genBuildOptionsFfsSectionsSection(jTable.getSelectedRow(), row[0]);\r
if (jTable.getSelectedRow() < 0 || jTable1.getSelectedRow() < 0) {\r
return;\r
}\r
+ docConsole.setSaved(false);\r
sectionTableModel.removeRow(jTable1.getSelectedRow());\r
ffc.removeBuildOptionsFfsSectionsSection(jTable.getSelectedRow(), jTable1.getSelectedRow());\r
}\r
if (jTable.getSelectedRow() < 0 || jTable6.getSelectedRow() < 0) {\r
return;\r
}\r
+ docConsole.setSaved(false);\r
String[] row = {"EFI_SECTION_RAW"};\r
subsectionsTableModel.addRow(row);\r
ffc.genBuildOptionsFfsSectionsSectionsSection(jTable.getSelectedRow(), jTable6.getSelectedRow(), row[0]);\r
if (jTable.getSelectedRow() < 0 || jTable6.getSelectedRow() < 0 || jTable3.getSelectedRow() < 0) {\r
return;\r
}\r
+ docConsole.setSaved(false);\r
subsectionsTableModel.removeRow(jTable3.getSelectedRow());\r
ffc.removeBuildOptionsFfsSectionsSectionsSection(jTable.getSelectedRow(), jTable6.getSelectedRow(), jTable3.getSelectedRow());\r
}\r
if (jTable.getSelectedRow() < 0) {\r
return;\r
}\r
+ docConsole.setSaved(false);\r
String[] row = {""};\r
sectionsTableModel.addRow(row);\r
ffc.genBuildOptionsFfsSectionsSections(jTable.getSelectedRow(), "");\r
if (jTable.getSelectedRow() < 0 || jTable6.getSelectedRow() < 0) {\r
return;\r
}\r
+ docConsole.setSaved(false);\r
sectionsTableModel.removeRow(jTable6.getSelectedRow());\r
ffc.removeBuildOptionsFfsSectionsSections(jTable.getSelectedRow(), jTable6.getSelectedRow());\r
}\r
if (arg0.getType() == TableModelEvent.UPDATE){\r
//ToDo Data Validition check.\r
String encapType = m.getValueAt(row, 0) + "";\r
+ docConsole.setSaved(false);\r
ffc.updateBuildOptionsFfsSectionsSections(jTable.getSelectedRow(), row, encapType);\r
}\r
}\r
ffc = new FpdFileContents(fpd);\r
init(ffc);\r
}\r
+ \r
+ public FpdBuildOptions(OpeningPlatformType opt) {\r
+ this(opt.getXmlFpd());\r
+ docConsole = opt;\r
+ }\r
\r
private void init(FpdFileContents ffc) {\r
initOptionTable();\r