]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Java/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/packaging/ui/SpdLibClassDecls.java
Remove all recommended lib instances logic in SpdLibClassDecls.java as recommmended...
[mirror_edk2.git] / Tools / Java / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / packaging / ui / SpdLibClassDecls.java
index 416afcd51b66a9f7389b1d634457e02b0c5dc09d..a69a95887155123a1bec0dce611cd55082091e7b 100644 (file)
@@ -17,8 +17,8 @@ import java.awt.event.ActionEvent;
 import java.awt.event.ComponentEvent;\r
 import java.io.File;\r
 import java.util.HashMap;\r
-import java.util.Iterator;\r
-import java.util.Set;\r
+//import java.util.Iterator;\r
+//import java.util.Set;\r
 import java.util.Vector;\r
 \r
 import javax.swing.AbstractAction;\r
@@ -27,6 +27,7 @@ import javax.swing.JOptionPane;
 import javax.swing.JPanel;\r
 import javax.swing.JTable;\r
 import javax.swing.JTextField;\r
+import javax.swing.JTextArea;\r
 import javax.swing.JComboBox;\r
 import javax.swing.JLabel;\r
 import javax.swing.JScrollPane;\r
@@ -40,10 +41,12 @@ import javax.swing.event.ListSelectionListener;
 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
 import org.tianocore.PackageSurfaceAreaDocument;\r
+import org.tianocore.frameworkwizard.common.DataType;\r
 import org.tianocore.frameworkwizard.common.DataValidation;\r
-import org.tianocore.frameworkwizard.common.GlobalData;\r
+//import org.tianocore.frameworkwizard.common.GlobalData;\r
 import org.tianocore.frameworkwizard.common.Tools;\r
 import org.tianocore.frameworkwizard.common.Identifications.OpeningPackageType;\r
 import org.tianocore.frameworkwizard.common.ui.IInternalFrame;\r
@@ -51,8 +54,8 @@ import org.tianocore.frameworkwizard.common.ui.StarLabel;
 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
-import org.tianocore.frameworkwizard.platform.ui.global.SurfaceAreaQuery;\r
-import org.tianocore.frameworkwizard.module.Identifications.ModuleIdentification;\r
+//import org.tianocore.frameworkwizard.platform.ui.global.SurfaceAreaQuery;\r
+//import org.tianocore.frameworkwizard.module.Identifications.ModuleIdentification;\r
 \r
 \r
 /**\r
@@ -74,11 +77,11 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
 \r
     private JPanel jContentPane = null;\r
 \r
-    private JTextField jTextFieldClass = null;\r
+    private JTextField jTextFieldAddClass = null;\r
 \r
     private JComboBox jComboBoxSelect = null;\r
 \r
-    private JScrollPane jScrollPane = null;\r
+    private JScrollPane jScrollPaneTable = null;\r
 \r
     private JButton jButtonAdd = null;\r
 \r
@@ -92,9 +95,9 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
 \r
     private JButton jButtonBrowse = null;\r
     \r
-    private StarLabel jStarLabel1 = null;\r
+    private StarLabel starLabel1 = null;\r
     \r
-    private StarLabel jStarLabel2 = null;\r
+    private StarLabel starLabel3 = null;\r
     \r
     private SpdFileContents sfc = null;\r
     \r
@@ -106,19 +109,13 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
     \r
     private int selectedRow = -1;\r
 \r
-    private StarLabel starLabel = null;\r
+    private StarLabel starLabel2 = null;\r
 \r
     private JLabel jLabel2HelpText = null;\r
 \r
-    private JTextField jTextFieldHelp = null;\r
+    private JTextArea jTextAreaHelp = null;\r
 \r
-    private JLabel jLabel3RecInstName = null;\r
-\r
-    private JTextField jTextField1RecInstName = null;\r
-\r
-    private JLabel jLabel4RecInstVer = null;\r
-\r
-    private JTextField jTextField2RecInstVer = null;\r
+    private JScrollPane jHelpTextScrollPane = null;\r
 \r
     private JLabel jLabel5SupArchList = null;\r
 \r
@@ -132,16 +129,44 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
 \r
     private ICheckBoxList iCheckBoxListArch = null;\r
 \r
-    private JComboBox jComboBox = null;\r
-\r
     private int cnClassName = 0;\r
     private int cnHdrFile = 1;\r
     private int cnHelpText = 2;\r
-    private int cnRecInstName = 3;\r
-    private int cnRecInstVer = 4;\r
+//    private int cnRecInstName = 3;\r
+//    private int cnRecInstVer = 4;\r
     private int cnSupArch = 5;\r
     private int cnSupMod = 6;\r
     \r
+    private final int classNameMinWidth = 200;\r
+    private final int hdrFileMinWidth = 300;\r
+    private final int helpTextMinWidth = 300;\r
+    private final int supArchMinWidth = 200;\r
+    private final int supModMinWidth = 200;\r
+\r
+    private final int shortLabel = 90;\r
+    private final int longLabel = 220;\r
+    private final int labelCol = 12;\r
+    private final int shortValueCol = labelCol + shortLabel + 6;\r
+    private final int longValueCol = labelCol + longLabel + 6;\r
+    private final int longValueWidth = 347;\r
+    private final int shortWidth = 140;\r
+    private final int medWidth = 240;\r
+   \r
+    private final int buttonWidth = 99;\r
+\r
+    private final int addButtonCol = shortValueCol + 10;\r
+    private final int removeButtonCol = addButtonCol + buttonWidth + 10;\r
+    private final int removeAllButtonCol = removeButtonCol + buttonWidth + 10;\r
+\r
+    private final int rowOne = 12;\r
+    private final int rowTwo = rowOne + 25;\r
+    private final int rowThree = rowTwo + 60 + 25;\r
+    private final int rowFour = rowThree + 25;\r
+    private final int rowFive = rowFour + 40 + 25;\r
+    private final int rowSix = rowFive + 40 + 25;\r
+    private final int rowSeven = rowSix;\r
+    private final int rowEight = rowSeven + 30;\r
+\r
     HashMap<String, String> libNameGuidMap = new HashMap<String, String>();\r
 \r
 \r
@@ -156,18 +181,18 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
     }\r
 \r
     /**\r
-      This method initializes jTextFieldAdd    \r
+      This method initializes jTextFieldAddClass       \r
        \r
       @return javax.swing.JTextField   \r
      **/\r
