]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdModuleSA.java
Restructuring for better separation of Tool packages.
[mirror_edk2.git] / Tools / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / platform / ui / FpdModuleSA.java
diff --git a/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdModuleSA.java b/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdModuleSA.java
deleted file mode 100644 (file)
index 6ddf7cc..0000000
+++ /dev/null
@@ -1,1663 +0,0 @@
-package org.tianocore.frameworkwizard.platform.ui;\r
-\r
-import java.awt.BorderLayout;\r
-import java.awt.Dimension;\r
-import java.awt.Toolkit;\r
-\r
-import javax.swing.DefaultCellEditor;\r
-import javax.swing.JFrame;\r
-import javax.swing.JOptionPane;\r
-import javax.swing.JPanel;\r
-import javax.swing.JDialog;\r
-import javax.swing.JTabbedPane;\r
-import javax.swing.JLabel;\r
-import javax.swing.JScrollPane;\r
-import javax.swing.JTable;\r
-import javax.swing.JTextArea;\r
-import javax.swing.JSplitPane;\r
-import javax.swing.JButton;\r
-import javax.swing.ListSelectionModel;\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.TableModel;\r
-\r
-import org.tianocore.frameworkwizard.common.DataValidation;\r
-import org.tianocore.frameworkwizard.common.GlobalData;\r
-import org.tianocore.frameworkwizard.common.IDefaultTableModel;\r
-import org.tianocore.frameworkwizard.common.Identifications.OpeningPlatformType;\r
-import org.tianocore.frameworkwizard.platform.ui.global.WorkspaceProfile;\r
-import org.tianocore.frameworkwizard.platform.ui.global.SurfaceAreaQuery;\r
-import org.tianocore.frameworkwizard.module.Identifications.ModuleIdentification;\r
-import org.tianocore.frameworkwizard.packaging.PackageIdentification;\r
-\r
-import java.awt.FlowLayout;\r
-import java.awt.event.ActionEvent;\r
-import java.awt.event.ActionListener;\r
-import java.util.ArrayList;\r
-import java.util.HashMap;\r
-import java.util.Iterator;\r
-import java.util.ListIterator;\r
-import java.util.Vector;\r
-\r
-import javax.swing.JTextField;\r
-import java.awt.GridLayout;\r
-import javax.swing.JComboBox;\r
-\r
-public class FpdModuleSA extends JDialog implements ActionListener {\r
-\r
-    /**\r
-     * \r
-     */\r
-    private static final long serialVersionUID = 1L;\r
-    static JFrame frame;\r
-    private JPanel jContentPane = null;\r
-    private JTabbedPane jTabbedPane = null;\r
-    private JPanel jPanelPcd = null;\r
-    private JPanel jPanelLibrary = null;\r
-    private JLabel jLabelPcdData = null;\r
-    private JScrollPane jScrollPaneTablePcd = null;\r
-    private JTable jTablePcd = null;\r
-    private JPanel jPanelPcdSouth = null;\r
-    private JScrollPane jScrollPanePcdHelp = null;\r
-    private JTextArea jTextAreaPcdHelp = null;\r
-    private JPanel jPanelContentPaneSouth = null;\r
-    private JSplitPane jSplitPane = null;\r
-    private JPanel jPanelLibraryLeft = null;\r
-    private JPanel jPanelLibraryRight = null;\r
-    private JLabel jLabelLibClass = null;\r
-    private JLabel jLabelQualifiedInstance = null;\r
-    private JScrollPane jScrollPaneSelectedInstances = null;\r
-    private JTable jTableSelectedInstances = null;\r
-    private JScrollPane jScrollPaneLibClass = null;\r
-    private JTable jTableLibClass = null;\r
-    private JScrollPane jScrollPaneQualifiedInstance = null;\r
-    private JTable jTableLibInstances = null;\r
-    private JPanel jPanelLibrarySouth = null;\r
-    private JPanel jPanelLibraryCenter = null;\r
-    private JScrollPane jScrollPaneInstanceHelp = null;\r
-    private JTextArea jTextAreaInstanceHelp = null;\r
-    private JLabel jLabelSelectedInstances = null;\r
-    private JLabel jLabelInstanceHelp = null;\r
-    private JButton jButtonAdd = null;\r
-    private JButton jButtonDeleteInstance = null;\r
-    private JLabel jLabelPcdHelp = null;\r
-    private JButton jButtonOk = null;\r
-    private JButton jButtonCancel = null;\r
-    private IDefaultTableModel model = null;\r
-    private IDefaultTableModel selectedInstancesTableModel = null;\r
-    private IDefaultTableModel libClassTableModel = null;\r
-    private IDefaultTableModel libInstanceTableModel = null;\r
-    private DefaultTableModel optionsTableModel = null;\r
-    private FpdFileContents ffc = null;\r
-    private String moduleKey = null;\r
-    private int moduleSaNum = -1;\r
-    private HashMap<String, ArrayList<String>> classInstanceMap = null;\r
-    private ArrayList<String> classProduced = null;\r
-    private HashMap<String, ArrayList<String>> classConsumed = null;\r
-    private JPanel jPanelModuleSaOpts = null;\r
-    private JLabel jLabelFvBinding = null;\r
-    private JTextField jTextFieldFvBinding = null;\r
-    private JLabel jLabelFfsFileGuid = null;\r
-    private JTextField jTextFieldFileGuid = null;\r
-    private JLabel jLabelFfsFormatKey = null;\r
-    private JTextField jTextFieldFfsKey = null;\r
-    private JScrollPane jScrollPaneModuleSaOptions = null;\r
-    private JTable jTableModuleSaOptions = null;\r
-    private JButton jButtonNew = null;\r
-    private JButton jButtonDeleteOption = null;\r
-    private JPanel jPanelPcdFields = null;\r
-    private JPanel jPanelPcdFieldsSecondRow = null;\r
-    private JPanel jPanelPcdFieldsThirdRow = null;\r
-    private JPanel jPanelPcdFieldsFirstRow = null;\r
-    private JLabel jLabelItemType = null;\r
-    private JComboBox jComboBoxItemType = null;\r
-    private JLabel jLabelMaxDatumSize = null;\r
-    private JTextField jTextFieldMaxDatumSize = null;\r
-    private JLabel jLabelPcdDefaultValue = null;\r
-    private JTextField jTextFieldPcdDefault = null;\r
-    private JButton jButtonUpdatePcd = null;\r
-    private JComboBox jComboBoxFeatureFlagValue = null;\r
-    private OpeningPlatformType docConsole = null;\r
-    private JPanel jPanelCustomToolChain = null;\r
-    private JPanel jPanelToolchainS = null;\r
-    private JPanel jPanelLibraryCenterN = null;\r
-    private JPanel jPanelLibraryCenterC = null;  //  @jve:decl-index=0:visual-constraint="20,224"\r
-    /**\r
-     * This is the default constructor\r
-     */\r
-    public FpdModuleSA() {\r
-        super();\r
-        initialize();\r
-    }\r
-    public FpdModuleSA(FpdFileContents ffc) {\r
-        this();\r
-        this.ffc = ffc;\r
-    }\r
-    \r
-    public void setKey(String k, int i, OpeningPlatformType dc){\r
-        this.moduleKey = k;\r
-        moduleSaNum = i;\r
-        this.docConsole = dc;\r
-        classProduced = null;\r
-        classConsumed = null;\r
-        jTabbedPane.setSelectedIndex(0);\r
-        initPcdBuildDefinition(i);\r
-    }\r
-\r
-    /**\r
-      init will be called each time FpdModuleSA object is to be shown.\r
-      @param key Module information.\r
-     **/\r
-    public void initPcdBuildDefinition(int i) {\r
-        //\r
-        // display pcd for key.\r
-        //\r
-        model.setRowCount(0);\r
-        jTextAreaPcdHelp.setText("");\r
-        jComboBoxItemType.setSelectedIndex(-1);\r
-        jTextFieldMaxDatumSize.setText("");\r
-        jTextFieldPcdDefault.setText("");\r
-        int pcdCount = ffc.getPcdDataCount(i);\r
-        if (pcdCount != 0) {\r
-            String[][] saa = new String[pcdCount][7];\r
-            ffc.getPcdData(i, saa);\r
-            for (int j = 0; j < saa.length; ++j) {\r
-                model.addRow(saa[j]);\r
-            }\r
-        }\r
-    }\r
-    \r
-    public void initLibraries(String key) {\r
-        //\r
-        // display library classes that need to be resolved. also potential instances for them.\r
-        //\r
-        resolveLibraryInstances(moduleKey);\r
-        //\r
-        // display lib instances already selected for key\r
-        //\r
-        selectedInstancesTableModel.setRowCount(0);\r
-        int instanceCount = ffc.getLibraryInstancesCount(key);\r
-        if (instanceCount != 0) {\r
-            String[][] saa = new String[instanceCount][5];\r
-            ffc.getLibraryInstances(key, saa);\r
-            for (int i = 0; i < saa.length; ++i) {\r
-                ModuleIdentification mi = WorkspaceProfile.getModuleId(saa[i][1] + " " + saa[i][2] + " " + saa[i][3] + " " + saa[i][4]);\r
-                if (mi != null) {\r
-                    saa[i][0] = mi.getName();\r
-                    saa[i][2] = mi.getVersion();\r
-                    saa[i][4] = mi.getPackageId().getVersion();\r
-                    //\r
-                    // re-evaluate lib instance usage when adding a already-selected lib instance.\r
-                    //\r
-                    resolveLibraryInstances(saa[i][1] + " " + saa[i][2] + " " + saa[i][3] + " " + saa[i][4]);\r
-                    selectedInstancesTableModel.addRow(saa[i]);\r
-                }\r
-            }\r
-        }\r
-        showClassToResolved();\r
-    }\r
-    \r
-    public void initFvInfo (String key) {\r
-        //\r
-        // display module SA options\r
-        //\r
-        jTextFieldFvBinding.setText("");\r
-        String fvBinding = ffc.getFvBinding(key);\r
-        if (fvBinding != null) {\r
-            jTextFieldFvBinding.setText(fvBinding);\r
-        }\r
-        jTextFieldFileGuid.setText("");\r
-        String fileGuid = ffc.getFfsFileNameGuid(key);\r
-        if (fileGuid != null) {\r
-            jTextFieldFileGuid.setText(fileGuid);\r
-        }\r
-        jTextFieldFfsKey.setText("");\r
-        String ffsKey = ffc.getFfsFormatKey(key);\r
-        if (ffsKey != null) {\r
-            jTextFieldFfsKey.setText(ffsKey);\r
-        }\r
-    }\r
-    \r
-    public void initToolChainOptions(String key) {\r
-        \r
-        optionsTableModel.setRowCount(0);\r
-        String[][] saa = new String[ffc.getModuleSAOptionsCount(key)][6];\r
-        ffc.getModuleSAOptions(key, saa);\r
-        for (int i = 0; i < saa.length; ++i) {\r
-            optionsTableModel.addRow(saa[i]);\r
-        }\r
-    }\r
-    \r
-    private void resolveLibraryInstances(String key) {\r
-        ModuleIdentification mi = WorkspaceProfile.getModuleId(key);\r
-        PackageIdentification[] depPkgList = null;\r
-        try{\r
-            //\r
-            // Get dependency pkg list into which we will search lib instances.\r
-            //\r
-            depPkgList = SurfaceAreaQuery.getDependencePkg(null, mi);\r
-            //\r
-            // Get the lib class consumed, produced by this module itself.\r
-            //\r
-            Vector<String> vClassConsumed = SurfaceAreaQuery.getLibraryClasses("ALWAYS_CONSUMED", mi);\r
-            \r
-            if (this.classConsumed == null) {\r
-                this.classConsumed = new HashMap<String, ArrayList<String>>();\r
-            }\r
-            \r
-            for(int i = 0; i < vClassConsumed.size(); ++i){\r
-                ArrayList<String> consumedBy = this.classConsumed.get(vClassConsumed.get(i));\r
-                if (consumedBy == null) {\r
-                    consumedBy = new ArrayList<String>();\r
-                }\r
-                consumedBy.add(key);\r
-                this.classConsumed.put(vClassConsumed.get(i), consumedBy);\r
-            }\r
-            \r
-            Vector<String> vClassProduced = SurfaceAreaQuery.getLibraryClasses("ALWAYS_PRODUCED", mi);\r
-            if (this.classProduced == null) {\r
-                this.classProduced = new ArrayList<String>();\r
-            }\r
-            for(int i = 0; i < vClassProduced.size(); ++i){\r
-                if (!this.classProduced.contains(vClassProduced.get(i))){\r
-                    this.classProduced.add(vClassProduced.get(i));\r
-                }\r
-            }\r
-            \r
-            //\r
-            // find potential instances in all dependency pkgs for classes still in classConsumed.\r
-            //\r
-            if (classInstanceMap == null){\r
-                classInstanceMap = new HashMap<String, ArrayList<String>>();\r
-            }\r
-            Iterator<String> lic = this.classConsumed.keySet().iterator();\r
-            while(lic.hasNext()){\r
-                String cls = lic.next();\r
-                if (this.classProduced.contains(cls) || classInstanceMap.containsKey(cls)) {\r
-                    continue;\r
-                }\r
-                ArrayList<String> instances = getInstancesForClass(cls, depPkgList);\r
-                if (instances.size() == 0){\r
-                    JOptionPane.showMessageDialog(frame, "No Applicable Instance for Library Class " + \r
-                                                  cls + ", Platform Build will Fail.");\r
-                }\r
-                classInstanceMap.put(cls, instances);\r
-                \r
-            }\r
-            \r
-//            showClassToResolved();\r
-        }\r
-        catch(Exception e) {\r
-            e.printStackTrace();\r
-        }\r
-    }\r
-    \r
-    private ArrayList<String> getInstancesForClass(String cls, PackageIdentification[] depPkgList) throws Exception{\r
-        ArrayList<String> al = new ArrayList<String>();\r
-        \r
-//        for (int i = 0; i < depPkgList.length; ++i) {\r
-            Iterator ismi = GlobalData.vModuleList.iterator();\r
-            while(ismi.hasNext()) {\r
-                ModuleIdentification mi = (ModuleIdentification)ismi.next();\r
-//                if (!mi.getPackageId().getGuid().equalsIgnoreCase(depPkgList[i].getGuid())) {\r
-//                    continue;\r
-//                }\r
-                String[] clsProduced = getClassProduced(mi);\r
-                \r
-                boolean isPotential = false;\r
-                for (int j = 0; j < clsProduced.length; ++j) {\r
-                    if (clsProduced[j] == null) {\r
-                        continue;\r
-                    }\r
-                    if (clsProduced[j].equals(cls)){\r
-                        isPotential = true;\r
-                    }\r
-                    if (classProduced.contains(clsProduced[j])) {\r
-                        isPotential = false;\r
-                        break;\r
-                    }\r
-                }\r
-                if (isPotential) {\r
-                    al.add(mi.getGuid() + " " + mi.getVersion() + " " + \r
-                           mi.getPackageId().getGuid() + " " + mi.getPackageId().getVersion());\r
-                }\r
-            }\r
-//        }\r
-        \r
-        return al;\r
-    }\r
-    \r
-    private void removeInstance(String key) {\r
-        ModuleIdentification mi = WorkspaceProfile.getModuleId(key); \r
-        //\r
-        // remove pcd information of instance from current ModuleSA\r
-        //\r
-        ffc.removePcdData(moduleKey, mi);\r
-        //\r
-        // remove class produced by this instance and add back these produced class to be bound.\r
-        //\r
-        String[] clsProduced = getClassProduced(mi);\r
-        for (int i = 0; i < clsProduced.length; ++i) {\r
-            \r
-            classProduced.remove(clsProduced[i]);\r
-        }\r
-        //\r
-        // remove class consumed by this instance. we do not need to bound it now.\r
-        //\r
-        String[] clsConsumed = getClassConsumed(mi);\r
-        for (int i = 0; i < clsConsumed.length; ++i) {\r
-            ArrayList<String> al = classConsumed.get(clsConsumed[i]);\r
-            \r
-            if (al == null ) {\r
-                classConsumed.remove(clsConsumed[i]);\r
-                continue;\r
-            }\r
-            al.remove(key);\r
-            if (al.size() == 0) {\r
-                classConsumed.remove(clsConsumed[i]);\r
-            }\r
-           \r
-        }\r
-\r
-        showClassToResolved();\r
-        \r
-    }\r
-    \r
-    \r
-    private String[] getClassProduced(ModuleIdentification mi){\r
-        \r
-        try{\r
-            Vector<String> clsProduced = SurfaceAreaQuery.getLibraryClasses("ALWAYS_PRODUCED", mi);\r
-            String[] sClassProduced = new String[clsProduced.size()];\r
-            for (int i = 0; i < clsProduced.size(); ++i) {\r
-                sClassProduced[i] = clsProduced.get(i);\r
-            }\r
-            return sClassProduced;\r
-            \r
-        }catch (Exception e) {\r
-            e.printStackTrace();\r
-        }\r
-        return new String[0];\r
-        \r
-    }\r
-    \r
-    private String[] getClassConsumed(ModuleIdentification mi){\r
-        \r
-        try{\r
-            Vector<String> clsConsumed = SurfaceAreaQuery.getLibraryClasses("ALWAYS_CONSUMED", mi);\r
-            String[] sClassConsumed = new String[clsConsumed.size()];\r
-            for (int i = 0; i < clsConsumed.size(); ++i) {\r
-                sClassConsumed[i] = clsConsumed.get(i);\r
-            }\r
-            return sClassConsumed;\r
-        }catch (Exception e) {\r
-            e.printStackTrace();\r
-        }\r
-        return new String[0];\r
-    }\r
-    \r
-    private void showClassToResolved(){\r
-        libClassTableModel.setRowCount(0);\r
-        if (classConsumed.size() == 0) {\r
-            return;\r
-        }\r
-        Iterator<String> li = classConsumed.keySet().iterator();\r
-        while(li.hasNext()){\r
-            \r
-            String[] s = {li.next()};\r
-//            if (classConsumed.get(s[0]) == null) {\r
-//                continue;\r
-//            }\r
-//            if (classConsumed.get(s[0]).size() == 0) {\r
-//                continue;\r
-//            }\r
-            if (!classProduced.contains(s[0])){\r
-                libClassTableModel.addRow(s);\r
-            }\r
-        }\r
-        libInstanceTableModel.setRowCount(0);\r
-    }\r
-    \r
-    private void addLibInstance (ModuleIdentification libMi) throws Exception{\r
-        \r
-        //\r
-        // Add pcd information of selected instance to current moduleSA\r
-        //\r
-        ffc.addFrameworkModulesPcdBuildDefs(libMi, null, ffc.getModuleSA(moduleKey));\r
-        \r
-        ffc.genLibraryInstance(libMi, moduleKey);\r
-    }\r
-    /**\r
-     * This method initializes this\r
-     * \r
-     * @return void\r
-     */\r
-    private void initialize() {\r
-        this.setSize(877, 555);\r
-        this.setResizable(false);\r
-        this.centerWindow();\r
-        this.setModal(true);\r
-        this.setTitle("Module Settings");\r
-        this.setContentPane(getJContentPane());\r
-    }\r
-\r
-    /**\r
-     * This method initializes jContentPane\r
-     * \r
-     * @return javax.swing.JPanel\r
-     */\r
-    private JPanel getJContentPane() {\r
-        if (jContentPane == null) {\r
-            jContentPane = new JPanel();\r
-            jContentPane.setLayout(new BorderLayout());\r
-            jContentPane.add(getJTabbedPane(), java.awt.BorderLayout.CENTER);\r
-            jContentPane.add(getJPanelContentPaneSouth(), java.awt.BorderLayout.SOUTH);\r
-        }\r
-        return jContentPane;\r
-    }\r
-\r
-    /**\r
-     * This method initializes jTabbedPane     \r
-     *         \r
-     * @return javax.swing.JTabbedPane \r
-     */\r
-    private JTabbedPane getJTabbedPane() {\r
-        if (jTabbedPane == null) {\r
-            jTabbedPane = new JTabbedPane();\r
-            jTabbedPane.addTab("PCD Build Definition", null, getJPanelPcd(), null);\r
-            jTabbedPane.addTab("Libraries", null, getJPanelLibrary(), null);\r
-            jTabbedPane.addTab("FV Info", null, getJPanelModuleSaOpts(), null);\r
-            jTabbedPane.addTab("Custom Toolchain", null, getJPanelCustomToolChain(), null);\r
-            \r
-        }\r
-        return jTabbedPane;\r
-    }\r
-\r
-    /**\r
-     * This method initializes jPanelPcd\r
-     *         \r
-     * @return javax.swing.JPanel      \r
-     */\r
-    private JPanel getJPanelPcd() {\r
-        if (jPanelPcd == null) {\r
-            jLabelPcdData = new JLabel();\r
-            jLabelPcdData.setText(" PCD Data");\r
-            jPanelPcd = new JPanel();\r
-            jPanelPcd.setLayout(new BorderLayout());\r
-            jPanelPcd.add(jLabelPcdData, java.awt.BorderLayout.NORTH);\r
-            jPanelPcd.add(getJScrollPaneTablePcd(), java.awt.BorderLayout.CENTER);\r
-            jPanelPcd.add(getJPanelPcdSouth(), java.awt.BorderLayout.SOUTH);\r
-            jPanelPcd.addComponentListener(new java.awt.event.ComponentAdapter() {\r
-                public void componentShown(java.awt.event.ComponentEvent e) {\r
-                    initPcdBuildDefinition(moduleSaNum);\r
-                }\r
-            });\r
-            \r
-        }\r
-        return jPanelPcd;\r
-    }\r
-\r
-    /**\r
-     * This method initializes jPanelLibrary\r
-     *         \r
-     * @return javax.swing.JPanel      \r
-     */\r
-    private JPanel getJPanelLibrary() {\r
-        if (jPanelLibrary == null) {\r
-            jPanelLibrary = new JPanel();\r
-            jPanelLibrary.setLayout(new BorderLayout());\r
-            jPanelLibrary.add(getJSplitPane(), java.awt.BorderLayout.NORTH);\r
-            jPanelLibrary.add(getJPanelLibrarySouth(), java.awt.BorderLayout.SOUTH);\r
-            jPanelLibrary.add(getJPanelLibraryCenter(), java.awt.BorderLayout.CENTER);\r
-            jPanelLibrary.addComponentListener(new java.awt.event.ComponentAdapter() {\r
-                public void componentShown(java.awt.event.ComponentEvent e) {\r
-                    initLibraries(moduleKey);\r
-                }\r
-            });\r
-        }\r
-        return jPanelLibrary;\r
-    }\r
-\r
-    /**\r
-     * This method initializes jScrollPaneTablePcd\r
-     *         \r
-     * @return javax.swing.JScrollPane \r
-     */\r
-    private JScrollPane getJScrollPaneTablePcd() {\r
-        if (jScrollPaneTablePcd == null) {\r
-            jScrollPaneTablePcd = new JScrollPane();\r
-            jScrollPaneTablePcd.setViewportView(getJTablePcd());\r
-        }\r
-        return jScrollPaneTablePcd;\r
-    }\r
-\r
-    /**\r
-     * This method initializes jTable  \r
-     *         \r
-     * @return javax.swing.JTable      \r
-     */\r
-    private JTable getJTablePcd() {\r
-        if (jTablePcd == null) {\r
-            model = new IDefaultTableModel();\r
-            jTablePcd = new JTable(model);\r
-            jTablePcd.setRowHeight(20);\r
-            jTablePcd.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_ALL_COLUMNS);\r
-            model.addColumn("CName");\r
-            model.addColumn("TokenSpaceGUID");\r
-            model.addColumn("ItemType");\r
-            model.addColumn("Token");\r
-            model.addColumn("MaxDatumSize");\r
-            model.addColumn("DataType");\r
-            model.addColumn("DefaultValue");\r
-                        \r
-            jTablePcd.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
-            jTablePcd.getSelectionModel().addListSelectionListener(new ListSelectionListener(){\r
-                public void valueChanged(ListSelectionEvent e) {\r
-                    \r
-                    if (e.getValueIsAdjusting()){\r
-                        return;\r
-                    }\r
-                    ListSelectionModel lsm = (ListSelectionModel)e.getSource();\r
-                    if (lsm.isSelectionEmpty()) {\r
-                        return;\r
-                    }\r
-                    else{\r
-                        int selectedRow = lsm.getMinSelectionIndex();\r
-                        String cName = model.getValueAt(selectedRow, 0)+"";\r
-                        String tsGuid = model.getValueAt(selectedRow, 1)+"";\r
-                        String itemType = model.getValueAt(selectedRow, 2)+"";\r
-                        //\r
-                        // array for pcd related information: helpText, itemType, moduleType.\r
-                        //\r
-                        String[] pcdInfo = {"", "", ""};\r
-                        getPcdInfo(cName, tsGuid, pcdInfo);\r
-                        jTextAreaPcdHelp.setText(pcdInfo[0]);\r
-                        initComboBox(pcdInfo[1], pcdInfo[2]);\r
-                        jComboBoxItemType.setSelectedItem(itemType);\r
-                        jTextFieldMaxDatumSize.setEnabled(true);\r
-                        jTextFieldMaxDatumSize.setVisible(true);\r
-                        jTextFieldMaxDatumSize.setText(jTablePcd.getValueAt(selectedRow, 4)+"");\r
-                        jTextFieldPcdDefault.setEnabled(true);\r
-                        jTextFieldPcdDefault.setText(jTablePcd.getValueAt(selectedRow, 6)+"");\r
-                        if (model.getValueAt(selectedRow, 5).equals("VOID*")) {\r
-                            if (pcdInfo[1].equals("FEATURE_FLAG")) {\r
-                                jTextFieldMaxDatumSize.setVisible(false);\r
-                            }\r
-                            else if (pcdInfo[1].equals("FIXED_AT_BUILD")) {\r
-                                try{\r
-                                    jTextFieldMaxDatumSize.setEnabled(false);\r
-                                    jTextFieldMaxDatumSize.setText(ffc.setMaxSizeForPointer(jTablePcd.getValueAt(selectedRow, 6)+"")+"");\r
-                                }\r
-                                catch(Exception except){\r
-                                    JOptionPane.showMessageDialog(frame, "Unacceptable PCD Value: " + except.getMessage());\r
-                                }\r
-                            }\r
-                            else{\r
-                                jTextFieldMaxDatumSize.setText(jTablePcd.getValueAt(selectedRow, 4)+"");\r
-                            }\r
-                        }\r
-                        else {\r
-                            jTextFieldMaxDatumSize.setEnabled(false);\r
-                        }\r
-                        \r
-                        if (!model.getValueAt(selectedRow, 2).equals("DYNAMIC") && !model.getValueAt(selectedRow, 2).equals("DYNAMIC_EX")) {\r
-                            jTextFieldPcdDefault.setText(model.getValueAt(selectedRow, 6)+"");\r
-                            if (model.getValueAt(selectedRow, 2).equals("FEATURE_FLAG")){\r
-                                jTextFieldPcdDefault.setVisible(false);\r
-                                jComboBoxFeatureFlagValue.setVisible(true);\r
-                                jComboBoxFeatureFlagValue.setSelectedItem(model.getValueAt(selectedRow, 6)+"");\r
-                            }\r
-                            else{\r
-                                jTextFieldPcdDefault.setVisible(true);\r
-                                jTextFieldPcdDefault.setEnabled(true);\r
-                                jComboBoxFeatureFlagValue.setVisible(false);\r
-                            }\r
-                        }\r
-                        else{\r
-                            jTextFieldPcdDefault.setEnabled(false);\r
-                        }\r
-                    }\r
-                    \r
-                    \r
-                }\r
-            });\r
-            \r
-        }\r
-        return jTablePcd;\r
-    }\r
-    \r
-    private void initComboBox(String originalType, String mType) {\r
-        jComboBoxItemType.removeAllItems();\r
-        jComboBoxItemType.addItem(originalType);\r
-        if (originalType.equals("PATCHABLE_IN_MODULE") && mType.equalsIgnoreCase("false")) {\r
-            jComboBoxItemType.addItem("FIXED_AT_BUILD");\r
-        }\r
-        if (originalType.equals("DYNAMIC")) {\r
-            jComboBoxItemType.addItem("FIXED_AT_BUILD");\r
-            jComboBoxItemType.addItem("PATCHABLE_IN_MODULE");\r
-        }\r
-    }\r
-    \r
-    private void getPcdInfo(String cName, String tsGuid, String[] sa) {\r
-        String[][] saa = new String[ffc.getLibraryInstancesCount(moduleKey)][5];\r
-        ffc.getLibraryInstances(moduleKey, saa);\r
-        \r
-        try{\r
-            if (ffc.getPcdBuildDataInfo(WorkspaceProfile.getModuleId(moduleKey), cName, tsGuid, sa)) {\r
-                return;\r
-            }\r
-            for (int j = 0; j < saa.length; ++j) {\r
-                if (ffc.getPcdBuildDataInfo(WorkspaceProfile.getModuleId(saa[j][1] + " " + saa[j][2] + " " + saa[j][3] + " " + saa[j][4]),\r
-                                            cName, tsGuid, sa)) {\r
-                    return;\r
-                }\r
-            }\r
-        }\r
-        catch(Exception e) {\r
-            JOptionPane.showMessageDialog(this, "Get PCD details fail: " + e.getMessage());\r
-        }\r
-    }\r
-\r
-    /**\r
-     * This method initializes jPanelPcdSouth\r
-     *         \r
-     * @return javax.swing.JPanel      \r
-     */\r
-    private JPanel getJPanelPcdSouth() {\r
-        if (jPanelPcdSouth == null) {\r
-            jLabelPcdHelp = new JLabel();\r
-            jLabelPcdHelp.setText("PCD Description");\r
-            jPanelPcdSouth = new JPanel();\r
-            jPanelPcdSouth.setPreferredSize(new java.awt.Dimension(607,200));\r
-            jPanelPcdSouth.add(jLabelPcdHelp, null);\r
-            jPanelPcdSouth.add(getJScrollPanePcdHelp(), null);\r
-            jPanelPcdSouth.add(getJPanelPcdFields(), null);\r
-        }\r
-        return jPanelPcdSouth;\r
-    }\r
-\r
-    /**\r
-     * This method initializes jScrollPanePcdHelp\r
-     *         \r
-     * @return javax.swing.JScrollPane \r
-     */\r
-    private JScrollPane getJScrollPanePcdHelp() {\r
-        if (jScrollPanePcdHelp == null) {\r
-            jScrollPanePcdHelp = new JScrollPane();\r
-            jScrollPanePcdHelp.setPreferredSize(new java.awt.Dimension(500,100));\r
-            jScrollPanePcdHelp.setViewportView(getJTextAreaPcdHelp());\r
-        }\r
-        return jScrollPanePcdHelp;\r
-    }\r
-\r
-    /**\r
-     * This method initializes jTextAreaPcdHelp\r
-     *         \r
-     * @return javax.swing.JTextArea   \r
-     */\r
-    private JTextArea getJTextAreaPcdHelp() {\r
-        if (jTextAreaPcdHelp == null) {\r
-            jTextAreaPcdHelp = new JTextArea();\r
-            jTextAreaPcdHelp.setEditable(false);\r
-        }\r
-        return jTextAreaPcdHelp;\r
-    }\r
-\r
-    /**\r
-     * This method initializes jPanelContentPaneSouth\r
-     *         \r
-     * @return javax.swing.JPanel      \r
-     */\r
-    private JPanel getJPanelContentPaneSouth() {\r
-        if (jPanelContentPaneSouth == null) {\r
-            FlowLayout flowLayout = new FlowLayout();\r
-            flowLayout.setAlignment(java.awt.FlowLayout.RIGHT);\r
-            jPanelContentPaneSouth = new JPanel();\r
-            jPanelContentPaneSouth.setLayout(flowLayout);\r
-            jPanelContentPaneSouth.add(getJButtonOk(), null);\r
-            jPanelContentPaneSouth.add(getJButtonCancel(), null);\r
-        }\r
-        return jPanelContentPaneSouth;\r
-    }\r
-\r
-    /**\r
-     * This method initializes jSplitPane      \r
-     *         \r
-     * @return javax.swing.JSplitPane  \r
-     */\r
-    private JSplitPane getJSplitPane() {\r
-        if (jSplitPane == null) {\r
-            jSplitPane = new JSplitPane();\r
-            jSplitPane.setDividerLocation(200);\r
-            jSplitPane.setLeftComponent(getJPanelLibraryLeft());\r
-            jSplitPane.setRightComponent(getJPanelLibraryRight());\r
-            jSplitPane.setPreferredSize(new java.awt.Dimension(202,200));\r
-        }\r
-        return jSplitPane;\r
-    }\r
-\r
-    /**\r
-     * This method initializes jPanelLibraryLeft\r
-     *         \r
-     * @return javax.swing.JPanel      \r
-     */\r
-    private JPanel getJPanelLibraryLeft() {\r
-        if (jPanelLibraryLeft == null) {\r
-            jLabelLibClass = new JLabel();\r
-            jLabelLibClass.setText("Library Classes Uninstantiated");\r
-            jPanelLibraryLeft = new JPanel();\r
-            jPanelLibraryLeft.add(jLabelLibClass, null);\r
-            jPanelLibraryLeft.add(getJScrollPaneLibClass(), null);\r
-        }\r
-        return jPanelLibraryLeft;\r
-    }\r
-\r
-    /**\r
-     * This method initializes jPanelLibraryRight\r
-     *         \r
-     * @return javax.swing.JPanel      \r
-     */\r
-    private JPanel getJPanelLibraryRight() {\r
-        if (jPanelLibraryRight == null) {\r
-            jLabelQualifiedInstance = new JLabel();\r
-            jLabelQualifiedInstance.setText("Instances Available");\r
-            jPanelLibraryRight = new JPanel();\r
-            jPanelLibraryRight.add(jLabelQualifiedInstance, null);\r
-            jPanelLibraryRight.add(getJScrollPaneQualifiedInstance(), null);\r
-        }\r
-        return jPanelLibraryRight;\r
-    }\r
-\r
-    /**\r
-     * This method initializes jScrollPaneSelectedInstances\r
-     *         \r
-     * @return javax.swing.JScrollPane \r
-     */\r
-    private JScrollPane getJScrollPaneSelectedInstances() {\r
-        if (jScrollPaneSelectedInstances == null) {\r
-            jScrollPaneSelectedInstances = new JScrollPane();\r
-            jScrollPaneSelectedInstances.setPreferredSize(new java.awt.Dimension(600,150));\r
-            jScrollPaneSelectedInstances.setViewportView(getJTableSelectedInstances());\r
-        }\r
-        return jScrollPaneSelectedInstances;\r
-    }\r
-\r
-    /**\r
-     * This method initializes jTableSelectedInstances\r
-     *         \r
-     * @return javax.swing.JTable      \r
-     */\r
-    private JTable getJTableSelectedInstances() {\r
-        if (jTableSelectedInstances == null) {\r
-            selectedInstancesTableModel = new IDefaultTableModel();\r
-            selectedInstancesTableModel.addColumn("Name");\r
-            selectedInstancesTableModel.addColumn("ModuleGUID");\r
-            selectedInstancesTableModel.addColumn("ModuleVersion");\r
-            selectedInstancesTableModel.addColumn("PackageGUID");\r
-            selectedInstancesTableModel.addColumn("PackageVersion");\r
-            jTableSelectedInstances = new JTable(selectedInstancesTableModel);\r
-            jTableSelectedInstances.setRowHeight(20);\r
-            jTableSelectedInstances.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS);\r
-            jTableSelectedInstances.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
-            \r
-        }\r
-        return jTableSelectedInstances;\r
-    }\r
-\r
-    /**\r
-     * This method initializes jScrollPaneLibClass\r
-     *         \r
-     * @return javax.swing.JScrollPane \r
-     */\r
-    private JScrollPane getJScrollPaneLibClass() {\r
-        if (jScrollPaneLibClass == null) {\r
-            jScrollPaneLibClass = new JScrollPane();\r
-            jScrollPaneLibClass.setPreferredSize(new java.awt.Dimension(200,170));\r
-            jScrollPaneLibClass.setViewportView(getJTableLibClass());\r
-        }\r
-        return jScrollPaneLibClass;\r
-    }\r
-\r
-    /**\r
-     * This method initializes jTableLibClass\r
-     *         \r
-     * @return javax.swing.JTable      \r
-     */\r
-    private JTable getJTableLibClass() {\r
-        if (jTableLibClass == null) {\r
-            libClassTableModel = new IDefaultTableModel();\r
-            libClassTableModel.addColumn("LibraryClass");\r
-            jTableLibClass = new JTable(libClassTableModel);\r
-            jTableLibClass.setRowHeight(20);\r
-            jTableLibClass.setShowGrid(false);\r
-            jTableLibClass.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
-            jTableLibClass.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
-                        int selectedRow2 = lsm.getMinSelectionIndex();\r
-                        if (selectedRow2 < 0) {\r
-                            return;\r
-                        }\r
-                        //\r
-                        // display potential lib instances according to class selection\r
-                        //\r
-                        libInstanceTableModel.setRowCount(0);\r
-                        String cls = libClassTableModel.getValueAt(selectedRow2, 0).toString();\r
-                        ArrayList<String> al = classInstanceMap.get(cls);\r
-                        ListIterator<String> li = al.listIterator();\r
-                        while(li.hasNext()) {\r
-                            String instance = li.next();\r
-                            String[] s = {"", "", "", "", ""};\r
-                            if (WorkspaceProfile.getModuleId(instance) != null) {\r
-                                s[0] = WorkspaceProfile.getModuleId(instance).getName();\r
-                            }\r
-                            \r
-                            String[] instancePart = instance.split(" ");\r
-                            for (int i = 0; i < instancePart.length; ++i){\r
-                                s[i+1] = instancePart[i];\r
-                            }\r
-                            libInstanceTableModel.addRow(s);\r
-                        }\r
-                        \r
-                    }\r
-                }\r
-            });\r
-        }\r
-        return jTableLibClass;\r
-    }\r
-\r
-    /**\r
-     * This method initializes jScrollPaneQualifiedInstance\r
-     *         \r
-     * @return javax.swing.JScrollPane \r
-     */\r
-    private JScrollPane getJScrollPaneQualifiedInstance() {\r
-        if (jScrollPaneQualifiedInstance == null) {\r
-            jScrollPaneQualifiedInstance = new JScrollPane();\r
-            jScrollPaneQualifiedInstance.setPreferredSize(new java.awt.Dimension(600,170));\r
-            jScrollPaneQualifiedInstance.setViewportView(getJTableLibInstances());\r
-        }\r
-        return jScrollPaneQualifiedInstance;\r
-    }\r
-\r
-    /**\r
-     * This method initializes jTableLibInstances\r
-     *         \r
-     * @return javax.swing.JTable      \r
-     */\r
-    private JTable getJTableLibInstances() {\r
-        if (jTableLibInstances == null) {\r
-            libInstanceTableModel = new IDefaultTableModel();\r
-            libInstanceTableModel.addColumn("Name");\r
-            libInstanceTableModel.addColumn("ModuleGUID");\r
-            libInstanceTableModel.addColumn("ModuleVersion");\r
-            libInstanceTableModel.addColumn("PackageGUID");\r
-            libInstanceTableModel.addColumn("PackageVersion");\r
-            jTableLibInstances = new JTable(libInstanceTableModel);\r
-            jTableLibInstances.setRowHeight(20);\r
-            jTableLibInstances.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS);\r
-            jTableLibInstances.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
-            \r
-        }\r
-        return jTableLibInstances;\r
-    }\r
-\r
-    /**\r
-     * This method initializes jPanelLibrarySouth\r
-     *         \r
-     * @return javax.swing.JPanel      \r
-     */\r
-    private JPanel getJPanelLibrarySouth() {\r
-        if (jPanelLibrarySouth == null) {\r
-            jPanelLibrarySouth = new JPanel();\r
-        }\r
-        return jPanelLibrarySouth;\r
-    }\r
-\r
-    /**\r
-     * This method initializes jPanelLibraryCenter\r
-     *         \r
-     * @return javax.swing.JPanel      \r
-     */\r
-    private JPanel getJPanelLibraryCenter() {\r
-        if (jPanelLibraryCenter == null) {\r
-            jLabelInstanceHelp = new JLabel();\r
-            jLabelInstanceHelp.setText("Instance Description");\r
-            jLabelSelectedInstances = new JLabel();\r
-            jLabelSelectedInstances.setText("Selected Instances");\r
-            jPanelLibraryCenter = new JPanel();\r
-            jPanelLibraryCenter.setLayout(new BorderLayout());\r
-\r
-            jPanelLibraryCenter.add(getJPanelLibraryCenterC(), java.awt.BorderLayout.CENTER);\r
-            jPanelLibraryCenter.add(getJPanelLibraryCenterN(), java.awt.BorderLayout.NORTH);\r
-\r
-        }\r
-        return jPanelLibraryCenter;\r
-    }\r
-\r
-    /**\r
-     * This method initializes jScrollPaneInstanceHelp\r
-     *         \r
-     * @return javax.swing.JScrollPane \r
-     */\r
-    private JScrollPane getJScrollPaneInstanceHelp() {\r
-        if (jScrollPaneInstanceHelp == null) {\r
-            jScrollPaneInstanceHelp = new JScrollPane();\r
-            jScrollPaneInstanceHelp.setPreferredSize(new java.awt.Dimension(400,50));\r
-            jScrollPaneInstanceHelp.setViewportView(getJTextAreaInstanceHelp());\r
-        }\r
-        return jScrollPaneInstanceHelp;\r
-    }\r
-\r
-    /**\r
-     * This method initializes jTextAreaInstanceHelp\r
-     *         \r
-     * @return javax.swing.JTextArea   \r
-     */\r
-    private JTextArea getJTextAreaInstanceHelp() {\r
-        if (jTextAreaInstanceHelp == null) {\r
-            jTextAreaInstanceHelp = new JTextArea();\r
-            jTextAreaInstanceHelp.setEditable(false);\r
-        }\r
-        return jTextAreaInstanceHelp;\r
-    }\r
-\r
-    /**\r
-     * This method initializes jButtonAdd\r
-     *         \r
-     * @return javax.swing.JButton     \r
-     */\r
-    private JButton getJButtonAdd() {\r
-        if (jButtonAdd == null) {\r
-            jButtonAdd = new JButton();\r
-            jButtonAdd.setPreferredSize(new java.awt.Dimension(80,20));\r
-            jButtonAdd.setText("Add");\r
-            jButtonAdd.addActionListener(new java.awt.event.ActionListener() {\r
-                public void actionPerformed(java.awt.event.ActionEvent e) {\r
-                    int row = jTableLibInstances.getSelectedRow();\r
-                    if (row < 0) {\r
-                        return;\r
-                    }\r
-                    \r
-                    String instanceValue = libInstanceTableModel.getValueAt(row, 1) + " " +\r
-                    libInstanceTableModel.getValueAt(row, 2) + " " +\r
-                    libInstanceTableModel.getValueAt(row, 3) + " " +\r
-                    libInstanceTableModel.getValueAt(row, 4);\r
-                    ModuleIdentification libMi = WorkspaceProfile.getModuleId(instanceValue);\r
-                    try {\r
-                        addLibInstance (libMi);\r
-                    }\r
-                    catch (Exception exception) {\r
-                        JOptionPane.showMessageDialog(frame, "Adding Instance" + libMi.getName() + ": "+ exception.getMessage());\r
-                        return;\r
-                    }\r
-                    docConsole.setSaved(false);\r
-                    Object[] s = {libInstanceTableModel.getValueAt(row, 0), libInstanceTableModel.getValueAt(row, 1),\r
-                                  libInstanceTableModel.getValueAt(row, 2), libInstanceTableModel.getValueAt(row, 3),\r
-                                  libInstanceTableModel.getValueAt(row, 4)};\r
-                    selectedInstancesTableModel.addRow(s);\r
-                    resolveLibraryInstances(instanceValue);\r
-                    showClassToResolved();\r
-                }\r
-            });\r
-        }\r
-        return jButtonAdd;\r
-    }\r
-\r
-    /**\r
-     * This method initializes jButton1\r
-     *         \r
-     * @return javax.swing.JButton     \r
-     */\r
-    private JButton getJButtonDeleteInstance() {\r
-        if (jButtonDeleteInstance == null) {\r
-            jButtonDeleteInstance = new JButton();\r
-            jButtonDeleteInstance.setPreferredSize(new java.awt.Dimension(80,20));\r
-            jButtonDeleteInstance.setText("Delete");\r
-            jButtonDeleteInstance.addActionListener(new java.awt.event.ActionListener() {\r
-                public void actionPerformed(java.awt.event.ActionEvent e) {\r
-                    int row = jTableSelectedInstances.getSelectedRow();\r
-                    if (row < 0) {\r
-                        return;\r
-                    }\r
-                    docConsole.setSaved(false);\r
-                    removeInstance(selectedInstancesTableModel.getValueAt(row, 1) + " " +\r
-                                   selectedInstancesTableModel.getValueAt(row, 2) + " " +\r
-                                   selectedInstancesTableModel.getValueAt(row, 3) + " " +\r
-                                   selectedInstancesTableModel.getValueAt(row, 4));\r
-                    ffc.removeLibraryInstance(moduleKey, row);\r
-                    selectedInstancesTableModel.removeRow(row);\r
-                    \r
-                }\r
-            });\r
-        }\r
-        return jButtonDeleteInstance;\r
-    }\r
-\r
-    /**\r
-     * This method initializes jButton2        \r
-     *         \r
-     * @return javax.swing.JButton     \r
-     */\r
-    private JButton getJButtonOk() {\r
-        if (jButtonOk == null) {\r
-            jButtonOk = new JButton();\r
-            jButtonOk.setPreferredSize(new java.awt.Dimension(80,20));\r
-            jButtonOk.setText("Ok");\r
-            jButtonOk.addActionListener(this);\r
-        }\r
-        return jButtonOk;\r
-    }\r
-\r
-    /**\r
-     * This method initializes jButton3        \r
-     *         \r
-     * @return javax.swing.JButton     \r
-     */\r
-    private JButton getJButtonCancel() {\r
-        if (jButtonCancel == null) {\r
-            jButtonCancel = new JButton();\r
-            jButtonCancel.setPreferredSize(new java.awt.Dimension(80,20));\r
-            jButtonCancel.setText("Cancel");\r
-            jButtonCancel.setVisible(false);\r
-        }\r
-        return jButtonCancel;\r
-    }\r
-    public void actionPerformed(ActionEvent arg0) {\r
-\r
-        if (arg0.getSource() == jButtonOk) {\r
-            if (jTableModuleSaOptions.isEditing()) {\r
-                jTableModuleSaOptions.getCellEditor().stopCellEditing();\r
-            }\r
-            this.setVisible(false);\r
-        }\r
-    }\r
-    /**\r
-     * This method initializes jPanelModuleSaOpts\r
-     *         \r
-     * @return javax.swing.JPanel      \r
-     */\r
-    private JPanel getJPanelModuleSaOpts() {\r
-        if (jPanelModuleSaOpts == null) {\r
-            FlowLayout flowLayout4 = new FlowLayout();\r
-            flowLayout4.setAlignment(java.awt.FlowLayout.LEFT);\r
-            jLabelFfsFormatKey = new JLabel();\r
-            jLabelFfsFormatKey.setText("FFS Format Key");\r
-            jLabelFfsFormatKey.setPreferredSize(new java.awt.Dimension(90,16));\r
-            jLabelFfsFileGuid = new JLabel();\r
-            jLabelFfsFileGuid.setText("FFS File GUID");\r
-            jLabelFfsFileGuid.setPreferredSize(new java.awt.Dimension(90,16));\r
-            jLabelFfsFileGuid.setVisible(false);\r
-            jLabelFvBinding = new JLabel();\r
-            jLabelFvBinding.setText("FV Binding");\r
-            jLabelFvBinding.setPreferredSize(new java.awt.Dimension(90,16));\r
-            jPanelModuleSaOpts = new JPanel();\r
-            jPanelModuleSaOpts.setLayout(flowLayout4);\r
-            jPanelModuleSaOpts.add(jLabelFvBinding, null);\r
-            jPanelModuleSaOpts.add(getJTextFieldFvBinding(), null);\r
-            jPanelModuleSaOpts.add(jLabelFfsFileGuid, null);\r
-            jPanelModuleSaOpts.add(getJTextFieldFileGuid(), null);\r
-            jPanelModuleSaOpts.add(jLabelFfsFormatKey, null);\r
-            jPanelModuleSaOpts.add(getJTextFieldFfsKey(), null);\r
-            jPanelModuleSaOpts.addComponentListener(new java.awt.event.ComponentAdapter() {\r
-                public void componentShown(java.awt.event.ComponentEvent e) {\r
-                    initFvInfo(moduleKey);\r
-                }\r
-            });\r
-        }\r
-        return jPanelModuleSaOpts;\r
-    }\r
-    /**\r
-     * This method initializes jTextField      \r
-     *         \r
-     * @return javax.swing.JTextField  \r
-     */\r
-    private JTextField getJTextFieldFvBinding() {\r
-        if (jTextFieldFvBinding == null) {\r
-            jTextFieldFvBinding = new JTextField();\r
-            jTextFieldFvBinding.setPreferredSize(new java.awt.Dimension(400,20));\r
-            jTextFieldFvBinding.setEditable(true);\r
-            jTextFieldFvBinding.addFocusListener(new java.awt.event.FocusAdapter() {\r
-                public void focusLost(java.awt.event.FocusEvent e) {\r
-                    String originalFvBinding = ffc.getFvBinding(moduleKey);\r
-                    String newFvBinding = jTextFieldFvBinding.getText();\r
-                    if (newFvBinding.equals(originalFvBinding)) {\r
-                        return;\r
-                    }\r
-                    if (newFvBinding.length() == 0 && originalFvBinding == null) {\r
-                        return;\r
-                    }\r
-                    docConsole.setSaved(false);\r
-                    ffc.setFvBinding(moduleKey, newFvBinding);\r
-                }\r
-            });\r
-            \r
-        }\r
-        return jTextFieldFvBinding;\r
-    }\r
-    /**\r
-     * This method initializes jTextField1     \r
-     *         \r
-     * @return javax.swing.JTextField  \r
-     */\r
-    private JTextField getJTextFieldFileGuid() {\r
-        if (jTextFieldFileGuid == null) {\r
-            jTextFieldFileGuid = new JTextField();\r
-            jTextFieldFileGuid.setPreferredSize(new java.awt.Dimension(300,20));\r
-            jTextFieldFileGuid.setVisible(false);\r
-            jTextFieldFileGuid.addFocusListener(new java.awt.event.FocusAdapter() {\r
-                public void focusLost(java.awt.event.FocusEvent e) {\r
-                    String originalFileGuid = ffc.getFfsFileNameGuid(moduleKey);\r
-                    String newFileGuid = jTextFieldFileGuid.getText();\r
-                    if (newFileGuid.equals(originalFileGuid)) {\r
-                        return;\r
-                    }\r
-                    if (newFileGuid.length() == 0 && originalFileGuid == null) {\r
-                        return;\r
-                    }\r
-                    if (newFileGuid.length() > 0) {\r
-                        if (!DataValidation.isGuid(newFileGuid)) {\r
-                            JOptionPane.showMessageDialog(frame, "FFS File Guid is NOT GUID Type.");\r
-                            return;\r
-                        }\r
-                    }\r
-                    \r
-                    docConsole.setSaved(false);\r
-                    if (newFileGuid.length() == 0) {\r
-                        newFileGuid = null;\r
-                    }\r
-                    ffc.setFfsFileNameGuid(moduleKey, newFileGuid);\r
-                }\r
-            });\r
-            \r
-        }\r
-        return jTextFieldFileGuid;\r
-    }\r
-    /**\r
-     * This method initializes jTextFieldFfsKey        \r
-     *         \r
-     * @return javax.swing.JTextField  \r
-     */\r
-    private JTextField getJTextFieldFfsKey() {\r
-        if (jTextFieldFfsKey == null) {\r
-            jTextFieldFfsKey = new JTextField();\r
-            jTextFieldFfsKey.setPreferredSize(new java.awt.Dimension(250,20));\r
-            jTextFieldFfsKey.addFocusListener(new java.awt.event.FocusAdapter() {\r
-                public void focusLost(java.awt.event.FocusEvent e) {\r
-                    String originalFfsKey = ffc.getFfsFormatKey(moduleKey);\r
-                    String newFfsKey = jTextFieldFfsKey.getText();\r
-                    if (newFfsKey.equals(originalFfsKey)) {\r
-                        return;\r
-                    }\r
-                    if (newFfsKey.length() == 0 && originalFfsKey == null) {\r
-                        return;\r
-                    }\r
-                    docConsole.setSaved(false);\r
-                    ffc.setFfsFormatKey(moduleKey, newFfsKey);\r
-                }\r
-            });\r
-            \r
-        }\r
-        return jTextFieldFfsKey;\r
-    }\r
-    /**\r
-     * This method initializes jScrollPaneModuleSaOptions\r
-     *         \r
-     * @return javax.swing.JScrollPane \r
-     */\r
-    private JScrollPane getJScrollPaneModuleSaOptions() {\r
-        if (jScrollPaneModuleSaOptions == null) {\r
-            jScrollPaneModuleSaOptions = new JScrollPane();\r
-            jScrollPaneModuleSaOptions.setPreferredSize(new java.awt.Dimension(600,350));\r
-            jScrollPaneModuleSaOptions.setViewportView(getJTableModuleSaOptions());\r
-        }\r
-        return jScrollPaneModuleSaOptions;\r
-    }\r
-    /**\r
-     * This method initializes jTableModuleSaOptions\r
-     *         \r
-     * @return javax.swing.JTable      \r
-     */\r
-    private JTable getJTableModuleSaOptions() {\r
-        if (jTableModuleSaOptions == null) {\r
-            optionsTableModel = new DefaultTableModel();\r
-            optionsTableModel.addColumn("BuildTargets");\r
-            optionsTableModel.addColumn("ToolChainFamily");\r
-            optionsTableModel.addColumn("TagName");\r
-            optionsTableModel.addColumn("ToolCode");\r
-            optionsTableModel.addColumn("SupportedArchs");\r
-            optionsTableModel.addColumn("Contents");\r
-            jTableModuleSaOptions = new JTable(optionsTableModel);\r
-            jTableModuleSaOptions.setRowHeight(20);\r
-            \r
-//            javax.swing.table.TableColumn toolFamilyCol = jTableModuleSaOptions.getColumnModel().getColumn(1);\r
-//            JComboBox cb = new JComboBox();\r
-//            cb.addItem("MSFT");\r
-//            cb.addItem("GCC");\r
-//            cb.addItem("CYGWIN");\r
-//            cb.addItem("INTEL");\r
-//            cb.addItem("USER_DEFINED");\r
-//            toolFamilyCol.setCellEditor(new DefaultCellEditor(cb));\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
-            jTableModuleSaOptions.getColumnModel().getColumn(4).setCellEditor(new ListEditor(vArch));\r
-            \r
-            jTableModuleSaOptions.getColumnModel().getColumn(5).setCellEditor(new LongTextEditor());\r
-            \r
-            jTableModuleSaOptions.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
-                       jTableModuleSaOptions.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF);\r
-            jTableModuleSaOptions.getModel().addTableModelListener(new TableModelListener() {\r
-                public void tableChanged(TableModelEvent arg0) {\r
-                    // TODO Auto-generated method stub\r
-                    int row = arg0.getFirstRow();\r
-                    TableModel m = (TableModel)arg0.getSource();\r
-                    \r
-                    if (arg0.getType() == TableModelEvent.UPDATE){\r
-                        //ToDo Data Validition check.\r
-                        String targets = m.getValueAt(row, 0) + "";\r
-                        Vector<Object> targetName = null;\r
-                        if (targets.length() > 0) {\r
-                            targetName = new Vector<Object>();\r
-                            String[] sArray = targets.split(" ");\r
-                            for (int i = 0; i < sArray.length; ++i) {\r
-                                targetName.add(sArray[i]);\r
-                            }\r
-                        }\r
-                        \r
-                        String toolChain = m.getValueAt(row, 1) + "";\r
-                        String tagName = m.getValueAt(row, 2) + "";\r
-                        String toolCode = m.getValueAt(row, 3) + "";\r
-                        String archs = m.getValueAt(row, 4) + "";\r
-                        Vector<Object> supArch = null;\r
-                        if (archs.length() > 0) {\r
-                            supArch = new Vector<Object>();\r
-                            String[] sArray1 = archs.split(" ");\r
-                            for (int i = 0; i < sArray1.length; ++i) {\r
-                                supArch.add(sArray1[i]);\r
-                            }\r
-                        }\r
-                        \r
-                        String contents = m.getValueAt(row, 5) + "";\r
-                        docConsole.setSaved(false);\r
-                        ffc.updateModuleSAOptionsOpt(moduleKey, row, targetName, toolChain, tagName, toolCode, supArch, contents);\r
-                    }\r
-                }\r
-            });\r
-        }\r
-        return jTableModuleSaOptions;\r
-    }\r
-    /**\r
-     * This method initializes jButtonNew\r
-     *         \r
-     * @return javax.swing.JButton     \r
-     */\r
-    private JButton getJButtonNew() {\r
-        if (jButtonNew == null) {\r
-            jButtonNew = new JButton();\r
-            jButtonNew.setPreferredSize(new java.awt.Dimension(80,20));\r
-            jButtonNew.setText("New");\r
-            jButtonNew.addActionListener(new java.awt.event.ActionListener() {\r
-                public void actionPerformed(java.awt.event.ActionEvent e) {\r
-                    String[] row = {"", "", "", "", "", ""};\r
-                    optionsTableModel.addRow(row);\r
-                    Vector<Object> v = new Vector<Object>();\r
-                    Vector<Object> v1 = null;\r
-                    docConsole.setSaved(false);\r
-                    ffc.genModuleSAOptionsOpt(moduleKey, v, "", "", "", v1, "");\r
-                }\r
-            });\r
-        }\r
-        return jButtonNew;\r
-    }\r
-    /**\r
-     * This method initializes jButtonDelete\r
-     *         \r
-     * @return javax.swing.JButton     \r
-     */\r
-    private JButton getJButtonDeleteOption() {\r
-        if (jButtonDeleteOption == null) {\r
-            jButtonDeleteOption = new JButton();\r
-            jButtonDeleteOption.setPreferredSize(new java.awt.Dimension(80,20));\r
-            jButtonDeleteOption.setText("Delete");\r
-            jButtonDeleteOption.addActionListener(new java.awt.event.ActionListener() {\r
-                public void actionPerformed(java.awt.event.ActionEvent e) {\r
-                    if (jTableModuleSaOptions.getSelectedRow() < 0) {\r
-                        return;\r
-                    }\r
-                    docConsole.setSaved(false);\r
-                    ffc.removeModuleSAOptionsOpt(moduleKey, jTableModuleSaOptions.getSelectedRow());\r
-                    optionsTableModel.removeRow(jTableModuleSaOptions.getSelectedRow());\r
-                }\r
-            });\r
-        }\r
-        return jButtonDeleteOption;\r
-    }\r
-    \r
-    /**\r
-    Start the window at the center of screen\r
-    \r
-    **/\r
-   protected void centerWindow(int intWidth, int intHeight) {\r
-       Dimension d = Toolkit.getDefaultToolkit().getScreenSize();\r
-       this.setLocation((d.width - intWidth) / 2, (d.height - intHeight) / 2);\r
-   }\r
-\r
-   /**\r
-    Start the window at the center of screen\r
-    \r
-    **/\r
-   protected void centerWindow() {\r
-       centerWindow(this.getSize().width, this.getSize().height);\r
-   }\r
-/**\r
- * This method initializes jPanelPcdFields\r
- *     \r
- * @return javax.swing.JPanel  \r
- */\r
-private JPanel getJPanelPcdFields() {\r
-    if (jPanelPcdFields == null) {\r
-        GridLayout gridLayout = new GridLayout();\r
-        gridLayout.setRows(3);\r
-        gridLayout.setColumns(2);\r
-        jPanelPcdFields = new JPanel();\r
-        jPanelPcdFields.setLayout(gridLayout);\r
-        jPanelPcdFields.setPreferredSize(new java.awt.Dimension(600,90));\r
-        jPanelPcdFields.add(getJPanelPcdFieldsFirstRow(), null);\r
-        jPanelPcdFields.add(getJPanelPcdFieldsSecondRow(), null);\r
-        jPanelPcdFields.add(getJPanelPcdFieldsThirdRow(), null);\r
-    }\r
-    return jPanelPcdFields;\r
-}\r
-/**\r
- * This method initializes jPanelPcdFieldsSecondRow\r
- *     \r
- * @return javax.swing.JPanel  \r
- */\r
-private JPanel getJPanelPcdFieldsSecondRow() {\r
-    if (jPanelPcdFieldsSecondRow == null) {\r
-        FlowLayout flowLayout2 = new FlowLayout();\r
-        flowLayout2.setAlignment(java.awt.FlowLayout.LEFT);\r
-        jLabelMaxDatumSize = new JLabel();\r
-        jLabelMaxDatumSize.setText("Max Datum Size");\r
-        jPanelPcdFieldsSecondRow = new JPanel();\r
-        jPanelPcdFieldsSecondRow.setLayout(flowLayout2);\r
-        jPanelPcdFieldsSecondRow.add(jLabelMaxDatumSize, null);\r
-        jPanelPcdFieldsSecondRow.add(getJTextFieldMaxDatumSize(), null);\r
-    }\r
-    return jPanelPcdFieldsSecondRow;\r
-}\r
-/**\r
- * This method initializes jPanelPcdFieldsThirdRow\r
- *     \r
- * @return javax.swing.JPanel  \r
- */\r
-private JPanel getJPanelPcdFieldsThirdRow() {\r
-    if (jPanelPcdFieldsThirdRow == null) {\r
-        FlowLayout flowLayout3 = new FlowLayout();\r
-        flowLayout3.setAlignment(java.awt.FlowLayout.LEFT);\r
-        jLabelPcdDefaultValue = new JLabel();\r
-        jLabelPcdDefaultValue.setText("Default Value");\r
-        jLabelPcdDefaultValue.setPreferredSize(new java.awt.Dimension(91,16));\r
-        jPanelPcdFieldsThirdRow = new JPanel();\r
-        jPanelPcdFieldsThirdRow.setLayout(flowLayout3);\r
-        jPanelPcdFieldsThirdRow.add(jLabelPcdDefaultValue, null);\r
-        jPanelPcdFieldsThirdRow.add(getJTextFieldPcdDefault(), null);\r
-        jPanelPcdFieldsThirdRow.add(getJComboBoxFeatureFlagValue(), null);\r
-        jPanelPcdFieldsThirdRow.add(getJButtonUpdatePcd(), null);\r
-    }\r
-    return jPanelPcdFieldsThirdRow;\r
-}\r
-/**\r
- * This method initializes jPanelPcdFieldsFirstRow\r
- *     \r
- * @return javax.swing.JPanel  \r
- */\r
-private JPanel getJPanelPcdFieldsFirstRow() {\r
-    if (jPanelPcdFieldsFirstRow == null) {\r
-        FlowLayout flowLayout1 = new FlowLayout();\r
-        flowLayout1.setAlignment(java.awt.FlowLayout.LEFT);\r
-        jLabelItemType = new JLabel();\r
-        jLabelItemType.setText("Item Type");\r
-        jLabelItemType.setPreferredSize(new java.awt.Dimension(91,16));\r
-        jPanelPcdFieldsFirstRow = new JPanel();\r
-        jPanelPcdFieldsFirstRow.setLayout(flowLayout1);\r
-        jPanelPcdFieldsFirstRow.add(jLabelItemType, null);\r
-        jPanelPcdFieldsFirstRow.add(getJComboBoxItemType(), null);\r
-    }\r
-    return jPanelPcdFieldsFirstRow;\r
-}\r
-/**\r
- * This method initializes jComboBoxItemType\r
- *     \r
- * @return javax.swing.JComboBox       \r
- */\r
-private JComboBox getJComboBoxItemType() {\r
-    if (jComboBoxItemType == null) {\r
-        jComboBoxItemType = new JComboBox();\r
-        jComboBoxItemType.setPreferredSize(new java.awt.Dimension(200,20));\r
-        jComboBoxItemType.addItemListener(new java.awt.event.ItemListener() {\r
-            public void itemStateChanged(java.awt.event.ItemEvent e) {\r
-                int row = jTablePcd.getSelectedRow();\r
-                if (row < 0 || model.getValueAt(row, 2).equals(jComboBoxItemType.getSelectedItem())) {\r
-                    return;\r
-                }\r
-                if (jComboBoxItemType.getItemCount() == 3) {\r
-                    if (!jComboBoxItemType.getSelectedItem().equals("DYNAMIC")) {\r
-                        \r
-                        if (jComboBoxItemType.getSelectedItem().equals("FIXED_AT_BUILD")) {\r
-                            jTextFieldPcdDefault.setText("");\r
-                            jTextFieldPcdDefault.setEnabled(true);\r
-                        }\r
-                    }\r
-                    else{\r
-                        \r
-                    }\r
-                }\r
-            }\r
-        });\r
-    }\r
-    return jComboBoxItemType;\r
-}\r
-\r
-private void pcdDynamicToNonDynamic(String cName, String tsGuid) {\r
-    String[][] saa = new String[ffc.getDynamicPcdBuildDataCount()][5];\r
-    ffc.getDynamicPcdBuildData(saa);\r
-    String maxSize = "";\r
-    String value = "";\r
-    for (int i = 0; i < saa.length; ++i) {\r
-        if (saa[i][0].equals(cName) && saa[i][2].equals(tsGuid)) {\r
-            maxSize = saa[i][3];\r
-            value = ffc.getDynamicPcdBuildDataValue(i);\r
-            break;\r
-        }\r
-    }\r
-    \r
-    ArrayList<String> al = ffc.getDynPcdMapValue(cName + " " + tsGuid);\r
-    for (int i = 0; i < al.size(); ++i) {\r
-        String mKey = moduleInfo (al.get(i));\r
-        ffc.updatePcdData(mKey, cName, tsGuid, jComboBoxItemType.getSelectedItem()+"", maxSize, value);\r
-        String itemType = jComboBoxItemType.getSelectedItem()+"";\r
-        al.set(i, mKey + " " + itemType);\r
-    }\r
-    \r
-    ffc.removeDynamicPcdBuildData(cName, tsGuid);\r
-}\r
-\r
-private void pcdNonDynamicToDynamic(String cName, String tsGuid) {\r
-    ArrayList<String> al = ffc.getDynPcdMapValue(cName + " " + tsGuid);\r
-    for (int i = 0; i < al.size(); ++i) {\r
-        String mKey = moduleInfo (al.get(i));\r
-        ffc.updatePcdData(mKey, cName, tsGuid, jComboBoxItemType.getSelectedItem()+"", jTextFieldMaxDatumSize.getText(), jTextFieldPcdDefault.isVisible() ? jTextFieldPcdDefault.getText() : jComboBoxFeatureFlagValue.getSelectedItem()+"");\r
-        String itemType = jComboBoxItemType.getSelectedItem()+"";\r
-        al.set(i, mKey + " " + itemType);\r
-    }\r
-    try{\r
-        ffc.addDynamicPcdBuildData(cName, jTablePcd.getValueAt(jTablePcd.getSelectedRow(), 3), tsGuid, "DYNAMIC", jTablePcd.getValueAt(jTablePcd.getSelectedRow(), 5)+"", jTextFieldPcdDefault.isVisible() ? jTextFieldPcdDefault.getText() : jComboBoxFeatureFlagValue.getSelectedItem()+"");\r
-    }\r
-    catch(Exception e){\r
-        JOptionPane.showMessageDialog(frame, "PCD value format: " + e.getMessage());\r
-    }\r
-}\r
-\r
-private String moduleInfo (String pcdInfo) {\r
-    \r
-    return pcdInfo.substring(0, pcdInfo.lastIndexOf(" "));\r
-}\r
-\r
-/**\r
- * This method initializes jTextFieldMaxDatumSize\r
- *     \r
- * @return javax.swing.JTextField      \r
- */\r
-private JTextField getJTextFieldMaxDatumSize() {\r
-    if (jTextFieldMaxDatumSize == null) {\r
-        jTextFieldMaxDatumSize = new JTextField();\r
-        jTextFieldMaxDatumSize.setPreferredSize(new java.awt.Dimension(200,20));\r
-    }\r
-    return jTextFieldMaxDatumSize;\r
-}\r
-/**\r
- * This method initializes jTextField4 \r
- *     \r
- * @return javax.swing.JTextField      \r
- */\r
-private JTextField getJTextFieldPcdDefault() {\r
-    if (jTextFieldPcdDefault == null) {\r
-        jTextFieldPcdDefault = new JTextField();\r
-        jTextFieldPcdDefault.setPreferredSize(new java.awt.Dimension(200,20));\r
-    }\r
-    return jTextFieldPcdDefault;\r
-}\r
-/**\r
- * This method initializes jButton6    \r
- *     \r
- * @return javax.swing.JButton \r
- */\r
-private JButton getJButtonUpdatePcd() {\r
-    if (jButtonUpdatePcd == null) {\r
-        jButtonUpdatePcd = new JButton();\r
-        jButtonUpdatePcd.setPreferredSize(new java.awt.Dimension(150,20));\r
-        jButtonUpdatePcd.setText("Update PCD Data");\r
-        jButtonUpdatePcd.addActionListener(new java.awt.event.ActionListener() {\r
-            public void actionPerformed(java.awt.event.ActionEvent e) {\r
-                int row = jTablePcd.getSelectedRow();\r
-                if (row < 0) {\r
-                    return;\r
-                }\r
-                docConsole.setSaved(false);\r
-                String oldItemType = model.getValueAt(row, 2)+"";\r
-                String newItemType = jComboBoxItemType.getSelectedItem()+"";\r
-                model.setValueAt(newItemType, row, 2);\r
-                model.setValueAt(jTextFieldMaxDatumSize.getText(), row, 4);\r
-                model.setValueAt(jTextFieldPcdDefault.isVisible()? jTextFieldPcdDefault.getText():jComboBoxFeatureFlagValue.getSelectedItem(), row, 6);\r
-                if (oldItemType.equals("DYNAMIC") && !newItemType.equals("DYNAMIC")) {\r
-                    pcdDynamicToNonDynamic(model.getValueAt(row, 0)+"", model.getValueAt(row, 1)+"");\r
-                }\r
-                if (!oldItemType.equals("DYNAMIC") && newItemType.equals("DYNAMIC")) {\r
-                    pcdNonDynamicToDynamic(model.getValueAt(row, 0)+"", model.getValueAt(row, 1)+"");\r
-                }\r
-                ffc.updatePcdData(moduleKey, model.getValueAt(row, 0)+"", model.getValueAt(row, 1)+"", model.getValueAt(row, 2)+"", model.getValueAt(row, 4)+"", model.getValueAt(row, 6)+"");\r
-            }\r
-        });\r
-    }\r
-    return jButtonUpdatePcd;\r
-}\r
-/**\r
- * This method initializes jComboBoxFeatureFlagValue\r
- *     \r
- * @return javax.swing.JComboBox       \r
- */\r
-private JComboBox getJComboBoxFeatureFlagValue() {\r
-    if (jComboBoxFeatureFlagValue == null) {\r
-        jComboBoxFeatureFlagValue = new JComboBox();\r
-        jComboBoxFeatureFlagValue.setPreferredSize(new java.awt.Dimension(100,20));\r
-        jComboBoxFeatureFlagValue.setVisible(false);\r
-        jComboBoxFeatureFlagValue.addItem("TRUE");\r
-        jComboBoxFeatureFlagValue.addItem("FALSE");\r
-    }\r
-    return jComboBoxFeatureFlagValue;\r
-}\r
-/**\r
- * This method initializes jPanelCustomToolChain       \r
- *     \r
- * @return javax.swing.JPanel  \r
- */\r
-private JPanel getJPanelCustomToolChain() {\r
-    if (jPanelCustomToolChain == null) {\r
-        jPanelCustomToolChain = new JPanel();\r
-        jPanelCustomToolChain.setLayout(new BorderLayout());\r
-        jPanelCustomToolChain.add(getJPanelToolchainS(), java.awt.BorderLayout.SOUTH);\r
-        jPanelCustomToolChain.add(getJScrollPaneModuleSaOptions(), java.awt.BorderLayout.CENTER);\r
-        jPanelCustomToolChain.addComponentListener(new java.awt.event.ComponentAdapter() {\r
-            public void componentShown(java.awt.event.ComponentEvent e) {\r
-                initToolChainOptions(moduleKey);\r
-            }\r
-        });\r
-    }\r
-    return jPanelCustomToolChain;\r
-}\r
-/**\r
- * This method initializes jPanelToolchainS    \r
- *     \r
- * @return javax.swing.JPanel  \r
- */\r
-private JPanel getJPanelToolchainS() {\r
-    if (jPanelToolchainS == null) {\r
-        jPanelToolchainS = new JPanel();\r
-        jPanelToolchainS.add(getJButtonNew(), null);\r
-        jPanelToolchainS.add(getJButtonDeleteOption(), null);\r
-    }\r
-    return jPanelToolchainS;\r
-}\r
-\r
-/**\r
- * This method initializes jPanelLibraryCenterN        \r
- *     \r
- * @return javax.swing.JPanel  \r
- */\r
-private JPanel getJPanelLibraryCenterN() {\r
-    if (jPanelLibraryCenterN == null) {\r
-        FlowLayout flowLayout5 = new FlowLayout();\r
-        flowLayout5.setAlignment(java.awt.FlowLayout.CENTER);\r
-        flowLayout5.setHgap(10);\r
-        jPanelLibraryCenterN = new JPanel();\r
-        jPanelLibraryCenterN.setLayout(flowLayout5);\r
-        jPanelLibraryCenterN.add(jLabelInstanceHelp, null);\r
-        jPanelLibraryCenterN.add(getJScrollPaneInstanceHelp(), null);\r
-        jPanelLibraryCenterN.add(getJButtonAdd(), null);\r
-        jPanelLibraryCenterN.add(getJButtonDeleteInstance(), null);\r
-    }\r
-    return jPanelLibraryCenterN;\r
-}\r
-/**\r
- * This method initializes jPanelLibraryCenterC        \r
- *     \r
- * @return javax.swing.JPanel  \r
- */\r
-private JPanel getJPanelLibraryCenterC() {\r
-    if (jPanelLibraryCenterC == null) {\r
-        jPanelLibraryCenterC = new JPanel();\r
-        jPanelLibraryCenterC.add(jLabelSelectedInstances, null);\r
-        jPanelLibraryCenterC.add(getJScrollPaneSelectedInstances(), null);\r
-    }\r
-    return jPanelLibraryCenterC;\r
-}\r
-\r
-\r
-}  //  @jve:decl-index=0:visual-constraint="10,10"\r