**/\r
package org.tianocore.frameworkwizard.packaging.ui;\r
\r
-import java.awt.BorderLayout;\r
import java.awt.Dimension;\r
-import java.awt.Toolkit;\r
import java.awt.event.ActionEvent;\r
-import java.awt.event.ActionListener;\r
import java.awt.event.ComponentEvent;\r
import java.io.File;\r
-import java.util.Vector;\r
\r
import javax.swing.DefaultCellEditor;\r
-import javax.swing.DefaultListModel;\r
import javax.swing.JFileChooser;\r
import javax.swing.JOptionPane;\r
import javax.swing.JPanel;\r
import javax.swing.JTextField;\r
import javax.swing.JComboBox;\r
import javax.swing.JLabel;\r
-import javax.swing.JList;\r
import javax.swing.JScrollPane;\r
import javax.swing.JButton;\r
import javax.swing.JFrame;\r
import javax.swing.table.TableModel;\r
\r
import org.tianocore.PackageSurfaceAreaDocument;\r
-import org.tianocore.frameworkwizard.common.DataType;\r
+import org.tianocore.frameworkwizard.common.DataValidation;\r
import org.tianocore.frameworkwizard.common.Tools;\r
+import org.tianocore.frameworkwizard.common.Identifications.OpeningPackageType;\r
import org.tianocore.frameworkwizard.common.ui.IInternalFrame;\r
import org.tianocore.frameworkwizard.common.ui.StarLabel;\r
\r
@since PackageEditor 1.0\r
**/\r
public class SpdPackageHeaders extends IInternalFrame implements TableModelListener{\r
+ /**\r
+ * \r
+ */\r
+ private static final long serialVersionUID = 1L;\r
+\r
static JFrame frame;\r
\r
private SpdFileContents sfc = null;\r
+ \r
+ private OpeningPackageType docConsole = null;\r
\r
private DefaultTableModel model = null;\r
\r
private JPanel jContentPane = null;\r
\r
- private JRadioButton jRadioButtonAdd = null;\r
-\r
private JRadioButton jRadioButtonSelect = null;\r
\r
- private JTextField jTextFieldAdd = null;\r
-\r
private JComboBox jComboBoxSelect = null;\r
\r
private JButton jButtonAdd = null;\r
\r
}\r
\r
- /**\r
- This method initializes jRadioButtonAdd \r
- \r
- @return javax.swing.JRadioButton \r
- **/\r
- private JRadioButton getJRadioButtonAdd() {\r
- if (jRadioButtonAdd == null) {\r
- jRadioButtonAdd = new JRadioButton();\r
- jRadioButtonAdd.setBounds(new java.awt.Rectangle(9,35,197,20));\r
- jRadioButtonAdd.setText("Add a new ModuleType");\r
- jRadioButtonAdd.setEnabled(false);\r
- jRadioButtonAdd.addActionListener(this);\r
- jRadioButtonAdd.setSelected(false);\r
- }\r
- return jRadioButtonAdd;\r
- }\r
-\r
/**\r
This method initializes jRadioButtonSelect \r
\r
return jRadioButtonSelect;\r
}\r
\r
- /**\r
- This method initializes jTextFieldAdd \r
- \r
- @return javax.swing.JTextField \r
- **/\r
- private JTextField getJTextFieldAdd() {\r
- if (jTextFieldAdd == null) {\r
- jTextFieldAdd = new JTextField();\r
- jTextFieldAdd.setBounds(new java.awt.Rectangle(220, 35, 260, 20));\r
- jTextFieldAdd.setPreferredSize(new java.awt.Dimension(260,20));\r
- jTextFieldAdd.setEnabled(false);\r
- }\r
- return jTextFieldAdd;\r
- }\r
-\r
/**\r
This method initializes jComboBoxSelect \r
\r
sfc = new SpdFileContents(inPsa);\r
init(sfc);\r
}\r
+ \r
+ public SpdPackageHeaders(OpeningPackageType opt) {\r
+ this(opt.getXmlSpd());\r
+ docConsole = opt;\r
+ }\r
/**\r
This method initializes this\r
\r
private void init() {\r
\r
this.setContentPane(getJScrollPane());\r
- this.setTitle("Library Class Declarations");\r
+ this.setTitle("Package Headers");\r
this.setBounds(new java.awt.Rectangle(0, 0, 500, 370));\r
this.setVisible(true);\r
this.addInternalFrameListener(new InternalFrameAdapter(){\r
jContentPane.add(jLabel, null);\r
jContentPane.add(jStarLabel1, null);\r
jContentPane.add(jStarLabel2, null);\r
- jContentPane.add(getJRadioButtonAdd(), null);\r
jContentPane.add(getJRadioButtonSelect(), null);\r
- jContentPane.add(getJTextFieldAdd(), null);\r
jContentPane.add(getJComboBoxSelect(), null);\r
jContentPane.add(getJButtonAdd(), null);\r
jContentPane.add(getJButtonRemove(), null);\r
jComboBoxSelect.addItem("DXE_RUNTIME_DRIVER");\r
jComboBoxSelect.addItem("DXE_SAL_DRIVER");\r
jComboBoxSelect.addItem("DXE_SMM_DRIVER");\r
- jComboBoxSelect.addItem("TOOLS");\r
+ jComboBoxSelect.addItem("TOOL");\r
jComboBoxSelect.addItem("UEFI_DRIVER");\r
jComboBoxSelect.addItem("UEFI_APPLICATION");\r
jComboBoxSelect.addItem("USER_DEFINED");\r
* @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)\r
*/\r
public void actionPerformed(ActionEvent arg0) {\r
+ \r
+ docConsole.setSaved(false);\r
if (arg0.getSource() == jButtonOk) {\r
this.save();\r
this.dispose();\r
\r
if (arg0.getSource() == jButtonAdd) {\r
String strLibClass = "";\r
- if (jRadioButtonAdd.isSelected()) {\r
- strLibClass = jTextFieldAdd.getText();\r
- }\r
+ \r
if (jRadioButtonSelect.isSelected()) {\r
strLibClass = jComboBoxSelect.getSelectedItem().toString();\r
}\r
String[] row = {"", ""};\r
row[0] = strLibClass;\r
row[1] = jTextField.getText().replace('\\', '/');\r
+ if (!dataValidation(row)) {\r
+ return;\r
+ }\r
model.addRow(row);\r
+ jTable.changeSelection(model.getRowCount()-1, 0, false, false);\r
sfc.genSpdModuleHeaders(row[0], row[1], null, null, null, null, null, null);\r
}\r
//\r
sfc.removeSpdPkgHeader();\r
}\r
\r
- if (arg0.getSource() == jRadioButtonAdd) {\r
- if (jRadioButtonAdd.isSelected()) {\r
- jRadioButtonSelect.setSelected(false);\r
- jTextFieldAdd.setEnabled(true);\r
- jComboBoxSelect.setEnabled(false);\r
- }\r
- if (!jRadioButtonSelect.isSelected() && !jRadioButtonAdd.isSelected()) {\r
- jRadioButtonAdd.setSelected(true);\r
- jTextFieldAdd.setEnabled(true);\r
- jComboBoxSelect.setEnabled(false);\r
- }\r
- }\r
-\r
- if (arg0.getSource() == jRadioButtonSelect) {\r
- if (jRadioButtonSelect.isSelected()) {\r
- jRadioButtonAdd.setSelected(false);\r
- jTextFieldAdd.setEnabled(false);\r
- jComboBoxSelect.setEnabled(true);\r
- }\r
- if (!jRadioButtonSelect.isSelected() && !jRadioButtonAdd.isSelected()) {\r
- jRadioButtonSelect.setSelected(true);\r
- jTextFieldAdd.setEnabled(false);\r
- jComboBoxSelect.setEnabled(true);\r
- }\r
+ }\r
+ \r
+ private boolean dataValidation(String[] row) {\r
+ if (!DataValidation.isPathAndFilename(row[1])) {\r
+ JOptionPane.showMessageDialog(this, "Include header path is NOT PathAndFilename type.");\r
+ return false;\r
}\r
+ \r
+ return true;\r
}\r
\r
/**\r
jButtonBrowse.setText("Browse");\r
jButtonBrowse.setPreferredSize(new java.awt.Dimension(92,20));\r
jButtonBrowse.addActionListener(new javax.swing.AbstractAction() {\r
+ /**\r
+ * \r
+ */\r
+ private static final long serialVersionUID = 1L;\r
+\r
public void actionPerformed(ActionEvent e) {\r
//\r
// Select files from current workspace\r
private JScrollPane getJScrollPane1() {\r
if (jScrollPane1 == null) {\r
jScrollPane1 = new JScrollPane();\r
- jScrollPane1.setBounds(new java.awt.Rectangle(13,149,453,165));\r
+ jScrollPane1.setBounds(new java.awt.Rectangle(13,149,453,258));\r
jScrollPane1.setViewportView(getJTable());\r
}\r
return jScrollPane1;\r
if (jTable == null) {\r
model = new DefaultTableModel();\r
jTable = new JTable(model);\r
+ jTable.setRowHeight(20);\r
model.addColumn("ModuleType");\r
model.addColumn("IncludeHeader");\r
TableColumn typeColumn = jTable.getColumnModel().getColumn(0);\r
jComboBoxSelect.addItem("DXE_RUNTIME_DRIVER");\r
jComboBoxSelect.addItem("DXE_SAL_DRIVER");\r
jComboBoxSelect.addItem("DXE_SMM_DRIVER");\r
- jComboBoxSelect.addItem("TOOLS");\r
+ jComboBoxSelect.addItem("TOOL");\r
jComboBoxSelect.addItem("UEFI_DRIVER");\r
jComboBoxSelect.addItem("UEFI_APPLICATION");\r
jComboBoxSelect.addItem("USER_DEFINED");\r
if (arg0.getType() == TableModelEvent.UPDATE){\r
String pkg = m.getValueAt(row, 0) + "";\r
String hdr = m.getValueAt(row, 1) + "";\r
+ String[] rowData = {pkg, hdr};\r
+ if (!dataValidation(rowData)) {\r
+ return;\r
+ }\r
+ docConsole.setSaved(false);\r
sfc.updateSpdPkgHdr(row, pkg, hdr);\r
}\r
}\r
int intPreferredWidth = 500;\r
\r
resizeComponentWidth(this.jComboBoxSelect, this.getWidth(), intPreferredWidth);\r
- resizeComponentWidth(this.jTextFieldAdd, this.getWidth(), intPreferredWidth);\r
resizeComponentWidth(this.jTextField, this.getWidth(), intPreferredWidth);\r
resizeComponentWidth(this.jScrollPane, this.getWidth(), intPreferredWidth);\r
relocateComponentX(this.jButtonBrowse, this.getWidth(), this.getPreferredSize().width, 30);\r