X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=Tools%2FSource%2FFrameworkWizard%2Fsrc%2Forg%2Ftianocore%2Fframeworkwizard%2Fpackaging%2Fui%2FSpdGuidDecls.java;h=8cdcedd73d3b59e3d4182553d5f26e985657676a;hp=6fe9d43bb2aced958d1dcba78c790bb755f05d4c;hb=816ea4376ae751fbf7d50631963b3fa17b4c81ab;hpb=ce73a791eb81b088783de77a5c72565154b215f6 diff --git a/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/packaging/ui/SpdGuidDecls.java b/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/packaging/ui/SpdGuidDecls.java index 6fe9d43bb2..8cdcedd73d 100644 --- a/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/packaging/ui/SpdGuidDecls.java +++ b/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/packaging/ui/SpdGuidDecls.java @@ -38,6 +38,7 @@ import javax.swing.table.TableModel; import org.tianocore.PackageSurfaceAreaDocument; import org.tianocore.frameworkwizard.common.DataValidation; import org.tianocore.frameworkwizard.common.Tools; +import org.tianocore.frameworkwizard.common.Identifications.OpeningPackageType; import org.tianocore.frameworkwizard.common.ui.IInternalFrame; import org.tianocore.frameworkwizard.common.ui.StarLabel; import org.tianocore.frameworkwizard.common.ui.iCheckBoxList.ICheckBoxList; @@ -57,6 +58,8 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{ static JFrame frame; private SpdFileContents sfc = null; + + private OpeningPackageType docConsole = null; private JTable jTable = null; @@ -64,7 +67,7 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{ private JPanel jContentPane = null; - private JTextField jTextFieldAdd = null; + private JTextField jTextFieldGuid = null; private JScrollPane jScrollPane = null; @@ -104,29 +107,29 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{ private JScrollPane topScrollPane = null; // @jve:decl-index=0:visual-constraint="10,213" - private JLabel jLabelVer = null; + private JLabel jLabelCName = null; private GenGuidDialog guidDialog = null; - private JTextField jTextFieldVersion = null; - - private JLabel jLabel = null; + private JTextField jTextFieldCName = null; - private JTextField jTextField = null; + private JLabel jLabelHelp = null; - private JLabel jLabel1 = null; + private JTextField jTextFieldHelp = null; - private JLabel jLabel2 = null; + private JLabel jLabelSupMod = null; - private ICheckBoxList iCheckBoxList = null; + private JLabel jLabelSupArch = null; - private ICheckBoxList iCheckBoxList1 = null; + private ICheckBoxList iCheckBoxListArch = null; - private ICheckBoxList iCheckBoxList2 = null; + private ICheckBoxList iCheckBoxListGuid = null; - private JLabel jLabel3 = null; + private ICheckBoxList iCheckBoxListMod = null; + private JLabel jLabelGuidType = null; + protected String[][] saa = null; /** This method initializes this @@ -139,18 +142,18 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{ } /** - This method initializes jTextFieldAdd + This method initializes jTextFieldGuid @return javax.swing.JTextField **/ - protected JTextField getJTextFieldAdd() { - if (jTextFieldAdd == null) { - jTextFieldAdd = new JTextField(); - jTextFieldAdd.setBounds(new java.awt.Rectangle(137,35,337,20)); - jTextFieldAdd.setPreferredSize(new java.awt.Dimension(335,20)); + protected JTextField getJTextFieldGuid() { + if (jTextFieldGuid == null) { + jTextFieldGuid = new JTextField(); + jTextFieldGuid.setBounds(new java.awt.Rectangle(137,60,435,20)); + jTextFieldGuid.setPreferredSize(new java.awt.Dimension(200,20)); } - return jTextFieldAdd; + return jTextFieldGuid; } /** @@ -161,7 +164,7 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{ protected JScrollPane getJScrollPane() { if (jScrollPane == null) { jScrollPane = new JScrollPane(); - jScrollPane.setBounds(new java.awt.Rectangle(5,256,472,196)); + jScrollPane.setBounds(new java.awt.Rectangle(5,256,472,292)); jScrollPane.setViewportView(getJTable()); } return jScrollPane; @@ -179,11 +182,11 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{ jTable.setRowHeight(20); jTable.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF); model.addColumn("Name"); - model.addColumn("C_Name"); + model.addColumn("The C Name"); model.addColumn("GUID Value"); - model.addColumn("HelpText"); - model.addColumn("SupportedArch"); - model.addColumn("SupportedModuleType"); + model.addColumn("Help Text"); + model.addColumn("Supported Architectures"); + model.addColumn("Supported Module Types"); model.addColumn("GuidTypes"); jTable.getColumnModel().getColumn(2).setCellEditor(new GuidEditor()); @@ -234,6 +237,7 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{ } else{ selectedRow = lsm.getMinSelectionIndex(); + } } }); @@ -247,13 +251,28 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{ public void tableChanged(TableModelEvent arg0) { // TODO Auto-generated method stub int row = arg0.getFirstRow(); + int column = arg0.getColumn(); TableModel m = (TableModel)arg0.getSource(); if (arg0.getType() == TableModelEvent.UPDATE){ - updateRow(row, m); + + updateRow(row, column, m); } } - protected void updateRow(int row, TableModel m){ + protected void updateRow(int row, int column, TableModel m){ + String[] sa = new String[7]; + sfc.getSpdGuidDeclaration(sa, row); + Object cellData = m.getValueAt(row, column); + if (cellData == null) { + cellData = ""; + } + if (cellData.equals(sa[column])) { + return; + } + if (cellData.toString().length() == 0 && sa[column] == null) { + return; + } + String name = m.getValueAt(row, 0) + ""; String cName = m.getValueAt(row, 1) + ""; String guid = m.getValueAt(row, 2) + ""; @@ -274,7 +293,9 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{ if (!dataValidation(rowData)){ return; } - + if (docConsole != null) { + docConsole.setSaved(false); + } sfc.updateSpdGuidDecl(row, name, cName, guid, help, archList, modTypeList, guidTypeList); } /** @@ -372,6 +393,11 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{ sfc = new SpdFileContents(inPsa); init(sfc); } + + public SpdGuidDecls(OpeningPackageType opt) { + this(opt.getXmlSpd()); + docConsole = opt; + } /** This method initializes this @@ -398,7 +424,7 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{ // // initialize table using SpdFileContents object // - String[][] saa = new String[sfc.getSpdGuidDeclarationCount()][7]; + saa = new String[sfc.getSpdGuidDeclarationCount()][7]; sfc.getSpdGuidDeclarations(saa); int i = 0; while (i < saa.length) { @@ -424,27 +450,27 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{ **/ protected JPanel getJContentPane1() { if (jContentPane == null) { - jLabel3 = new JLabel(); - jLabel3.setBounds(new java.awt.Rectangle(400,122,103,16)); - jLabel3.setText("GUID Type List"); - jLabel3.setEnabled(true); - jLabel2 = new JLabel(); - jLabel2.setBounds(new java.awt.Rectangle(197,122,108,16)); - jLabel2.setText("Supported Arch"); - jLabel2.setEnabled(true); - jLabel1 = new JLabel(); - jLabel1.setBounds(new java.awt.Rectangle(14,120,110,16)); - jLabel1.setText("Supported Module"); - jLabel1.setEnabled(true); - jLabel = new JLabel(); - jLabel.setText("HelpText"); - jLabel.setSize(new java.awt.Dimension(109,20)); - jLabel.setLocation(new java.awt.Point(14,85)); - jLabelVer = new JLabel(); - jLabelVer.setBounds(new java.awt.Rectangle(14,60,111,20)); - jLabelVer.setText("C_Name"); + jLabelGuidType = new JLabel(); + jLabelGuidType.setBounds(new java.awt.Rectangle(400,122,103,16)); + jLabelGuidType.setText("GUID Type List"); + jLabelGuidType.setEnabled(true); + jLabelSupArch = new JLabel(); + jLabelSupArch.setBounds(new java.awt.Rectangle(197,122,108,16)); + jLabelSupArch.setText("Supported Arch"); + jLabelSupArch.setEnabled(true); + jLabelSupMod = new JLabel(); + jLabelSupMod.setBounds(new java.awt.Rectangle(14,120,110,16)); + jLabelSupMod.setText("Supported Module"); + jLabelSupMod.setEnabled(true); + jLabelHelp = new JLabel(); + jLabelHelp.setText("HelpText"); + jLabelHelp.setSize(new java.awt.Dimension(109,20)); + jLabelHelp.setLocation(new java.awt.Point(14,85)); + jLabelCName = new JLabel(); + jLabelCName.setBounds(new java.awt.Rectangle(14,35,111,20)); + jLabelCName.setText("C Name"); jLabelGuid = new JLabel(); - jLabelGuid.setBounds(new java.awt.Rectangle(15,35,112,20)); + jLabelGuid.setBounds(new java.awt.Rectangle(15,60,112,20)); jLabelGuid.setText("Guid Value"); jLabelName = new JLabel(); jLabelName.setBounds(new java.awt.Rectangle(15,10,113,20)); @@ -465,9 +491,9 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{ jContentPane.add(jStarLabel2, null); jContentPane.add(jStarLabel3, null); jContentPane.add(jStarLabel4, null); - jContentPane.add(jLabelVer, null); - jContentPane.add(getJTextFieldVersion(), null); - jContentPane.add(getJTextFieldAdd(), null); + jContentPane.add(jLabelCName, null); + jContentPane.add(getJTextFieldCName(), null); + jContentPane.add(getJTextFieldGuid(), null); jContentPane.add(getJScrollPane(), null); jContentPane.add(getJButtonAdd(), null); jContentPane.add(getJButtonRemove(), null); @@ -479,14 +505,14 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{ jContentPane.add(jLabelName, null); jContentPane.add(getJTextFieldName(), null); jContentPane.add(jLabelGuid, null); - jContentPane.add(jLabel, null); - jContentPane.add(getJTextField(), null); - jContentPane.add(jLabel1, null); - jContentPane.add(jLabel2, null); + jContentPane.add(jLabelHelp, null); + jContentPane.add(getJTextFieldHelp(), null); + jContentPane.add(jLabelSupMod, null); + jContentPane.add(jLabelSupArch, null); jContentPane.add(getJScrollPaneArch(), null); jContentPane.add(getJScrollPaneGuid(), null); jContentPane.add(getJScrollPaneModule(), null); - jContentPane.add(jLabel3, null); + jContentPane.add(jLabelGuidType, null); } return jContentPane; } @@ -504,6 +530,7 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{ * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent) */ public void actionPerformed(ActionEvent arg0) { + if (arg0.getSource() == jButtonOk) { this.save(); this.dispose(); @@ -517,19 +544,19 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{ //ToDo: check before add String[] row = {"", "", "", "", "", "", ""}; - row[3] = jTextField.getText(); - row[2] = jTextFieldAdd.getText(); - row[1] = jTextFieldVersion.getText(); + row[3] = jTextFieldHelp.getText(); + row[2] = jTextFieldGuid.getText(); + row[1] = jTextFieldCName.getText(); row[0] = jTextFieldName.getText(); - row[4] = vectorToString(iCheckBoxList.getAllCheckedItemsString()); + row[4] = vectorToString(iCheckBoxListArch.getAllCheckedItemsString()); if (row[4].length() == 0) { row[4] = null; } - row[5] = vectorToString(iCheckBoxList2.getAllCheckedItemsString()); + row[5] = vectorToString(iCheckBoxListMod.getAllCheckedItemsString()); if (row[5].length() == 0) { row[5] = null; } - row[6] = vectorToString(iCheckBoxList1.getAllCheckedItemsString()); + row[6] = vectorToString(iCheckBoxListGuid.getAllCheckedItemsString()); if (row[6].length() == 0) { row[6] = null; } @@ -537,8 +564,13 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{ if (!dataValidation(row)) { return; } + + if (addRow(row) == -1) { + return; + } model.addRow(row); - addRow(row); + jTable.changeSelection(model.getRowCount()-1, 0, false, false); + } // // remove selected line @@ -563,48 +595,71 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{ } if (arg0.getSource() == jButtonGen) { - jTextFieldAdd.setText(Tools.generateUuidString()); + jTextFieldGuid.setText(Tools.generateUuidString()); } if (arg0.getActionCommand().equals("GenGuidValue")) { - jTextFieldAdd.setText(guidDialog.getGuid()); + jTextFieldGuid.setText(guidDialog.getGuid()); } } protected boolean dataValidation(String[] row){ if (!DataValidation.isUiNameType(row[0])) { - JOptionPane.showMessageDialog(this, "Name is NOT UiNameType."); + JOptionPane.showMessageDialog(this, "Name must start with an alpha character."); return false; } if (!DataValidation.isGuid(row[2])) { - JOptionPane.showMessageDialog(this, "Guid Value is NOT GuidType."); + JOptionPane.showMessageDialog(this, "Guid Value must be in registry format, 8-4-4-4-12."); return false; } if (!DataValidation.isC_NameType(row[1])) { - JOptionPane.showMessageDialog(this, "C_Name is NOT C_NameType."); + JOptionPane.showMessageDialog(this, "C Name does not match C Name datatype."); return false; } if (row[3].length() == 0) { - JOptionPane.showMessageDialog(this, "HelpText could NOT be empty."); + JOptionPane.showMessageDialog(this, "Help Text must be entered!"); return false; } return true; } - protected void addRow(String[] row) { - Vector vArch = iCheckBoxList.getAllCheckedItemsString(); - Vector vModType = iCheckBoxList2.getAllCheckedItemsString(); - Vector vguidType = iCheckBoxList1.getAllCheckedItemsString(); + protected int addRow(String[] row) { + Vector vArch = iCheckBoxListArch.getAllCheckedItemsString(); + if (vArch.size() == 0) { + vArch = null; + } + Vector vModType = iCheckBoxListMod.getAllCheckedItemsString(); + if (vModType.size() == 0) { + vModType = null; + } + Vector vguidType = iCheckBoxListGuid.getAllCheckedItemsString(); + if (vguidType.size() == 0) { + vguidType = null; + } + if (vguidType == null) { + JOptionPane.showMessageDialog(this, "You must select one GUID type."); + return -1; + } + if (docConsole != null) { + docConsole.setSaved(false); + } sfc.genSpdGuidDeclarations(row[0], row[1], row[2], row[3], vArch, vModType, vguidType); + return 0; } protected void removeRow(int i){ sfc.removeSpdGuidDeclaration(i); + if (docConsole != null) { + docConsole.setSaved(false); + } } protected void clearAllRow(){ sfc.removeSpdGuidDeclaration(); + if (docConsole != null) { + docConsole.setSaved(false); + } } /** @@ -645,28 +700,28 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{ } /** - * This method initializes jTextFieldVersion + * This method initializes jTextFieldCName * * @return javax.swing.JTextField */ - protected JTextField getJTextFieldVersion() { - if (jTextFieldVersion == null) { - jTextFieldVersion = new JTextField(); - jTextFieldVersion.setBounds(new java.awt.Rectangle(137,60,225,20)); - jTextFieldVersion.setPreferredSize(new java.awt.Dimension(225,20)); + protected JTextField getJTextFieldCName() { + if (jTextFieldCName == null) { + jTextFieldCName = new JTextField(); + jTextFieldCName.setBounds(new java.awt.Rectangle(137,35,337,20)); + jTextFieldCName.setPreferredSize(new java.awt.Dimension(335,20)); } - return jTextFieldVersion; + return jTextFieldCName; } public void componentResized(ComponentEvent arg0) { int intPreferredWidth = 500; - resizeComponentWidth(this.jTextFieldName, this.getWidth(), intPreferredWidth); - resizeComponentWidth(this.jTextFieldAdd, this.getWidth(), intPreferredWidth); - resizeComponentWidth(this.jTextFieldVersion, this.getWidth(), intPreferredWidth); - resizeComponentWidth(this.jTextField, this.getWidth(), intPreferredWidth); - resizeComponentWidth(this.jScrollPane, this.getWidth(), intPreferredWidth); - relocateComponentX(this.jButtonGen, this.getWidth(), this.getPreferredSize().width, 40); + Tools.resizeComponentWidth(this.jTextFieldName, this.getWidth(), intPreferredWidth); + + Tools.resizeComponentWidth(this.jTextFieldCName, this.getWidth(), intPreferredWidth); + Tools.resizeComponentWidth(this.jTextFieldHelp, this.getWidth(), intPreferredWidth); + Tools.resizeComponentWidth(this.jScrollPane, this.getWidth(), intPreferredWidth); + Tools.relocateComponentX(this.jButtonGen, this.getWidth(), this.getPreferredSize().width, 40); } @@ -675,13 +730,13 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{ * * @return javax.swing.JTextField */ - private JTextField getJTextField() { - if (jTextField == null) { - jTextField = new JTextField(); - jTextField.setBounds(new java.awt.Rectangle(136,85,337,20)); - jTextField.setPreferredSize(new Dimension(335, 20)); + private JTextField getJTextFieldHelp() { + if (jTextFieldHelp == null) { + jTextFieldHelp = new JTextField(); + jTextFieldHelp.setBounds(new java.awt.Rectangle(136,85,337,20)); + jTextFieldHelp.setPreferredSize(new Dimension(335, 20)); } - return jTextField; + return jTextFieldHelp; } private JScrollPane getJScrollPaneArch() { @@ -689,7 +744,7 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{ jScrollPaneArch = new JScrollPane(); jScrollPaneArch.setBounds(new java.awt.Rectangle(197,142,188,74)); jScrollPaneArch.setPreferredSize(new java.awt.Dimension(188, 74)); - jScrollPaneArch.setViewportView(getICheckBoxList()); + jScrollPaneArch.setViewportView(getICheckBoxListArch()); } return jScrollPaneArch; } @@ -698,10 +753,10 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{ * * @return org.tianocore.frameworkwizard.common.ui.iCheckBoxList.ICheckBoxList */ - private ICheckBoxList getICheckBoxList() { - if (iCheckBoxList == null) { - iCheckBoxList = new ICheckBoxList(); - iCheckBoxList.setBounds(new java.awt.Rectangle(197,142,188,74)); + private ICheckBoxList getICheckBoxListArch() { + if (iCheckBoxListArch == null) { + iCheckBoxListArch = new ICheckBoxList(); + iCheckBoxListArch.setBounds(new java.awt.Rectangle(197,142,188,74)); Vector v = new Vector(); v.add("IA32"); v.add("X64"); @@ -709,9 +764,9 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{ v.add("EBC"); v.add("ARM"); v.add("PPC"); - iCheckBoxList.setAllItems(v); + iCheckBoxListArch.setAllItems(v); } - return iCheckBoxList; + return iCheckBoxListArch; } protected JScrollPane getJScrollPaneGuid() { @@ -720,7 +775,7 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{ jScrollPaneGuid.setPreferredSize(new java.awt.Dimension(190,74)); jScrollPaneGuid.setLocation(new java.awt.Point(400,142)); jScrollPaneGuid.setSize(new java.awt.Dimension(260,74)); - jScrollPaneGuid.setViewportView(getICheckBoxList1()); + jScrollPaneGuid.setViewportView(getICheckBoxListGuid()); } return jScrollPaneGuid; } @@ -729,10 +784,10 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{ * * @return org.tianocore.frameworkwizard.common.ui.iCheckBoxList.ICheckBoxList */ - private ICheckBoxList getICheckBoxList1() { - if (iCheckBoxList1 == null) { - iCheckBoxList1 = new ICheckBoxList(); - iCheckBoxList1.setBounds(new java.awt.Rectangle(400,142,177,74)); + private ICheckBoxList getICheckBoxListGuid() { + if (iCheckBoxListGuid == null) { + iCheckBoxListGuid = new ICheckBoxList(); + iCheckBoxListGuid.setBounds(new java.awt.Rectangle(400,142,177,74)); Vector v = new Vector(); v.add("DATA_HUB_RECORD"); v.add("EFI_EVENT"); @@ -743,9 +798,9 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{ v.add("HOB"); v.add("TOKEN_SPACE_GUID"); - iCheckBoxList1.setAllItems(v); + iCheckBoxListGuid.setAllItems(v); } - return iCheckBoxList1; + return iCheckBoxListGuid; } private JScrollPane getJScrollPaneModule() { @@ -753,7 +808,7 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{ jScrollPaneModule = new JScrollPane(); jScrollPaneModule.setBounds(new java.awt.Rectangle(14,142,170,74)); jScrollPaneModule.setPreferredSize(new java.awt.Dimension(170, 74)); - jScrollPaneModule.setViewportView(getICheckBoxList2()); + jScrollPaneModule.setViewportView(getICheckBoxListMod()); } return jScrollPaneModule; } @@ -762,10 +817,10 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{ * * @return org.tianocore.frameworkwizard.common.ui.iCheckBoxList.ICheckBoxList */ - private ICheckBoxList getICheckBoxList2() { - if (iCheckBoxList2 == null) { - iCheckBoxList2 = new ICheckBoxList(); - iCheckBoxList2.setBounds(new java.awt.Rectangle(14,142,170,74)); + private ICheckBoxList getICheckBoxListMod() { + if (iCheckBoxListMod == null) { + iCheckBoxListMod = new ICheckBoxList(); + iCheckBoxListMod.setBounds(new java.awt.Rectangle(14,142,170,74)); Vector v = new Vector(); v.add("BASE"); v.add("SEC"); @@ -779,9 +834,9 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{ v.add("UEFI_DRIVER"); v.add("UEFI_APPLICATION"); v.add("USER_DEFINED"); - iCheckBoxList2.setAllItems(v); + iCheckBoxListMod.setAllItems(v); } - return iCheckBoxList2; + return iCheckBoxListMod; } public static void main(String[] args){ @@ -817,8 +872,8 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{ return v; } - protected JLabel getJLabel3() { - return jLabel3; + protected JLabel getJLabelGuidType() { + return jLabelGuidType; } }