removed the FlowLayout and made everything fixed.
authorlhauch <lhauch@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 29 Aug 2006 01:20:05 +0000 (01:20 +0000)
committerlhauch <lhauch@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 29 Aug 2006 01:20:05 +0000 (01:20 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1397 6f19259b-4bc3-4df7-8a09-765794883524

Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdPlatformDefs.java

index d23c90c..2881045 100644 (file)
@@ -1,15 +1,15 @@
 /** @file\r
 Java class FpdPlatformDefs is GUI for Flash element operation in SPD file.\r
+ Java class FpdPlatformDefs is GUI for Flash element operation in SPD file.\r
  \r
-Copyright (c) 2006, Intel Corporation\r
-All rights reserved. This program and the accompanying materials\r
-are licensed and made available under the terms and conditions of the BSD License\r
-which accompanies this distribution.  The full text of the license may be found at\r
-http://opensource.org/licenses/bsd-license.php\r
-\r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-**/\r
+ Copyright (c) 2006, Intel Corporation\r
+ All rights reserved. This program and the accompanying materials\r
+ are licensed and made available under the terms and conditions of the BSD License\r
+ which accompanies this distribution.  The full text of the license may be found at\r
+ http://opensource.org/licenses/bsd-license.php\r
+\r
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+ **/\r
 package org.tianocore.frameworkwizard.platform.ui;\r
 \r
 import java.awt.BorderLayout;\r
@@ -24,10 +24,6 @@ import org.tianocore.PlatformSurfaceAreaDocument;
 import org.tianocore.frameworkwizard.common.Identifications.OpeningPlatformType;\r
 import org.tianocore.frameworkwizard.common.ui.IInternalFrame;\r
 \r
-\r
-import java.awt.FlowLayout;\r
-\r
-\r
 import javax.swing.JCheckBox;\r
 import javax.swing.JOptionPane;\r
 import javax.swing.JTextField;\r
@@ -36,6 +32,8 @@ import javax.swing.JScrollPane;
 import javax.swing.JTable;\r
 import javax.swing.event.InternalFrameAdapter;\r
 import javax.swing.event.InternalFrameEvent;\r
+//import javax.swing.event.ListSelectionEvent;\r
+//import javax.swing.event.ListSelectionListener;\r
 import javax.swing.event.TableModelEvent;\r
 import javax.swing.event.TableModelListener;\r
 import javax.swing.table.DefaultTableModel;\r
@@ -46,110 +44,160 @@ import java.util.Vector;
 \r
 public class FpdPlatformDefs extends IInternalFrame {\r
 \r
+    private final int dialogWidth = 600;\r
+\r
+    private final int oneRowHeight = 20;\r
+\r
+    private final int twoRowHeight = 40;\r
+\r
+//    private final int threeRowHeight = 60;\r
+\r
+    private final int fourRowHeight = 80;\r
+\r
+    private final int sepHeight = 6;\r
+\r
+//    private final int sepWidth = 10;\r
+\r
+    private final int buttonWidth = 90;\r
+\r
+    private final int rowOne = 12;\r
+\r
+    private final int rowTwo = rowOne + oneRowHeight + sepHeight;\r
+\r
+    private final int rowThree = rowTwo + oneRowHeight + sepHeight;\r
+\r
+    private final int rowFour = rowThree + oneRowHeight + sepHeight;\r
+\r
+    private final int rowFive = rowFour + fourRowHeight + sepHeight;\r
+\r
+    private final int rowSix = rowFive + oneRowHeight + sepHeight;\r
+\r
+    private final int rowSeven = rowSix + oneRowHeight + sepHeight;\r
+\r
+    private final int rowEight = rowSeven + oneRowHeight + sepHeight;\r
+\r
+    private final int rowNine = rowEight + oneRowHeight + sepHeight;\r
+\r
+    private final int rowTen = rowNine + fourRowHeight + sepHeight + sepHeight;\r
+\r
+    private final int rowEleven = rowTen + oneRowHeight + sepHeight;\r
+\r
+    private final int rowTwelve = rowEleven + oneRowHeight + sepHeight;\r
+\r
+    private final int dialogHeight = rowTwelve + twoRowHeight;\r
+\r
+    private final int labelColumn = 12;\r
+\r
+    private final int valueColumn = 168;\r
+\r
+    private final int labelWidth = 155;\r
+\r
+    private final int valueWidth = 320;\r
+\r
+    private final int valueCenter = valueColumn + (valueWidth / 2);\r
+\r
+    private final int tableHeight = fourRowHeight;\r
+\r
+    private final int tableWidth = valueWidth;\r
+\r
     /**\r
      * \r
      */\r
     private static final long serialVersionUID = 1L;\r
+\r
     static JFrame frame;\r
+\r
     private JPanel jContentPane = null;\r
-    private JPanel jPanelContentEast = null;\r
-    private JPanel jPanelContentWest = null;\r
-    private JPanel jPanelContentNorth = null;\r
+\r
     private JTabbedPane jTabbedPane = null;\r
+\r
     private TargetTableModel buildTargetTableModel = null;\r
-    \r
+\r
     private SkuInfoTableModel skuInfoTableModel = null;\r
+\r
     private OpeningPlatformType docConsole = null;\r
+\r
     private FpdFileContents ffc = null;\r
+\r
     private JPanel jPanelGeneralTab = null;\r
-    private JPanel jPanelGeneralTabNorth = null;\r
-    private JLabel jLabel = null;\r
+\r
+    private JPanel jPanelGeneralContainer = null;\r
+\r
+    private JLabel jLabelSupArch = null;\r
+\r
     private JCheckBox jCheckBoxIa32 = null;\r
+\r
     private JCheckBox jCheckBoxX64 = null;\r
+\r
     private JCheckBox jCheckBoxIpf = null;\r
-    private JPanel jPanelGeneralTabSouth = null;\r
-    private JCheckBox jCheckBoxInterDir = null;\r
+\r
     private JComboBox jComboBoxInterDir = null;\r
+\r
     private JTable jTableBuildTargets = null;\r
-    private JPanel jPanelGeneralTabCenter = null;\r
+\r
+    private JPanel jArchitectureSelections = null;\r
+\r
     private JLabel jLabelBuildTargets = null;\r
+\r
     private JTextField jTextFieldBuildTarget = null;\r
+\r
     private JButton jButtonAddBuildTarget = null;\r
+\r
     private JButton jButtonDelBuildTarget = null;\r
+\r
     private JScrollPane jScrollPaneBuildTargets = null;\r
+\r
     private JScrollPane jScrollPaneSkuInfo = null;\r
+\r
     private JTable jTableSkuInfo = null;\r
+\r
     private JCheckBox jCheckBoxEbc = null;\r
+\r
     private JCheckBox jCheckBoxArm = null;\r
+\r
     private JCheckBox jCheckBoxPpc = null;\r
-    private JPanel jPanelDir = null;\r
-    private JLabel jLabelPad = null;\r
-    private JLabel jLabelOutputDir = null;\r
-    private JTextField jTextFieldOutputDir = null;\r
-    private JPanel jPanelSkuInfo = null;\r
+\r
     private JLabel jLabelSkuInfo = null;\r
+\r
     private JLabel jLabelSkuId = null;\r
+\r
     private JTextField jTextFieldSkuId = null;\r
+\r
     private JLabel jLabelSkuName = null;\r
+\r
     private JTextField jTextFieldSkuName = null;\r
+\r
     private JButton jButtonSkuAdd = null;\r
+\r
     private JButton jButtonSkuDel = null;\r
-    private JLabel jLabelPadd = null;\r
+\r
+    private JLabel jLabelIntermediateDirs = null;\r
+\r
+    private JLabel jLabelOutputDir = null;\r
+\r
+    private JTextField jTextFieldOutputDir = null;\r
+\r
+    private JLabel jLabelOutputInfo = null;\r
+\r
+    private int selectedRow = -1;\r
+\r
     public FpdPlatformDefs() {\r
         super();\r
-        // TODO Auto-generated constructor stub\r
-\r
         initialize();\r
         this.setBounds(new java.awt.Rectangle(0, 0, 500, 370));\r
         this.setVisible(true);\r
     }\r
 \r
-    public FpdPlatformDefs(PlatformSurfaceAreaDocument.PlatformSurfaceArea fpd){\r
+    public FpdPlatformDefs(PlatformSurfaceAreaDocument.PlatformSurfaceArea fpd) {\r
         this();\r
         ffc = new FpdFileContents(fpd);\r
         init(ffc);\r
     }\r
-    \r
+\r
     public FpdPlatformDefs(OpeningPlatformType opt) {\r
         this(opt.getXmlFpd());\r
         docConsole = opt;\r
     }\r
-    \r
-    /**\r
-     * This method initializes jPanel  \r
-     *         \r
-     * @return javax.swing.JPanel      \r
-     */\r
-    private JPanel getJPanelContentEast() {\r
-        if (jPanelContentEast == null) {\r
-            jPanelContentEast = new JPanel();\r
-        }\r
-        return jPanelContentEast;\r
-    }\r
-\r
-    /**\r
-     * This method initializes jPanel2 \r
-     *         \r
-     * @return javax.swing.JPanel      \r
-     */\r
-    private JPanel getJPanelContentWest() {\r
-        if (jPanelContentWest == null) {\r
-            jPanelContentWest = new JPanel();\r
-        }\r
-        return jPanelContentWest;\r
-    }\r
-\r
-    /**\r
-     * This method initializes jPanel3 \r
-     *         \r
-     * @return javax.swing.JPanel      \r
-     */\r
-    private JPanel getJPanelContentNorth() {\r
-        if (jPanelContentNorth == null) {\r
-            jPanelContentNorth = new JPanel();\r
-        }\r
-        return jPanelContentNorth;\r
-    }\r
 \r
     /**\r
      * This method initializes jTabbedPane     \r
@@ -159,9 +207,7 @@ public class FpdPlatformDefs extends IInternalFrame {
     private JTabbedPane getJTabbedPane() {\r
         if (jTabbedPane == null) {\r
             jTabbedPane = new JTabbedPane();\r
-            \r
-                       jTabbedPane.addTab("General", null, getJPanelGeneralTab(), null);\r
-           \r
+            jTabbedPane.addTab("General", null, getJPanelGeneralTab(), null);\r
         }\r
         return jTabbedPane;\r
     }\r
@@ -172,19 +218,19 @@ public class FpdPlatformDefs extends IInternalFrame {
      * @return void\r
      */\r
     private void initialize() {\r
-        this.setSize(518, 650);\r
+        this.setSize(dialogWidth, dialogHeight);\r
         this.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);\r
-        this.setContentPane(getJContentPane());\r
         this.setTitle("FPD Platform Definitions");\r
-        this.addInternalFrameListener(new InternalFrameAdapter(){\r
-            public void internalFrameDeactivated(InternalFrameEvent e){\r
+        this.setContentPane(getJContentPane());\r
+        this.addInternalFrameListener(new InternalFrameAdapter() {\r
+            public void internalFrameDeactivated(InternalFrameEvent e) {\r
                 if (jTableBuildTargets.isEditing()) {\r
                     jTableBuildTargets.getCellEditor().stopCellEditing();\r
                 }\r
                 if (jTableSkuInfo.isEditing()) {\r
                     jTableSkuInfo.getCellEditor().stopCellEditing();\r
                 }\r
-               \r
+\r
             }\r
         });\r
     }\r
@@ -192,98 +238,92 @@ public class FpdPlatformDefs extends IInternalFrame {
     private void init(FpdFileContents ffc) {\r
         Vector<Object> v = new Vector<Object>();\r
         ffc.getPlatformDefsSupportedArchs(v);\r
-        showToolChain(v);\r
-        \r
-        buildTargetTableModel.setRowCount(0);\r
+        showSupportedArchitectures(v);\r
         v.removeAllElements();\r
+\r
         ffc.getPlatformDefsBuildTargets(v);\r
-        for (int i = 0; i < v.size(); ++i){\r
-            Object[] row = {v.get(i)};\r
+        buildTargetTableModel.setRowCount(0);\r
+        for (int i = 0; i < v.size(); ++i) {\r
+            Object[] row = { v.get(i) };\r
             buildTargetTableModel.addRow(row);\r
         }\r
-        \r
+\r
         String[][] saa = new String[ffc.getPlatformDefsSkuInfoCount()][2];\r
         ffc.getPlatformDefsSkuInfos(saa);\r
         for (int i = 0; i < saa.length; ++i) {\r
             skuInfoTableModel.addRow(saa[i]);\r
         }\r
-        \r
+\r
         String interDir = ffc.getPlatformDefsInterDir();\r
         if (interDir != null) {\r
             jComboBoxInterDir.setSelectedItem(interDir);\r
         }\r
-        \r
+\r
         String outputDir = ffc.getPlatformDefsOutputDir();\r
         if (outputDir != null) {\r
             jTextFieldOutputDir.setText(outputDir);\r
         }\r
     }\r
-    \r
-   private void showToolChain(Vector<Object> v) {\r
-       if (v.contains("IA32")) {\r
-           jCheckBoxIa32.setSelected(true);\r
-       }\r
-       else{\r
-           jCheckBoxIa32.setSelected(false);\r
-       }\r
-       if (v.contains("X64")) {\r
-           jCheckBoxX64.setSelected(true);\r
-       }\r
-       else{\r
-           jCheckBoxX64.setSelected(false);\r
-       }\r
-       if (v.contains("IPF")) {\r
-           jCheckBoxIpf.setSelected(true);\r
-       }\r
-       else{\r
-           jCheckBoxIpf.setSelected(false);\r
-       }\r
-       if (v.contains("EBC")) {\r
-           jCheckBoxEbc.setSelected(true);\r
-       }\r
-       else{\r
-           jCheckBoxEbc.setSelected(false);\r
-       }\r
-       if (v.contains("ARM")) {\r
-           jCheckBoxArm.setSelected(true);\r
-       }\r
-       else{\r
-           jCheckBoxArm.setSelected(false);\r
-       }\r
-       if (v.contains("PPC")) {\r
-           jCheckBoxPpc.setSelected(true);\r
-       }\r
-       else{\r
-           jCheckBoxPpc.setSelected(false);\r
-       }\r
-   }\r
-   \r
-   private void getToolChain(Vector<Object> v) {\r
-       if (docConsole != null){\r
-           docConsole.setSaved(false);\r
-       }\r
-       v.removeAllElements();\r
-       if (jCheckBoxIa32.isSelected()) {\r
-           v.add("IA32");\r
-       }\r
-       if (jCheckBoxX64.isSelected()) {\r
-           v.add("X64");\r
-       }\r
-       if (jCheckBoxIpf.isSelected()) {\r
-           v.add("IPF");\r
-       }\r
-       if (jCheckBoxEbc.isSelected()) {\r
-           v.add("EBC");\r
-       }\r
-       if (jCheckBoxArm.isSelected()) {\r
-           v.add("ARM");\r
-       }\r
-       if (jCheckBoxPpc.isSelected()) {\r
-           v.add("PPC");\r
-       }\r
-       \r
-   }\r
\r
+\r
+    private void showSupportedArchitectures(Vector<Object> v) {\r
+        if (v.contains("IA32")) {\r
+            jCheckBoxIa32.setSelected(true);\r
+        } else {\r
+            jCheckBoxIa32.setSelected(false);\r
+        }\r
+        if (v.contains("X64")) {\r
+            jCheckBoxX64.setSelected(true);\r
+        } else {\r
+            jCheckBoxX64.setSelected(false);\r
+        }\r
+        if (v.contains("IPF")) {\r
+            jCheckBoxIpf.setSelected(true);\r
+        } else {\r
+            jCheckBoxIpf.setSelected(false);\r
+        }\r
+        if (v.contains("EBC")) {\r
+            jCheckBoxEbc.setSelected(true);\r
+        } else {\r
+            jCheckBoxEbc.setSelected(false);\r
+        }\r
+        if (v.contains("ARM")) {\r
+            jCheckBoxArm.setSelected(true);\r
+        } else {\r
+            jCheckBoxArm.setSelected(false);\r
+        }\r
+        if (v.contains("PPC")) {\r
+            jCheckBoxPpc.setSelected(true);\r
+        } else {\r
+            jCheckBoxPpc.setSelected(false);\r
+        }\r
+    }\r
+\r
+    private void getSupportedArchitectures(Vector<Object> v) {\r
+        if (docConsole != null) {\r
+            docConsole.setSaved(false);\r
+        }\r
+        v.removeAllElements();\r
+        if (jCheckBoxIa32.isSelected()) {\r
+            v.add("IA32");\r
+        }\r
+        if (jCheckBoxX64.isSelected()) {\r
+            v.add("X64");\r
+        }\r
+        if (jCheckBoxIpf.isSelected()) {\r
+            v.add("IPF");\r
+        }\r
+        if (jCheckBoxEbc.isSelected()) {\r
+            v.add("EBC");\r
+        }\r
+        if (jCheckBoxArm.isSelected()) {\r
+            v.add("ARM");\r
+        }\r
+        if (jCheckBoxPpc.isSelected()) {\r
+            v.add("PPC");\r
+        }\r
+\r
+    }\r
+\r
     /**\r
      * This method initializes jContentPane\r
      * \r
@@ -293,9 +333,6 @@ public class FpdPlatformDefs extends IInternalFrame {
         if (jContentPane == null) {\r
             jContentPane = new JPanel();\r
             jContentPane.setLayout(new BorderLayout());\r
-            jContentPane.add(getJPanelContentEast(), java.awt.BorderLayout.EAST);\r
-            jContentPane.add(getJPanelContentWest(), java.awt.BorderLayout.WEST);\r
-            jContentPane.add(getJPanelContentNorth(), java.awt.BorderLayout.NORTH);\r
             jContentPane.add(getJTabbedPane(), java.awt.BorderLayout.CENTER);\r
         }\r
         return jContentPane;\r
@@ -309,10 +346,12 @@ public class FpdPlatformDefs extends IInternalFrame {
     private JPanel getJPanelGeneralTab() {\r
         if (jPanelGeneralTab == null) {\r
             jPanelGeneralTab = new JPanel();\r
-            jPanelGeneralTab.setLayout(new BorderLayout());\r
-            jPanelGeneralTab.add(getJPanelGeneralTabNorth(), java.awt.BorderLayout.NORTH);\r
-            jPanelGeneralTab.add(getJPanelGeneralTabSouth(), java.awt.BorderLayout.SOUTH);\r
-            jPanelGeneralTab.add(getJPanelGeneralTabCenter(), java.awt.BorderLayout.CENTER);\r
+            jPanelGeneralTab.setBounds(new java.awt.Rectangle(0, 0, dialogWidth * 2, dialogHeight * 3));\r
+            jPanelGeneralTab.setPreferredSize(new java.awt.Dimension(dialogWidth + 10, (dialogHeight * 3) + 10));\r
+            jPanelGeneralTab.setAutoscrolls(true);\r
+            jPanelGeneralTab.setLocation(0, 0);\r
+            jPanelGeneralTab.setLayout(null);\r
+            jPanelGeneralTab.add(getJPanelGeneralContainer(), null);\r
         }\r
         return jPanelGeneralTab;\r
     }\r
@@ -322,24 +361,88 @@ public class FpdPlatformDefs extends IInternalFrame {
      *         \r
      * @return javax.swing.JPanel      \r
      */\r
-    private JPanel getJPanelGeneralTabNorth() {\r
-        if (jPanelGeneralTabNorth == null) {\r
-            jLabel = new JLabel();\r
-            jLabel.setText("Supported Archs");\r
-            FlowLayout flowLayout2 = new FlowLayout();\r
-            flowLayout2.setAlignment(FlowLayout.LEFT);\r
-            flowLayout2.setHgap(12);\r
-            jPanelGeneralTabNorth = new JPanel();\r
-            jPanelGeneralTabNorth.setLayout(flowLayout2);\r
-            jPanelGeneralTabNorth.add(jLabel, null);\r
-            jPanelGeneralTabNorth.add(getJCheckBoxIa32(), null);\r
-            jPanelGeneralTabNorth.add(getJCheckBoxX64(), null);\r
-            jPanelGeneralTabNorth.add(getJCheckBoxIpf(), null);\r
-            jPanelGeneralTabNorth.add(getJCheckBoxEbc(), null);\r
-            jPanelGeneralTabNorth.add(getJCheckBoxArm(), null);\r
-            jPanelGeneralTabNorth.add(getJCheckBoxPpc(), null);\r
-        }\r
-        return jPanelGeneralTabNorth;\r
+    private JPanel getJPanelGeneralContainer() {\r
+        if (jPanelGeneralContainer == null) {\r
+            jLabelSupArch = new JLabel();\r
+            jLabelSupArch.setText("Supported Architectures");\r
+            jLabelSupArch.setBounds(new java.awt.Rectangle(labelColumn, rowOne, labelWidth, oneRowHeight));\r
+            jLabelBuildTargets = new JLabel();\r
+            jLabelBuildTargets.setText("Build Targets");\r
+            jLabelBuildTargets.setBounds(new java.awt.Rectangle(labelColumn, rowTwo, labelWidth, oneRowHeight));\r
+            jLabelSkuInfo = new JLabel();\r
+            jLabelSkuInfo.setText("SKU Information");\r
+            jLabelSkuInfo.setBounds(new java.awt.Rectangle(labelColumn, rowFive, labelWidth, oneRowHeight));\r
+            jLabelSkuId = new JLabel();\r
+            jLabelSkuId.setText("SKU ID Number");\r
+            jLabelSkuId.setBounds(new java.awt.Rectangle(labelColumn + 10, rowSix, labelWidth, oneRowHeight));\r
+            jLabelSkuName = new JLabel();\r
+            jLabelSkuName.setText("SKU Name");\r
+            jLabelSkuName.setBounds(new java.awt.Rectangle(labelColumn + 10, rowSeven, labelWidth, oneRowHeight));\r
+            jLabelOutputInfo = new JLabel();\r
+            jLabelOutputInfo.setText("Output Directory Configuration");\r
+            jLabelOutputInfo.setBounds(new java.awt.Rectangle(labelColumn, rowTen, valueWidth, oneRowHeight));\r
+            jLabelIntermediateDirs = new JLabel();\r
+            jLabelIntermediateDirs.setText("Intermediate Build Directories");\r
+            jLabelIntermediateDirs.setBounds(new java.awt.Rectangle(labelColumn + 10, rowEleven, valueWidth,\r
+                                                                    oneRowHeight));\r
+            jLabelOutputDir = new JLabel();\r
+            jLabelOutputDir.setText("Name of the Output Directory");\r
+            jLabelOutputDir.setBounds(new java.awt.Rectangle(labelColumn + 10, rowTwelve, valueWidth, oneRowHeight));\r
+\r
+            jPanelGeneralContainer = new JPanel();\r
+            jPanelGeneralContainer.setLayout(null);\r
+            jPanelGeneralContainer.setLocation(new java.awt.Point(2, 2));\r
+            jPanelGeneralContainer.setBounds(new java.awt.Rectangle(2, 2, dialogWidth * 2, dialogHeight));\r
+            jPanelGeneralContainer.setPreferredSize(new java.awt.Dimension(dialogWidth, dialogHeight));\r
+\r
+            jPanelGeneralContainer.add(jLabelSupArch, null);\r
+            jPanelGeneralContainer.add(getArchitectureSelections(), null);\r
+\r
+            jPanelGeneralContainer.add(jLabelBuildTargets, null);\r
+            jPanelGeneralContainer.add(getJTextFieldBuildTarget(), null);\r
+            jPanelGeneralContainer.add(getJButtonAddBuildTarget(), null);\r
+            jPanelGeneralContainer.add(getJButtonDelBuildTarget(), null);\r
+            jPanelGeneralContainer.add(getJScrollPaneBuildTargets(), null);\r
+\r
+            jPanelGeneralContainer.add(jLabelSkuInfo, null);\r
+            jPanelGeneralContainer.add(jLabelSkuId, null);\r
+            jPanelGeneralContainer.add(getJTextFieldSkuId(), null);\r
+            jPanelGeneralContainer.add(jLabelSkuName, null);\r
+            jPanelGeneralContainer.add(getJTextFieldSkuName(), null);\r
+            jPanelGeneralContainer.add(getJButtonSkuAdd(), null);\r
+            jPanelGeneralContainer.add(getJButtonSkuDel(), null);\r
+            jPanelGeneralContainer.add(getJScrollPaneSkuInfo(), null);\r
+\r
+            jPanelGeneralContainer.add(jLabelOutputInfo, null);\r
+            jPanelGeneralContainer.add(jLabelIntermediateDirs, null);\r
+            jPanelGeneralContainer.add(getJComboBoxInterDir(), null);\r
+            jPanelGeneralContainer.add(jLabelOutputDir, null);\r
+            jPanelGeneralContainer.add(getJTextFieldOutputDir(), null);\r
+\r
+        }\r
+        return jPanelGeneralContainer;\r
+    }\r
+\r
+    /**\r
+     * This method initializes jArchitectureSelections Row 4\r
+     * \r
+     * @return jArchitectureSelections\r
+     */\r
+    private JPanel getArchitectureSelections() {\r
+        if (jArchitectureSelections == null) {\r
+            jArchitectureSelections = new JPanel();\r
+            jArchitectureSelections.setLayout(null);\r
+            jArchitectureSelections.add(getJCheckBoxIa32(), null);\r
+            jArchitectureSelections.add(getJCheckBoxX64(), null);\r
+            jArchitectureSelections.add(getJCheckBoxIpf(), null);\r
+            jArchitectureSelections.add(getJCheckBoxEbc(), null);\r
+            jArchitectureSelections.add(getJCheckBoxArm(), null);\r
+            jArchitectureSelections.add(getJCheckBoxPpc(), null);\r
+            jArchitectureSelections.setBounds(new java.awt.Rectangle(valueColumn, rowOne, valueWidth, oneRowHeight));\r
+            jArchitectureSelections.setPreferredSize(new java.awt.Dimension(valueWidth, oneRowHeight));\r
+            jArchitectureSelections.setLocation(new java.awt.Point(valueColumn, rowOne));\r
+        }\r
+        return jArchitectureSelections;\r
     }\r
 \r
     /**\r
@@ -351,12 +454,13 @@ public class FpdPlatformDefs extends IInternalFrame {
         if (jCheckBoxIa32 == null) {\r
             jCheckBoxIa32 = new JCheckBox();\r
             jCheckBoxIa32.setText("IA32");\r
+            jCheckBoxIa32.setBounds(new java.awt.Rectangle(0, 0, 55, 20));\r
             jCheckBoxIa32.addItemListener(new java.awt.event.ItemListener() {\r
                 public void itemStateChanged(java.awt.event.ItemEvent e) {\r
                     Vector<Object> v = new Vector<Object>();\r
-                    getToolChain(v);\r
+                    getSupportedArchitectures(v);\r
                     if (v.size() == 0) {\r
-                        JOptionPane.showMessageDialog(frame, "Platform must contain at least ONE supported Architecture.");\r
+                        JOptionPane.showMessageDialog(frame, "Platform must support at least ONE Architecture.");\r
                         return;\r
                     }\r
                     ffc.setPlatformDefsSupportedArchs(v);\r
@@ -375,12 +479,13 @@ public class FpdPlatformDefs extends IInternalFrame {
         if (jCheckBoxX64 == null) {\r
             jCheckBoxX64 = new JCheckBox();\r
             jCheckBoxX64.setText("X64");\r
+            jCheckBoxX64.setBounds(new java.awt.Rectangle(55, 0, 53, 20));\r
             jCheckBoxX64.addItemListener(new java.awt.event.ItemListener() {\r
                 public void itemStateChanged(java.awt.event.ItemEvent e) {\r
                     Vector<Object> v = new Vector<Object>();\r
-                    getToolChain(v);\r
+                    getSupportedArchitectures(v);\r
                     if (v.size() == 0) {\r
-                        JOptionPane.showMessageDialog(frame, "Platform must contain at least ONE supported Architecture.");\r
+                        JOptionPane.showMessageDialog(frame, "Platform must support at least ONE Architecture.");\r
                         return;\r
                     }\r
                     ffc.setPlatformDefsSupportedArchs(v);\r
@@ -399,12 +504,13 @@ public class FpdPlatformDefs extends IInternalFrame {
         if (jCheckBoxIpf == null) {\r
             jCheckBoxIpf = new JCheckBox();\r
             jCheckBoxIpf.setText("IPF");\r
+            jCheckBoxIpf.setBounds(new java.awt.Rectangle(108, 0, 52, 20));\r
             jCheckBoxIpf.addItemListener(new java.awt.event.ItemListener() {\r
                 public void itemStateChanged(java.awt.event.ItemEvent e) {\r
                     Vector<Object> v = new Vector<Object>();\r
-                    getToolChain(v);\r
+                    getSupportedArchitectures(v);\r
                     if (v.size() == 0) {\r
-                        JOptionPane.showMessageDialog(frame, "Platform must contain at least ONE supported Architecture.");\r
+                        JOptionPane.showMessageDialog(frame, "Platform must support at least ONE Architecture.");\r
                         return;\r
                     }\r
                     ffc.setPlatformDefsSupportedArchs(v);\r
@@ -413,122 +519,86 @@ public class FpdPlatformDefs extends IInternalFrame {
         }\r
         return jCheckBoxIpf;\r
     }\r
-    \r
+\r
     /**\r
-     * This method initializes jTable   \r
+     * This method initializes jCheckBox    \r
      *  \r
-     * @return javax.swing.JTable   \r
+     * @return javax.swing.JCheckBox    \r
      */\r
-    private JTable getJTableBuildTargets() {\r
-        if (jTableBuildTargets == null) {\r
-            buildTargetTableModel = new TargetTableModel();\r
-            buildTargetTableModel.addColumn("Build Target");\r
-            jTableBuildTargets = new JTable(buildTargetTableModel);\r
-            jTableBuildTargets.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
-            \r
-            jTableBuildTargets.getModel().addTableModelListener(new TableModelListener() {\r
-                public void tableChanged(TableModelEvent arg0) {\r
-                    // TODO Auto-generated method stub\r
-                    if (jTableBuildTargets.getSelectedRow() < 0) {\r
+    private JCheckBox getJCheckBoxEbc() {\r
+        if (jCheckBoxEbc == null) {\r
+            jCheckBoxEbc = new JCheckBox();\r
+            // jCheckBoxEbc.setPreferredSize(new java.awt.Dimension(50, 20));\r
+            jCheckBoxEbc.setBounds(new java.awt.Rectangle(160, 0, 53, 20));\r
+            jCheckBoxEbc.setText("EBC");\r
+            jCheckBoxEbc.setVisible(true);\r
+            jCheckBoxEbc.addItemListener(new java.awt.event.ItemListener() {\r
+                public void itemStateChanged(java.awt.event.ItemEvent e) {\r
+                    Vector<Object> v = new Vector<Object>();\r
+                    getSupportedArchitectures(v);\r
+                    if (v.size() == 0) {\r
+                        JOptionPane.showMessageDialog(frame, "Platform must support at least ONE Architecture.");\r
                         return;\r
                     }\r
-                    TableModel m = (TableModel)arg0.getSource();\r
-                    if (arg0.getType() == TableModelEvent.UPDATE){\r
-                        //ToDo Data Validition check.\r
-                        Vector<Object> v = new Vector<Object>();\r
-                        for (int i = 0; i < jTableBuildTargets.getRowCount(); ++i) {\r
-                            v.add(m.getValueAt(i, 0));\r
-                        }\r
-                        docConsole.setSaved(false);\r
-                        ffc.setPlatformDefsBuildTargets(v);\r
-                    }\r
+                    ffc.setPlatformDefsSupportedArchs(v);\r
                 }\r
             });\r
         }\r
-        return jTableBuildTargets;\r
-    }\r
-\r
-    /**\r
-     * This method initializes jPanel6 \r
-     *         \r
-     * @return javax.swing.JPanel      \r
-     */\r
-    private JPanel getJPanelGeneralTabSouth() {\r
-        if (jPanelGeneralTabSouth == null) {\r
-            FlowLayout flowLayout3 = new FlowLayout();\r
-            flowLayout3.setAlignment(FlowLayout.LEFT);\r
-            flowLayout3.setHgap(20);\r
-            jPanelGeneralTabSouth = new JPanel();\r
-            jPanelGeneralTabSouth.setPreferredSize(new java.awt.Dimension(10,200));\r
-            jPanelGeneralTabSouth.setLayout(flowLayout3);\r
-            jPanelGeneralTabSouth.add(getJPanelDir(), null);\r
-        }\r
-        return jPanelGeneralTabSouth;\r
+        return jCheckBoxEbc;\r
     }\r
 \r
     /**\r
-     * This method initializes jCheckBox4      \r
-     *         \r
-     * @return javax.swing.JCheckBox   \r
+     * This method initializes jCheckBox5   \r
+     *  \r
+     * @return javax.swing.JCheckBox    \r
      */\r
-    private JCheckBox getJCheckBoxInterDir() {\r
-        if (jCheckBoxInterDir == null) {\r
-            jCheckBoxInterDir = new JCheckBox();\r
-            jCheckBoxInterDir.setText("Intermediate Directories");\r
+    private JCheckBox getJCheckBoxArm() {\r
+        if (jCheckBoxArm == null) {\r
+            jCheckBoxArm = new JCheckBox();\r
+            // jCheckBoxArm.setPreferredSize(new java.awt.Dimension(52, 20));\r
+            jCheckBoxArm.setBounds(new java.awt.Rectangle(213, 0, 54, 20));\r
+            jCheckBoxArm.setText("ARM");\r
+            jCheckBoxArm.setVisible(true);\r
+            jCheckBoxArm.addItemListener(new java.awt.event.ItemListener() {\r
+                public void itemStateChanged(java.awt.event.ItemEvent e) {\r
+                    Vector<Object> v = new Vector<Object>();\r
+                    getSupportedArchitectures(v);\r
+                    if (v.size() == 0) {\r
+                        JOptionPane.showMessageDialog(frame, "Platform must support at least ONE Architecture.");\r
+                        return;\r
+                    }\r
+                    ffc.setPlatformDefsSupportedArchs(v);\r
+                }\r
+            });\r
         }\r
-        return jCheckBoxInterDir;\r
+        return jCheckBoxArm;\r
     }\r
 \r
     /**\r
-     * This method initializes jComboBox       \r
-     *         \r
-     * @return javax.swing.JComboBox   \r
+     * This method initializes jCheckBox6   \r
+     *  \r
+     * @return javax.swing.JCheckBox    \r
      */\r
-    private JComboBox getJComboBoxInterDir() {\r
-        if (jComboBoxInterDir == null) {\r
-            jComboBoxInterDir = new JComboBox();\r
-            jComboBoxInterDir.setPreferredSize(new Dimension(100, 20));\r
-            jComboBoxInterDir.addItem("UNIFIED");\r
-            jComboBoxInterDir.addItem("MODULE");\r
-            \r
-            jComboBoxInterDir.setSelectedIndex(0);\r
-            jComboBoxInterDir.addItemListener(new java.awt.event.ItemListener() {\r
+    private JCheckBox getJCheckBoxPpc() {\r
+        if (jCheckBoxPpc == null) {\r
+            jCheckBoxPpc = new JCheckBox();\r
+            // jCheckBoxPpc.setPreferredSize(new Dimension(50, 20));\r
+            jCheckBoxPpc.setBounds(new java.awt.Rectangle(267, 0, 53, 20));\r
+            jCheckBoxPpc.setText("PPC");\r
+            jCheckBoxPpc.setVisible(true);\r
+            jCheckBoxPpc.addItemListener(new java.awt.event.ItemListener() {\r
                 public void itemStateChanged(java.awt.event.ItemEvent e) {\r
-                    if (docConsole != null){\r
-                        docConsole.setSaved(false);\r
+                    Vector<Object> v = new Vector<Object>();\r
+                    getSupportedArchitectures(v);\r
+                    if (v.size() == 0) {\r
+                        JOptionPane.showMessageDialog(frame, "Platform must support at least ONE  Architecture.");\r
+                        return;\r
                     }\r
-                    ffc.setPlatformDefsInterDir(jComboBoxInterDir.getSelectedItem()+"");\r
+                    ffc.setPlatformDefsSupportedArchs(v);\r
                 }\r
             });\r
         }\r
-        return jComboBoxInterDir;\r
-    }\r
-\r
-    /**\r
-     * This method initializes jPanel7 \r
-     *         \r
-     * @return javax.swing.JPanel      \r
-     */\r
-    private JPanel getJPanelGeneralTabCenter() {\r
-        if (jPanelGeneralTabCenter == null) {\r
-            jLabelBuildTargets = new JLabel();\r
-            jLabelBuildTargets.setPreferredSize(new Dimension(109, 16));\r
-            jLabelBuildTargets.setText("Build Targets");\r
-            FlowLayout flowLayout4 = new FlowLayout();\r
-            flowLayout4.setAlignment(FlowLayout.LEFT);\r
-            flowLayout4.setHgap(20);\r
-            jPanelGeneralTabCenter = new JPanel();\r
-            jPanelGeneralTabCenter.setPreferredSize(new Dimension(972, 100));\r
-            jPanelGeneralTabCenter.setLayout(flowLayout4);\r
-            jPanelGeneralTabCenter.add(jLabelBuildTargets, null);\r
-            jPanelGeneralTabCenter.add(getJTextFieldBuildTarget(), null);\r
-            jPanelGeneralTabCenter.add(getJButtonAddBuildTarget(), null);\r
-            jPanelGeneralTabCenter.add(getJButtonDelBuildTarget(), null);\r
-            jPanelGeneralTabCenter.add(getJScrollPaneBuildTargets(), null);\r
-            jPanelGeneralTabCenter.add(getJPanelSkuInfo(), null);\r
-            jPanelGeneralTabCenter.add(getJScrollPaneSkuInfo(), null);\r
-        }\r
-        return jPanelGeneralTabCenter;\r
+        return jCheckBoxPpc;\r
     }\r
 \r
     /**\r
@@ -539,7 +609,9 @@ public class FpdPlatformDefs extends IInternalFrame {
     private JTextField getJTextFieldBuildTarget() {\r
         if (jTextFieldBuildTarget == null) {\r
             jTextFieldBuildTarget = new JTextField();\r
-            jTextFieldBuildTarget.setPreferredSize(new Dimension(150, 20));\r
+            jTextFieldBuildTarget.setPreferredSize(new Dimension(valueWidth, oneRowHeight));\r
+            jTextFieldBuildTarget.setBounds(new java.awt.Rectangle(valueColumn, rowTwo, valueWidth, oneRowHeight));\r
+            jTextFieldBuildTarget.setLocation(new java.awt.Point(valueColumn, rowTwo));\r
         }\r
         return jTextFieldBuildTarget;\r
     }\r
@@ -552,12 +624,18 @@ public class FpdPlatformDefs extends IInternalFrame {
     private JButton getJButtonAddBuildTarget() {\r
         if (jButtonAddBuildTarget == null) {\r
             jButtonAddBuildTarget = new JButton();\r
-            jButtonAddBuildTarget.setPreferredSize(new Dimension(70, 20));\r
+            jButtonAddBuildTarget.setPreferredSize(new Dimension(buttonWidth, oneRowHeight));\r
+            jButtonAddBuildTarget.setBounds(new java.awt.Rectangle(valueCenter - buttonWidth - 5, rowThree,\r
+                                                                   buttonWidth, oneRowHeight));\r
+            jButtonAddBuildTarget.setLocation(new java.awt.Point(valueCenter - buttonWidth - 5, rowThree));\r
             jButtonAddBuildTarget.setText("Add");\r
+            jButtonAddBuildTarget.setVisible(true);\r
+\r
             jButtonAddBuildTarget.addActionListener(new java.awt.event.ActionListener() {\r
                 public void actionPerformed(java.awt.event.ActionEvent e) {\r
                     if (jTextFieldBuildTarget.getText().length() > 0) {\r
-                        String[] row = {jTextFieldBuildTarget.getText()};\r
+                        String[] row = { jTextFieldBuildTarget.getText() };\r
+                        jTextFieldBuildTarget.setText("");\r
                         buildTargetTableModel.addRow(row);\r
                         Vector<Object> v = new Vector<Object>();\r
                         for (int i = 0; i < jTableBuildTargets.getRowCount(); ++i) {\r
@@ -580,9 +658,27 @@ public class FpdPlatformDefs extends IInternalFrame {
     private JButton getJButtonDelBuildTarget() {\r
         if (jButtonDelBuildTarget == null) {\r
             jButtonDelBuildTarget = new JButton();\r
-            jButtonDelBuildTarget.setPreferredSize(new Dimension(70, 20));\r
+            jButtonDelBuildTarget.setPreferredSize(new Dimension(buttonWidth, oneRowHeight));\r
+            jButtonDelBuildTarget\r
+                                 .setBounds(new java.awt.Rectangle(valueCenter + 5, rowThree, buttonWidth, oneRowHeight));\r
+            jButtonDelBuildTarget.setLocation(new java.awt.Point(valueCenter + 5, rowThree));\r
             jButtonDelBuildTarget.setText("Delete");\r
-            jButtonDelBuildTarget.setVisible(false);\r
+            jButtonDelBuildTarget.setVisible(true);\r
+\r
+            jButtonDelBuildTarget.addActionListener(new java.awt.event.ActionListener() {\r
+                public void actionPerformed(java.awt.event.ActionEvent e) {\r
+                    if (jTableBuildTargets.getSelectedRow() < 0 || jTableBuildTargets.getSelectedRow() < 0) {\r
+                        return;\r
+                    }\r
+                    buildTargetTableModel.removeRow(jTableBuildTargets.getSelectedRow());\r
+                    Vector<Object> v = new Vector<Object>();\r
+                    for (int i = 0; i < jTableBuildTargets.getRowCount(); ++i) {\r
+                        v.remove(buildTargetTableModel.getValueAt(i, 0));\r
+                    }\r
+                    docConsole.setSaved(false);\r
+                    ffc.setPlatformDefsBuildTargets(v);\r
+                }\r
+            });\r
         }\r
         return jButtonDelBuildTarget;\r
     }\r
@@ -595,254 +691,107 @@ public class FpdPlatformDefs extends IInternalFrame {
     private JScrollPane getJScrollPaneBuildTargets() {\r
         if (jScrollPaneBuildTargets == null) {\r
             jScrollPaneBuildTargets = new JScrollPane();\r
-            jScrollPaneBuildTargets.setPreferredSize(new Dimension(453, 100));\r
+            jScrollPaneBuildTargets.setPreferredSize(new Dimension(tableWidth - 20, tableHeight - 20));\r
+            jScrollPaneBuildTargets.setBounds(new java.awt.Rectangle(valueColumn, rowFour, tableWidth - 5,\r
+                                                                     tableHeight - 5));\r
+            jScrollPaneBuildTargets.setLocation(new java.awt.Point(valueColumn, rowFour));\r
+            jScrollPaneBuildTargets\r
+                                   .setBorder(javax.swing.BorderFactory\r
+                                                                       .createEtchedBorder(javax.swing.border.EtchedBorder.RAISED));\r
+\r
             jScrollPaneBuildTargets.setViewportView(getJTableBuildTargets());\r
         }\r
         return jScrollPaneBuildTargets;\r
     }\r
 \r
     /**\r
-     * This method initializes jScrollPane3    \r
-     *         \r
-     * @return javax.swing.JScrollPane \r
+     * This method initializes jTable   \r
+     *  \r
+     * @return javax.swing.JTable   \r
      */\r
-    private JScrollPane getJScrollPaneSkuInfo() {\r
-        if (jScrollPaneSkuInfo == null) {\r
-            jScrollPaneSkuInfo = new JScrollPane();\r
-            jScrollPaneSkuInfo.setPreferredSize(new java.awt.Dimension(453,100));\r
-            jScrollPaneSkuInfo.setViewportView(getJTableSkuInfo());\r
-        }\r
-        return jScrollPaneSkuInfo;\r
-    }\r
+    private JTable getJTableBuildTargets() {\r
+        if (jTableBuildTargets == null) {\r
+            buildTargetTableModel = new TargetTableModel();\r
 \r
-    /**\r
-     * This method initializes jTable2 \r
-     *         \r
-     * @return javax.swing.JTable      \r
-     */\r
-    private JTable getJTableSkuInfo() {\r
-        if (jTableSkuInfo == null) {\r
-            skuInfoTableModel = new SkuInfoTableModel();\r
-            skuInfoTableModel.addColumn("SKU ID");\r
-            skuInfoTableModel.addColumn("Name");\r
-            jTableSkuInfo = new JTable(skuInfoTableModel);\r
-            \r
-            jTableSkuInfo.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
-            \r
-            jTableSkuInfo.getModel().addTableModelListener(new TableModelListener() {\r
+            jTableBuildTargets = new JTable(buildTargetTableModel);\r
+            jTableBuildTargets.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
+            jTableBuildTargets.setRowHeight(oneRowHeight);\r
+            buildTargetTableModel.addColumn("Build Target");\r
+\r
+            jTableBuildTargets.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
-                    if (arg0.getType() == TableModelEvent.UPDATE){\r
-                        //ToDo Data Validition check.\r
-                        String id = m.getValueAt(row, 0)+"";\r
-                        String name = m.getValueAt(row, 1)+"";\r
-                        docConsole.setSaved(false);\r
-                        ffc.updatePlatformDefsSkuInfo(row, id, name);\r
-                    }\r
-                }\r
-            });\r
-        }\r
-        return jTableSkuInfo;\r
-    }\r
-\r
-    /**\r
-     * This method initializes jCheckBox       \r
-     *         \r
-     * @return javax.swing.JCheckBox   \r
-     */\r
-    private JCheckBox getJCheckBoxEbc() {\r
-        if (jCheckBoxEbc == null) {\r
-            jCheckBoxEbc = new JCheckBox();\r
-            jCheckBoxEbc.setPreferredSize(new java.awt.Dimension(50,20));\r
-            jCheckBoxEbc.setText("EBC");\r
-            jCheckBoxEbc.addItemListener(new java.awt.event.ItemListener() {\r
-                public void itemStateChanged(java.awt.event.ItemEvent e) {\r
-                    Vector<Object> v = new Vector<Object>();\r
-                    getToolChain(v);\r
-                    if (v.size() == 0) {\r
-                        JOptionPane.showMessageDialog(frame, "Platform must contain at least ONE supported Architecture.");\r
+                    selectedRow = jTableBuildTargets.getSelectedRow();\r
+                    if (selectedRow < 0) {\r
                         return;\r
                     }\r
-                    ffc.setPlatformDefsSupportedArchs(v);\r
-                }\r
-            });\r
-        }\r
-        return jCheckBoxEbc;\r
-    }\r
-\r
-    /**\r
-     * This method initializes jCheckBox5      \r
-     *         \r
-     * @return javax.swing.JCheckBox   \r
-     */\r
-    private JCheckBox getJCheckBoxArm() {\r
-        if (jCheckBoxArm == null) {\r
-            jCheckBoxArm = new JCheckBox();\r
-            jCheckBoxArm.setPreferredSize(new java.awt.Dimension(52,20));\r
-            jCheckBoxArm.setText("ARM");\r
-            jCheckBoxArm.setVisible(false);\r
-            jCheckBoxArm.addItemListener(new java.awt.event.ItemListener() {\r
-                public void itemStateChanged(java.awt.event.ItemEvent e) {\r
-                    Vector<Object> v = new Vector<Object>();\r
-                    getToolChain(v);\r
-                    if (v.size() == 0) {\r
-                        JOptionPane.showMessageDialog(frame, "Platform must contain at least ONE supported Architecture.");\r
-                        return;\r
-                    }\r
-                    ffc.setPlatformDefsSupportedArchs(v);\r
-                }\r
-            });\r
-        }\r
-        return jCheckBoxArm;\r
-    }\r
-\r
-    /**\r
-     * This method initializes jCheckBox6      \r
-     *         \r
-     * @return javax.swing.JCheckBox   \r
-     */\r
-    private JCheckBox getJCheckBoxPpc() {\r
-        if (jCheckBoxPpc == null) {\r
-            jCheckBoxPpc = new JCheckBox();\r
-            jCheckBoxPpc.setPreferredSize(new Dimension(50, 20));\r
-            jCheckBoxPpc.setText("PPC");\r
-            jCheckBoxPpc.setVisible(false);\r
-            jCheckBoxPpc.addItemListener(new java.awt.event.ItemListener() {\r
-                public void itemStateChanged(java.awt.event.ItemEvent e) {\r
-                    Vector<Object> v = new Vector<Object>();\r
-                    getToolChain(v);\r
-                    if (v.size() == 0) {\r
-                        JOptionPane.showMessageDialog(frame, "Platform must contain at least ONE supported Architecture.");\r
-                        return;\r
+                    TableModel m = (TableModel) arg0.getSource();\r
+                    if (arg0.getType() == TableModelEvent.UPDATE) {\r
+                        //ToDo Data Validition check.\r
+                        Vector<Object> v = new Vector<Object>();\r
+                        for (int i = 0; i < jTableBuildTargets.getRowCount(); ++i) {\r
+                            v.add(m.getValueAt(i, 0));\r
+                        }\r
+                        docConsole.setSaved(false);\r
+                        ffc.setPlatformDefsBuildTargets(v);\r
                     }\r
-                    ffc.setPlatformDefsSupportedArchs(v);\r
-                }\r
-            });\r
-        }\r
-        return jCheckBoxPpc;\r
-    }\r
-\r
-    /**\r
-     * This method initializes jPanel8 \r
-     *         \r
-     * @return javax.swing.JPanel      \r
-     */\r
-    private JPanel getJPanelDir() {\r
-        if (jPanelDir == null) {\r
-            FlowLayout flowLayout1 = new FlowLayout();\r
-            flowLayout1.setAlignment(java.awt.FlowLayout.LEFT);\r
-            jLabelOutputDir = new JLabel();\r
-            jLabelOutputDir.setText("Output Directory");\r
-            jLabelPad = new JLabel();\r
-            jLabelPad.setPreferredSize(new java.awt.Dimension(150,20));\r
-            jLabelPad.setText("");\r
-            jPanelDir = new JPanel();\r
-            jPanelDir.setLayout(flowLayout1);\r
-            jPanelDir.setPreferredSize(new java.awt.Dimension(450,100));\r
-            jPanelDir.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.RAISED));\r
-            jPanelDir.add(getJCheckBoxInterDir(), null);\r
-            jPanelDir.add(getJComboBoxInterDir(), null);\r
-            jPanelDir.add(jLabelPad, null);\r
-            jPanelDir.add(jLabelOutputDir, null);\r
-            jPanelDir.add(getJTextFieldOutputDir(), null);\r
-        }\r
-        return jPanelDir;\r
-    }\r
-\r
-    /**\r
-     * This method initializes jTextField      \r
-     *         \r
-     * @return javax.swing.JTextField  \r
-     */\r
-    private JTextField getJTextFieldOutputDir() {\r
-        if (jTextFieldOutputDir == null) {\r
-            jTextFieldOutputDir = new JTextField();\r
-            jTextFieldOutputDir.setPreferredSize(new java.awt.Dimension(300,20));\r
-            jTextFieldOutputDir.addFocusListener(new java.awt.event.FocusAdapter() {\r
-                public void focusLost(java.awt.event.FocusEvent e) {\r
-                    docConsole.setSaved(false);\r
-                    ffc.setPlatformDefsOutputDir(jTextFieldOutputDir.getText());\r
                 }\r
             });\r
-        }\r
-        return jTextFieldOutputDir;\r
-    }\r
 \r
-    /**\r
-     * This method initializes jPanel9 \r
-     *         \r
-     * @return javax.swing.JPanel      \r
-     */\r
-    private JPanel getJPanelSkuInfo() {\r
-        if (jPanelSkuInfo == null) {\r
-            jLabelPadd = new JLabel();\r
-            jLabelPadd.setPreferredSize(new Dimension(280, 20));\r
-            jLabelPadd.setText("                                                 ");\r
-            jLabelSkuName = new JLabel();\r
-            jLabelSkuName.setPreferredSize(new Dimension(40, 20));\r
-            jLabelSkuName.setText("Name");\r
-            jLabelSkuId = new JLabel();\r
-            jLabelSkuId.setPreferredSize(new Dimension(20, 20));\r
-            jLabelSkuId.setText("ID");\r
-            jLabelSkuInfo = new JLabel();\r
-            jLabelSkuInfo.setPreferredSize(new java.awt.Dimension(150,20));\r
-            jLabelSkuInfo.setText("SKU Information");\r
-            jPanelSkuInfo = new JPanel();\r
-            jPanelSkuInfo.setPreferredSize(new java.awt.Dimension(450,70));\r
-            jPanelSkuInfo.add(jLabelSkuInfo, null);\r
-            jPanelSkuInfo.add(jLabelPadd, null);\r
-            jPanelSkuInfo.add(jLabelSkuId, null);\r
-            jPanelSkuInfo.add(getJTextFieldSkuId(), null);\r
-            jPanelSkuInfo.add(jLabelSkuName, null);\r
-            jPanelSkuInfo.add(getJTextFieldSkuName(), null);\r
-            jPanelSkuInfo.add(getJButtonSkuAdd(), null);\r
-            jPanelSkuInfo.add(getJButtonSkuDel(), null);\r
         }\r
-        return jPanelSkuInfo;\r
+        return jTableBuildTargets;\r
     }\r
 \r
     /**\r
-     * This method initializes jTextField2     \r
-     *         \r
-     * @return javax.swing.JTextField  \r
+     * This method initializes jTextField2  \r
+     *  \r
+     * @return javax.swing.JTextField   \r
      */\r
     private JTextField getJTextFieldSkuId() {\r
         if (jTextFieldSkuId == null) {\r
             jTextFieldSkuId = new JTextField();\r
-            jTextFieldSkuId.setPreferredSize(new Dimension(50, 20));\r
+            jTextFieldSkuId.setPreferredSize(new Dimension(40, oneRowHeight));\r
+            jTextFieldSkuId.setBounds(new java.awt.Rectangle(valueColumn, rowSix, 40, oneRowHeight));\r
+            jTextFieldSkuId.setLocation(new java.awt.Point(valueColumn, rowSix));\r
         }\r
         return jTextFieldSkuId;\r
     }\r
 \r
     /**\r
-     * This method initializes jTextField3     \r
-     *         \r
-     * @return javax.swing.JTextField  \r
+     * This method initializes jTextField3  \r
+     *  \r
+     * @return javax.swing.JTextField   \r
      */\r
     private JTextField getJTextFieldSkuName() {\r
         if (jTextFieldSkuName == null) {\r
             jTextFieldSkuName = new JTextField();\r
-            jTextFieldSkuName.setPreferredSize(new Dimension(150, 20));\r
+            jTextFieldSkuName.setPreferredSize(new Dimension(valueWidth, oneRowHeight));\r
+            jTextFieldSkuName.setBounds(new java.awt.Rectangle(valueColumn, rowSeven, valueWidth, oneRowHeight));\r
+            jTextFieldSkuName.setLocation(new java.awt.Point(valueColumn, rowSeven));\r
         }\r
         return jTextFieldSkuName;\r
     }\r
 \r
     /**\r
-     * This method initializes jButton \r
-     *         \r
-     * @return javax.swing.JButton     \r
+     * This method initializes jButton  \r
+     *  \r
+     * @return javax.swing.JButton  \r
      */\r
     private JButton getJButtonSkuAdd() {\r
         if (jButtonSkuAdd == null) {\r
             jButtonSkuAdd = new JButton();\r
-            jButtonSkuAdd.setPreferredSize(new Dimension(70, 20));\r
+\r
+            jButtonSkuAdd.setPreferredSize(new Dimension(buttonWidth, oneRowHeight));\r
+            jButtonSkuAdd.setBounds(new java.awt.Rectangle(valueCenter - buttonWidth - 5, rowEight, buttonWidth,\r
+                                                           oneRowHeight));\r
+            jButtonSkuAdd.setLocation(new java.awt.Point(valueCenter - buttonWidth - 5, rowEight));\r
             jButtonSkuAdd.setText("Add");\r
+            jButtonSkuAdd.setVisible(true);\r
+\r
             jButtonSkuAdd.addActionListener(new java.awt.event.ActionListener() {\r
                 public void actionPerformed(java.awt.event.ActionEvent e) {\r
                     if (jTextFieldSkuId.getText().length() > 0) {\r
-                        String[] row = {jTextFieldSkuId.getText(), jTextFieldSkuName.getText()};\r
+                        String[] row = { jTextFieldSkuId.getText(), jTextFieldSkuName.getText() };\r
                         skuInfoTableModel.addRow(row);\r
                         docConsole.setSaved(false);\r
                         ffc.genPlatformDefsSkuInfo(row[0], row[1]);\r
@@ -854,15 +803,18 @@ public class FpdPlatformDefs extends IInternalFrame {
     }\r
 \r
     /**\r
-     * This method initializes jButton1        \r
-     *         \r
-     * @return javax.swing.JButton     \r
+     * This method initializes jButton1 \r
+     *  \r
+     * @return javax.swing.JButton  \r
      */\r
     private JButton getJButtonSkuDel() {\r
         if (jButtonSkuDel == null) {\r
             jButtonSkuDel = new JButton();\r
-            jButtonSkuDel.setPreferredSize(new Dimension(70, 20));\r
+            jButtonSkuDel.setPreferredSize(new Dimension(buttonWidth, oneRowHeight));\r
+            jButtonSkuDel.setBounds(new java.awt.Rectangle(valueCenter + 5, rowEight, buttonWidth, oneRowHeight));\r
+            jButtonSkuDel.setLocation(new java.awt.Point(valueCenter + 5, rowEight));\r
             jButtonSkuDel.setText("Delete");\r
+            jButtonSkuDel.setVisible(true);\r
             jButtonSkuDel.addActionListener(new java.awt.event.ActionListener() {\r
                 public void actionPerformed(java.awt.event.ActionEvent e) {\r
                     if (jTableSkuInfo.isEditing()) {\r
@@ -880,13 +832,107 @@ public class FpdPlatformDefs extends IInternalFrame {
         return jButtonSkuDel;\r
     }\r
 \r
+    /**\r
+     * This method initializes jScrollPane3    \r
+     *         \r
+     * @return javax.swing.JScrollPane \r
+     */\r
+    private JScrollPane getJScrollPaneSkuInfo() {\r
+        if (jScrollPaneSkuInfo == null) {\r
+            jScrollPaneSkuInfo = new JScrollPane();\r
+            jScrollPaneSkuInfo.setPreferredSize(new Dimension(tableWidth - 20, tableHeight - 20));\r
+            jScrollPaneSkuInfo.setBounds(new java.awt.Rectangle(valueColumn, rowNine, tableWidth - 5, tableHeight - 5));\r
+            jScrollPaneSkuInfo.setLocation(new java.awt.Point(valueColumn, rowNine));\r
+            jScrollPaneSkuInfo.setBorder(null);\r
 \r
-}  //  @jve:decl-index=0:visual-constraint="10,10"\r
+            jScrollPaneSkuInfo.setViewportView(getJTableSkuInfo());\r
+        }\r
+        return jScrollPaneSkuInfo;\r
+    }\r
 \r
-class SkuInfoTableModel extends DefaultTableModel{\r
     /**\r
-     * \r
+     * This method initializes jTable2 \r
+     *         \r
+     * @return javax.swing.JTable      \r
      */\r
+    private JTable getJTableSkuInfo() {\r
+        if (jTableSkuInfo == null) {\r
+            skuInfoTableModel = new SkuInfoTableModel();\r
+            skuInfoTableModel.addColumn("SKU ID");\r
+            skuInfoTableModel.addColumn("Name");\r
+            jTableSkuInfo = new JTable(skuInfoTableModel);\r
+\r
+            jTableSkuInfo.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
+\r
+            jTableSkuInfo.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
+                    if (arg0.getType() == TableModelEvent.UPDATE) {\r
+                        //ToDo Data Validition check.\r
+                        String id = m.getValueAt(row, 0) + "";\r
+                        String name = m.getValueAt(row, 1) + "";\r
+                        docConsole.setSaved(false);\r
+                        ffc.updatePlatformDefsSkuInfo(row, id, name);\r
+                    }\r
+                }\r
+            });\r
+        }\r
+        return jTableSkuInfo;\r
+    }\r
+\r
+    /**\r
+     * This method initializes jComboBox    \r
+     *  \r
+     * @return javax.swing.JComboBox    \r
+     */\r
+    private JComboBox getJComboBoxInterDir() {\r
+        if (jComboBoxInterDir == null) {\r
+            jComboBoxInterDir = new JComboBox();\r
+            jComboBoxInterDir.setPreferredSize(new Dimension(75, oneRowHeight));\r
+            jComboBoxInterDir.setBounds(new java.awt.Rectangle(valueColumn + 30, rowEleven, 75, oneRowHeight));\r
+            jComboBoxInterDir.setLocation(new java.awt.Point(valueColumn + 30, rowEleven));\r
+            jComboBoxInterDir.addItem("UNIFIED");\r
+            jComboBoxInterDir.addItem("MODULE");\r
+            jComboBoxInterDir.setSelectedIndex(0);\r
+            jComboBoxInterDir.addItemListener(new java.awt.event.ItemListener() {\r
+                public void itemStateChanged(java.awt.event.ItemEvent e) {\r
+                    if (docConsole != null) {\r
+                        docConsole.setSaved(false);\r
+                    }\r
+                    ffc.setPlatformDefsInterDir(jComboBoxInterDir.getSelectedItem() + "");\r
+                }\r
+            });\r
+        }\r
+        return jComboBoxInterDir;\r
+    }\r
+\r
+    /**\r
+     * This method initializes jTextField      \r
+     *         \r
+     * @return javax.swing.JTextField  Row Twelve      \r
+     */\r
+    private JTextField getJTextFieldOutputDir() {\r
+        if (jTextFieldOutputDir == null) {\r
+            jTextFieldOutputDir = new JTextField();\r
+            jTextFieldOutputDir.setPreferredSize(new java.awt.Dimension(290, 20));\r
+            jTextFieldOutputDir.setBounds(new java.awt.Rectangle(valueColumn + 30, rowTwelve, valueWidth - 30,\r
+                                                                 oneRowHeight));\r
+            jTextFieldOutputDir.setLocation(new java.awt.Point(valueColumn + 30, rowTwelve));\r
+            jTextFieldOutputDir.addFocusListener(new java.awt.event.FocusAdapter() {\r
+                public void focusLost(java.awt.event.FocusEvent e) {\r
+                    docConsole.setSaved(false);\r
+                    ffc.setPlatformDefsOutputDir(jTextFieldOutputDir.getText());\r
+                }\r
+            });\r
+        }\r
+        return jTextFieldOutputDir;\r
+    }\r
+\r
+} //  @jve:decl-index=0:visual-constraint="10,10"\r
+\r
+class SkuInfoTableModel extends DefaultTableModel {\r
     private static final long serialVersionUID = 1L;\r
 \r
     public boolean isCellEditable(int row, int column) {\r
@@ -897,7 +943,7 @@ class SkuInfoTableModel extends DefaultTableModel{
     }\r
 }\r
 \r
-class TargetTableModel extends DefaultTableModel{\r
+class TargetTableModel extends DefaultTableModel {\r
     private static final long serialVersionUID = 1L;\r
 \r
     public boolean isCellEditable(int row, int column) {\r
@@ -907,5 +953,3 @@ class TargetTableModel extends DefaultTableModel{
         return true;\r
     }\r
 }\r
-\r
-\r