]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdBuildOptions.java
Fix the problem of deleting ModuleSA custom tool chain option leads to FPD verificait...
[mirror_edk2.git] / Tools / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / platform / ui / FpdBuildOptions.java
index 257699915b388aff2a712384beea1d0521dbde33..03a4ed5f98d59e1e5fc4bd801ac2ad7e7342dba6 100644 (file)
@@ -15,7 +15,6 @@
 package org.tianocore.frameworkwizard.platform.ui;\r
 \r
 import java.awt.BorderLayout;\r
-import javax.swing.BoxLayout;\r
 \r
 import javax.swing.JPanel;\r
 import javax.swing.JTabbedPane;\r
@@ -25,6 +24,7 @@ import java.awt.FlowLayout;
 import javax.swing.AbstractAction;\r
 import java.awt.event.ActionEvent;\r
 import java.awt.event.ActionListener;\r
+import java.awt.event.ComponentEvent;\r
 \r
 import javax.swing.DefaultCellEditor;\r
 import javax.swing.JFileChooser;\r
@@ -47,9 +47,9 @@ import javax.swing.table.TableModel;
 \r
 import org.tianocore.PlatformSurfaceAreaDocument;\r
 import org.tianocore.frameworkwizard.common.DataValidation;\r
+import org.tianocore.frameworkwizard.common.Tools;\r
 import org.tianocore.frameworkwizard.common.Identifications.OpeningPlatformType;\r
 import org.tianocore.frameworkwizard.common.ui.IInternalFrame;\r
-import org.tianocore.frameworkwizard.common.ui.ArchCheckBox;\r
 \r
 import java.io.File;\r
 import java.util.ArrayList;\r
@@ -59,6 +59,7 @@ import java.util.Set;
 import java.util.Vector;\r
 import java.awt.Dimension;\r
 import javax.swing.JSplitPane;\r
