+++ /dev/null
-/** @file\r
- Java class SpdGuidDecls is GUI for create library definition elements of spd file.\r
- \r
-Copyright (c) 2006, Intel Corporation\r
-All rights reserved. This program and the accompanying materials\r
-are licensed and made available under the terms and conditions of the BSD License\r
-which accompanies this distribution. The full text of the license may be found at\r
-http://opensource.org/licenses/bsd-license.php\r
-\r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-**/\r
-package org.tianocore.frameworkwizard.packaging.ui;\r
-\r
-import java.awt.Dimension;\r
-import java.awt.FontMetrics;\r
-import java.awt.Point;\r
-import java.awt.event.ActionEvent;\r
-import java.awt.event.ComponentEvent;\r
-import java.util.Vector;\r
-\r
-import javax.swing.JFrame;\r
-import javax.swing.JOptionPane;\r
-import javax.swing.JPanel;\r
-import javax.swing.JTable;\r
-import javax.swing.JTextField;\r
-import javax.swing.JLabel;\r
-import javax.swing.JScrollPane;\r
-import javax.swing.JButton;\r
-import javax.swing.ListSelectionModel;\r
-import javax.swing.event.InternalFrameAdapter;\r
-import javax.swing.event.InternalFrameEvent;\r
-import javax.swing.event.ListSelectionEvent;\r
-import javax.swing.event.ListSelectionListener;\r
-import javax.swing.event.TableModelEvent;\r
-import javax.swing.event.TableModelListener;\r
-import javax.swing.table.DefaultTableModel;\r
-import javax.swing.table.TableColumn;\r
-import javax.swing.table.TableModel;\r
-\r
-import org.tianocore.PackageSurfaceAreaDocument;\r
-import org.tianocore.frameworkwizard.common.DataValidation;\r
-import org.tianocore.frameworkwizard.common.Tools;\r
-import org.tianocore.frameworkwizard.common.Identifications.OpeningPackageType;\r
-import org.tianocore.frameworkwizard.common.ui.IInternalFrame;\r
-import org.tianocore.frameworkwizard.common.ui.StarLabel;\r
-import org.tianocore.frameworkwizard.common.ui.iCheckBoxList.ICheckBoxList;\r
-import org.tianocore.frameworkwizard.platform.ui.ListEditor;\r
-import org.tianocore.frameworkwizard.platform.ui.LongTextEditor;\r
-\r
-/**\r
- GUI for create library definition elements of spd file.\r
- \r
- @since PackageEditor 1.0\r
-**/\r
-public class SpdGuidDecls extends IInternalFrame implements TableModelListener{\r
- /**\r
- * \r
- */\r
- private static final long serialVersionUID = 1L;\r
- \r
- private JFrame topFrame = null;\r
- \r
- private SpdFileContents sfc = null;\r
- \r
- private OpeningPackageType docConsole = null;\r
-\r
- private JTable jTable = null;\r
-\r
- private DefaultTableModel model = null;\r
-\r
- private JPanel jContentPane = null;\r
-\r
- private JTextField jTextFieldGuid = null;\r
-\r
- private JScrollPane jScrollPane = null;\r
-\r
- private JButton jButtonAdd = null;\r
-\r
- private JButton jButtonRemove = null;\r
-\r
- private JButton jButtonClearAll = null;\r
-\r
- private JButton jButtonCancel = null;\r
-\r
- private JButton jButtonOk = null;\r
-\r
- private JButton jButtonGen = null;\r
- \r
- private StarLabel jStarLabel1 = null;\r
- \r
- private StarLabel jStarLabel2 = null;\r
- \r
- private StarLabel jStarLabel3 = null;\r
- \r
- private StarLabel jStarLabel4 = null;\r
-\r
- protected int selectedRow = -1;\r
-\r
- private JLabel jLabelName = null;\r
-\r
- private JScrollPane jScrollPaneModule = null;\r
-\r
- private JTextField jTextFieldName = null;\r
-\r
- private JScrollPane jScrollPaneArch = null;\r
- \r
- private JScrollPane jScrollPaneGuid = null;\r
-\r
- private JLabel jLabelGuid = null;\r
-\r
- private JScrollPane topScrollPane = null; // @jve:decl-index=0:visual-constraint="10,213"\r
-\r
- private JLabel jLabelCName = null;\r
-\r
- private GenGuidDialog guidDialog = null;\r
-\r
- private JTextField jTextFieldCName = null;\r
-\r
- private JLabel jLabelHelp = null;\r
-\r
- private JTextField jTextFieldHelp = null;\r
-\r
- private JLabel jLabelSupMod = null;\r
-\r
- private JLabel jLabelSupArch = null;\r
-\r
- private ICheckBoxList iCheckBoxListArch = null;\r
-\r
- private ICheckBoxList iCheckBoxListGuid = null;\r
-\r
- private ICheckBoxList iCheckBoxListMod = null;\r
-\r
- private JLabel jLabelGuidType = null;\r
-\r
- protected String[][] saa = null;\r
-\r
- protected StarLabel starLabel = null;\r
- \r
- private final int guidNameMinWidth = 200;\r
- private final int guidCNameMinWidth = 200;\r
- private final int guidValueMinWidth = 300;\r
- private final int helpTextMinWidth = 300;\r
- private final int supArchMinWidth = 200;\r
- private final int supModMinWidth = 200;\r
- private final int guidTypeMinWidth = 200;\r
- \r
-\r
- /**\r
- This method initializes this\r
- \r
- **/\r
- protected void initialize() {\r
- \r
- this.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);\r
-\r
- }\r
-\r
- /**\r
- This method initializes jTextFieldGuid \r
- \r
- @return javax.swing.JTextField \r
- **/\r
- protected JTextField getJTextFieldGuid() {\r
- if (jTextFieldGuid == null) {\r
- jTextFieldGuid = new JTextField();\r
- jTextFieldGuid.setBounds(new java.awt.Rectangle(137,60,336,20));\r
- jTextFieldGuid.setPreferredSize(new java.awt.Dimension(200,20));\r
- \r
- }\r
- return jTextFieldGuid;\r
- }\r
-\r
- /**\r
- This method initializes jScrollPane \r
- \r
- @return javax.swing.JScrollPane \r
- **/\r
- protected JScrollPane getJScrollPane() {\r
- if (jScrollPane == null) {\r
- jScrollPane = new JScrollPane();\r
- jScrollPane.setBounds(new java.awt.Rectangle(5,256,472,292));\r
- jScrollPane.setViewportView(getJTable());\r
- }\r
- return jScrollPane;\r
- }\r
-\r
- /**\r
- This method initializes jTable \r
- \r
- @return javax.swing.JTable \r
- **/\r
- protected JTable getJTable() {\r
- if (jTable == null) {\r
- model = new DefaultTableModel();\r
- jTable = new JTable(model);\r
- jTable.setRowHeight(20);\r
- jTable.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF);\r
- model.addColumn("Name");\r
- model.addColumn("The C Name");\r
- model.addColumn("GUID Value");\r
- model.addColumn("Help Text");\r
- model.addColumn("Supported Architectures");\r
- model.addColumn("Supported Module Types");\r
- model.addColumn("GuidTypes");\r
- \r
- TableColumn column = jTable.getColumnModel().getColumn(0);\r
- column.setMinWidth(this.guidNameMinWidth);\r
- column = jTable.getColumnModel().getColumn(1);\r
- column.setMinWidth(this.guidCNameMinWidth);\r
- column = jTable.getColumnModel().getColumn(2);\r
- column.setMinWidth(this.guidValueMinWidth);\r
- column = jTable.getColumnModel().getColumn(3);\r
- column.setMinWidth(this.helpTextMinWidth);\r
- column = jTable.getColumnModel().getColumn(4);\r
- column.setMinWidth(this.supArchMinWidth);\r
- column = jTable.getColumnModel().getColumn(5);\r
- column.setMinWidth(this.supModMinWidth);\r
- column = jTable.getColumnModel().getColumn(6);\r
- column.setMinWidth(this.guidTypeMinWidth);\r
- \r
- jTable.getColumnModel().getColumn(2).setCellEditor(new GuidEditor(topFrame));\r
- jTable.getColumnModel().getColumn(3).setCellEditor(new LongTextEditor(topFrame));\r
-\r
- Vector<String> vArch = new Vector<String>();\r
- vArch.add("IA32");\r
- vArch.add("X64");\r
- vArch.add("IPF");\r
- vArch.add("EBC");\r
- vArch.add("ARM");\r
- vArch.add("PPC");\r
- jTable.getColumnModel().getColumn(4).setCellEditor(new ListEditor(vArch, topFrame));\r
- \r
- Vector<String> vModule = new Vector<String>();\r
- vModule.add("BASE");\r
- vModule.add("SEC");\r
- vModule.add("PEI_CORE");\r
- vModule.add("PEIM");\r
- vModule.add("DXE_CORE");\r
- vModule.add("DXE_DRIVER");\r
- vModule.add("DXE_RUNTIME_DRIVER");\r
- vModule.add("DXE_SAL_DRIVER");\r
- vModule.add("DXE_SMM_DRIVER");\r
- vModule.add("UEFI_DRIVER");\r
- vModule.add("UEFI_APPLICATION");\r
- vModule.add("USER_DEFINED");\r
- jTable.getColumnModel().getColumn(5).setCellEditor(new ListEditor(vModule, topFrame));\r
- \r
- Vector<String> vGuid = new Vector<String>();\r
- vGuid.add("DATA_HUB_RECORD");\r
- vGuid.add("EFI_EVENT");\r
- vGuid.add("EFI_SYSTEM_CONFIGURATION_TABLE");\r
- vGuid.add("EFI_VARIABLE");\r
- vGuid.add("GUID");\r
- vGuid.add("HII_PACKAGE_LIST");\r
- vGuid.add("HOB");\r
- vGuid.add("TOKEN_SPACE_GUID");\r
- ListEditor le = new ListEditor(vGuid, topFrame);\r
- le.setCanNotBeEmpty(true);\r
- jTable.getColumnModel().getColumn(6).setCellEditor(le);\r
- \r
- jTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
- jTable.getSelectionModel().addListSelectionListener(new ListSelectionListener(){\r
- public void valueChanged(ListSelectionEvent e) {\r
- if (e.getValueIsAdjusting()){\r
- return;\r
- }\r
- ListSelectionModel lsm = (ListSelectionModel)e.getSource();\r
- if (lsm.isSelectionEmpty()) {\r
- return;\r
- }\r
- else{\r
- selectedRow = lsm.getMinSelectionIndex();\r
- \r
- }\r
- }\r
- });\r
- \r
- jTable.getModel().addTableModelListener(this);\r
- }\r
- return jTable;\r
- }\r
- \r
-\r
- public void tableChanged(TableModelEvent arg0) {\r
- // TODO Auto-generated method stub\r
- int row = arg0.getFirstRow();\r
- int column = arg0.getColumn();\r
- TableModel m = (TableModel)arg0.getSource();\r
- if (arg0.getType() == TableModelEvent.UPDATE){\r
- \r
- updateRow(row, column, m);\r
- }\r
- }\r
- \r
- protected void updateRow(int row, int column, TableModel m){\r
- String[] sa = new String[7];\r
- sfc.getSpdGuidDeclaration(sa, row);\r
- Object cellData = m.getValueAt(row, column);\r
- if (cellData == null) {\r
- cellData = "";\r
- }\r
- if (cellData.equals(sa[column])) {\r
- return;\r
- }\r
- \r
- if (cellData.toString().length() == 0 && sa[column] == null) {\r
- return;\r
- }\r
- \r
- String name = m.getValueAt(row, 0) + "";\r
- String cName = m.getValueAt(row, 1) + "";\r
- String guid = m.getValueAt(row, 2) + "";\r
- String help = m.getValueAt(row, 3) + "";\r
- String archList = null;\r
- if (m.getValueAt(row, 4) != null){\r
- archList = m.getValueAt(row, 4).toString();\r
- }\r
- String modTypeList = null;\r
- if (m.getValueAt(row, 5) != null) {\r
- modTypeList = m.getValueAt(row, 5).toString(); \r
- }\r
- String guidTypeList = null;\r
- if (m.getValueAt(row, 6) != null){\r
- guidTypeList = m.getValueAt(row, 6).toString();\r
- }\r
- String[] rowData = {name, cName, guid, help};\r
- if (!dataValidation(rowData)){\r
- return;\r
- }\r
- if (docConsole != null) {\r
- docConsole.setSaved(false);\r
- }\r
- sfc.updateSpdGuidDecl(row, name, cName, guid, help, archList, modTypeList, guidTypeList);\r
- }\r
- /**\r
- This method initializes jButtonAdd \r
- \r
- @return javax.swing.JButton \r
- **/\r
- protected JButton getJButtonAdd() {\r
- if (jButtonAdd == null) {\r
- jButtonAdd = new JButton();\r
- jButtonAdd.setBounds(new java.awt.Rectangle(167,227,90,20));\r
- jButtonAdd.setText("Add");\r
- jButtonAdd.addActionListener(this);\r
- }\r
- return jButtonAdd;\r
- }\r
-\r
- /**\r
- This method initializes jButtonRemove \r
- \r
- @return javax.swing.JButton \r
- **/\r
- protected JButton getJButtonRemove() {\r
- if (jButtonRemove == null) {\r
- jButtonRemove = new JButton();\r
- jButtonRemove.setBounds(new java.awt.Rectangle(270,227,90,20));\r
- jButtonRemove.setText("Delete");\r
- jButtonRemove.addActionListener(this);\r
- }\r
- return jButtonRemove;\r
- }\r
-\r
- /**\r
- This method initializes jButtonRemoveAll \r
- \r
- @return javax.swing.JButton \r
- **/\r
- protected JButton getJButtonClearAll() {\r
- if (jButtonClearAll == null) {\r
- jButtonClearAll = new JButton();\r
- jButtonClearAll.setBounds(new java.awt.Rectangle(380,227,90,20));\r
- jButtonClearAll.setText("Clear All");\r
- jButtonClearAll.addActionListener(this);\r
- }\r
- return jButtonClearAll;\r
- }\r
-\r
- /**\r
- This method initializes jButtonCancel \r
- \r
- @return javax.swing.JButton \r
- **/\r
- protected JButton getJButtonCancel() {\r
- if (jButtonCancel == null) {\r
- jButtonCancel = new JButton();\r
- jButtonCancel.setPreferredSize(new java.awt.Dimension(90, 20));\r
- jButtonCancel.setLocation(new java.awt.Point(390, 305));\r
- jButtonCancel.setText("Cancel");\r
- jButtonCancel.setSize(new java.awt.Dimension(90, 20));\r
- jButtonCancel.setVisible(false);\r
- jButtonCancel.addActionListener(this);\r
- }\r
- return jButtonCancel;\r
- }\r
-\r
- /**\r
- This method initializes jButton \r
- \r
- @return javax.swing.JButton \r
- **/\r
- protected JButton getJButtonOk() {\r
- if (jButtonOk == null) {\r
- jButtonOk = new JButton();\r
- jButtonOk.setSize(new java.awt.Dimension(90, 20));\r
- jButtonOk.setText("OK");\r
- jButtonOk.setLocation(new java.awt.Point(290, 305));\r
- jButtonOk.setVisible(false);\r
- jButtonOk.addActionListener(this);\r
- }\r
- return jButtonOk;\r
- }\r
-\r
- /**\r
- This is the default constructor\r
- **/\r
- public SpdGuidDecls(JFrame frame) {\r
- super();\r
- topFrame = frame;\r
- initialize();\r
- init();\r
- \r
- }\r
-\r
- public SpdGuidDecls(PackageSurfaceAreaDocument.PackageSurfaceArea inPsa, JFrame frame){\r
- this(frame);\r
- sfc = new SpdFileContents(inPsa);\r
- init(sfc);\r
- }\r
- \r
- public SpdGuidDecls(OpeningPackageType opt, JFrame frame) {\r
- this(opt.getXmlSpd(), frame);\r
- docConsole = opt;\r
- if (sfc.getSpdPkgDefsRdOnly().equals("true")) {\r
- JOptionPane.showMessageDialog(this, "This is a read-only package. You will not be able to edit contents in table.");\r
- }\r
- initFrame();\r
- }\r
- /**\r
- This method initializes this\r
- \r
- @return void\r
- **/\r
- protected void init() {\r
- this.setContentPane(getJContentPane());\r
- this.addInternalFrameListener(new InternalFrameAdapter(){\r
- public void internalFrameDeactivated(InternalFrameEvent e){\r
- if (jTable.isEditing()) {\r
- jTable.getCellEditor().stopCellEditing();\r
- }\r
- }\r
- });\r
- this.setBounds(new java.awt.Rectangle(0, 0, 500, 370));\r
- this.setVisible(true);\r
- }\r
-\r
- protected void init(SpdFileContents sfc){\r
- if (sfc.getSpdGuidDeclarationCount() == 0) {\r
- return ;\r
- }\r
- //\r
- // initialize table using SpdFileContents object\r
- //\r
- saa = new String[sfc.getSpdGuidDeclarationCount()][7];\r
- sfc.getSpdGuidDeclarations(saa);\r
- int i = 0;\r
- while (i < saa.length) {\r
- model.addRow(saa[i]);\r
- i++;\r
- }\r
- \r
- }\r
- \r
- protected JScrollPane getJContentPane(){\r
- if (topScrollPane == null){\r
- topScrollPane = new JScrollPane();\r
- topScrollPane.setSize(new java.awt.Dimension(617,500));\r
- topScrollPane.setPreferredSize(new java.awt.Dimension(498,500));\r
- topScrollPane.setViewportView(getJContentPane1());\r
- }\r
- return topScrollPane;\r
- }\r
- \r
- /**\r
- This method initializes jContentPane\r
- \r
- @return javax.swing.JPanel\r
- **/\r
- protected JPanel getJContentPane1() {\r
- if (jContentPane == null) {\r
- \r
- jLabelGuidType = new JLabel();\r
- jLabelGuidType.setBounds(new java.awt.Rectangle(420,122,103,16));\r
- jLabelGuidType.setText("GUID Type List");\r
- jLabelGuidType.setEnabled(true);\r
- starLabel = new StarLabel();\r
- starLabel.setLocation(new Point(jLabelGuidType.getX() - 10, jLabelGuidType.getY()));\r
- starLabel.setVisible(true);\r
- jLabelSupArch = new JLabel();\r
- jLabelSupArch.setBounds(new java.awt.Rectangle(197,122,108,16));\r
- jLabelSupArch.setText("Supported Architectures");\r
- jLabelSupArch.setEnabled(true);\r
- FontMetrics fm = jLabelSupArch.getFontMetrics(jLabelSupArch.getFont());\r
- jLabelSupArch.setSize(fm.stringWidth(jLabelSupArch.getText()) + 10, 20);\r
- jLabelSupMod = new JLabel();\r
- jLabelSupMod.setBounds(new java.awt.Rectangle(14,120,110,16));\r
- jLabelSupMod.setText("Supported Module Types");\r
- jLabelSupMod.setEnabled(true);\r
- fm = jLabelSupMod.getFontMetrics(jLabelSupMod.getFont());\r
- jLabelSupMod.setSize(fm.stringWidth(jLabelSupMod.getText()) + 10, 20);\r
- jLabelHelp = new JLabel();\r
- jLabelHelp.setText("HelpText");\r
- jLabelHelp.setSize(new java.awt.Dimension(109,20));\r
- jLabelHelp.setLocation(new java.awt.Point(14,85));\r
- jLabelCName = new JLabel();\r
- jLabelCName.setBounds(new java.awt.Rectangle(14,35,111,20));\r
- jLabelCName.setText("C Name");\r
- jLabelGuid = new JLabel();\r
- jLabelGuid.setBounds(new java.awt.Rectangle(15,60,112,20));\r
- jLabelGuid.setText("Guid Value");\r
- jLabelName = new JLabel();\r
- jLabelName.setBounds(new java.awt.Rectangle(15,10,113,20));\r
- jLabelName.setText("Name");\r
- jStarLabel1 = new StarLabel();\r
- jStarLabel1.setLocation(new java.awt.Point(0, 10));\r
- jStarLabel3 = new StarLabel();\r
- jStarLabel3.setLocation(new java.awt.Point(0, 35));\r
- jStarLabel4 = new StarLabel();\r
- jStarLabel4.setLocation(new java.awt.Point(0, 60));\r
- jStarLabel2 = new StarLabel();\r
- jStarLabel2.setLocation(new java.awt.Point(0, 85));\r
- jStarLabel2.setVisible(true);\r
- jContentPane = new JPanel();\r
- jContentPane.setLayout(null);\r
- jContentPane.setPreferredSize(new Dimension(480, 375));\r
- jContentPane.add(jStarLabel1, null);\r
- jContentPane.add(jStarLabel2, null);\r
- jContentPane.add(jStarLabel3, null);\r
- jContentPane.add(jStarLabel4, null);\r
- jContentPane.add(jLabelCName, null);\r
- jContentPane.add(getJTextFieldCName(), null);\r
- jContentPane.add(getJTextFieldGuid(), null);\r
- jContentPane.add(getJScrollPane(), null);\r
- jContentPane.add(getJButtonAdd(), null);\r
- jContentPane.add(getJButtonRemove(), null);\r
- jContentPane.add(getJButtonClearAll(), null);\r
- jContentPane.add(getJButtonCancel(), null);\r
- jContentPane.add(getJButtonOk(), null);\r
- \r
- jContentPane.add(getJButtonGen(), null);\r
- jContentPane.add(jLabelName, null);\r
- jContentPane.add(getJTextFieldName(), null);\r
- jContentPane.add(jLabelGuid, null);\r
- jContentPane.add(jLabelHelp, null);\r
- jContentPane.add(getJTextFieldHelp(), null);\r
- jContentPane.add(jLabelSupMod, null);\r
- jContentPane.add(jLabelSupArch, null);\r
- jContentPane.add(getJScrollPaneArch(), null);\r
- jContentPane.add(getJScrollPaneGuid(), null);\r
- jContentPane.add(getJScrollPaneModule(), null);\r
- jContentPane.add(jLabelGuidType, null);\r
- jContentPane.add(starLabel, null);\r
- }\r
- return jContentPane;\r
- }\r
-\r
- /**\r
- fill ComboBoxes with pre-defined contents\r
- **/\r
- protected void initFrame() {\r
- \r
- this.setTitle("GUID Declarations");\r
- \r
- boolean editable = true;\r
- if (getSfc().getSpdPkgDefsRdOnly().equals("true")) {\r
- editable = false;\r
- }\r
- \r
- jButtonAdd.setEnabled(editable);\r
- jButtonRemove.setEnabled(editable);\r
- jButtonClearAll.setEnabled(editable);\r
- jTable.setEnabled(editable);\r
- }\r
-\r
- /* (non-Javadoc)\r
- * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)\r
- */\r
- public void actionPerformed(ActionEvent arg0) {\r
- \r
- if (arg0.getSource() == jButtonOk) {\r
- this.save();\r
- this.dispose();\r
-\r
- }\r
- if (arg0.getSource() == jButtonCancel) {\r
- this.dispose();\r
- }\r
-\r
- if (arg0.getSource() == jButtonAdd) {\r
- \r
- //ToDo: check before add\r
- String[] row = {"", "", "", "", "", "", ""};\r
- row[3] = jTextFieldHelp.getText();\r
- row[2] = jTextFieldGuid.getText();\r
- row[1] = jTextFieldCName.getText();\r
- row[0] = jTextFieldName.getText();\r
- row[4] = vectorToString(iCheckBoxListArch.getAllCheckedItemsString());\r
- if (row[4].length() == 0) {\r
- row[4] = null;\r
- }\r
- row[5] = vectorToString(iCheckBoxListMod.getAllCheckedItemsString());\r
- if (row[5].length() == 0) {\r
- row[5] = null;\r
- }\r
- row[6] = vectorToString(iCheckBoxListGuid.getAllCheckedItemsString());\r
- if (row[6].length() == 0) {\r
- row[6] = null;\r
- }\r
- \r
- if (!dataValidation(row)) {\r
- return;\r
- }\r
- \r
- if (addRow(row) == -1) {\r
- return;\r
- }\r
- model.addRow(row);\r
- jTable.changeSelection(model.getRowCount()-1, 0, false, false);\r
- \r
- }\r
- //\r
- // remove selected line\r
- //\r
- if (arg0.getSource() == jButtonRemove) {\r
- if (jTable.isEditing()){\r
- jTable.getCellEditor().stopCellEditing();\r
- }\r
- int rowSelected = selectedRow;\r
- if (rowSelected >= 0) {\r
- model.removeRow(rowSelected);\r
- removeRow(rowSelected);\r
- }\r
- }\r
-\r
- if (arg0.getSource() == jButtonClearAll) {\r
- if (model.getRowCount() == 0) {\r
- return;\r
- }\r
- model.setRowCount(0);\r
- clearAllRow();\r
- }\r
- \r
- if (arg0.getSource() == jButtonGen) {\r
- jTextFieldGuid.setText(Tools.generateUuidString());\r
- }\r
- \r
- if (arg0.getActionCommand().equals("GenGuidValue")) {\r
- jTextFieldGuid.setText(guidDialog.getGuid());\r
- }\r
- \r
- }\r
- \r
- protected boolean dataValidation(String[] row){\r
- if (!DataValidation.isUiNameType(row[0])) {\r
- JOptionPane.showMessageDialog(this, "Name must start with an alpha character.");\r
- return false;\r
- }\r
- if (!DataValidation.isGuid(row[2])) {\r
- JOptionPane.showMessageDialog(this, "Guid Value must be in registry format, 8-4-4-4-12.");\r
- return false;\r
- }\r
- if (!DataValidation.isC_NameType(row[1])) {\r
- JOptionPane.showMessageDialog(this, "C Name does not match C Name datatype.");\r
- return false;\r
- }\r
- if (row[3].length() == 0) {\r
- JOptionPane.showMessageDialog(this, "Help Text must be entered!");\r
- return false;\r
- }\r
- return true;\r
- }\r
- \r
- protected int addRow(String[] row) {\r
- Vector<String> vArch = iCheckBoxListArch.getAllCheckedItemsString();\r
- if (vArch.size() == 0) {\r
- vArch = null;\r
- }\r
- Vector<String> vModType = iCheckBoxListMod.getAllCheckedItemsString();\r
- if (vModType.size() == 0) {\r
- vModType = null;\r
- }\r
- Vector<String> vguidType = iCheckBoxListGuid.getAllCheckedItemsString();\r
- if (vguidType.size() == 0) {\r
- vguidType = null;\r
- }\r
- if (vguidType == null) {\r
- JOptionPane.showMessageDialog(this, "You must select at least one GUID type.");\r
- return -1;\r
- }\r
- if (docConsole != null) {\r
- docConsole.setSaved(false);\r
- }\r
- sfc.genSpdGuidDeclarations(row[0], row[1], row[2], row[3], vArch, vModType, vguidType);\r
- return 0;\r
- }\r
- \r
- protected void removeRow(int i){\r
- sfc.removeSpdGuidDeclaration(i);\r
- if (docConsole != null) {\r
- docConsole.setSaved(false);\r
- }\r
- }\r
- \r
- protected void clearAllRow(){\r
- sfc.removeSpdGuidDeclaration();\r
- if (docConsole != null) {\r
- docConsole.setSaved(false);\r
- }\r
- }\r
-\r
- /**\r
- Add contents in list to sfc\r
- **/\r
- protected void save() {\r
- \r
- }\r
-\r
- /**\r
- This method initializes jButtonBrowse \r
- \r
- @return javax.swing.JButton \r
- **/\r
- protected JButton getJButtonGen() {\r
- if (jButtonGen == null) {\r
- jButtonGen = new JButton();\r
- jButtonGen.setBounds(new java.awt.Rectangle(485,58,92,21));\r
- jButtonGen.setText("Gen");\r
- jButtonGen.setPreferredSize(new java.awt.Dimension(80,20));\r
- jButtonGen.addActionListener(this);\r
- }\r
- return jButtonGen;\r
- }\r
- \r
- /**\r
- * This method initializes jTextFieldName \r
- * \r
- * @return javax.swing.JTextField \r
- */\r
- protected JTextField getJTextFieldName() {\r
- if (jTextFieldName == null) {\r
- jTextFieldName = new JTextField();\r
- jTextFieldName.setBounds(new java.awt.Rectangle(138,10,337,20));\r
- jTextFieldName.setPreferredSize(new java.awt.Dimension(335,20));\r
- }\r
- return jTextFieldName;\r
- }\r
-\r
- /**\r
- * This method initializes jTextFieldCName \r
- * \r
- * @return javax.swing.JTextField \r
- */\r
- protected JTextField getJTextFieldCName() {\r
- if (jTextFieldCName == null) {\r
- jTextFieldCName = new JTextField();\r
- jTextFieldCName.setBounds(new java.awt.Rectangle(137,35,337,20));\r
- jTextFieldCName.setPreferredSize(new java.awt.Dimension(335,20));\r
- }\r
- return jTextFieldCName;\r
- }\r
-\r
- public void componentResized(ComponentEvent arg0) {\r
- int intPreferredWidth = 500;\r
- \r
- Tools.resizeComponentWidth(this.jTextFieldName, this.getWidth(), intPreferredWidth);\r
-\r
- Tools.resizeComponentWidth(this.jTextFieldCName, this.getWidth(), intPreferredWidth);\r
- Tools.resizeComponentWidth(this.jTextFieldHelp, this.getWidth(), intPreferredWidth);\r
- Tools.resizeComponentWidth(this.jScrollPane, this.getWidth(), intPreferredWidth);\r
- Tools.relocateComponentX(this.jButtonGen, this.getWidth(), this.getPreferredSize().width, 40);\r
- \r
- }\r
- \r
- /**\r
- * This method initializes jTextField \r
- * \r
- * @return javax.swing.JTextField \r
- */\r
- private JTextField getJTextFieldHelp() {\r
- if (jTextFieldHelp == null) {\r
- jTextFieldHelp = new JTextField();\r
- jTextFieldHelp.setBounds(new java.awt.Rectangle(136,85,337,20));\r
- jTextFieldHelp.setPreferredSize(new Dimension(335, 20));\r
- }\r
- return jTextFieldHelp;\r
- }\r
-\r
- private JScrollPane getJScrollPaneArch() {\r
- if (jScrollPaneArch == null) {\r
- jScrollPaneArch = new JScrollPane();\r
- jScrollPaneArch.setBounds(new java.awt.Rectangle(197,142,188,74));\r
- jScrollPaneArch.setPreferredSize(new java.awt.Dimension(188, 74));\r
- jScrollPaneArch.setViewportView(getICheckBoxListArch());\r
- }\r
- return jScrollPaneArch;\r
- }\r
- /**\r
- * This method initializes iCheckBoxList \r
- * \r
- * @return org.tianocore.frameworkwizard.common.ui.iCheckBoxList.ICheckBoxList \r
- */\r
- private ICheckBoxList getICheckBoxListArch() {\r
- if (iCheckBoxListArch == null) {\r
- iCheckBoxListArch = new ICheckBoxList();\r
- iCheckBoxListArch.setBounds(new java.awt.Rectangle(197,142,188,74));\r
- Vector<String> v = new Vector<String>();\r
- v.add("IA32");\r
- v.add("X64");\r
- v.add("IPF");\r
- v.add("EBC");\r
- v.add("ARM");\r
- v.add("PPC");\r
- iCheckBoxListArch.setAllItems(v);\r
- }\r
- return iCheckBoxListArch;\r
- }\r
-\r
- protected JScrollPane getJScrollPaneGuid() {\r
- if (jScrollPaneGuid== null) {\r
- jScrollPaneGuid = new JScrollPane();\r
- jScrollPaneGuid.setPreferredSize(new java.awt.Dimension(190,74));\r
- jScrollPaneGuid.setLocation(new java.awt.Point(400,142));\r
- jScrollPaneGuid.setSize(new java.awt.Dimension(260,74));\r
- jScrollPaneGuid.setViewportView(getICheckBoxListGuid());\r
- }\r
- return jScrollPaneGuid;\r
- }\r
- /**\r
- * This method initializes iCheckBoxList1 \r
- * \r
- * @return org.tianocore.frameworkwizard.common.ui.iCheckBoxList.ICheckBoxList \r
- */\r
- private ICheckBoxList getICheckBoxListGuid() {\r
- if (iCheckBoxListGuid == null) {\r
- iCheckBoxListGuid = new ICheckBoxList();\r
- iCheckBoxListGuid.setBounds(new java.awt.Rectangle(400,142,177,74));\r
- Vector<String> v = new Vector<String>();\r
- v.add("DATA_HUB_RECORD");\r
- v.add("EFI_EVENT");\r
- v.add("EFI_SYSTEM_CONFIGURATION_TABLE");\r
- v.add("EFI_VARIABLE");\r
- v.add("GUID");\r
- v.add("HII_PACKAGE_LIST");\r
- v.add("HOB");\r
- v.add("TOKEN_SPACE_GUID");\r
- \r
- iCheckBoxListGuid.setAllItems(v);\r
- }\r
- return iCheckBoxListGuid;\r
- }\r
-\r
- private JScrollPane getJScrollPaneModule() {\r
- if (jScrollPaneModule == null) {\r
- jScrollPaneModule = new JScrollPane();\r
- jScrollPaneModule.setBounds(new java.awt.Rectangle(14,142,170,74));\r
- jScrollPaneModule.setPreferredSize(new java.awt.Dimension(170, 74));\r
- jScrollPaneModule.setViewportView(getICheckBoxListMod());\r
- }\r
- return jScrollPaneModule;\r
- }\r
- /**\r
- * This method initializes iCheckBoxList2 \r
- * \r
- * @return org.tianocore.frameworkwizard.common.ui.iCheckBoxList.ICheckBoxList \r
- */\r
- private ICheckBoxList getICheckBoxListMod() {\r
- if (iCheckBoxListMod == null) {\r
- iCheckBoxListMod = new ICheckBoxList();\r
- iCheckBoxListMod.setBounds(new java.awt.Rectangle(14,142,170,74));\r
- Vector<String> v = new Vector<String>();\r
- v.add("BASE");\r
- v.add("SEC");\r
- v.add("PEI_CORE");\r
- v.add("PEIM");\r
- v.add("DXE_CORE");\r
- v.add("DXE_DRIVER");\r
- v.add("DXE_RUNTIME_DRIVER");\r
- v.add("DXE_SAL_DRIVER");\r
- v.add("DXE_SMM_DRIVER");\r
- v.add("UEFI_DRIVER");\r
- v.add("UEFI_APPLICATION");\r
- v.add("USER_DEFINED");\r
- iCheckBoxListMod.setAllItems(v);\r
- }\r
- return iCheckBoxListMod;\r
- }\r
-\r
- protected DefaultTableModel getModel() {\r
- return model;\r
- }\r
-\r
- protected void setModel(DefaultTableModel model) {\r
- this.model = model;\r
- }\r
- \r
- protected String vectorToString(Vector<String> v) {\r
- String s = " ";\r
- for (int i = 0; i < v.size(); ++i) {\r
- s += v.get(i);\r
- s += " ";\r
- }\r
- return s.trim();\r
- }\r
- \r
- protected Vector<String> stringToVector(String s){\r
- if (s == null) {\r
- return null;\r
- }\r
- String[] sArray = s.split(" ");\r
- Vector<String> v = new Vector<String>();\r
- for (int i = 0; i < sArray.length; ++i) {\r
- v.add(sArray[i]);\r
- }\r
- return v;\r
- }\r
-\r
- protected JLabel getJLabelGuidType() {\r
- return jLabelGuidType;\r
- }\r
-\r
- /**\r
- * @return Returns the sfc.\r
- */\r
- protected SpdFileContents getSfc() {\r
- return sfc;\r
- }\r
-}\r
-\r
-\r