-    private JTextField getJTextFieldClass() {\r
-        if (jTextFieldClass == null) {\r
-            jTextFieldClass = new JTextField();\r
-            jTextFieldClass.setBounds(new java.awt.Rectangle(122,6,390,20));\r
-            jTextFieldClass.setPreferredSize(new java.awt.Dimension(260,20));\r
-            jTextFieldClass.setEnabled(true);\r
+    private JTextField getJTextFieldAddClass() {\r
+        if (jTextFieldAddClass == null) {\r
+            jTextFieldAddClass = new JTextField();\r
+            jTextFieldAddClass.setBounds(new java.awt.Rectangle(shortValueCol,rowOne,longValueWidth,20));\r
+            jTextFieldAddClass.setPreferredSize(new java.awt.Dimension(longValueWidth,20));\r
+            jTextFieldAddClass.setEnabled(true);\r
         }\r
-        return jTextFieldClass;\r
+        return jTextFieldAddClass;\r
     }\r
 \r
     /**\r
@@ -187,20 +212,20 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
     }\r
 \r
     /**\r
-      This method initializes jScrollPane      \r
+      This method initializes jScrollPaneTable \r
        \r
       @return javax.swing.JScrollPane  \r
 \r
       Used for the Table of Library Classes that are provided by this package\r
 \r
      **/\r
-    private JScrollPane getJScrollPane() {\r
-        if (jScrollPane == null) {\r
-            jScrollPane = new JScrollPane();\r
-            jScrollPane.setBounds(new java.awt.Rectangle(12,351,400,253));\r
-            jScrollPane.setViewportView(getJTable());\r
+    private JScrollPane getJScrollPaneTable() {\r
+        if (jScrollPaneTable == null) {\r
+            jScrollPaneTable = new JScrollPane();\r
+            jScrollPaneTable.setBounds(new java.awt.Rectangle(labelCol,rowEight,400,253));\r
+            jScrollPaneTable.setViewportView(getJTable());\r
         }\r
-        return jScrollPane;\r
+        return jScrollPaneTable;\r
     }\r
 \r
     /**\r
@@ -225,6 +250,9 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
            \r
            jTable.getColumnModel().getColumn(cnHelpText).setCellEditor(new LongTextEditor());\r
            \r
+           jTable.removeColumn(jTable.getColumnModel().getColumn(3));\r
+           jTable.removeColumn(jTable.getColumnModel().getColumn(3));\r
+           \r
            Vector<String> vArch = new Vector<String>();\r
            vArch.add("IA32");\r
            vArch.add("X64");\r
@@ -232,7 +260,7 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
            vArch.add("EBC");\r
            vArch.add("ARM");\r
            vArch.add("PPC");\r
-           jTable.getColumnModel().getColumn(cnSupArch).setCellEditor(new ListEditor(vArch));\r
+           jTable.getColumnModel().getColumn(cnSupArch - 2).setCellEditor(new ListEditor(vArch));\r
            \r
            Vector<String> vModule = new Vector<String>();\r
            vModule.add("BASE");\r
@@ -248,8 +276,19 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
            vModule.add("UEFI_APPLICATION");\r
            vModule.add("USER_DEFINED");\r
 \r
-           jTable.getColumnModel().getColumn(cnSupMod).setCellEditor(new ListEditor(vModule));\r
-          \r
+           jTable.getColumnModel().getColumn(cnSupMod - 2).setCellEditor(new ListEditor(vModule));\r
+           \r
+           TableColumn column = jTable.getColumnModel().getColumn(this.cnClassName);\r
+           column.setMinWidth(this.classNameMinWidth);\r
+           column = jTable.getColumnModel().getColumn(this.cnHdrFile);\r
+           column.setMinWidth(this.hdrFileMinWidth);\r
+           column = jTable.getColumnModel().getColumn(this.cnHelpText);\r
+           column.setMinWidth(this.helpTextMinWidth);\r
+           column = jTable.getColumnModel().getColumn(this.cnSupArch - 2);\r
+           column.setMinWidth(this.supArchMinWidth);\r
+           column = jTable.getColumnModel().getColumn(this.cnSupMod - 2);\r
+           column.setMinWidth(this.supModMinWidth);\r
+           \r
            jTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
            jTable.getSelectionModel().addListSelectionListener(new ListSelectionListener(){\r
                public void valueChanged(ListSelectionEvent e) {\r
@@ -284,13 +323,13 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
             String hdr = m.getValueAt(row, cnHdrFile) + "";\r
             String hlp = m.getValueAt(row, cnHelpText) + "";\r
             String name = null;\r
-            if (m.getValueAt(row, cnRecInstName) != null) {\r
-                name = m.getValueAt(row, cnRecInstName).toString();\r
-            } \r
-            String ver = null;\r
-            if (m.getValueAt(row, cnRecInstVer) != null){\r
-                ver = m.getValueAt(row, cnRecInstVer).toString();\r
-            }\r
+//            if (m.getValueAt(row, cnRecInstName) != null) {\r
+//                name = m.getValueAt(row, cnRecInstName).toString();\r
+//            } \r
+//            String ver = null;\r
+//            if (m.getValueAt(row, cnRecInstVer) != null){\r
+//                ver = m.getValueAt(row, cnRecInstVer).toString();\r
+//            }\r
             String arch = null;\r
             if (m.getValueAt(row, cnSupArch) != null) {\r
                arch = m.getValueAt(row, cnSupArch).toString();\r
@@ -299,20 +338,20 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
             if (m.getValueAt(row, cnSupMod) != null) {\r
                 module = m.getValueAt(row, cnSupMod).toString();\r
             }\r
-            String[] rowData = {lib, hdr, hlp, name, ver};\r
+            String[] rowData = {lib, hdr, hlp, name};\r
             if (!dataValidation(rowData)) {\r
                 return;\r
             }\r
             \r
             String guid = null;\r
-            if (name != null && name.length() > 0) {\r
-                getLibInstances(lib);\r
-                guid = nameToGuid(name);\r
-                if (guid == null){\r
-                  JOptionPane.showMessageDialog(frame, "Recommended Instance does not exist.");\r
-                  return;\r
-                }\r
-            }\r
+//            if (name != null && name.length() > 0) {\r
+//                getLibInstances(lib);\r
+//                guid = nameToGuid(name);\r
+//                if (guid == null){\r
+//                  JOptionPane.showMessageDialog(frame, "Recommended Instance does not exist.");\r
+//                  return;\r
+//                }\r
+//            }\r
             \r
             String[] sa = new String[7];\r
             sfc.getSpdLibClassDeclaration(sa, row);\r
@@ -320,28 +359,26 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
             if (cellData == null) {\r
                 cellData = "";\r
             }\r
-            if (column == cnRecInstName) {\r
-                if (guid == null) {\r
-                    if (sa[cnRecInstName] == null) {\r
-                        return;\r
-                    }\r
-                }\r
-                else {\r
-                    if (guid.equals(sa[cnRecInstName])) {\r
-                        return;\r
-                    }\r
-                }\r
+//            if (column == cnRecInstName) {\r
+//                if (guid == null) {\r
+//                    if (sa[cnRecInstName] == null) {\r
+//                        return;\r
+//                    }\r
+//                }\r
+//                else {\r
+//                    if (guid.equals(sa[cnRecInstName])) {\r
+//                        return;\r
+//                    }\r
+//                }\r
+//            }\r
+            if (cellData.equals(sa[column])) {\r
+                return;\r
             }\r
-            else {\r
-                if (cellData.equals(sa[column])) {\r
-                    return;\r
-                }\r
-                if (cellData.toString().length() == 0 && sa[column] == null) {\r
-                    return;\r
-                }\r
+            if (cellData.toString().length() == 0 && sa[column] == null) {\r
+                return;\r
             }\r
             docConsole.setSaved(false);\r
-            sfc.updateSpdLibClass(row, lib, hdr, hlp, guid, ver, arch, module);\r
+            sfc.updateSpdLibClass(row, lib, hdr, hlp, guid, null, arch, module);\r
         }\r
     }\r
 \r
@@ -354,8 +391,8 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
         if (jButtonAdd == null) {\r
             jButtonAdd = new JButton();\r
             jButtonAdd.setText("Add");\r
-            jButtonAdd.setSize(new java.awt.Dimension(99,20));\r
-            jButtonAdd.setBounds(new java.awt.Rectangle(321,326,99,20));\r
+            jButtonAdd.setSize(new java.awt.Dimension(buttonWidth,20));\r
+            jButtonAdd.setBounds(new java.awt.Rectangle(addButtonCol,rowSeven,buttonWidth,20));\r
             jButtonAdd.addActionListener(this);\r
         }\r
         return jButtonAdd;\r
@@ -370,8 +407,8 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
         if (jButtonRemove == null) {\r
             jButtonRemove = new JButton();\r
             jButtonRemove.setText("Remove");\r
-            jButtonRemove.setSize(new java.awt.Dimension(99,20));\r
-            jButtonRemove.setBounds(new java.awt.Rectangle(424,326,99,20));\r
+            jButtonRemove.setSize(new java.awt.Dimension(buttonWidth,20));\r
+            jButtonRemove.setBounds(new java.awt.Rectangle(removeButtonCol,rowSeven,buttonWidth,20));\r
             jButtonRemove.addActionListener(this);\r
         }\r
         return jButtonRemove;\r
@@ -386,8 +423,8 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
         if (jButtonRemoveAll == null) {\r
             jButtonRemoveAll = new JButton();\r
             jButtonRemoveAll.setText("Remove All");\r
-            jButtonRemoveAll.setSize(new java.awt.Dimension(99,20));\r
-            jButtonRemoveAll.setBounds(new java.awt.Rectangle(527,326,99,20));\r
+            jButtonRemoveAll.setSize(new java.awt.Dimension(buttonWidth,20));\r
+            jButtonRemoveAll.setBounds(new java.awt.Rectangle(removeAllButtonCol,rowSeven,buttonWidth,20));\r
             jButtonRemoveAll.addActionListener(this);\r
         }\r
         return jButtonRemoveAll;\r
@@ -431,7 +468,6 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
                 }\r
             }\r
         });\r
-        initFrame();\r
     }\r
 \r
     private void init(SpdFileContents sfc) {\r
@@ -445,10 +481,10 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
         sfc.getSpdLibClassDeclarations(saa);\r
         int i = 0;\r
         while (i < saa.length) {\r
-            if (saa[i][3] != null && saa[i][3].length() > 0) {\r
-                getLibInstances(saa[i][0]);\r
-                saa[i][3] = guidToName(saa[i][3]);\r
-            }\r
+//            if (saa[i][3] != null && saa[i][3].length() > 0) {\r
+//                getLibInstances(saa[i][0]);\r
+//                saa[i][3] = guidToName(saa[i][3]);\r
+//            }\r
             \r
             model.addRow(saa[i]);\r
             i++;\r
@@ -457,7 +493,6 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
     private JScrollPane getJContentPane(){\r
         if (topScrollPane == null){\r
           topScrollPane = new JScrollPane();\r
-//          topScrollPane.setSize(new java.awt.Dimension(634,590));\r
           topScrollPane.setViewportView(getJContentPane1());\r
         }\r
         return topScrollPane;\r
@@ -470,53 +505,45 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
     private JPanel getJContentPane1() {\r
         if (jContentPane == null) {\r
             // Library Class\r
-            jStarLabel1 = new StarLabel();\r
-            jStarLabel1.setLocation(new java.awt.Point(1,7));\r
+            starLabel1 = new StarLabel();\r
+            starLabel1.setLocation(new java.awt.Point(1,rowOne));\r
             jLabel1ClassName = new JLabel();\r
-            jLabel1ClassName.setBounds(new java.awt.Rectangle(16,6,82,20));\r
+            jLabel1ClassName.setBounds(new java.awt.Rectangle(labelCol,rowOne,shortLabel,20));\r
             jLabel1ClassName.setText("Library Class");\r
 \r
             // Help Text\r
-            starLabel = new StarLabel();\r
-            starLabel.setBounds(new java.awt.Rectangle(1,33,10,20));\r
+            starLabel2 = new StarLabel();\r
+            starLabel2.setBounds(new java.awt.Rectangle(1,rowTwo,10,20));\r
             jLabel2HelpText = new JLabel();\r
-            jLabel2HelpText.setBounds(new java.awt.Rectangle(16,33,82,20));\r
+            jLabel2HelpText.setBounds(new java.awt.Rectangle(labelCol,rowTwo,shortLabel,20));\r
             jLabel2HelpText.setText("Help Text");\r
 \r
             // Header File\r
-            jStarLabel2 = new StarLabel();\r
-            jStarLabel2.setLocation(new java.awt.Point(1,74));\r
+            starLabel3 = new StarLabel();\r
+            starLabel3.setLocation(new java.awt.Point(1,rowThree));\r
             jLabelHdr = new JLabel();\r
-            jLabelHdr.setBounds(new java.awt.Rectangle(14,74,199,22));\r
+            jLabelHdr.setBounds(new java.awt.Rectangle(labelCol,rowThree,longLabel,20));\r
             jLabelHdr.setText("Include Header for Specified Class");\r
 \r
             jLabel6SupModList = new JLabel();\r
-            jLabel6SupModList.setBounds(new java.awt.Rectangle(16,252,108,16));\r
-            jLabel6SupModList.setText("Supported Module");\r
+            jLabel6SupModList.setBounds(new java.awt.Rectangle(labelCol,rowFive,longLabel,20));\r
+            jLabel6SupModList.setText("Supported Module Types");\r
             jLabel6SupModList.setEnabled(true);\r
 \r
             jLabel5SupArchList = new JLabel();\r
-            jLabel5SupArchList.setBounds(new java.awt.Rectangle(15,169,93,16));\r
-            jLabel5SupArchList.setText("Supported Arch");\r
+            jLabel5SupArchList.setBounds(new java.awt.Rectangle(labelCol,rowFour,longLabel,20));\r
+            jLabel5SupArchList.setText("Supported Architectures");\r
             jLabel5SupArchList.setEnabled(true);\r
-            jLabel4RecInstVer = new JLabel();\r
-            jLabel4RecInstVer.setBounds(new java.awt.Rectangle(16,138,196,16));\r
-            jLabel4RecInstVer.setEnabled(true);\r
-            jLabel4RecInstVer.setText("Recommended Instance Version");\r
-            jLabel3RecInstName = new JLabel();\r
-            jLabel3RecInstName.setBounds(new java.awt.Rectangle(17,112,195,16));\r
-            jLabel3RecInstName.setEnabled(true);\r
-            jLabel3RecInstName.setText("Recommended Instance Name");\r
-            \r
+\r
             jContentPane = new JPanel();\r
             jContentPane.setPreferredSize(new Dimension(680, 600));\r
             jContentPane.setLayout(null);\r
             jContentPane.add(jLabelHdr, null);\r
-            jContentPane.add(jStarLabel1, null);\r
-            jContentPane.add(jStarLabel2, null);\r
-            jContentPane.add(getJTextFieldClass(), null);\r
+            jContentPane.add(starLabel1, null);\r
+            jContentPane.add(starLabel3, null);\r
+            jContentPane.add(getJTextFieldAddClass(), null);\r
             jContentPane.add(getJComboBoxSelect(), null);\r
-            jContentPane.add(getJScrollPane(), null);\r
+            jContentPane.add(getJScrollPaneTable(), null);\r
             jContentPane.add(getJButtonAdd(), null);\r
             jContentPane.add(getJButtonRemove(), null);\r
             jContentPane.add(getJButtonRemoveAll(), null);\r
@@ -524,70 +551,21 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
             jContentPane.add(getJTextFieldHdr(), null);\r
             jContentPane.add(getJButtonBrowse(), null);\r
             jContentPane.add(jLabel1ClassName, null);\r
-            jContentPane.add(starLabel, null);\r
+            jContentPane.add(starLabel2, null);\r
             jContentPane.add(jLabel2HelpText, null);\r
-            jContentPane.add(getJTextFieldHelp(), null);\r
+            jContentPane.add(getJHelpTextScrollPane(), null);\r
 \r
-            jContentPane.add(jLabel3RecInstName, null);\r
-            jContentPane.add(getJTextField1RecInstName(), null);\r
-            jContentPane.add(jLabel4RecInstVer, null);\r
-            jContentPane.add(getJTextField2RecInstVer(), null);\r
             jContentPane.add(jLabel5SupArchList, null);\r
             jContentPane.add(jLabel6SupModList, null);\r
             \r
             jContentPane.add(getJScrollPaneModules(), null);\r
             jContentPane.add(getJScrollPane1Arch(), null);\r
-            jContentPane.add(getJComboBox(), null);\r
             \r
         }\r
         \r
         return jContentPane;\r
     }\r
 \r
-    /**\r
-     fill ComboBoxes with pre-defined contents\r
-    **/\r
-    private void initFrame() {\r
-        jComboBoxSelect.addItem("BaseCpuICacheFlush");\r
-        jComboBoxSelect.addItem("BaseDebugLibNull");\r
-        jComboBoxSelect.addItem("BaseDebugLibReportStatusCode");\r
-        jComboBoxSelect.addItem("BaseIoLibIntrinsic");\r
-        jComboBoxSelect.addItem("BaseLib");\r
-        jComboBoxSelect.addItem("BaseMemoryLib");\r
-        jComboBoxSelect.addItem("BaseMemoryLibMmx");\r
-        jComboBoxSelect.addItem("BaseMemoryLibSse2");\r
-        jComboBoxSelect.addItem("BasePeCoffGetEntryPointLib");\r
-        jComboBoxSelect.addItem("BasePeCoffLib");\r
-        jComboBoxSelect.addItem("BasePrintLib");\r
-        jComboBoxSelect.addItem("BaseReportStatusCodeLibNull");\r
-        jComboBoxSelect.addItem("CommonPciCf8Lib");\r
-        jComboBoxSelect.addItem("CommonPciExpressLib");\r
-        jComboBoxSelect.addItem("CommonPciLibCf8");\r
-        jComboBoxSelect.addItem("CommonPciLibPciExpress");\r
-        jComboBoxSelect.addItem("DxeCoreEntryPoint");\r
-        jComboBoxSelect.addItem("DxeHobLib");\r
-        jComboBoxSelect.addItem("DxeIoLibCpuIo");\r
-        jComboBoxSelect.addItem("DxeLib");\r
-        jComboBoxSelect.addItem("DxePcdLib");\r
-        jComboBoxSelect.addItem("DxeReportStatusCodeLib");\r
-        jComboBoxSelect.addItem("DxeServicesTableLib");\r
-        jComboBoxSelect.addItem("PeiCoreEntryPoint");\r
-        jComboBoxSelect.addItem("PeiMemoryLib");\r
-        jComboBoxSelect.addItem("PeimEntryPoint");\r
-        jComboBoxSelect.addItem("PeiReportStatusCodeLib");\r
-        jComboBoxSelect.addItem("PeiServicesTablePointerLib");\r
-        jComboBoxSelect.addItem("PeiServicesTablePointerLibMm7");\r
-        jComboBoxSelect.addItem("UefiDebugLibConOut");\r
-        jComboBoxSelect.addItem("UefiDebugLibStdErr");\r
-        jComboBoxSelect.addItem("UefiDriverEntryPointMultiple");\r
-        jComboBoxSelect.addItem("UefiDriverEntryPointSingle");\r
-        jComboBoxSelect.addItem("UefiDriverEntryPointSingleUnload");\r
-        jComboBoxSelect.addItem("UefiDriverModelLib");\r
-        jComboBoxSelect.addItem("UefiDriverModelLibNoConfigNoDiag");\r
-        jComboBoxSelect.addItem("UefiLib");\r
-        jComboBoxSelect.addItem("UefiMemoryLib");\r
-\r
-    }\r
 \r
     /* (non-Javadoc)\r
      * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)\r
@@ -599,11 +577,11 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
             //ToDo: check before add\r
             // LAH WAS String[] row = {null, null, null, jComboBox.getSelectedItem()+"", jTextField2RecInstVer.getText(), null, null};\r
             String[] row = {null, null, null, null, null, null, null};\r
-            row[cnClassName] = jTextFieldClass.getText();\r
+            row[cnClassName] = jTextFieldAddClass.getText();\r
             row[cnHdrFile] = jTextFieldHdr.getText().replace('\\', '/');\r
-            row[cnHelpText] = jTextFieldHelp.getText();\r
-            row[cnRecInstName] = jComboBox.getSelectedItem()+"";\r
-            row[cnRecInstVer] = jTextField2RecInstVer.getText();\r
+            row[cnHelpText] = jTextAreaHelp.getText();\r
+//            row[cnRecInstName] = jComboBox.getSelectedItem()+"";\r
+//            row[cnRecInstVer] = jTextField2RecInstVer.getText();\r
             row[cnSupArch] = vectorToString(iCheckBoxListArch.getAllCheckedItemsString());\r
             if (row[cnSupArch].length() == 0) {\r
                 row[cnSupArch] = null;\r
@@ -618,19 +596,19 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
             //\r
             //convert to GUID before storing recommended lib instance.\r
             //\r
-            getLibInstances(row[cnClassName]);\r
-            String recommendGuid = nameToGuid(row[cnRecInstName]);\r
-            if (row[cnRecInstName].equals("null")) {\r
-                row[cnRecInstName] = null;\r
-            }\r
-            else{\r
-                if (recommendGuid == null) {\r
-                  JOptionPane.showMessageDialog(frame, "Recommended Instance does not exist.");\r
-                  return;\r
-                }\r
-            }\r
-\r
-            sfc.genSpdLibClassDeclarations(row[cnClassName], recommendGuid, row[cnHdrFile], row[cnHelpText], row[cnSupArch], null, null, row[cnRecInstVer], null, row[cnSupMod]);\r
+//            getLibInstances(row[cnClassName]);\r
+//            String recommendGuid = nameToGuid(row[cnRecInstName]);\r
+//            if (row[cnRecInstName].equals("null")) {\r
+//                row[cnRecInstName] = null;\r
+//            }\r
+//            else{\r
+//                if (recommendGuid == null) {\r
+//                  JOptionPane.showMessageDialog(frame, "Recommended Instance does not exist.");\r
+//                  return;\r
+//                }\r
+//            }\r
+\r
+            sfc.genSpdLibClassDeclarations(row[cnClassName], null, row[cnHdrFile], row[cnHelpText], row[cnSupArch], null, null, null, null, row[cnSupMod]);\r
             model.addRow(row);\r
             jTable.changeSelection(model.getRowCount()-1, 0, false, false);\r
             docConsole.setSaved(false);\r
@@ -673,17 +651,17 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
             JOptionPane.showMessageDialog(frame, "Help Text must be entered!");\r
             return false;\r
         }\r
-        if (row[cnRecInstVer] != null && row[cnRecInstVer].length() > 0) {\r
-            if (row[cnRecInstName] == null || row[cnRecInstName].length() == 0) {\r
-                JOptionPane.showMessageDialog(frame, "Recommended Instance Version must associate with the Instance Name.");\r
-                return false;\r
-            }\r
-            \r
-            if (!DataValidation.isVersionDataType(row[cnRecInstVer])) {\r
-                JOptionPane.showMessageDialog(frame, "Recommended Instance Version does not match Version datatype.");\r
-                return false;\r
-            }\r
-        }\r
+//        if (row[cnRecInstVer] != null && row[cnRecInstVer].length() > 0) {\r
+//            if (row[cnRecInstName] == null || row[cnRecInstName].length() == 0) {\r
+//                JOptionPane.showMessageDialog(frame, "Recommended Instance Version must associate with the Instance Name.");\r
+//                return false;\r
+//            }\r
+//            \r
+//            if (!DataValidation.isVersionDataType(row[cnRecInstVer])) {\r
+//                JOptionPane.showMessageDialog(frame, "Recommended Instance Version does not match Version datatype.");\r
+//                return false;\r
+//            }\r
+//        }\r
         return true;\r
     }\r
     /**\r
@@ -701,8 +679,9 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
     private JTextField getJTextFieldHdr() {\r
         if (jTextFieldHdr == null) {\r
             jTextFieldHdr = new JTextField();\r
-            jTextFieldHdr.setBounds(new java.awt.Rectangle(218,75,305,21));\r
-            jTextFieldHdr.setPreferredSize(new java.awt.Dimension(260,20));\r
+            jTextFieldHdr.setPreferredSize(new java.awt.Dimension(shortWidth,20));\r
+            jTextFieldHdr.setLocation(new java.awt.Point(longValueCol,rowThree));\r
+            jTextFieldHdr.setSize(new java.awt.Dimension(shortWidth,20));\r
         }\r
         return jTextFieldHdr;\r
     }\r
@@ -715,7 +694,7 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
     private JButton getJButtonBrowse() {\r
         if (jButtonBrowse == null) {\r
             jButtonBrowse = new JButton();\r
-            jButtonBrowse.setBounds(new java.awt.Rectangle(527,75,90,20));\r
+            jButtonBrowse.setBounds(new java.awt.Rectangle(longValueCol + shortWidth + 7,rowThree,90,20));\r
             jButtonBrowse.setText("Browse");\r
             jButtonBrowse.setPreferredSize(new java.awt.Dimension(99,20));\r
             jButtonBrowse.addActionListener(new AbstractAction() {\r
@@ -766,59 +745,50 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
     public void componentResized(ComponentEvent arg0) {\r
         int intPreferredWidth = 500;\r
         \r
-        Tools.resizeComponentWidth(this.jTextFieldClass, this.getWidth(), intPreferredWidth);\r
-        Tools.resizeComponentWidth(this.jTextFieldHelp, this.getWidth(), intPreferredWidth);\r
-        Tools.resizeComponentWidth(this.jScrollPane, this.getWidth(), intPreferredWidth-10);\r
-        \r
-    }\r
-    /**\r
-     * This method initializes jTextFieldHelp  \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(122,33,390,20));\r
-            jTextFieldHelp.setPreferredSize(new java.awt.Dimension(260,20));\r
-        }\r
-        return jTextFieldHelp;\r
+        Tools.resizeComponentWidth(this.jTextFieldAddClass, this.getWidth(), intPreferredWidth-28);\r
+        Tools.resizeComponentWidth(this.jHelpTextScrollPane, this.getWidth(), intPreferredWidth-28);\r
+        Tools.resizeComponentWidth(this.jScrollPaneTable, this.getWidth(), intPreferredWidth-10);\r
+        Tools.resizeComponentWidth(this.jTextFieldHdr, this.getWidth(), intPreferredWidth - 7);\r
+        Tools.relocateComponentX(this.jButtonBrowse, this.getWidth(), intPreferredWidth,\r
+                                  DataType.SPACE_TO_RIGHT_FOR_GENERATE_BUTTON); \r
     }\r
 \r
     /**\r
-     * This method initializes jTextField1RecInstName  \r
-     *         \r
-     * @return javax.swing.JTextField  \r
+     * This method initializes jHelpTextScrollPane\r
+     *\r
+     * @return javax.swing.JScrollPane jHelpTextScrollPane\r
      */\r
-    private JTextField getJTextField1RecInstName() {\r
-        if (jTextField1RecInstName == null) {\r
-            jTextField1RecInstName = new JTextField();\r
-            jTextField1RecInstName.setBounds(new java.awt.Rectangle(218,110,291,20));\r
-            jTextField1RecInstName.setEnabled(true);\r
-            jTextField1RecInstName.setVisible(false);\r
+    private JScrollPane getJHelpTextScrollPane() {\r
+        if (jHelpTextScrollPane == null) {\r
+            jHelpTextScrollPane = new JScrollPane();\r
+            jHelpTextScrollPane.setHorizontalScrollBarPolicy(javax.swing.JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);\r
+            jHelpTextScrollPane.setPreferredSize(new java.awt.Dimension(longValueWidth, 80));\r
+            jHelpTextScrollPane.setSize(new java.awt.Dimension(longValueWidth, 80));\r
+            jHelpTextScrollPane.setLocation(new java.awt.Point(shortValueCol,rowTwo));\r
+            jHelpTextScrollPane.setViewportView(getJTextAreaHelp());\r
         }\r
-        return jTextField1RecInstName;\r
+        return jHelpTextScrollPane;\r
     }\r
 \r
     /**\r
-     * This method initializes jTextField2RecInstVer   \r
+     * This method initializes jTextAreaHelp   \r
      *         \r
-     * @return javax.swing.JTextField  \r
+     * @return javax.swing.JTextArea   \r
      */\r
-    private JTextField getJTextField2RecInstVer() {\r
-        if (jTextField2RecInstVer == null) {\r
-            jTextField2RecInstVer = new JTextField();\r
-            jTextField2RecInstVer.setBounds(new java.awt.Rectangle(218,135,292,20));\r
-            jTextField2RecInstVer.setEnabled(true);\r
+    private JTextArea getJTextAreaHelp() {\r
+        if (jTextAreaHelp == null) {\r
+            jTextAreaHelp = new JTextArea();\r
+            jTextAreaHelp.setLineWrap(true);\r
+            jTextAreaHelp.setWrapStyleWord(true);\r
         }\r
-        return jTextField2RecInstVer;\r
+        return jTextAreaHelp;\r
     }\r
 \r
     private JScrollPane getJScrollPaneModules() {\r
         if (jScrollPaneModules == null) {\r
             jScrollPaneModules = new JScrollPane();\r
-            jScrollPaneModules.setBounds(new java.awt.Rectangle(218,245,293,73));\r
-            jScrollPaneModules.setPreferredSize(new java.awt.Dimension(320, 80));\r
+            jScrollPaneModules.setBounds(new java.awt.Rectangle(longValueCol,rowFive,medWidth,60));\r
+            jScrollPaneModules.setPreferredSize(new java.awt.Dimension(medWidth, 60));\r
             jScrollPaneModules.setViewportView(getICheckBoxListSupportedModules());\r
         }\r
         return jScrollPaneModules;\r
@@ -827,7 +797,7 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
     private ICheckBoxList getICheckBoxListSupportedModules() {\r
         if (iCheckBoxListModules == null) {\r
             iCheckBoxListModules = new ICheckBoxList();\r
-            iCheckBoxListModules.setBounds(new java.awt.Rectangle(218,246,292,73));\r
+            iCheckBoxListModules.setBounds(new java.awt.Rectangle(longValueCol,rowFour,medWidth,60));\r
             Vector<String> v = new Vector<String>();\r
             v.add("BASE");\r
             v.add("SEC");\r
@@ -858,8 +828,8 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
     private JScrollPane getJScrollPane1Arch() {\r
         if (jScrollPane1Arch == null) {\r
             jScrollPane1Arch = new JScrollPane();\r
-            jScrollPane1Arch.setBounds(new java.awt.Rectangle(218,170,293,73));\r
-            jScrollPane1Arch.setPreferredSize(new java.awt.Dimension(320, 80));\r
+            jScrollPane1Arch.setBounds(new java.awt.Rectangle(longValueCol,rowFour,medWidth,60));\r
+            jScrollPane1Arch.setPreferredSize(new java.awt.Dimension(medWidth, 60));\r
             jScrollPane1Arch.setViewportView(getICheckBoxListArch());\r
         }\r
         return jScrollPane1Arch;\r
@@ -872,7 +842,7 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
     private ICheckBoxList getICheckBoxListArch() {\r
         if (iCheckBoxListArch == null) {\r
             iCheckBoxListArch = new ICheckBoxList();\r
-            iCheckBoxListArch.setBounds(new java.awt.Rectangle(218,171,292,66));\r
+            iCheckBoxListArch.setBounds(new java.awt.Rectangle(longValueCol,rowFour,medWidth,60));\r
             Vector<String> v = new Vector<String>();\r
             v.add("IA32");\r
             v.add("X64");\r
@@ -885,83 +855,53 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
         return iCheckBoxListArch;\r
     }\r
 \r
-    /**\r
-     * This method initializes jComboBox       \r
-     *         \r
-     * @return javax.swing.JComboBox   \r
-     */\r
-    private JComboBox getJComboBox() {\r
-        if (jComboBox == null) {\r
-            jComboBox = new JComboBox();\r
-            jComboBox.setPreferredSize(new java.awt.Dimension(31,20));\r
-            jComboBox.setSize(new java.awt.Dimension(290,20));\r
-            jComboBox.setLocation(new java.awt.Point(218,111));\r
-            jComboBox.addFocusListener(new java.awt.event.FocusAdapter() {\r
-                public void focusGained(java.awt.event.FocusEvent e) {\r
-                    if (jTextFieldClass.getText().length() == 0) {\r
-                        return;\r
-                    }\r
-                    jComboBox.removeAllItems();\r
-                    getLibInstances(jTextFieldClass.getText());\r
-                    Set<String> libNames = libNameGuidMap.keySet();\r
-                    Iterator<String> si = libNames.iterator();\r
-                    while(si.hasNext()) {\r
-                        jComboBox.addItem(si.next());\r
-                    }\r
-                }\r
-            });\r
-         \r
-        }\r
-        return jComboBox;\r
-    }\r
-\r
-    private void getLibInstances(String libClass){\r
-        libNameGuidMap.clear();\r
-        try {\r
-                Iterator ismi = GlobalData.vModuleList.iterator();\r
-                while (ismi.hasNext()) {\r
-                    ModuleIdentification mi = (ModuleIdentification) ismi.next();\r
-                    \r
-                    Vector<String> classProduced = SurfaceAreaQuery.getLibraryClasses("ALWAYS_PRODUCED", mi);\r
-                    for (int i = 0; i < classProduced.size(); ++i) {\r
-                        if (classProduced.get(i).equals(libClass)) {\r
-                            libNameGuidMap.put(mi.getName(), mi.getGuid());\r
-                        }\r
-                    }\r
-                }\r
-           \r
-        }\r
-        catch(Exception e){\r
-            JOptionPane.showMessageDialog(frame, "Search Instances Failed.");\r
-        }\r
-        \r
-    }\r
-\r
-    private String nameToGuid(String name) {\r
-        String s = null;\r
-        if (!libNameGuidMap.containsKey(name)) {\r
-            return s;\r
-        }\r
-        \r
-        s = libNameGuidMap.get(name);\r
-        return s;\r
-    }\r
+//    private void getLibInstances(String libClass){\r
+//        libNameGuidMap.clear();\r
+//        try {\r
+//                Iterator ismi = GlobalData.vModuleList.iterator();\r
+//                while (ismi.hasNext()) {\r
+//                    ModuleIdentification mi = (ModuleIdentification) ismi.next();\r
+//                    \r
+//                    Vector<String> classProduced = SurfaceAreaQuery.getLibraryClasses("ALWAYS_PRODUCED", mi);\r
+//                    for (int i = 0; i < classProduced.size(); ++i) {\r
+//                        if (classProduced.get(i).equals(libClass)) {\r
+//                            libNameGuidMap.put(mi.getName(), mi.getGuid());\r
+//                        }\r
+//                    }\r
+//                }\r
+//           \r
+//        }\r
+//        catch(Exception e){\r
+//            JOptionPane.showMessageDialog(frame, "Search Instances Failed.");\r
+//        }\r
+//        \r
+//    }\r
+\r
+//    private String nameToGuid(String name) {\r
+//        String s = null;\r
+//        if (!libNameGuidMap.containsKey(name)) {\r
+//            return s;\r
+//        }\r
+//        \r
+//        s = libNameGuidMap.get(name);\r
+//        return s;\r
+//    }\r
     \r
-    private String guidToName(String guid){\r
-        String s = "";\r
-        if (!libNameGuidMap.containsValue(guid)) {\r
-            return s;\r
-        }\r
-        Set<String> key = libNameGuidMap.keySet();\r
-        Iterator<String> is = key.iterator();\r
-        while(is.hasNext()) {\r
-            s = is.next();\r
-            if (libNameGuidMap.get(s).equals(guid)) {\r
-                break;\r
-            }\r
-        }\r
-        return s;\r
-    }\r
+//    private String guidToName(String guid){\r
+//        String s = "";\r
+//        if (!libNameGuidMap.containsValue(guid)) {\r
+//            return s;\r
+//        }\r
+//        Set<String> key = libNameGuidMap.keySet();\r
+//        Iterator<String> is = key.iterator();\r
+//        while(is.hasNext()) {\r
+//            s = is.next();\r
+//            if (libNameGuidMap.get(s).equals(guid)) {\r
+//                break;\r
+//            }\r
+//        }\r
+//        return s;\r
+//    }\r
 \r
 }\r
 \r