Add Data Validations for SPD editor.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@765 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
jlin16 2006-07-05 08:16:05 +00:00
parent 78d0508ad9
commit ce73a791eb
10 changed files with 431 additions and 236 deletions

View File

@ -19,7 +19,6 @@ import java.util.List;
import java.util.ListIterator; import java.util.ListIterator;
import java.util.Vector; import java.util.Vector;
import javax.xml.namespace.QName;
import org.apache.xmlbeans.XmlObject; import org.apache.xmlbeans.XmlObject;
import org.apache.xmlbeans.XmlOptions; import org.apache.xmlbeans.XmlOptions;
@ -360,15 +359,24 @@ public class SpdFileContents {
e.setCName(cName); e.setCName(cName);
e.setGuidValue(guid); e.setGuidValue(guid);
e.setHelpText(hlp); e.setHelpText(hlp);
if (stringToList(guidTypeList) != null && !guidTypeList.equals("")) { if (stringToList(guidTypeList) != null) {
e.setGuidTypeList(stringToList(guidTypeList)); e.setGuidTypeList(stringToList(guidTypeList));
} }
else{
e.setGuidTypeList(null);
}
if (stringToList(archList) != null){ if (stringToList(archList) != null){
e.setSupArchList(stringToList(archList)); e.setSupArchList(stringToList(archList));
} }
else{
e.setSupArchList(null);
}
if (stringToList(modTypeList) != null) { if (stringToList(modTypeList) != null) {
e.setSupModuleList(stringToList(modTypeList)); e.setSupModuleList(stringToList(modTypeList));
} }
else{
e.setSupModuleList(null);
}
} }
cursor.dispose(); cursor.dispose();
@ -394,9 +402,15 @@ public class SpdFileContents {
if (stringToList(archList) != null){ if (stringToList(archList) != null){
e.setSupArchList(stringToList(archList)); e.setSupArchList(stringToList(archList));
} }
else{
e.setSupArchList(null);
}
if (stringToList(modTypeList) != null) { if (stringToList(modTypeList) != null) {
e.setSupModuleList(stringToList(modTypeList)); e.setSupModuleList(stringToList(modTypeList));
} }
else{
e.setSupModuleList(null);
}
} }
cursor.dispose(); cursor.dispose();
} }
@ -421,9 +435,15 @@ public class SpdFileContents {
if (stringToList(archList) != null){ if (stringToList(archList) != null){
e.setSupArchList(stringToList(archList)); e.setSupArchList(stringToList(archList));
} }
else{
e.setSupArchList(null);
}
if (stringToList(modTypeList) != null) { if (stringToList(modTypeList) != null) {
e.setSupModuleList(stringToList(modTypeList)); e.setSupModuleList(stringToList(modTypeList));
} }
else{
e.setSupModuleList(null);
}
} }
cursor.dispose(); cursor.dispose();
} }
@ -1093,15 +1113,18 @@ public class SpdFileContents {
e.setCName(cName); e.setCName(cName);
e.setGuidValue(guid); e.setGuidValue(guid);
e.setHelpText(help); e.setHelpText(help);
if (guidTypeList != null && guidTypeList.size() > 0) { e.setGuidTypeList(guidTypeList);
e.setGuidTypeList(new ArrayList<String>(guidTypeList)); e.setSupArchList(archList);
} e.setSupModuleList(modTypeList);
if (archList != null && archList.size() > 0){ // if (guidTypeList != null && guidTypeList.size() > 0) {
e.setSupArchList(new ArrayList<String>(archList)); // e.setGuidTypeList(new ArrayList<String>(guidTypeList));
} // }
if (modTypeList != null && modTypeList.size() > 0) { // if (archList != null && archList.size() > 0){
e.setSupModuleList(new ArrayList<String>(modTypeList)); // e.setSupArchList(new ArrayList<String>(archList));
} // }
// if (modTypeList != null && modTypeList.size() > 0) {
// e.setSupModuleList(new ArrayList<String>(modTypeList));
// }
return; return;
} }
if (parent instanceof ProtocolDeclarationsDocument.ProtocolDeclarations) { if (parent instanceof ProtocolDeclarationsDocument.ProtocolDeclarations) {
@ -1111,12 +1134,14 @@ public class SpdFileContents {
pe.setCName(cName); pe.setCName(cName);
pe.setGuidValue(guid); pe.setGuidValue(guid);
pe.setHelpText(help); pe.setHelpText(help);
if (archList != null && archList.size() > 0){ pe.setSupArchList(archList);
pe.setSupArchList(new ArrayList<String>(archList)); pe.setSupModuleList(modTypeList);
} // if (archList != null && archList.size() > 0){
if (modTypeList != null && modTypeList.size() > 0) { // pe.setSupArchList(new ArrayList<String>(archList));
pe.setSupModuleList(new ArrayList<String>(modTypeList)); // }
} // if (modTypeList != null && modTypeList.size() > 0) {
// pe.setSupModuleList(new ArrayList<String>(modTypeList));
// }
return; return;
} }
if (parent instanceof PpiDeclarationsDocument.PpiDeclarations) { if (parent instanceof PpiDeclarationsDocument.PpiDeclarations) {
@ -1126,12 +1151,14 @@ public class SpdFileContents {
ppe.setCName(cName); ppe.setCName(cName);
ppe.setGuidValue(guid); ppe.setGuidValue(guid);
ppe.setHelpText(help); ppe.setHelpText(help);
if (archList != null && archList.size() > 0){ ppe.setSupArchList(archList);
ppe.setSupArchList(new ArrayList<String>(archList)); ppe.setSupModuleList(modTypeList);
} // if (archList != null && archList.size() > 0){
if (archList != null && modTypeList.size() > 0) { // ppe.setSupArchList(new ArrayList<String>(archList));
ppe.setSupModuleList(new ArrayList<String>(modTypeList)); // }
} // if (archList != null && modTypeList.size() > 0) {
// ppe.setSupModuleList(new ArrayList<String>(modTypeList));
// }
return; return;
} }
@ -1507,10 +1534,10 @@ public class SpdFileContents {
} }
private List<String> stringToList(String s){ private List<String> stringToList(String s){
if (s == null) { if (s == null || s.length() == 0) {
return null; return null;
} }
ArrayList<String> al = new ArrayList<String>(); Vector<String> al = new Vector<String>();
String[] sArray = s.split(" "); String[] sArray = s.split(" ");
for(int i = 0; i < sArray.length; ++i){ for(int i = 0; i < sArray.length; ++i){
al.add(sArray[i]); al.add(sArray[i]);
@ -1518,7 +1545,7 @@ public class SpdFileContents {
return al; return al;
} }
private String listToString(List<String> l) { private String listToString(List l) {
if (l == null) { if (l == null) {
return null; return null;
} }

View File

@ -12,25 +12,16 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
**/ **/
package org.tianocore.frameworkwizard.packaging.ui; package org.tianocore.frameworkwizard.packaging.ui;
import java.awt.BorderLayout;
import java.awt.Dimension; import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ComponentEvent; import java.awt.event.ComponentEvent;
import java.io.File;
import java.util.Vector; import java.util.Vector;
import javax.swing.DefaultListModel;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane; import javax.swing.JOptionPane;
import javax.swing.JPanel; import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JTable; import javax.swing.JTable;
import javax.swing.JTextField; import javax.swing.JTextField;
import javax.swing.JComboBox;
import javax.swing.JLabel; import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JScrollPane; import javax.swing.JScrollPane;
import javax.swing.JButton; import javax.swing.JButton;
import javax.swing.JFrame; import javax.swing.JFrame;
@ -45,11 +36,12 @@ import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel; import javax.swing.table.TableModel;
import org.tianocore.PackageSurfaceAreaDocument; import org.tianocore.PackageSurfaceAreaDocument;
import org.tianocore.frameworkwizard.common.DataType; import org.tianocore.frameworkwizard.common.DataValidation;
import org.tianocore.frameworkwizard.common.Tools; import org.tianocore.frameworkwizard.common.Tools;
import org.tianocore.frameworkwizard.common.ui.IInternalFrame; import org.tianocore.frameworkwizard.common.ui.IInternalFrame;
import org.tianocore.frameworkwizard.common.ui.StarLabel; import org.tianocore.frameworkwizard.common.ui.StarLabel;
import org.tianocore.frameworkwizard.common.ui.iCheckBoxList.ICheckBoxList; import org.tianocore.frameworkwizard.common.ui.iCheckBoxList.ICheckBoxList;
import org.tianocore.frameworkwizard.platform.ui.ListEditor;
/** /**
GUI for create library definition elements of spd file. GUI for create library definition elements of spd file.
@ -57,6 +49,11 @@ import org.tianocore.frameworkwizard.common.ui.iCheckBoxList.ICheckBoxList;
@since PackageEditor 1.0 @since PackageEditor 1.0
**/ **/
public class SpdGuidDecls extends IInternalFrame implements TableModelListener{ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{
/**
*
*/
private static final long serialVersionUID = 1L;
static JFrame frame; static JFrame frame;
private SpdFileContents sfc = null; private SpdFileContents sfc = null;
@ -190,6 +187,41 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{
model.addColumn("GuidTypes"); model.addColumn("GuidTypes");
jTable.getColumnModel().getColumn(2).setCellEditor(new GuidEditor()); jTable.getColumnModel().getColumn(2).setCellEditor(new GuidEditor());
Vector<String> vArch = new Vector<String>();
vArch.add("IA32");
vArch.add("X64");
vArch.add("IPF");
vArch.add("EBC");
vArch.add("ARM");
vArch.add("PPC");
jTable.getColumnModel().getColumn(4).setCellEditor(new ListEditor(vArch));
Vector<String> vModule = new Vector<String>();
vModule.add("BASE");
vModule.add("SEC");
vModule.add("PEI_CORE");
vModule.add("PEIM");
vModule.add("DXE_CORE");
vModule.add("DXE_DRIVER");
vModule.add("DXE_RUNTIME_DRIVER");
vModule.add("DXE_SAL_DRIVER");
vModule.add("DXE_SMM_DRIVER");
vModule.add("UEFI_DRIVER");
vModule.add("UEFI_APPLICATION");
vModule.add("USER_DEFINED");
jTable.getColumnModel().getColumn(5).setCellEditor(new ListEditor(vModule));
Vector<String> vGuid = new Vector<String>();
vGuid.add("DATA_HUB_RECORD");
vGuid.add("EFI_EVENT");
vGuid.add("EFI_SYSTEM_CONFIGURATION_TABLE");
vGuid.add("EFI_VARIABLE");
vGuid.add("GUID");
vGuid.add("HII_PACKAGE_LIST");
vGuid.add("HOB");
vGuid.add("TOKEN_SPACE_GUID");
jTable.getColumnModel().getColumn(6).setCellEditor(new ListEditor(vGuid));
jTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); jTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
jTable.getSelectionModel().addListSelectionListener(new ListSelectionListener(){ jTable.getSelectionModel().addListSelectionListener(new ListSelectionListener(){
public void valueChanged(ListSelectionEvent e) { public void valueChanged(ListSelectionEvent e) {
@ -238,7 +270,10 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{
if (m.getValueAt(row, 6) != null){ if (m.getValueAt(row, 6) != null){
guidTypeList = m.getValueAt(row, 6).toString(); guidTypeList = m.getValueAt(row, 6).toString();
} }
String[] rowData = {name, cName, guid, help};
if (!dataValidation(rowData)){
return;
}
sfc.updateSpdGuidDecl(row, name, cName, guid, help, archList, modTypeList, guidTypeList); sfc.updateSpdGuidDecl(row, name, cName, guid, help, archList, modTypeList, guidTypeList);
} }
@ -481,7 +516,7 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{
if (arg0.getSource() == jButtonAdd) { if (arg0.getSource() == jButtonAdd) {
//ToDo: check before add //ToDo: check before add
String[] row = {"", "", "", "", "", "", null}; String[] row = {"", "", "", "", "", "", ""};
row[3] = jTextField.getText(); row[3] = jTextField.getText();
row[2] = jTextFieldAdd.getText(); row[2] = jTextFieldAdd.getText();
row[1] = jTextFieldVersion.getText(); row[1] = jTextFieldVersion.getText();
@ -494,8 +529,13 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{
if (row[5].length() == 0) { if (row[5].length() == 0) {
row[5] = null; row[5] = null;
} }
if (iCheckBoxList1.getAllCheckedItemsString() != null) { row[6] = vectorToString(iCheckBoxList1.getAllCheckedItemsString());
row[6] = vectorToString(iCheckBoxList1.getAllCheckedItemsString()); if (row[6].length() == 0) {
row[6] = null;
}
if (!dataValidation(row)) {
return;
} }
model.addRow(row); model.addRow(row);
addRow(row); addRow(row);
@ -523,9 +563,7 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{
} }
if (arg0.getSource() == jButtonGen) { if (arg0.getSource() == jButtonGen) {
guidDialog = new GenGuidDialog(this); jTextFieldAdd.setText(Tools.generateUuidString());
guidDialog.setGuid(jTextFieldAdd.getText());
guidDialog.setVisible(true);
} }
if (arg0.getActionCommand().equals("GenGuidValue")) { if (arg0.getActionCommand().equals("GenGuidValue")) {
@ -534,6 +572,26 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{
} }
protected boolean dataValidation(String[] row){
if (!DataValidation.isUiNameType(row[0])) {
JOptionPane.showMessageDialog(this, "Name is NOT UiNameType.");
return false;
}
if (!DataValidation.isGuid(row[2])) {
JOptionPane.showMessageDialog(this, "Guid Value is NOT GuidType.");
return false;
}
if (!DataValidation.isC_NameType(row[1])) {
JOptionPane.showMessageDialog(this, "C_Name is NOT C_NameType.");
return false;
}
if (row[3].length() == 0) {
JOptionPane.showMessageDialog(this, "HelpText could NOT be empty.");
return false;
}
return true;
}
protected void addRow(String[] row) { protected void addRow(String[] row) {
Vector<String> vArch = iCheckBoxList.getAllCheckedItemsString(); Vector<String> vArch = iCheckBoxList.getAllCheckedItemsString();
Vector<String> vModType = iCheckBoxList2.getAllCheckedItemsString(); Vector<String> vModType = iCheckBoxList2.getAllCheckedItemsString();
@ -649,7 +707,8 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{
v.add("X64"); v.add("X64");
v.add("IPF"); v.add("IPF");
v.add("EBC"); v.add("EBC");
v.add("ARM");
v.add("PPC");
iCheckBoxList.setAllItems(v); iCheckBoxList.setAllItems(v);
} }
return iCheckBoxList; return iCheckBoxList;

View File

@ -15,14 +15,15 @@
package org.tianocore.frameworkwizard.packaging.ui; package org.tianocore.frameworkwizard.packaging.ui;
import java.awt.Rectangle;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ComponentEvent; import java.awt.event.ComponentEvent;
import java.awt.event.FocusAdapter; import java.awt.event.FocusAdapter;
import java.awt.event.FocusEvent; import java.awt.event.FocusEvent;
import javax.swing.JButton; import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel; import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel; import javax.swing.JPanel;
import javax.swing.JScrollPane; import javax.swing.JScrollPane;
import javax.swing.JTextArea; import javax.swing.JTextArea;
@ -52,6 +53,8 @@ public class SpdHeader extends IInternalFrame {
// //
//Define class members //Define class members
// //
static JFrame frame;
private JPanel jContentPane = null; private JPanel jContentPane = null;
private JLabel jLabelBaseName = null; private JLabel jLabelBaseName = null;
@ -133,6 +136,10 @@ public class SpdHeader extends IInternalFrame {
jTextFieldBaseName.setPreferredSize(new java.awt.Dimension(320,20)); jTextFieldBaseName.setPreferredSize(new java.awt.Dimension(320,20));
jTextFieldBaseName.addFocusListener(new FocusAdapter(){ jTextFieldBaseName.addFocusListener(new FocusAdapter(){
public void focusLost(FocusEvent e){ public void focusLost(FocusEvent e){
if (!DataValidation.isUiNameType(jTextFieldBaseName.getText())) {
JOptionPane.showMessageDialog(frame, "Package Name is NOT UiNameType.");
return;
}
sfc.setSpdHdrPkgName(jTextFieldBaseName.getText()); sfc.setSpdHdrPkgName(jTextFieldBaseName.getText());
} }
}); });
@ -153,6 +160,10 @@ public class SpdHeader extends IInternalFrame {
jTextFieldGuid.setPreferredSize(new java.awt.Dimension(250,20)); jTextFieldGuid.setPreferredSize(new java.awt.Dimension(250,20));
jTextFieldGuid.addFocusListener(new FocusAdapter(){ jTextFieldGuid.addFocusListener(new FocusAdapter(){
public void focusLost(FocusEvent e){ public void focusLost(FocusEvent e){
if (!DataValidation.isGuid(jTextFieldGuid.getText())) {
JOptionPane.showMessageDialog(frame, "Guid is NOT GuidType.");
return;
}
sfc.setSpdHdrGuidValue(jTextFieldGuid.getText()); sfc.setSpdHdrGuidValue(jTextFieldGuid.getText());
} }
}); });
@ -173,6 +184,10 @@ public class SpdHeader extends IInternalFrame {
jTextFieldVersion.setPreferredSize(new java.awt.Dimension(320,20)); jTextFieldVersion.setPreferredSize(new java.awt.Dimension(320,20));
jTextFieldVersion.addFocusListener(new FocusAdapter(){ jTextFieldVersion.addFocusListener(new FocusAdapter(){
public void focusLost(FocusEvent e){ public void focusLost(FocusEvent e){
if (!DataValidation.isVersion(jTextFieldVersion.getText())) {
JOptionPane.showMessageDialog(frame, "Version is NOT version type.");
return;
}
sfc.setSpdHdrVer(jTextFieldVersion.getText()); sfc.setSpdHdrVer(jTextFieldVersion.getText());
} }
}); });
@ -210,6 +225,10 @@ public class SpdHeader extends IInternalFrame {
jTextAreaLicense.setLineWrap(true); jTextAreaLicense.setLineWrap(true);
jTextAreaLicense.addFocusListener(new FocusAdapter(){ jTextAreaLicense.addFocusListener(new FocusAdapter(){
public void focusLost(FocusEvent e){ public void focusLost(FocusEvent e){
if (jTextAreaLicense.getText().length() == 0) {
JOptionPane.showMessageDialog(frame, "License contents could NOT be empty.");
return;
}
sfc.setSpdHdrLicense(jTextAreaLicense.getText()); sfc.setSpdHdrLicense(jTextAreaLicense.getText());
} }
}); });
@ -230,6 +249,10 @@ public class SpdHeader extends IInternalFrame {
jTextAreaDescription.setPreferredSize(new java.awt.Dimension(317,77)); jTextAreaDescription.setPreferredSize(new java.awt.Dimension(317,77));
jTextAreaDescription.addFocusListener(new FocusAdapter(){ jTextAreaDescription.addFocusListener(new FocusAdapter(){
public void focusLost(FocusEvent e){ public void focusLost(FocusEvent e){
if (jTextAreaDescription.getText().length() == 0) {
JOptionPane.showMessageDialog(frame, "Description contents could NOT be empty.");
return;
}
sfc.setSpdHdrDescription(jTextAreaDescription.getText()); sfc.setSpdHdrDescription(jTextAreaDescription.getText());
} }
}); });
@ -338,6 +361,10 @@ public class SpdHeader extends IInternalFrame {
jTextFieldAbstract.setPreferredSize(new java.awt.Dimension(320, 20)); jTextFieldAbstract.setPreferredSize(new java.awt.Dimension(320, 20));
jTextFieldAbstract.addFocusListener(new FocusAdapter(){ jTextFieldAbstract.addFocusListener(new FocusAdapter(){
public void focusLost(FocusEvent e){ public void focusLost(FocusEvent e){
if (!DataValidation.isAbstract(jTextFieldAbstract.getText())) {
JOptionPane.showMessageDialog(frame, "Abstract could NOT be empty.");
return;
}
sfc.setSpdHdrAbs(jTextFieldAbstract.getText()); sfc.setSpdHdrAbs(jTextFieldAbstract.getText());
} }
}); });
@ -358,6 +385,10 @@ public class SpdHeader extends IInternalFrame {
jTextFieldCopyright.setPreferredSize(new java.awt.Dimension(320,20)); jTextFieldCopyright.setPreferredSize(new java.awt.Dimension(320,20));
jTextFieldCopyright.addFocusListener(new FocusAdapter(){ jTextFieldCopyright.addFocusListener(new FocusAdapter(){
public void focusLost(FocusEvent e){ public void focusLost(FocusEvent e){
if (!DataValidation.isCopyright(jTextFieldCopyright.getText())) {
JOptionPane.showMessageDialog(frame, "Copyright contents could not be empty.");
return;
}
sfc.setSpdHdrCopyright(jTextFieldCopyright.getText()); sfc.setSpdHdrCopyright(jTextFieldCopyright.getText());
} }
}); });
@ -666,6 +697,7 @@ public class SpdHeader extends IInternalFrame {
resizeComponentWidth(this.jTextFieldBaseName, intCurrentWidth,intPreferredWidth); resizeComponentWidth(this.jTextFieldBaseName, intCurrentWidth,intPreferredWidth);
resizeComponentWidth(this.jTextFieldGuid, intCurrentWidth,intPreferredWidth); resizeComponentWidth(this.jTextFieldGuid, intCurrentWidth,intPreferredWidth);
resizeComponentWidth(this.jTextFieldVersion, intCurrentWidth,intPreferredWidth); resizeComponentWidth(this.jTextFieldVersion, intCurrentWidth,intPreferredWidth);
resizeComponentWidth(this.jTextField, intCurrentWidth,intPreferredWidth);
resizeComponentWidth(this.jScrollPaneLicense, intCurrentWidth,intPreferredWidth); resizeComponentWidth(this.jScrollPaneLicense, intCurrentWidth,intPreferredWidth);
resizeComponentWidth(this.jTextFieldCopyright, intCurrentWidth,intPreferredWidth); resizeComponentWidth(this.jTextFieldCopyright, intCurrentWidth,intPreferredWidth);
resizeComponentWidth(this.jScrollPaneDescription, intCurrentWidth,intPreferredWidth); resizeComponentWidth(this.jScrollPaneDescription, intCurrentWidth,intPreferredWidth);

View File

@ -12,20 +12,13 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
**/ **/
package org.tianocore.frameworkwizard.packaging.ui; package org.tianocore.frameworkwizard.packaging.ui;
import java.awt.BorderLayout;
import java.awt.Dimension; import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ComponentEvent; import java.awt.event.ComponentEvent;
import java.awt.event.FocusAdapter;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import java.io.File; import java.io.File;
import java.util.Vector; import java.util.Vector;
import javax.swing.AbstractAction; import javax.swing.AbstractAction;
import javax.swing.DefaultListModel;
import javax.swing.JFileChooser; import javax.swing.JFileChooser;
import javax.swing.JOptionPane; import javax.swing.JOptionPane;
import javax.swing.JPanel; import javax.swing.JPanel;
@ -34,7 +27,6 @@ import javax.swing.JTable;
import javax.swing.JTextField; import javax.swing.JTextField;
import javax.swing.JComboBox; import javax.swing.JComboBox;
import javax.swing.JLabel; import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JScrollPane; import javax.swing.JScrollPane;
import javax.swing.JButton; import javax.swing.JButton;
import javax.swing.JFrame; import javax.swing.JFrame;
@ -49,11 +41,12 @@ import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel; import javax.swing.table.TableModel;
import org.tianocore.PackageSurfaceAreaDocument; import org.tianocore.PackageSurfaceAreaDocument;
import org.tianocore.frameworkwizard.common.DataType; import org.tianocore.frameworkwizard.common.DataValidation;
import org.tianocore.frameworkwizard.common.Tools; import org.tianocore.frameworkwizard.common.Tools;
import org.tianocore.frameworkwizard.common.ui.IInternalFrame; import org.tianocore.frameworkwizard.common.ui.IInternalFrame;
import org.tianocore.frameworkwizard.common.ui.StarLabel; import org.tianocore.frameworkwizard.common.ui.StarLabel;
import org.tianocore.frameworkwizard.common.ui.iCheckBoxList.ICheckBoxList; import org.tianocore.frameworkwizard.common.ui.iCheckBoxList.ICheckBoxList;
import org.tianocore.frameworkwizard.platform.ui.ListEditor;
import javax.swing.JCheckBox; import javax.swing.JCheckBox;
@ -63,6 +56,11 @@ import javax.swing.JCheckBox;
@since PackageEditor 1.0 @since PackageEditor 1.0
**/ **/
public class SpdLibClassDecls extends IInternalFrame implements TableModelListener{ public class SpdLibClassDecls extends IInternalFrame implements TableModelListener{
/**
*
*/
private static final long serialVersionUID = 1L;
static JFrame frame; static JFrame frame;
private JTable jTable = null; private JTable jTable = null;
@ -87,8 +85,6 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
private JButton jButtonClearAll = null; private JButton jButtonClearAll = null;
private JButton jButtonCancel = null;
private JButton jButtonOk = null; private JButton jButtonOk = null;
private JLabel jLabel = null; private JLabel jLabel = null;
@ -139,6 +135,10 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
private ICheckBoxList iCheckBoxListArch = null; private ICheckBoxList iCheckBoxListArch = null;
private JCheckBox jCheckBox4 = null;
private JCheckBox jCheckBox5 = null;
/** /**
This method initializes this This method initializes this
@ -191,7 +191,7 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
private JTextField getJTextFieldAdd() { private JTextField getJTextFieldAdd() {
if (jTextFieldAdd == null) { if (jTextFieldAdd == null) {
jTextFieldAdd = new JTextField(); jTextFieldAdd = new JTextField();
jTextFieldAdd.setBounds(new java.awt.Rectangle(122,6,343,20)); jTextFieldAdd.setBounds(new java.awt.Rectangle(122,6,390,20));
jTextFieldAdd.setPreferredSize(new java.awt.Dimension(260,20)); jTextFieldAdd.setPreferredSize(new java.awt.Dimension(260,20));
jTextFieldAdd.setEnabled(true); jTextFieldAdd.setEnabled(true);
} }
@ -222,7 +222,7 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
private JScrollPane getJScrollPane() { private JScrollPane getJScrollPane() {
if (jScrollPane == null) { if (jScrollPane == null) {
jScrollPane = new JScrollPane(); jScrollPane = new JScrollPane();
jScrollPane.setBounds(new java.awt.Rectangle(12,302,351,164)); jScrollPane.setBounds(new java.awt.Rectangle(12,351,608,139));
jScrollPane.setPreferredSize(new java.awt.Dimension(330,150)); jScrollPane.setPreferredSize(new java.awt.Dimension(330,150));
jScrollPane.setViewportView(getJTable()); jScrollPane.setViewportView(getJTable());
} }
@ -247,6 +247,30 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
model.addColumn("InstanceVersion"); model.addColumn("InstanceVersion");
model.addColumn("SupportedArch"); model.addColumn("SupportedArch");
model.addColumn("SupportedModule"); model.addColumn("SupportedModule");
Vector<String> vArch = new Vector<String>();
vArch.add("IA32");
vArch.add("X64");
vArch.add("IPF");
vArch.add("EBC");
vArch.add("ARM");
vArch.add("PPC");
jTable.getColumnModel().getColumn(5).setCellEditor(new ListEditor(vArch));
Vector<String> vModule = new Vector<String>();
vModule.add("BASE");
vModule.add("SEC");
vModule.add("PEI_CORE");
vModule.add("PEIM");
vModule.add("DXE_CORE");
vModule.add("DXE_DRIVER");
vModule.add("DXE_RUNTIME_DRIVER");
vModule.add("DXE_SAL_DRIVER");
vModule.add("DXE_SMM_DRIVER");
vModule.add("UEFI_DRIVER");
vModule.add("UEFI_APPLICATION");
vModule.add("USER_DEFINED");
jTable.getColumnModel().getColumn(6).setCellEditor(new ListEditor(vModule));
jTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); jTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
jTable.getSelectionModel().addListSelectionListener(new ListSelectionListener(){ jTable.getSelectionModel().addListSelectionListener(new ListSelectionListener(){
@ -289,6 +313,10 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
if (m.getValueAt(row, 6) != null) { if (m.getValueAt(row, 6) != null) {
module = m.getValueAt(row, 6).toString(); module = m.getValueAt(row, 6).toString();
} }
String[] rowData = {lib, hdr, hlp};
if (!dataValidation(rowData)) {
return;
}
sfc.updateSpdLibClass(row, lib, hdr, hlp, guid, ver, arch, module); sfc.updateSpdLibClass(row, lib, hdr, hlp, guid, ver, arch, module);
} }
} }
@ -301,8 +329,9 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
private JButton getJButtonAdd() { private JButton getJButtonAdd() {
if (jButtonAdd == null) { if (jButtonAdd == null) {
jButtonAdd = new JButton(); jButtonAdd = new JButton();
jButtonAdd.setBounds(new java.awt.Rectangle(374,303,90,20));
jButtonAdd.setText("Add"); jButtonAdd.setText("Add");
jButtonAdd.setSize(new java.awt.Dimension(80,20));
jButtonAdd.setLocation(new java.awt.Point(365,315));
jButtonAdd.addActionListener(this); jButtonAdd.addActionListener(this);
} }
return jButtonAdd; return jButtonAdd;
@ -316,8 +345,9 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
private JButton getJButtonRemove() { private JButton getJButtonRemove() {
if (jButtonRemove == null) { if (jButtonRemove == null) {
jButtonRemove = new JButton(); jButtonRemove = new JButton();
jButtonRemove.setBounds(new java.awt.Rectangle(374,381,90,20));
jButtonRemove.setText("Remove"); jButtonRemove.setText("Remove");
jButtonRemove.setSize(new java.awt.Dimension(80,20));
jButtonRemove.setLocation(new java.awt.Point(449,315));
jButtonRemove.addActionListener(this); jButtonRemove.addActionListener(this);
} }
return jButtonRemove; return jButtonRemove;
@ -331,31 +361,14 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
private JButton getJButtonClearAll() { private JButton getJButtonClearAll() {
if (jButtonClearAll == null) { if (jButtonClearAll == null) {
jButtonClearAll = new JButton(); jButtonClearAll = new JButton();
jButtonClearAll.setBounds(new java.awt.Rectangle(374,411,90,20));
jButtonClearAll.setText("Clear All"); jButtonClearAll.setText("Clear All");
jButtonClearAll.setSize(new java.awt.Dimension(86,20));
jButtonClearAll.setLocation(new java.awt.Point(536,315));
jButtonClearAll.addActionListener(this); jButtonClearAll.addActionListener(this);
} }
return jButtonClearAll; return jButtonClearAll;
} }
/**
This method initializes jButtonCancel
@return javax.swing.JButton
**/
private JButton getJButtonCancel() {
if (jButtonCancel == null) {
jButtonCancel = new JButton();
jButtonCancel.setPreferredSize(new java.awt.Dimension(90, 20));
jButtonCancel.setLocation(new java.awt.Point(390, 305));
jButtonCancel.setText("Cancel");
jButtonCancel.setSize(new java.awt.Dimension(90, 20));
jButtonCancel.setVisible(false);
jButtonCancel.addActionListener(this);
}
return jButtonCancel;
}
/** /**
This method initializes jButton This method initializes jButton
@ -427,7 +440,7 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
private JScrollPane getJContentPane(){ private JScrollPane getJContentPane(){
if (topScrollPane == null){ if (topScrollPane == null){
topScrollPane = new JScrollPane(); topScrollPane = new JScrollPane();
topScrollPane.setSize(new java.awt.Dimension(483,500)); topScrollPane.setSize(new java.awt.Dimension(634,500));
topScrollPane.setViewportView(getJContentPane1()); topScrollPane.setViewportView(getJContentPane1());
} }
return topScrollPane; return topScrollPane;
@ -448,11 +461,11 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
jLabel5.setText("Supported Arch"); jLabel5.setText("Supported Arch");
jLabel5.setEnabled(true); jLabel5.setEnabled(true);
jLabel4 = new JLabel(); jLabel4 = new JLabel();
jLabel4.setBounds(new java.awt.Rectangle(16,160,196,16)); jLabel4.setBounds(new java.awt.Rectangle(16,138,196,16));
jLabel4.setEnabled(true); jLabel4.setEnabled(true);
jLabel4.setText("Recommended Instance Version"); jLabel4.setText("Recommended Instance Version");
jLabel3 = new JLabel(); jLabel3 = new JLabel();
jLabel3.setBounds(new java.awt.Rectangle(17,112,175,16)); jLabel3.setBounds(new java.awt.Rectangle(17,112,195,16));
jLabel3.setEnabled(true); jLabel3.setEnabled(true);
jLabel3.setText("Recommended Instance GUID"); jLabel3.setText("Recommended Instance GUID");
jLabel2 = new JLabel(); jLabel2 = new JLabel();
@ -466,9 +479,9 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
jStarLabel1 = new StarLabel(); jStarLabel1 = new StarLabel();
jStarLabel1.setLocation(new java.awt.Point(1,7)); jStarLabel1.setLocation(new java.awt.Point(1,7));
jStarLabel2 = new StarLabel(); jStarLabel2 = new StarLabel();
jStarLabel2.setLocation(new java.awt.Point(1,56)); jStarLabel2.setLocation(new java.awt.Point(-1,74));
jLabel = new JLabel(); jLabel = new JLabel();
jLabel.setBounds(new java.awt.Rectangle(16,56,199,22)); jLabel.setBounds(new java.awt.Rectangle(14,74,199,22));
jLabel.setText("Include Header for Specified Class"); jLabel.setText("Include Header for Specified Class");
jContentPane = new JPanel(); jContentPane = new JPanel();
@ -485,7 +498,6 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
jContentPane.add(getJButtonAdd(), null); jContentPane.add(getJButtonAdd(), null);
jContentPane.add(getJButtonRemove(), null); jContentPane.add(getJButtonRemove(), null);
jContentPane.add(getJButtonClearAll(), null); jContentPane.add(getJButtonClearAll(), null);
jContentPane.add(getJButtonCancel(), null);
jContentPane.add(getJButtonOk(), null); jContentPane.add(getJButtonOk(), null);
jContentPane.add(getJTextField(), null); jContentPane.add(getJTextField(), null);
@ -506,6 +518,8 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
jContentPane.add(jLabel6, null); jContentPane.add(jLabel6, null);
jContentPane.add(getJScrollPaneArch(), null); jContentPane.add(getJScrollPaneArch(), null);
jContentPane.add(getJCheckBox4(), null);
jContentPane.add(getJCheckBox5(), null);
} }
return jContentPane; return jContentPane;
@ -565,9 +579,6 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
this.dispose(); this.dispose();
} }
if (arg0.getSource() == jButtonCancel) {
this.dispose();
}
if (arg0.getSource() == jButtonAdd) { if (arg0.getSource() == jButtonAdd) {
@ -576,7 +587,7 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
row[0] = jTextFieldAdd.getText(); row[0] = jTextFieldAdd.getText();
row[1] = jTextField.getText().replace('\\', '/'); row[1] = jTextField.getText().replace('\\', '/');
row[2] = jTextFieldHelp.getText(); row[2] = jTextFieldHelp.getText();
row[5] = booleanToString(jCheckBox.isSelected(), jCheckBox1.isSelected(), jCheckBox2.isSelected(), jCheckBox3.isSelected()); row[5] = booleanToString(jCheckBox.isSelected(), jCheckBox1.isSelected(), jCheckBox2.isSelected(), jCheckBox3.isSelected(), jCheckBox4.isSelected(), jCheckBox5.isSelected());
if (row[5].length() == 0){ if (row[5].length() == 0){
row[5] = null; row[5] = null;
} }
@ -584,6 +595,9 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
if (row[6].length() == 0){ if (row[6].length() == 0){
row[6] = null; row[6] = null;
} }
if (!dataValidation(row)) {
return;
}
model.addRow(row); model.addRow(row);
sfc.genSpdLibClassDeclarations(row[0], row[3], row[1], row[2], row[5], null, null, row[4], null, row[6]); sfc.genSpdLibClassDeclarations(row[0], row[3], row[1], row[2], row[5], null, null, row[4], null, row[6]);
@ -638,7 +652,19 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
} }
} }
private boolean dataValidation(String[] row) {
if (!DataValidation.isKeywordType(row[0])) {
JOptionPane.showMessageDialog(frame, "Library Class is NOT KeyWord Type.");
return false;
}
if (!DataValidation.isPathAndFilename(row[1])) {
JOptionPane.showMessageDialog(frame, "Include Header is NOT PathAndFilename Type.");
}
if (row[2].length() == 0) {
JOptionPane.showMessageDialog(frame, "HelpText could NOT be empty.");
}
return true;
}
/** /**
Add contents in list to sfc Add contents in list to sfc
**/ **/
@ -654,7 +680,7 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
private JTextField getJTextField() { private JTextField getJTextField() {
if (jTextField == null) { if (jTextField == null) {
jTextField = new JTextField(); jTextField = new JTextField();
jTextField.setBounds(new java.awt.Rectangle(16,83,346,21)); jTextField.setBounds(new java.awt.Rectangle(221,75,290,21));
jTextField.setPreferredSize(new java.awt.Dimension(260,20)); jTextField.setPreferredSize(new java.awt.Dimension(260,20));
} }
return jTextField; return jTextField;
@ -668,11 +694,16 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
private JButton getJButtonBrowse() { private JButton getJButtonBrowse() {
if (jButtonBrowse == null) { if (jButtonBrowse == null) {
jButtonBrowse = new JButton(); jButtonBrowse = new JButton();
jButtonBrowse.setBounds(new java.awt.Rectangle(376,82,90,20)); jButtonBrowse.setBounds(new java.awt.Rectangle(528,75,90,20));
jButtonBrowse.setText("Browse"); jButtonBrowse.setText("Browse");
jButtonBrowse.setPreferredSize(new java.awt.Dimension(80,20)); jButtonBrowse.setPreferredSize(new java.awt.Dimension(80,20));
jButtonBrowse.addActionListener(new AbstractAction() { jButtonBrowse.addActionListener(new AbstractAction() {
/**
*
*/
private static final long serialVersionUID = 1L;
public void actionPerformed(ActionEvent arg0) { public void actionPerformed(ActionEvent arg0) {
// //
// Select files from current pkg // Select files from current pkg
@ -718,10 +749,6 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
resizeComponentWidth(this.jTextFieldAdd, this.getWidth(), intPreferredWidth); resizeComponentWidth(this.jTextFieldAdd, this.getWidth(), intPreferredWidth);
resizeComponentWidth(this.jTextFieldHelp, this.getWidth(), intPreferredWidth); resizeComponentWidth(this.jTextFieldHelp, this.getWidth(), intPreferredWidth);
resizeComponentWidth(this.jScrollPane, this.getWidth(), intPreferredWidth); resizeComponentWidth(this.jScrollPane, this.getWidth(), intPreferredWidth);
relocateComponentX(this.jButtonBrowse, this.getWidth(), this.getPreferredSize().width,25);
relocateComponentX(this.jButtonClearAll, this.getWidth(), this.getPreferredSize().width,25);
relocateComponentX(this.jButtonRemove, this.getWidth(), this.getPreferredSize().width,25);
relocateComponentX(this.jButtonAdd, this.getWidth(), this.getPreferredSize().width,50);
} }
/** /**
@ -732,7 +759,7 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
private JTextField getJTextFieldHelp() { private JTextField getJTextFieldHelp() {
if (jTextFieldHelp == null) { if (jTextFieldHelp == null) {
jTextFieldHelp = new JTextField(); jTextFieldHelp = new JTextField();
jTextFieldHelp.setBounds(new java.awt.Rectangle(122,33,343,20)); jTextFieldHelp.setBounds(new java.awt.Rectangle(122,33,390,20));
jTextFieldHelp.setPreferredSize(new java.awt.Dimension(260,20)); jTextFieldHelp.setPreferredSize(new java.awt.Dimension(260,20));
} }
return jTextFieldHelp; return jTextFieldHelp;
@ -746,7 +773,7 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
private JTextField getJTextField1() { private JTextField getJTextField1() {
if (jTextField1 == null) { if (jTextField1 == null) {
jTextField1 = new JTextField(); jTextField1 = new JTextField();
jTextField1.setBounds(new java.awt.Rectangle(16,135,344,20)); jTextField1.setBounds(new java.awt.Rectangle(220,110,291,20));
jTextField1.setEnabled(true); jTextField1.setEnabled(true);
} }
return jTextField1; return jTextField1;
@ -760,7 +787,7 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
private JTextField getJTextField2() { private JTextField getJTextField2() {
if (jTextField2 == null) { if (jTextField2 == null) {
jTextField2 = new JTextField(); jTextField2 = new JTextField();
jTextField2.setBounds(new java.awt.Rectangle(16,184,344,20)); jTextField2.setBounds(new java.awt.Rectangle(218,135,292,20));
jTextField2.setEnabled(true); jTextField2.setEnabled(true);
} }
return jTextField2; return jTextField2;
@ -789,7 +816,7 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
private JCheckBox getJCheckBox1() { private JCheckBox getJCheckBox1() {
if (jCheckBox1 == null) { if (jCheckBox1 == null) {
jCheckBox1 = new JCheckBox(); jCheckBox1 = new JCheckBox();
jCheckBox1.setBounds(new java.awt.Rectangle(197,213,49,20)); jCheckBox1.setBounds(new java.awt.Rectangle(182,213,49,20));
jCheckBox1.setText("X64"); jCheckBox1.setText("X64");
jCheckBox1.setPreferredSize(new java.awt.Dimension(21,20)); jCheckBox1.setPreferredSize(new java.awt.Dimension(21,20));
} }
@ -806,7 +833,7 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
jCheckBox2 = new JCheckBox(); jCheckBox2 = new JCheckBox();
jCheckBox2.setText("IPF"); jCheckBox2.setText("IPF");
jCheckBox2.setSize(new java.awt.Dimension(50,20)); jCheckBox2.setSize(new java.awt.Dimension(50,20));
jCheckBox2.setLocation(new java.awt.Point(258,213)); jCheckBox2.setLocation(new java.awt.Point(237,213));
jCheckBox2.setPreferredSize(new java.awt.Dimension(21,20)); jCheckBox2.setPreferredSize(new java.awt.Dimension(21,20));
} }
return jCheckBox2; return jCheckBox2;
@ -820,7 +847,7 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
private JCheckBox getJCheckBox3() { private JCheckBox getJCheckBox3() {
if (jCheckBox3 == null) { if (jCheckBox3 == null) {
jCheckBox3 = new JCheckBox(); jCheckBox3 = new JCheckBox();
jCheckBox3.setBounds(new java.awt.Rectangle(319,213,59,20)); jCheckBox3.setBounds(new java.awt.Rectangle(286,213,50,20));
jCheckBox3.setText("EBC"); jCheckBox3.setText("EBC");
jCheckBox3.setPreferredSize(new java.awt.Dimension(21,20)); jCheckBox3.setPreferredSize(new java.awt.Dimension(21,20));
} }
@ -830,7 +857,7 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
private JScrollPane getJScrollPaneArch() { private JScrollPane getJScrollPaneArch() {
if (jScrollPaneArch == null) { if (jScrollPaneArch == null) {
jScrollPaneArch = new JScrollPane(); jScrollPaneArch = new JScrollPane();
jScrollPaneArch.setBounds(new java.awt.Rectangle(130,252,230,45)); jScrollPaneArch.setBounds(new java.awt.Rectangle(130,252,230,88));
jScrollPaneArch.setPreferredSize(new java.awt.Dimension(320, 80)); jScrollPaneArch.setPreferredSize(new java.awt.Dimension(320, 80));
jScrollPaneArch.setViewportView(getICheckBoxListSupportedArchitectures()); jScrollPaneArch.setViewportView(getICheckBoxListSupportedArchitectures());
} }
@ -858,7 +885,7 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
return iCheckBoxListArch; return iCheckBoxListArch;
} }
private String booleanToString(boolean b1, boolean b2, boolean b3, boolean b4){ private String booleanToString(boolean b1, boolean b2, boolean b3, boolean b4, boolean b5, boolean b6){
String s = " "; String s = " ";
if (b1){ if (b1){
s += "IA32 "; s += "IA32 ";
@ -872,6 +899,12 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
if (b4){ if (b4){
s += "EBC "; s += "EBC ";
} }
if (b5){
s += "ARM ";
}
if (b6){
s += "PPC ";
}
return s.trim(); return s.trim();
} }
@ -883,6 +916,36 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
} }
return s.trim(); return s.trim();
} }
/**
* This method initializes jCheckBox4
*
* @return javax.swing.JCheckBox
*/
private JCheckBox getJCheckBox4() {
if (jCheckBox4 == null) {
jCheckBox4 = new JCheckBox();
jCheckBox4.setBounds(new java.awt.Rectangle(343,213,60,20));
jCheckBox4.setText("ARM");
jCheckBox4.setPreferredSize(new Dimension(60, 20));
}
return jCheckBox4;
}
/**
* This method initializes jCheckBox5
*
* @return javax.swing.JCheckBox
*/
private JCheckBox getJCheckBox5() {
if (jCheckBox5 == null) {
jCheckBox5 = new JCheckBox();
jCheckBox5.setBounds(new java.awt.Rectangle(400,213,60,20));
jCheckBox5.setText("PPC");
jCheckBox5.setPreferredSize(new Dimension(60, 20));
}
return jCheckBox5;
}
public static void main(String[] args){ public static void main(String[] args){
new SpdLibClassDecls().setVisible(true); new SpdLibClassDecls().setVisible(true);
} }

View File

@ -12,26 +12,18 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
**/ **/
package org.tianocore.frameworkwizard.packaging.ui; package org.tianocore.frameworkwizard.packaging.ui;
import java.awt.BorderLayout;
import java.awt.Dimension; import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ComponentEvent; import java.awt.event.ComponentEvent;
import java.io.File; import java.io.File;
import java.util.Vector;
import javax.swing.AbstractAction; import javax.swing.AbstractAction;
import javax.swing.DefaultListModel;
import javax.swing.JFileChooser; import javax.swing.JFileChooser;
import javax.swing.JOptionPane; import javax.swing.JOptionPane;
import javax.swing.JPanel; import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JTable; import javax.swing.JTable;
import javax.swing.JTextField; import javax.swing.JTextField;
import javax.swing.JComboBox;
import javax.swing.JLabel; import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JScrollPane; import javax.swing.JScrollPane;
import javax.swing.JButton; import javax.swing.JButton;
import javax.swing.JFrame; import javax.swing.JFrame;
@ -46,7 +38,6 @@ import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel; import javax.swing.table.TableModel;
import org.tianocore.PackageSurfaceAreaDocument; import org.tianocore.PackageSurfaceAreaDocument;
import org.tianocore.frameworkwizard.common.DataType;
import org.tianocore.frameworkwizard.common.Tools; import org.tianocore.frameworkwizard.common.Tools;
import org.tianocore.frameworkwizard.common.ui.IInternalFrame; import org.tianocore.frameworkwizard.common.ui.IInternalFrame;
import org.tianocore.frameworkwizard.common.ui.StarLabel; import org.tianocore.frameworkwizard.common.ui.StarLabel;
@ -57,6 +48,11 @@ import org.tianocore.frameworkwizard.common.ui.StarLabel;
@since PackageEditor 1.0 @since PackageEditor 1.0
**/ **/
public class SpdMsaFiles extends IInternalFrame implements TableModelListener{ public class SpdMsaFiles extends IInternalFrame implements TableModelListener{
/**
*
*/
private static final long serialVersionUID = 1L;
static JFrame frame; static JFrame frame;
private JScrollPane jScrollPane = null; // @jve:decl-index=0:visual-constraint="10,95" private JScrollPane jScrollPane = null; // @jve:decl-index=0:visual-constraint="10,95"
@ -340,7 +336,10 @@ public class SpdMsaFiles extends IInternalFrame implements TableModelListener{
if (arg0.getSource() == jButtonAdd) { if (arg0.getSource() == jButtonAdd) {
//ToDo: check before add //ToDo: check before add
String[] row = {jTextField.getText().replace('\\', '/')}; String[] row = {jTextField.getText().replace('\\', '/')};
if (jTextField.getText().length() == 0) {
JOptionPane.showMessageDialog(this, "Msa File is NOT PathAndFilename type.");
return;
}
model.addRow(row); model.addRow(row);
sfc.genSpdMsaFiles(row[0], null, null, null); sfc.genSpdMsaFiles(row[0], null, null, null);
} }
@ -374,7 +373,10 @@ public class SpdMsaFiles extends IInternalFrame implements TableModelListener{
TableModel m = (TableModel)arg0.getSource(); TableModel m = (TableModel)arg0.getSource();
if (arg0.getType() == TableModelEvent.UPDATE){ if (arg0.getType() == TableModelEvent.UPDATE){
String file = m.getValueAt(row, 0) + ""; String file = m.getValueAt(row, 0) + "";
if (file.length() == 0) {
JOptionPane.showMessageDialog(this, "Msa File is NOT PathAndFilename type.");
return;
}
sfc.updateSpdMsaFile(row, file, null, null, null); sfc.updateSpdMsaFile(row, file, null, null, null);
} }
} }
@ -412,6 +414,11 @@ public class SpdMsaFiles extends IInternalFrame implements TableModelListener{
jButtonBrowse.setText("Browse"); jButtonBrowse.setText("Browse");
jButtonBrowse.setPreferredSize(new java.awt.Dimension(90,20)); jButtonBrowse.setPreferredSize(new java.awt.Dimension(90,20));
jButtonBrowse.addActionListener(new AbstractAction() { jButtonBrowse.addActionListener(new AbstractAction() {
/**
*
*/
private static final long serialVersionUID = 1L;
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
// //
// Select files from current workspace // Select files from current workspace

View File

@ -15,7 +15,6 @@
package org.tianocore.frameworkwizard.packaging.ui; package org.tianocore.frameworkwizard.packaging.ui;
import javax.swing.JPanel; import javax.swing.JPanel;
import javax.swing.JDialog;
import javax.swing.JLabel; import javax.swing.JLabel;
import javax.swing.JComboBox; import javax.swing.JComboBox;
import java.awt.Dimension; import java.awt.Dimension;
@ -26,6 +25,10 @@ import org.tianocore.frameworkwizard.common.ui.StarLabel;
public class SpdPackageDefinitions extends IInternalFrame { public class SpdPackageDefinitions extends IInternalFrame {
/**
*
*/
private static final long serialVersionUID = 1L;
private JPanel jContentPane = null; private JPanel jContentPane = null;
private JLabel jLabel = null; private JLabel jLabel = null;
private JComboBox jComboBoxReadOnly = null; private JComboBox jComboBoxReadOnly = null;
@ -113,8 +116,8 @@ public class SpdPackageDefinitions extends IInternalFrame {
jComboBoxReadOnly = new JComboBox(); jComboBoxReadOnly = new JComboBox();
jComboBoxReadOnly.setBounds(new java.awt.Rectangle(95,22,117,20)); jComboBoxReadOnly.setBounds(new java.awt.Rectangle(95,22,117,20));
jComboBoxReadOnly.setPreferredSize(new Dimension(80, 20)); jComboBoxReadOnly.setPreferredSize(new Dimension(80, 20));
jComboBoxReadOnly.addItem("TRUE"); jComboBoxReadOnly.addItem("true");
jComboBoxReadOnly.addItem("FALSE"); jComboBoxReadOnly.addItem("false");
jComboBoxReadOnly.setSelectedIndex(1); jComboBoxReadOnly.setSelectedIndex(1);
jComboBoxReadOnly.addItemListener(new java.awt.event.ItemListener() { jComboBoxReadOnly.addItemListener(new java.awt.event.ItemListener() {
public void itemStateChanged(java.awt.event.ItemEvent e) { public void itemStateChanged(java.awt.event.ItemEvent e) {
@ -135,8 +138,8 @@ public class SpdPackageDefinitions extends IInternalFrame {
jComboBoxRePackage = new JComboBox(); jComboBoxRePackage = new JComboBox();
jComboBoxRePackage.setBounds(new java.awt.Rectangle(95,62,116,20)); jComboBoxRePackage.setBounds(new java.awt.Rectangle(95,62,116,20));
jComboBoxRePackage.setPreferredSize(new Dimension(80, 20)); jComboBoxRePackage.setPreferredSize(new Dimension(80, 20));
jComboBoxRePackage.addItem("FALSE"); jComboBoxRePackage.addItem("false");
jComboBoxRePackage.addItem("TRUE"); jComboBoxRePackage.addItem("true");
jComboBoxRePackage.setSelectedIndex(0); jComboBoxRePackage.setSelectedIndex(0);
jComboBoxRePackage.addItemListener(new java.awt.event.ItemListener() { jComboBoxRePackage.addItemListener(new java.awt.event.ItemListener() {
public void itemStateChanged(java.awt.event.ItemEvent e) { public void itemStateChanged(java.awt.event.ItemEvent e) {

View File

@ -12,17 +12,12 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
**/ **/
package org.tianocore.frameworkwizard.packaging.ui; package org.tianocore.frameworkwizard.packaging.ui;
import java.awt.BorderLayout;
import java.awt.Dimension; import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ComponentEvent; import java.awt.event.ComponentEvent;
import java.io.File; import java.io.File;
import java.util.Vector;
import javax.swing.DefaultCellEditor; import javax.swing.DefaultCellEditor;
import javax.swing.DefaultListModel;
import javax.swing.JFileChooser; import javax.swing.JFileChooser;
import javax.swing.JOptionPane; import javax.swing.JOptionPane;
import javax.swing.JPanel; import javax.swing.JPanel;
@ -31,7 +26,6 @@ import javax.swing.JTable;
import javax.swing.JTextField; import javax.swing.JTextField;
import javax.swing.JComboBox; import javax.swing.JComboBox;
import javax.swing.JLabel; import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JScrollPane; import javax.swing.JScrollPane;
import javax.swing.JButton; import javax.swing.JButton;
import javax.swing.JFrame; import javax.swing.JFrame;
@ -47,7 +41,7 @@ import javax.swing.table.TableColumn;
import javax.swing.table.TableModel; import javax.swing.table.TableModel;
import org.tianocore.PackageSurfaceAreaDocument; import org.tianocore.PackageSurfaceAreaDocument;
import org.tianocore.frameworkwizard.common.DataType; import org.tianocore.frameworkwizard.common.DataValidation;
import org.tianocore.frameworkwizard.common.Tools; import org.tianocore.frameworkwizard.common.Tools;
import org.tianocore.frameworkwizard.common.ui.IInternalFrame; import org.tianocore.frameworkwizard.common.ui.IInternalFrame;
import org.tianocore.frameworkwizard.common.ui.StarLabel; import org.tianocore.frameworkwizard.common.ui.StarLabel;
@ -58,6 +52,11 @@ import org.tianocore.frameworkwizard.common.ui.StarLabel;
@since PackageEditor 1.0 @since PackageEditor 1.0
**/ **/
public class SpdPackageHeaders extends IInternalFrame implements TableModelListener{ public class SpdPackageHeaders extends IInternalFrame implements TableModelListener{
/**
*
*/
private static final long serialVersionUID = 1L;
static JFrame frame; static JFrame frame;
private SpdFileContents sfc = null; private SpdFileContents sfc = null;
@ -66,12 +65,8 @@ public class SpdPackageHeaders extends IInternalFrame implements TableModelListe
private JPanel jContentPane = null; private JPanel jContentPane = null;
private JRadioButton jRadioButtonAdd = null;
private JRadioButton jRadioButtonSelect = null; private JRadioButton jRadioButtonSelect = null;
private JTextField jTextFieldAdd = null;
private JComboBox jComboBoxSelect = null; private JComboBox jComboBoxSelect = null;
private JButton jButtonAdd = null; private JButton jButtonAdd = null;
@ -114,23 +109,6 @@ public class SpdPackageHeaders extends IInternalFrame implements TableModelListe
} }
/**
This method initializes jRadioButtonAdd
@return javax.swing.JRadioButton
**/
private JRadioButton getJRadioButtonAdd() {
if (jRadioButtonAdd == null) {
jRadioButtonAdd = new JRadioButton();
jRadioButtonAdd.setBounds(new java.awt.Rectangle(9,35,197,20));
jRadioButtonAdd.setText("Add a new ModuleType");
jRadioButtonAdd.setEnabled(false);
jRadioButtonAdd.addActionListener(this);
jRadioButtonAdd.setSelected(false);
}
return jRadioButtonAdd;
}
/** /**
This method initializes jRadioButtonSelect This method initializes jRadioButtonSelect
@ -147,21 +125,6 @@ public class SpdPackageHeaders extends IInternalFrame implements TableModelListe
return jRadioButtonSelect; return jRadioButtonSelect;
} }
/**
This method initializes jTextFieldAdd
@return javax.swing.JTextField
**/
private JTextField getJTextFieldAdd() {
if (jTextFieldAdd == null) {
jTextFieldAdd = new JTextField();
jTextFieldAdd.setBounds(new java.awt.Rectangle(220, 35, 260, 20));
jTextFieldAdd.setPreferredSize(new java.awt.Dimension(260,20));
jTextFieldAdd.setEnabled(false);
}
return jTextFieldAdd;
}
/** /**
This method initializes jComboBoxSelect This method initializes jComboBoxSelect
@ -350,9 +313,7 @@ public class SpdPackageHeaders extends IInternalFrame implements TableModelListe
jContentPane.add(jLabel, null); jContentPane.add(jLabel, null);
jContentPane.add(jStarLabel1, null); jContentPane.add(jStarLabel1, null);
jContentPane.add(jStarLabel2, null); jContentPane.add(jStarLabel2, null);
jContentPane.add(getJRadioButtonAdd(), null);
jContentPane.add(getJRadioButtonSelect(), null); jContentPane.add(getJRadioButtonSelect(), null);
jContentPane.add(getJTextFieldAdd(), null);
jContentPane.add(getJComboBoxSelect(), null); jContentPane.add(getJComboBoxSelect(), null);
jContentPane.add(getJButtonAdd(), null); jContentPane.add(getJButtonAdd(), null);
jContentPane.add(getJButtonRemove(), null); jContentPane.add(getJButtonRemove(), null);
@ -402,9 +363,7 @@ public class SpdPackageHeaders extends IInternalFrame implements TableModelListe
if (arg0.getSource() == jButtonAdd) { if (arg0.getSource() == jButtonAdd) {
String strLibClass = ""; String strLibClass = "";
if (jRadioButtonAdd.isSelected()) {
strLibClass = jTextFieldAdd.getText();
}
if (jRadioButtonSelect.isSelected()) { if (jRadioButtonSelect.isSelected()) {
strLibClass = jComboBoxSelect.getSelectedItem().toString(); strLibClass = jComboBoxSelect.getSelectedItem().toString();
} }
@ -412,6 +371,9 @@ public class SpdPackageHeaders extends IInternalFrame implements TableModelListe
String[] row = {"", ""}; String[] row = {"", ""};
row[0] = strLibClass; row[0] = strLibClass;
row[1] = jTextField.getText().replace('\\', '/'); row[1] = jTextField.getText().replace('\\', '/');
if (!dataValidation(row)) {
return;
}
model.addRow(row); model.addRow(row);
sfc.genSpdModuleHeaders(row[0], row[1], null, null, null, null, null, null); sfc.genSpdModuleHeaders(row[0], row[1], null, null, null, null, null, null);
} }
@ -437,31 +399,15 @@ public class SpdPackageHeaders extends IInternalFrame implements TableModelListe
sfc.removeSpdPkgHeader(); sfc.removeSpdPkgHeader();
} }
if (arg0.getSource() == jRadioButtonAdd) { }
if (jRadioButtonAdd.isSelected()) {
jRadioButtonSelect.setSelected(false); private boolean dataValidation(String[] row) {
jTextFieldAdd.setEnabled(true); if (!DataValidation.isPathAndFilename(row[1])) {
jComboBoxSelect.setEnabled(false); JOptionPane.showMessageDialog(this, "Include header path is NOT PathAndFilename type.");
} return false;
if (!jRadioButtonSelect.isSelected() && !jRadioButtonAdd.isSelected()) {
jRadioButtonAdd.setSelected(true);
jTextFieldAdd.setEnabled(true);
jComboBoxSelect.setEnabled(false);
}
}
if (arg0.getSource() == jRadioButtonSelect) {
if (jRadioButtonSelect.isSelected()) {
jRadioButtonAdd.setSelected(false);
jTextFieldAdd.setEnabled(false);
jComboBoxSelect.setEnabled(true);
}
if (!jRadioButtonSelect.isSelected() && !jRadioButtonAdd.isSelected()) {
jRadioButtonSelect.setSelected(true);
jTextFieldAdd.setEnabled(false);
jComboBoxSelect.setEnabled(true);
}
} }
return true;
} }
/** /**
@ -497,6 +443,11 @@ public class SpdPackageHeaders extends IInternalFrame implements TableModelListe
jButtonBrowse.setText("Browse"); jButtonBrowse.setText("Browse");
jButtonBrowse.setPreferredSize(new java.awt.Dimension(92,20)); jButtonBrowse.setPreferredSize(new java.awt.Dimension(92,20));
jButtonBrowse.addActionListener(new javax.swing.AbstractAction() { jButtonBrowse.addActionListener(new javax.swing.AbstractAction() {
/**
*
*/
private static final long serialVersionUID = 1L;
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
// //
// Select files from current workspace // Select files from current workspace
@ -558,6 +509,7 @@ public class SpdPackageHeaders extends IInternalFrame implements TableModelListe
if (jTable == null) { if (jTable == null) {
model = new DefaultTableModel(); model = new DefaultTableModel();
jTable = new JTable(model); jTable = new JTable(model);
jTable.setRowHeight(20);
model.addColumn("ModuleType"); model.addColumn("ModuleType");
model.addColumn("IncludeHeader"); model.addColumn("IncludeHeader");
TableColumn typeColumn = jTable.getColumnModel().getColumn(0); TableColumn typeColumn = jTable.getColumnModel().getColumn(0);
@ -605,6 +557,10 @@ public class SpdPackageHeaders extends IInternalFrame implements TableModelListe
if (arg0.getType() == TableModelEvent.UPDATE){ if (arg0.getType() == TableModelEvent.UPDATE){
String pkg = m.getValueAt(row, 0) + ""; String pkg = m.getValueAt(row, 0) + "";
String hdr = m.getValueAt(row, 1) + ""; String hdr = m.getValueAt(row, 1) + "";
String[] rowData = {pkg, hdr};
if (!dataValidation(rowData)) {
return;
}
sfc.updateSpdPkgHdr(row, pkg, hdr); sfc.updateSpdPkgHdr(row, pkg, hdr);
} }
} }
@ -613,7 +569,6 @@ public class SpdPackageHeaders extends IInternalFrame implements TableModelListe
int intPreferredWidth = 500; int intPreferredWidth = 500;
resizeComponentWidth(this.jComboBoxSelect, this.getWidth(), intPreferredWidth); resizeComponentWidth(this.jComboBoxSelect, this.getWidth(), intPreferredWidth);
resizeComponentWidth(this.jTextFieldAdd, this.getWidth(), intPreferredWidth);
resizeComponentWidth(this.jTextField, this.getWidth(), intPreferredWidth); resizeComponentWidth(this.jTextField, this.getWidth(), intPreferredWidth);
resizeComponentWidth(this.jScrollPane, this.getWidth(), intPreferredWidth); resizeComponentWidth(this.jScrollPane, this.getWidth(), intPreferredWidth);
relocateComponentX(this.jButtonBrowse, this.getWidth(), this.getPreferredSize().width, 30); relocateComponentX(this.jButtonBrowse, this.getWidth(), this.getPreferredSize().width, 30);

View File

@ -38,12 +38,15 @@ import javax.swing.table.TableModel;
import org.tianocore.PackageSurfaceAreaDocument; import org.tianocore.PackageSurfaceAreaDocument;
import org.tianocore.frameworkwizard.common.DataValidation;
import org.tianocore.frameworkwizard.common.ui.IInternalFrame; import org.tianocore.frameworkwizard.common.ui.IInternalFrame;
import org.tianocore.frameworkwizard.common.ui.StarLabel; import org.tianocore.frameworkwizard.common.ui.StarLabel;
import javax.swing.JScrollPane; import javax.swing.JScrollPane;
import javax.swing.JTable; import javax.swing.JTable;
import javax.swing.JCheckBox; import javax.swing.JCheckBox;
import org.tianocore.frameworkwizard.common.ui.iCheckBoxList.ICheckBoxList; import org.tianocore.frameworkwizard.common.ui.iCheckBoxList.ICheckBoxList;
import org.tianocore.frameworkwizard.platform.ui.ListEditor;
import java.awt.Rectangle; import java.awt.Rectangle;
import java.util.Vector; import java.util.Vector;
@ -113,10 +116,6 @@ public class SpdPcdDefs extends IInternalFrame implements TableModelListener{
private JButton jButtonClearAll = null; private JButton jButtonClearAll = null;
private JButton jButtonGen = null;
private GenGuidDialog guidDialog = null;
private JScrollPane jScrollPane = null; private JScrollPane jScrollPane = null;
private JTable jTable = null; private JTable jTable = null;
@ -403,7 +402,6 @@ public class SpdPcdDefs extends IInternalFrame implements TableModelListener{
jContentPane.add(getJButtonAdd(), null); jContentPane.add(getJButtonAdd(), null);
jContentPane.add(getJButtonRemove(), null); jContentPane.add(getJButtonRemove(), null);
jContentPane.add(getJButtonClearAll(), null); jContentPane.add(getJButtonClearAll(), null);
jContentPane.add(getJButtonGen(), null);
jContentPane.add(getJScrollPane(), null); jContentPane.add(getJScrollPane(), null);
jContentPane.add(starLabel, null); jContentPane.add(starLabel, null);
jContentPane.add(getJCheckBox(), null); jContentPane.add(getJCheckBox(), null);
@ -440,7 +438,6 @@ public class SpdPcdDefs extends IInternalFrame implements TableModelListener{
if (arg0.getSource() == jButtonOk) { if (arg0.getSource() == jButtonOk) {
this.save(); this.save();
this.dispose(); this.dispose();
} }
if (arg0.getSource() == jButtonCancel) { if (arg0.getSource() == jButtonCancel) {
this.dispose(); this.dispose();
@ -448,10 +445,10 @@ public class SpdPcdDefs extends IInternalFrame implements TableModelListener{
if (arg0.getSource() == jButtonAdd) { if (arg0.getSource() == jButtonAdd) {
//ToDo: check before add //ToDo: check before add
if (!checkValid()) { boolean[] b = {jCheckBox.isSelected(), jCheckBox1.isSelected(), jCheckBox2.isSelected(), jCheckBox3.isSelected(), jCheckBox4.isSelected()};
if (!checkValidUsage(b)) {
return; return;
} }
String archList = vectorToString(iCheckBoxList.getAllCheckedItemsString()); String archList = vectorToString(iCheckBoxList.getAllCheckedItemsString());
if (archList.length() == 0) { if (archList.length() == 0) {
archList = null; archList = null;
@ -466,7 +463,9 @@ public class SpdPcdDefs extends IInternalFrame implements TableModelListener{
jCheckBox.isSelected(), jCheckBox1.isSelected(), jCheckBox.isSelected(), jCheckBox1.isSelected(),
jCheckBox2.isSelected(), jCheckBox3.isSelected(), jCheckBox4.isSelected(), jCheckBox2.isSelected(), jCheckBox3.isSelected(), jCheckBox4.isSelected(),
archList, modTypeList}; archList, modTypeList};
if (!dataValidation(row)) {
return;
}
model.addRow(row); model.addRow(row);
String usage = getValidUsage(jCheckBox.isSelected(), jCheckBox1.isSelected(), jCheckBox2.isSelected(), jCheckBox3.isSelected(), jCheckBox4.isSelected()); String usage = getValidUsage(jCheckBox.isSelected(), jCheckBox1.isSelected(), jCheckBox2.isSelected(), jCheckBox3.isSelected(), jCheckBox4.isSelected());
@ -497,16 +496,6 @@ public class SpdPcdDefs extends IInternalFrame implements TableModelListener{
sfc.removeSpdPcdDefinition(); sfc.removeSpdPcdDefinition();
} }
if (arg0.getSource() == jButtonGen) {
guidDialog = new GenGuidDialog(this);
guidDialog.setGuid(jTextFieldTsGuid.getText());
guidDialog.setVisible(true);
}
if (arg0.getActionCommand().equals("GenGuidValue")) {
jTextFieldTsGuid.setText(guidDialog.getGuid());
}
} }
protected void save() { protected void save() {
@ -521,8 +510,9 @@ public class SpdPcdDefs extends IInternalFrame implements TableModelListener{
private JTextField getJTextFieldTsGuid() { private JTextField getJTextFieldTsGuid() {
if (jTextFieldTsGuid == null) { if (jTextFieldTsGuid == null) {
jTextFieldTsGuid = new JTextField(); jTextFieldTsGuid = new JTextField();
jTextFieldTsGuid.setBounds(new java.awt.Rectangle(156,58,249,20)); jTextFieldTsGuid.setPreferredSize(new java.awt.Dimension(315,20));
jTextFieldTsGuid.setPreferredSize(new java.awt.Dimension(250,20)); jTextFieldTsGuid.setSize(new java.awt.Dimension(317,20));
jTextFieldTsGuid.setLocation(new java.awt.Point(156,58));
} }
return jTextFieldTsGuid; return jTextFieldTsGuid;
} }
@ -604,22 +594,6 @@ public class SpdPcdDefs extends IInternalFrame implements TableModelListener{
return jButtonClearAll; return jButtonClearAll;
} }
/**
* This method initializes jButtonGen
*
* @return javax.swing.JButton
*/
private JButton getJButtonGen() {
if (jButtonGen == null) {
jButtonGen = new JButton();
jButtonGen.setBounds(new java.awt.Rectangle(414,57,58,20));
jButtonGen.setPreferredSize(new java.awt.Dimension(56,20));
jButtonGen.setText("Gen");
jButtonGen.addActionListener(this);
}
return jButtonGen;
}
public void componentResized(ComponentEvent arg0) { public void componentResized(ComponentEvent arg0) {
int intPreferredWidth = 500; int intPreferredWidth = 500;
@ -630,12 +604,10 @@ public class SpdPcdDefs extends IInternalFrame implements TableModelListener{
resizeComponentWidth(this.jTextField, this.getWidth(), intPreferredWidth); resizeComponentWidth(this.jTextField, this.getWidth(), intPreferredWidth);
resizeComponentWidth(this.jScrollPane, this.getWidth(), intPreferredWidth); resizeComponentWidth(this.jScrollPane, this.getWidth(), intPreferredWidth);
resizeComponentWidth(this.jTextField, this.getWidth(), intPreferredWidth);
resizeComponentWidth(this.jTextFieldDefaultValue, this.getWidth(), intPreferredWidth); resizeComponentWidth(this.jTextFieldDefaultValue, this.getWidth(), intPreferredWidth);
// relocateComponentX(this.jButtonClearAll, this.getWidth(), DataType.SPACE_TO_RIGHT_FOR_GENERATE_BUTTON); // relocateComponentX(this.jButtonClearAll, this.getWidth(), DataType.SPACE_TO_RIGHT_FOR_GENERATE_BUTTON);
// relocateComponentX(this.jButtonRemove, this.getWidth(), DataType.SPACE_TO_RIGHT_FOR_GENERATE_BUTTON); // relocateComponentX(this.jButtonRemove, this.getWidth(), DataType.SPACE_TO_RIGHT_FOR_GENERATE_BUTTON);
// relocateComponentX(this.jButtonAdd, this.getWidth(), DataType.SPACE_TO_RIGHT_FOR_GENERATE_BUTTON); // relocateComponentX(this.jButtonAdd, this.getWidth(), DataType.SPACE_TO_RIGHT_FOR_GENERATE_BUTTON);
relocateComponentX(this.jButtonGen, this.getWidth(), this.getPreferredSize().width, 30);
} }
/** /**
@ -661,6 +633,7 @@ public class SpdPcdDefs extends IInternalFrame implements TableModelListener{
if (jTable == null) { if (jTable == null) {
model = new CheckboxTableModel(); model = new CheckboxTableModel();
jTable = new JTable(model); jTable = new JTable(model);
jTable.setRowHeight(20);
jTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); jTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
jTable.setSize(new Dimension(1000, 300)); jTable.setSize(new Dimension(1000, 300));
@ -678,7 +651,6 @@ public class SpdPcdDefs extends IInternalFrame implements TableModelListener{
model.addColumn("DynamicEx"); model.addColumn("DynamicEx");
model.addColumn("SupportedArch"); model.addColumn("SupportedArch");
model.addColumn("SupportedModule"); model.addColumn("SupportedModule");
jTable.getColumnModel().getColumn(2).setCellEditor(new GuidEditor());
//ToDo: add a valid usage editor //ToDo: add a valid usage editor
@ -692,6 +664,30 @@ public class SpdPcdDefs extends IInternalFrame implements TableModelListener{
TableColumn dataTypeColumn = jTable.getColumnModel().getColumn(3); TableColumn dataTypeColumn = jTable.getColumnModel().getColumn(3);
dataTypeColumn.setCellEditor(new DefaultCellEditor(jComboBoxDataType)); dataTypeColumn.setCellEditor(new DefaultCellEditor(jComboBoxDataType));
Vector<String> vArch = new Vector<String>();
vArch.add("IA32");
vArch.add("X64");
vArch.add("IPF");
vArch.add("EBC");
vArch.add("ARM");
vArch.add("PPC");
jTable.getColumnModel().getColumn(11).setCellEditor(new ListEditor(vArch));
Vector<String> vModule = new Vector<String>();
vModule.add("BASE");
vModule.add("SEC");
vModule.add("PEI_CORE");
vModule.add("PEIM");
vModule.add("DXE_CORE");
vModule.add("DXE_DRIVER");
vModule.add("DXE_RUNTIME_DRIVER");
vModule.add("DXE_SAL_DRIVER");
vModule.add("DXE_SMM_DRIVER");
vModule.add("UEFI_DRIVER");
vModule.add("UEFI_APPLICATION");
vModule.add("USER_DEFINED");
jTable.getColumnModel().getColumn(12).setCellEditor(new ListEditor(vModule));
jTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); jTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
jTable.getSelectionModel().addListSelectionListener(new ListSelectionListener(){ jTable.getSelectionModel().addListSelectionListener(new ListSelectionListener(){
public void valueChanged(ListSelectionEvent e) { public void valueChanged(ListSelectionEvent e) {
@ -728,6 +724,14 @@ public class SpdPcdDefs extends IInternalFrame implements TableModelListener{
String usage = getValidUsage(new Boolean(m.getValueAt(row, 6)+""), new Boolean(m.getValueAt(row, 7)+""), new Boolean(m.getValueAt(row, 8)+""), new Boolean(m.getValueAt(row, 9)+""), new Boolean(m.getValueAt(row, 10)+"")); String usage = getValidUsage(new Boolean(m.getValueAt(row, 6)+""), new Boolean(m.getValueAt(row, 7)+""), new Boolean(m.getValueAt(row, 8)+""), new Boolean(m.getValueAt(row, 9)+""), new Boolean(m.getValueAt(row, 10)+""));
String archList = vectorToString(iCheckBoxList.getAllCheckedItemsString()); String archList = vectorToString(iCheckBoxList.getAllCheckedItemsString());
String modTypeList = vectorToString(iCheckBoxList1.getAllCheckedItemsString()); String modTypeList = vectorToString(iCheckBoxList1.getAllCheckedItemsString());
if (usage.length() == 0) {
JOptionPane.showMessageDialog(frame, "You must choose at least one usage for PCD entry.");
return;
}
Object[] o = {cName, token, ts, dataType, defaultVal, help};
if (!dataValidation(o)){
return;
}
sfc.updateSpdPcdDefinition(row, cName, token, dataType, usage, ts, defaultVal, help, archList, modTypeList); sfc.updateSpdPcdDefinition(row, cName, token, dataType, usage, ts, defaultVal, help, archList, modTypeList);
} }
} }
@ -828,13 +832,34 @@ public class SpdPcdDefs extends IInternalFrame implements TableModelListener{
return usage.trim(); return usage.trim();
} }
private boolean checkValid() { private boolean checkValidUsage(boolean[] b) {
if (!(jCheckBox.isSelected() || jCheckBox1.isSelected() || jCheckBox2.isSelected() || jCheckBox3.isSelected() || jCheckBox4.isSelected())){ if (!(b[0] || b[1] || b[2] || b[3] || b[4])){
JOptionPane.showMessageDialog(frame, "You must specify at least one usage."); JOptionPane.showMessageDialog(frame, "You must specify at least one usage.");
return false; return false;
} }
return true; return true;
} }
private boolean dataValidation(Object[] row) {
if (!DataValidation.isC_NameType(row[0].toString())) {
JOptionPane.showMessageDialog(frame, "C_Name is NOT C_NameType.");
return false;
}
if (!(DataValidation.isHexDoubleWordDataType(row[1].toString()) ||
DataValidation.isInt(row[1].toString(), 0, 0xffffffff))) {
JOptionPane.showMessageDialog(frame, "Token is NOT correct.");
return false;
}
if (!DataValidation.isC_NameType(row[2].toString())) {
JOptionPane.showMessageDialog(frame, "Token Space is NOT C_NameType");
return false;
}
if (row[5].toString().length() == 0) {
JOptionPane.showMessageDialog(frame, "HelpText could NOT be empty.");
return false;
}
return true;
}
/** /**
* This method initializes jScrollPane1 * This method initializes jScrollPane1
@ -865,6 +890,8 @@ public class SpdPcdDefs extends IInternalFrame implements TableModelListener{
v.add("X64"); v.add("X64");
v.add("IPF"); v.add("IPF");
v.add("EBC"); v.add("EBC");
v.add("ARM");
v.add("PPC");
iCheckBoxList.setAllItems(v); iCheckBoxList.setAllItems(v);
} }
return iCheckBoxList; return iCheckBoxList;

View File

@ -12,7 +12,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
**/ **/
package org.tianocore.frameworkwizard.packaging.ui; package org.tianocore.frameworkwizard.packaging.ui;
import javax.swing.event.TableModelEvent;
import javax.swing.table.DefaultTableModel; import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel; import javax.swing.table.TableModel;
@ -25,6 +24,10 @@ GUI for create library definition elements of spd file.
**/ **/
public class SpdPpiDecls extends SpdGuidDecls { public class SpdPpiDecls extends SpdGuidDecls {
/**
*
*/
private static final long serialVersionUID = 1L;
private SpdFileContents sfc = null; private SpdFileContents sfc = null;
public SpdPpiDecls() { public SpdPpiDecls() {
@ -79,10 +82,18 @@ public class SpdPpiDecls extends SpdGuidDecls {
if (m.getValueAt(row, 5) != null) { if (m.getValueAt(row, 5) != null) {
modTypeList = m.getValueAt(row, 5).toString(); modTypeList = m.getValueAt(row, 5).toString();
} }
String[] rowData = {name, cName, guid, help};
if (!dataValidation(rowData)){
return;
}
sfc.updateSpdPpiDecl(row, name, cName, guid, help, archList, modTypeList); sfc.updateSpdPpiDecl(row, name, cName, guid, help, archList, modTypeList);
} }
protected void addRow(String[] row) { protected void addRow(String[] row) {
if (!dataValidation(row)){
return;
}
sfc.genSpdPpiDeclarations(row[0], row[1], row[2], row[3], stringToVector(row[4]), stringToVector(row[5])); sfc.genSpdPpiDeclarations(row[0], row[1], row[2], row[3], stringToVector(row[4]), stringToVector(row[5]));
} }

View File

@ -24,6 +24,10 @@ GUI for create library definition elements of spd file.
**/ **/
public class SpdProtocolDecls extends SpdGuidDecls { public class SpdProtocolDecls extends SpdGuidDecls {
/**
*
*/
private static final long serialVersionUID = 1L;
private SpdFileContents sfc = null; private SpdFileContents sfc = null;
public SpdProtocolDecls() { public SpdProtocolDecls() {
@ -79,11 +83,18 @@ public class SpdProtocolDecls extends SpdGuidDecls {
if (m.getValueAt(row, 5) != null) { if (m.getValueAt(row, 5) != null) {
modTypeList = m.getValueAt(row, 5).toString(); modTypeList = m.getValueAt(row, 5).toString();
} }
String[] rowData = {name, cName, guid, help};
if (!dataValidation(rowData)){
return;
}
sfc.updateSpdProtocolDecl(row, name, cName, guid, help, archList, modTypeList); sfc.updateSpdProtocolDecl(row, name, cName, guid, help, archList, modTypeList);
} }
protected void addRow(String[] row) { protected void addRow(String[] row) {
if (!dataValidation(row)){
return;
}
sfc.genSpdProtocolDeclarations(row[0], row[1], row[2], row[3], stringToVector(row[4]), stringToVector(row[5])); sfc.genSpdProtocolDeclarations(row[0], row[1], row[2], row[3], stringToVector(row[4]), stringToVector(row[5]));
} }