+import java.awt.GridLayout;\r
 \r
 public class FpdBuildOptions extends IInternalFrame {\r
 \r
@@ -66,8 +67,6 @@ public class FpdBuildOptions extends IInternalFrame {
 \r
     private final int twoRowHeight = 40;\r
 \r
-    private final int threeRowHeight = 60;\r
-\r
     private final int sepHeight = 6;\r
 \r
     private final int sepWidth = 10;\r
@@ -100,8 +99,6 @@ public class FpdBuildOptions extends IInternalFrame {
 \r
     private final int firstButtonLoc = next2LastButtonLoc - buttonWidth - sepWidth;\r
 \r
-    private final int starColumn = 2;\r
-\r
     private final int labelColumn = 12;\r
 \r
     private final int fieldColumn = 168;\r
@@ -200,8 +197,6 @@ public class FpdBuildOptions extends IInternalFrame {
 \r
     private JTable jTableOptions = null;\r
     \r
-    private JLabel jTitle = null;\r
-\r
     private JButton jButtonOptionsAdd = null;\r
 \r
     private JButton jButtonOptionsDel = null;\r
@@ -300,21 +295,17 @@ public class FpdBuildOptions extends IInternalFrame {
 \r
     private JPanel jPanelSectionN = null;\r
 \r
-    private JPanel jPanelSectionC = null;\r
-\r
     private JPanel jPanelSectionsN = null;\r
 \r
-    private JPanel jPanelSectionsC = null;\r
-\r
     private JPanel jPanelSubSectionN = null;\r
 \r
-    private JPanel jPanelSubSectionC = null;\r
-\r
     private JPanel jPanelOptionsContainer = null;\r
 \r
     private JPanel jPanelUserDefCenterN = null;\r
 \r
-    private JPanel jPanelUserDefCenterC = null;\r
+    private JPanel jPanelTableOptionsContainer = null;\r
+\r
+    private JLabel jLabelTableOptionsTitle = null;\r
 \r
     /**\r
      * This method initializes jPanel  \r
@@ -373,7 +364,7 @@ public class FpdBuildOptions extends IInternalFrame {
         if (jTabbedPane == null) {\r
             jTabbedPane = new JTabbedPane();\r
             jTabbedPane.addTab("Flash Filesystem Options", null, getJPanelFfsTab(), null);\r
-            jTabbedPane.addTab("Tool Arguments", null, getJPanelOptionsTab(), null);\r
+            jTabbedPane.addTab("Customize Tool Chain Configurations", null, getJPanelOptionsTab(), null);\r
             jTabbedPane.addTab("User Defined ANT Tasks", null, getJPanelUserDef(), null);\r
         }\r
         return jTabbedPane;\r
@@ -408,6 +399,23 @@ public class FpdBuildOptions extends IInternalFrame {
         return jContentPane;\r
     }\r
 \r
+    /**\r
+     * This method initializes jPanelTableOptionsContainer     \r
+     *         \r
+     * @return javax.swing.JPanel      \r
+     */\r
+    private JPanel getJPanelTableOptionsContainer() {\r
+        if (jPanelTableOptionsContainer == null) {\r
+            jLabelTableOptionsTitle = new JLabel();\r
+            jLabelTableOptionsTitle.setText("  Current Argument Lines");\r
+            jPanelTableOptionsContainer = new JPanel();\r
+            jPanelTableOptionsContainer.setLayout(new BorderLayout());\r
+            jPanelTableOptionsContainer.add(jLabelTableOptionsTitle, java.awt.BorderLayout.NORTH);\r
+            jPanelTableOptionsContainer.add(getJScrollPaneOptions(), java.awt.BorderLayout.CENTER);\r
+        }\r
+        return jPanelTableOptionsContainer;\r
+    }\r
+\r
     /**\r
      * @param args\r
      */\r
@@ -852,7 +860,7 @@ public class FpdBuildOptions extends IInternalFrame {
     private JScrollPane getJScrollPaneFfsSection() {\r
         if (jScrollPaneFfsSection == null) {\r
             jScrollPaneFfsSection = new JScrollPane();\r
-            jScrollPaneFfsSection.setPreferredSize(new java.awt.Dimension(500, 80));\r
+//            jScrollPaneFfsSection.setPreferredSize(new java.awt.Dimension(500, 80));\r
             jScrollPaneFfsSection.setViewportView(getJTableFfsSection());\r
         }\r
         return jScrollPaneFfsSection;\r
@@ -916,7 +924,7 @@ public class FpdBuildOptions extends IInternalFrame {
     private JScrollPane getJScrollPaneFfsSubSection() {\r
         if (jScrollPaneFfsSubSection == null) {\r
             jScrollPaneFfsSubSection = new JScrollPane();\r
-            jScrollPaneFfsSubSection.setPreferredSize(new java.awt.Dimension(500, 90));\r
+//            jScrollPaneFfsSubSection.setPreferredSize(new java.awt.Dimension(500, 90));\r
             jScrollPaneFfsSubSection.setViewportView(getJTableFfsSubSection());\r
         }\r
         return jScrollPaneFfsSubSection;\r
@@ -1165,7 +1173,7 @@ public class FpdBuildOptions extends IInternalFrame {
     private JScrollPane getJScrollPaneFfsSections() {\r
         if (jScrollPaneFfsSections == null) {\r
             jScrollPaneFfsSections = new JScrollPane();\r
-            jScrollPaneFfsSections.setPreferredSize(new java.awt.Dimension(500, 80));\r
+//            jScrollPaneFfsSections.setPreferredSize(new java.awt.Dimension(500, 80));\r
             jScrollPaneFfsSections.setViewportView(getJTableFfsSections());\r
         }\r
         return jScrollPaneFfsSections;\r
@@ -1251,7 +1259,7 @@ public class FpdBuildOptions extends IInternalFrame {
             jPanelFfsCTop = new JPanel();\r
             jPanelFfsCTop.setLayout(new BorderLayout());\r
             jPanelFfsCTop.add(getJPanelSectionN(), java.awt.BorderLayout.NORTH);\r
-            jPanelFfsCTop.add(getJPanelSectionC(), java.awt.BorderLayout.CENTER);\r
+            jPanelFfsCTop.add(getJScrollPaneFfsSection(), java.awt.BorderLayout.CENTER);\r
         }\r
         return jPanelFfsCTop;\r
     }\r
@@ -1283,7 +1291,7 @@ public class FpdBuildOptions extends IInternalFrame {
             jPanelFfsCBottomTop = new JPanel();\r
             jPanelFfsCBottomTop.setLayout(new BorderLayout());\r
             jPanelFfsCBottomTop.add(getJPanelSectionsN(), java.awt.BorderLayout.NORTH);\r
-            jPanelFfsCBottomTop.add(getJPanelSectionsC(), java.awt.BorderLayout.CENTER);\r
+            jPanelFfsCBottomTop.add(getJScrollPaneFfsSections(), java.awt.BorderLayout.CENTER);\r
         }\r
         return jPanelFfsCBottomTop;\r
     }\r
@@ -1298,7 +1306,7 @@ public class FpdBuildOptions extends IInternalFrame {
             jPanelFfsCBottomBottom = new JPanel();\r
             jPanelFfsCBottomBottom.setLayout(new BorderLayout());\r
             jPanelFfsCBottomBottom.add(getJPanelSubSectionN(), java.awt.BorderLayout.NORTH);\r
-            jPanelFfsCBottomBottom.add(getJPanelSubSectionC(), java.awt.BorderLayout.CENTER);\r
+            jPanelFfsCBottomBottom.add(getJScrollPaneFfsSubSection(), java.awt.BorderLayout.CENTER);\r
         }\r
         return jPanelFfsCBottomBottom;\r
     }\r
@@ -1320,19 +1328,6 @@ public class FpdBuildOptions extends IInternalFrame {
         return jPanelSectionN;\r
     }\r
 \r
-    /**\r
-     * This method initializes jPanelSectionC   \r
-     *  \r
-     * @return javax.swing.JPanel   \r
-     */\r
-    private JPanel getJPanelSectionC() {\r
-        if (jPanelSectionC == null) {\r
-            jPanelSectionC = new JPanel();\r
-            jPanelSectionC.add(getJScrollPaneFfsSection(), null);\r
-        }\r
-        return jPanelSectionC;\r
-    }\r
-\r
     /**\r
      * This method initializes jPanelSectionsN  \r
      *  \r
@@ -1350,19 +1345,6 @@ public class FpdBuildOptions extends IInternalFrame {
         return jPanelSectionsN;\r
     }\r
 \r
-    /**\r
-     * This method initializes jPanelSectionsC  \r
-     *  \r
-     * @return javax.swing.JPanel   \r
-     */\r
-    private JPanel getJPanelSectionsC() {\r
-        if (jPanelSectionsC == null) {\r
-            jPanelSectionsC = new JPanel();\r
-            jPanelSectionsC.add(getJScrollPaneFfsSections(), null);\r
-        }\r
-        return jPanelSectionsC;\r
-    }\r
-\r
     /**\r
      * This method initializes jPanelSubSectionN    \r
      *  \r
@@ -1380,19 +1362,6 @@ public class FpdBuildOptions extends IInternalFrame {
         return jPanelSubSectionN;\r
     }\r
 \r
-    /**\r
-     * This method initializes jPanelSubSectionC    \r
-     *  \r
-     * @return javax.swing.JPanel   \r
-     */\r
-    private JPanel getJPanelSubSectionC() {\r
-        if (jPanelSubSectionC == null) {\r
-            jPanelSubSectionC = new JPanel();\r
-            jPanelSubSectionC.add(getJScrollPaneFfsSubSection(), null);\r
-        }\r
-        return jPanelSubSectionC;\r
-    }\r
-\r
     /**\r
      * The following section contains all Build Options content\r
      */\r
@@ -1411,15 +1380,17 @@ public class FpdBuildOptions extends IInternalFrame {
             //            FlowLayout flowLayout9 = new FlowLayout();\r
             //            flowLayout9.setAlignment(java.awt.FlowLayout.LEFT);\r
 \r
+            GridLayout gridLayout = new GridLayout();\r
+            gridLayout.setRows(2);\r
             jPanelOptionsTab = new JPanel();\r
+            jPanelOptionsTab.setLayout(gridLayout);\r
             jPanelOptionsTab.setBounds(new java.awt.Rectangle(0, 0, dialogWidth * 2, dialogHeight * 3));\r
             jPanelOptionsTab.setPreferredSize(new java.awt.Dimension(dialogWidth + 10, (dialogHeight * 3) + 10));\r
             jPanelOptionsTab.setAutoscrolls(true);\r
             jPanelOptionsTab.setLocation(0, 0);\r
-            jPanelOptionsTab.setLayout(null);\r
             jPanelOptionsTab.add(getJPanelOptionsContainer(), null);\r
-            jPanelOptionsTab.add(getJScrollPaneOptions(), null);\r
-\r
+//            jPanelOptionsTab.add(getJScrollPaneOptions(), null);\r
+            jPanelOptionsTab.add(getJPanelTableOptionsContainer(), null);\r
         }\r
         return jPanelOptionsTab;\r
     }\r
@@ -1455,14 +1426,12 @@ public class FpdBuildOptions extends IInternalFrame {
             jLabelOptionContents = new JLabel();\r
             jLabelOptionContents.setBounds(new java.awt.Rectangle(labelColumn, rowSix, labelWidth, oneRowHeight));\r
             jLabelOptionContents.setLocation(new java.awt.Point(labelColumn, rowSix));\r
-            jLabelOptionContents.setText("Option Contents");\r
+            jLabelOptionContents.setText("Argument Strings");\r
 \r
             jPanelOptionsContainer = new JPanel();\r
 \r
             jPanelOptionsContainer.setLayout(null);\r
             \r
-            jPanelOptionsContainer.setLocation(new java.awt.Point(2, 2));\r
-            jPanelOptionsContainer.setBounds(new java.awt.Rectangle(2, 2, dialogWidth * 2, dialogHeight));\r
             jPanelOptionsContainer.setPreferredSize(new java.awt.Dimension(dialogWidth, dialogHeight));\r
             /*\r
             jPanelOptionsContainer\r
@@ -1754,6 +1723,12 @@ public class FpdBuildOptions extends IInternalFrame {
         return jButtonOptionsDel;\r
     }\r
 \r
+    public void componentResized(ComponentEvent arg0) {\r
+        int intPreferredWidth = 500;\r
+        \r
+        Tools.resizeComponentWidth(this.jScrollPaneOptions, this.getWidth(), intPreferredWidth);\r
+        \r
+    }\r
     /**\r
      * This method initializes jScrollPaneOptions      \r
      *         Contains the Table and is located below the data entry section\r
@@ -1762,10 +1737,6 @@ public class FpdBuildOptions extends IInternalFrame {
     private JScrollPane getJScrollPaneOptions() {\r
         if (jScrollPaneOptions == null) {\r
             jScrollPaneOptions = new JScrollPane();\r
-            jScrollPaneOptions.setPreferredSize(new java.awt.Dimension(dialogWidth, dialogHeight * 2));\r
-            jScrollPaneOptions.setBounds(new java.awt.Rectangle(2, (dialogHeight * 2) + 2, dialogWidth * 2, dialogHeight * 2));\r
-            jScrollPaneOptions.setLocation(new java.awt.Point(2, dialogHeight + 2));\r
-\r
             jScrollPaneOptions.setViewportView(getJTableOptions());\r
         }\r
         return jScrollPaneOptions;\r
@@ -1778,9 +1749,6 @@ public class FpdBuildOptions extends IInternalFrame {
      */\r
     private JTable getJTableOptions() {\r
         if (jTableOptions == null) {\r
-            jTitle = new JLabel();\r
-            jTitle.setText("Current Option Configuration Lines");\r
-            jTitle.setBounds(2, 2, labelWidth, oneRowHeight);\r
             \r
             optionsTableModel = new DefaultTableModel();\r
             jTableOptions = new JTable(optionsTableModel);\r
@@ -1790,16 +1758,16 @@ public class FpdBuildOptions extends IInternalFrame {
             optionsTableModel.addColumn("Supported Architectures");\r
             optionsTableModel.addColumn("Tool Command Code");\r
             optionsTableModel.addColumn("TagName");\r
-            optionsTableModel.addColumn("Contents");\r
-\r
-            javax.swing.table.TableColumn toolFamilyCol = jTableOptions.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
+            optionsTableModel.addColumn("Arguments");\r
+\r
+//            javax.swing.table.TableColumn toolFamilyCol = jTableOptions.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
             Vector<String> vArch = new Vector<String>();\r
             vArch.add("IA32");\r
             vArch.add("X64");\r
@@ -1808,7 +1776,11 @@ public class FpdBuildOptions extends IInternalFrame {
             vArch.add("ARM");\r
             vArch.add("PPC");\r
             jTableOptions.getColumnModel().getColumn(2).setCellEditor(new ListEditor(vArch));\r
+            \r
+            jTableOptions.getColumnModel().getColumn(5).setCellEditor(new LongTextEditor());\r
+            \r
             jTableOptions.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
+               jTableOptions.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF);\r
             jTableOptions.getSelectionModel().addListSelectionListener(new ListSelectionListener() {\r
                 public void valueChanged(ListSelectionEvent e) {\r
                     selectedRow = -1;\r
@@ -1892,7 +1864,7 @@ public class FpdBuildOptions extends IInternalFrame {
         if (bool[5]) {\r
             s += "PPC ";\r
         }\r
-        if (s == " ") {\r
+        if (s.equals(" ")) {\r
             s += "IA32";\r
         }\r
         return s.trim();\r
@@ -1978,19 +1950,6 @@ public class FpdBuildOptions extends IInternalFrame {
         return jPanelUserDefCenterN;\r
     }\r
 \r
-    /**\r
-     * This method initializes jPanelUserDefCenterC    \r
-     *         \r
-     * @return javax.swing.JPanel      \r
-     */\r
-    private JPanel getJPanelUserDefCenterC() {\r
-        if (jPanelUserDefCenterC == null) {\r
-            jPanelUserDefCenterC = new JPanel();\r
-            jPanelUserDefCenterC.add(getJScrollPaneAntTasks(), null);\r
-        }\r
-        return jPanelUserDefCenterC;\r
-    }\r
-\r
     /**\r
      * This method initializes jPanel8  \r
      *  \r
@@ -2046,7 +2005,7 @@ public class FpdBuildOptions extends IInternalFrame {
             jPanelUserDefCenter.setLayout(new BorderLayout());\r
 \r
             jPanelUserDefCenter.add(getJPanelUserDefCenterN(), java.awt.BorderLayout.NORTH);\r
-            jPanelUserDefCenter.add(getJPanelUserDefCenterC(), java.awt.BorderLayout.CENTER);\r
+            jPanelUserDefCenter.add(getJScrollPaneAntTasks(), java.awt.BorderLayout.CENTER);\r
         }\r
         return jPanelUserDefCenter;\r
     }\r