import java.awt.event.ActionListener;\r
\r
import javax.swing.DefaultCellEditor;\r
+import javax.swing.JFileChooser;\r
import javax.swing.JFrame;\r
import javax.swing.JOptionPane;\r
import javax.swing.JTextField;\r
import javax.swing.event.TableModelEvent;\r
import javax.swing.event.TableModelListener;\r
import javax.swing.table.DefaultTableModel;\r
-import javax.swing.table.TableColumn;\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
+\r
+import java.io.File;\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
+import java.awt.Dimension;\r
\r
public class FpdBuildOptions extends IInternalFrame {\r
\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
private JCheckBox jCheckBox11 = null;\r
private JButton jButton7 = null;\r
private JScrollPane jScrollPane4 = null;\r
private JTable jTable6 = null;\r
+ private JButton jButton12 = null;\r
+ private JTextField jTextField1 = null;\r
/**\r
* This method initializes jPanel \r
* \r
jPanel9.setLayout(flowLayout8);\r
jPanel9.add(jLabel, null);\r
jPanel9.add(getJTextField2(), null);\r
+ jPanel9.add(getJButton12(), null);\r
jPanel9.add(jLabel3, null);\r
jPanel9.add(getJTextField3(), null);\r
}\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
+ if (!DataValidation.isInt(jTextField3.getText()) || jTextField3.getText().length() != 8) {\r
+ JOptionPane.showMessageDialog(frame, "ID must be an 8-digit 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
+ ffc.genBuildOptionsUserDefAntTask(o[0]+"", o[1]+"", o[2]+"");\r
antTaskTableModel.addRow(o);\r
docConsole.setSaved(false);\r
}\r
jPanel20.add(jLabel14, null);\r
jPanel20.add(getJTextField12(), null);\r
jPanel20.add(jLabel10, null);\r
+ jPanel20.add(getJTextField1(), null);\r
jPanel20.add(getJComboBox2(), null);\r
jPanel20.add(jLabel12, null);\r
jPanel20.add(getJTextField8(), null);\r
jPanel20.add(getJTextField7(), null);\r
jPanel20.add(getJButton10(), null);\r
jPanel20.add(getJButton11(), null);\r
- jPanel20.add(getJButton19(), null);\r
jPanel20.add(getJScrollPane6(), null);\r
}\r
return jPanel20;\r
jComboBox2.addItem("CYGWIN");\r
jComboBox2.addItem("INTEL");\r
jComboBox2.setSelectedIndex(0);\r
+ jComboBox2.setVisible(false);\r
}\r
return jComboBox2;\r
}\r
optionsTableModel.addColumn("TagName");\r
optionsTableModel.addColumn("Contents");\r
\r
- TableColumn toolFamilyCol = jTable5.getColumnModel().getColumn(1);\r
- JComboBox cb = new JComboBox();\r
- cb.addItem("MSFT");\r
- cb.addItem("GCC");\r
- cb.addItem("CYGWIN");\r
- cb.addItem("INTEL");\r
- toolFamilyCol.setCellEditor(new DefaultCellEditor(cb));\r
+// TableColumn toolFamilyCol = jTable5.getColumnModel().getColumn(1);\r
+// JComboBox cb = new JComboBox();\r
+// cb.addItem("MSFT");\r
+// cb.addItem("GCC");\r
+// cb.addItem("CYGWIN");\r
+// cb.addItem("INTEL");\r
+// toolFamilyCol.setCellEditor(new DefaultCellEditor(cb));\r
Vector<String> vArch = new Vector<String>();\r
vArch.add("IA32");\r
vArch.add("X64");\r
if (jButton10 == null) {\r
jButton10 = new JButton();\r
jButton10.setText("Add");\r
- jButton10.setPreferredSize(new java.awt.Dimension(70,20));\r
+ jButton10.setPreferredSize(new java.awt.Dimension(90,20));\r
jButton10.addActionListener(new AbstractAction() {\r
/**\r
* \r
boolean[] boolArray = {jCheckBox9.isSelected(),jCheckBox10.isSelected(),jCheckBox11.isSelected(),\r
jCheckBox12.isSelected(),jCheckBox13.isSelected(),jCheckBox14.isSelected()};\r
String s = boolToList(boolArray);\r
- Object[] o = {jTextField12.getText(), jComboBox2.getSelectedItem(), s,\r
+ Object[] o = {jTextField12.getText(), jTextField1.getText(), s,\r
jTextField8.getText(), jTextField13.getText(), jTextField7.getText()};\r
optionsTableModel.addRow(o);\r
docConsole.setSaved(false);\r
- ffc.genBuildOptionsOpt(stringToVector(jTextField12.getText()), jComboBox2.getSelectedItem()+"", jTextField13.getText(), jTextField8.getText(), stringToVector(s), jTextField7.getText());\r
+ ffc.genBuildOptionsOpt(stringToVector(jTextField12.getText()), jTextField1.getText(), jTextField13.getText(), jTextField8.getText(), stringToVector(s), jTextField7.getText());\r
}\r
});\r
}\r
if (jButton11 == null) {\r
jButton11 = new JButton();\r
jButton11.setText("Delete");\r
- jButton11.setPreferredSize(new java.awt.Dimension(70,20));\r
+ jButton11.setPreferredSize(new java.awt.Dimension(90,20));\r
jButton11.addActionListener(new AbstractAction() {\r
/**\r
* \r
return jButton18;\r
}\r
\r
- /**\r
- * This method initializes jButton19 \r
- * \r
- * @return javax.swing.JButton \r
- */\r
- private JButton getJButton19() {\r
- if (jButton19 == null) {\r
- jButton19 = new JButton();\r
- jButton19.setPreferredSize(new java.awt.Dimension(75,20));\r
- jButton19.setEnabled(false);\r
- jButton19.setText("Update");\r
- }\r
- return jButton19;\r
- }\r
-\r
/**\r
* This method initializes jCheckBox9 \r
* \r
return jTable6;\r
}\r
\r
+ /**\r
+ * This method initializes jButton12 \r
+ * \r
+ * @return javax.swing.JButton \r
+ */\r
+ private JButton getJButton12() {\r
+ if (jButton12 == null) {\r
+ jButton12 = new JButton();\r
+ jButton12.setPreferredSize(new Dimension(90, 20));\r
+ jButton12.setText("Browse");\r
+ jButton12.addActionListener(new AbstractAction() {\r
+ private static final long serialVersionUID = 1L;\r
+\r
+ public void actionPerformed(ActionEvent arg0) {\r
+ //\r
+ // Select files from current workspace\r
+ //\r
+ String dirPrefix = System.getenv("WORKSPACE");\r
+ JFileChooser chooser = new JFileChooser(dirPrefix);\r
+ File theFile = null;\r
+ String headerDest = null;\r
+ \r
+ chooser.setMultiSelectionEnabled(false);\r
+ chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);\r
+ int retval = chooser.showOpenDialog(frame);\r
+ if (retval == JFileChooser.APPROVE_OPTION) {\r
+\r
+ theFile = chooser.getSelectedFile();\r
+ String file = theFile.getPath();\r
+ if (!file.startsWith(dirPrefix)) {\r
+ JOptionPane.showMessageDialog(frame, "You can only select files in current package!");\r
+ return;\r
+ }\r
+ }\r
+ else {\r
+ return;\r
+ }\r
+ \r
+ headerDest = theFile.getPath();\r
+ jTextField2.setText(headerDest.substring(dirPrefix.length()).replace('\\', '/'));\r
+ \r
+ }\r
+\r
+ });\r
+ }\r
+ return jButton12;\r
+ }\r
+\r
+ /**\r
+ * This method initializes jTextField1 \r
+ * \r
+ * @return javax.swing.JTextField \r
+ */\r
+ private JTextField getJTextField1() {\r
+ if (jTextField1 == null) {\r
+ jTextField1 = new JTextField();\r
+ jTextField1.setPreferredSize(new java.awt.Dimension(85,20));\r
+ }\r
+ return jTextField1;\r
+ }\r
+\r
/**\r
* @param args\r
*/\r