]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdModuleSA.java
Fix EDKT337,Double click on modules in "Framework Modules" of Platforms should be...
[mirror_edk2.git] / Tools / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / platform / ui / FpdModuleSA.java
index 8cf23681c1e72421eefe98130e31dba40ceb501e..dea31877f586cac2b3d6c7cd0de4b09f636a97e7 100644 (file)
@@ -123,7 +123,8 @@ public class FpdModuleSA extends JDialog implements ActionListener {
     private OpeningPlatformType docConsole = null;\r
     private JPanel jPanelCustomToolChain = null;\r
     private JPanel jPanelToolchainS = null;\r
-    private JPanel jPanelToolchainC = 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
@@ -420,19 +421,14 @@ public class FpdModuleSA extends JDialog implements ActionListener {
         libInstanceTableModel.setRowCount(0);\r
     }\r
     \r
-    private void addLibInstance (ModuleIdentification libMi) {\r
+    private void addLibInstance (ModuleIdentification libMi) throws Exception{\r
         \r
-        ffc.genLibraryInstance(libMi, moduleKey);\r
         //\r
         // Add pcd information of selected instance to current moduleSA\r
         //\r
-        try{\r
-            ffc.addFrameworkModulesPcdBuildDefs(libMi, null, ffc.getModuleSA(moduleKey));\r
-        }\r
-        catch (Exception exception) {\r
-            JOptionPane.showMessageDialog(frame, "Adding Instance" + libMi.getName() + ": "+ exception.getMessage());\r
-        }\r
+        ffc.addFrameworkModulesPcdBuildDefs(libMi, null, ffc.getModuleSA(moduleKey));\r
         \r
+        ffc.genLibraryInstance(libMi, moduleKey);\r
     }\r
     /**\r
      * This method initializes this\r
@@ -440,7 +436,7 @@ public class FpdModuleSA extends JDialog implements ActionListener {
      * @return void\r
      */\r
     private void initialize() {\r
-        this.setSize(664, 515);\r
+        this.setSize(877, 555);\r
         this.setResizable(false);\r
         this.centerWindow();\r
         this.setModal(true);\r
@@ -488,7 +484,7 @@ public class FpdModuleSA extends JDialog implements ActionListener {
     private JPanel getJPanelPcd() {\r
         if (jPanelPcd == null) {\r
             jLabelPcdData = new JLabel();\r
-            jLabelPcdData.setText("PcdData");\r
+            jLabelPcdData.setText(" PCD Data");\r
             jPanelPcd = new JPanel();\r
             jPanelPcd.setLayout(new BorderLayout());\r
             jPanelPcd.add(jLabelPcdData, java.awt.BorderLayout.NORTH);\r
@@ -548,7 +544,7 @@ public class FpdModuleSA extends JDialog implements ActionListener {
             model = new IDefaultTableModel();\r
             jTablePcd = new JTable(model);\r
             jTablePcd.setRowHeight(20);\r
-            jTablePcd.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF);\r
+            jTablePcd.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_ALL_COLUMNS);\r
             model.addColumn("CName");\r
             model.addColumn("TokenSpaceGUID");\r
             model.addColumn("ItemType");\r
@@ -573,17 +569,20 @@ public class FpdModuleSA extends JDialog implements ActionListener {
                         String cName = model.getValueAt(selectedRow, 0)+"";\r
                         String tsGuid = model.getValueAt(selectedRow, 1)+"";\r
                         String itemType = model.getValueAt(selectedRow, 2)+"";\r
-                        String[] pcdInfo = {"", ""};\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]);\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 (jTablePcd.getValueAt(selectedRow, 5).equals("VOID*")) {\r
+                        if (model.getValueAt(selectedRow, 5).equals("VOID*")) {\r
                             if (pcdInfo[1].equals("FEATURE_FLAG")) {\r
                                 jTextFieldMaxDatumSize.setVisible(false);\r
                             }\r
@@ -609,7 +608,7 @@ public class FpdModuleSA extends JDialog implements ActionListener {
                             if (model.getValueAt(selectedRow, 2).equals("FEATURE_FLAG")){\r
                                 jTextFieldPcdDefault.setVisible(false);\r
                                 jComboBoxFeatureFlagValue.setVisible(true);\r
-                                jComboBoxFeatureFlagValue.setSelectedItem(jTablePcd.getValueAt(selectedRow, 6)+"");\r
+                                jComboBoxFeatureFlagValue.setSelectedItem(model.getValueAt(selectedRow, 6)+"");\r
                             }\r
                             else{\r
                                 jTextFieldPcdDefault.setVisible(true);\r
@@ -630,10 +629,10 @@ public class FpdModuleSA extends JDialog implements ActionListener {
         return jTablePcd;\r
     }\r
     \r
-    private void initComboBox(String originalType) {\r
+    private void initComboBox(String originalType, String mType) {\r
         jComboBoxItemType.removeAllItems();\r
         jComboBoxItemType.addItem(originalType);\r
-        if (originalType.equals("PATCHABLE_IN_MODULE")) {\r
+        if (originalType.equals("PATCHABLE_IN_MODULE") && mType.equalsIgnoreCase("false")) {\r
             jComboBoxItemType.addItem("FIXED_AT_BUILD");\r
         }\r
         if (originalType.equals("DYNAMIC")) {\r
@@ -780,7 +779,7 @@ public class FpdModuleSA extends JDialog implements ActionListener {
     private JScrollPane getJScrollPaneSelectedInstances() {\r
         if (jScrollPaneSelectedInstances == null) {\r
             jScrollPaneSelectedInstances = new JScrollPane();\r
-            jScrollPaneSelectedInstances.setPreferredSize(new java.awt.Dimension(453,150));\r
+            jScrollPaneSelectedInstances.setPreferredSize(new java.awt.Dimension(600,150));\r
             jScrollPaneSelectedInstances.setViewportView(getJTableSelectedInstances());\r
         }\r
         return jScrollPaneSelectedInstances;\r
@@ -885,7 +884,7 @@ public class FpdModuleSA extends JDialog implements ActionListener {
     private JScrollPane getJScrollPaneQualifiedInstance() {\r
         if (jScrollPaneQualifiedInstance == null) {\r
             jScrollPaneQualifiedInstance = new JScrollPane();\r
-            jScrollPaneQualifiedInstance.setPreferredSize(new java.awt.Dimension(430,170));\r
+            jScrollPaneQualifiedInstance.setPreferredSize(new java.awt.Dimension(600,170));\r
             jScrollPaneQualifiedInstance.setViewportView(getJTableLibInstances());\r
         }\r
         return jScrollPaneQualifiedInstance;\r
@@ -937,12 +936,11 @@ public class FpdModuleSA extends JDialog implements ActionListener {
             jLabelSelectedInstances = new JLabel();\r
             jLabelSelectedInstances.setText("Selected Instances");\r
             jPanelLibraryCenter = new JPanel();\r
-            jPanelLibraryCenter.add(jLabelInstanceHelp, null);\r
-            jPanelLibraryCenter.add(getJScrollPaneInstanceHelp(), null);\r
-            jPanelLibraryCenter.add(getJButtonAdd(), null);\r
-            jPanelLibraryCenter.add(getJButtonDeleteInstance(), null);\r
-            jPanelLibraryCenter.add(jLabelSelectedInstances, null);\r
-            jPanelLibraryCenter.add(getJScrollPaneSelectedInstances(), null);\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
@@ -955,7 +953,7 @@ public class FpdModuleSA extends JDialog implements ActionListener {
     private JScrollPane getJScrollPaneInstanceHelp() {\r
         if (jScrollPaneInstanceHelp == null) {\r
             jScrollPaneInstanceHelp = new JScrollPane();\r
-            jScrollPaneInstanceHelp.setPreferredSize(new java.awt.Dimension(300,50));\r
+            jScrollPaneInstanceHelp.setPreferredSize(new java.awt.Dimension(400,50));\r
             jScrollPaneInstanceHelp.setViewportView(getJTextAreaInstanceHelp());\r
         }\r
         return jScrollPaneInstanceHelp;\r
@@ -990,17 +988,24 @@ public class FpdModuleSA extends JDialog implements ActionListener {
                     if (row < 0) {\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
+                    \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
-                    addLibInstance (libMi);\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
@@ -1120,7 +1125,8 @@ public class FpdModuleSA extends JDialog implements ActionListener {
     private JTextField getJTextFieldFvBinding() {\r
         if (jTextFieldFvBinding == null) {\r
             jTextFieldFvBinding = new JTextField();\r
-            jTextFieldFvBinding.setPreferredSize(new java.awt.Dimension(150,20));\r
+            jTextFieldFvBinding.setPreferredSize(new java.awt.Dimension(400,20));\r
+            jTextFieldFvBinding.setEditable(false);\r
             jTextFieldFvBinding.addFocusListener(new java.awt.event.FocusAdapter() {\r
                 public void focusLost(java.awt.event.FocusEvent e) {\r
                     String originalFvBinding = ffc.getFvBinding(moduleKey);\r
@@ -1453,14 +1459,14 @@ private JComboBox getJComboBoxItemType() {
                 }\r
                 if (jComboBoxItemType.getItemCount() == 3) {\r
                     if (!jComboBoxItemType.getSelectedItem().equals("DYNAMIC")) {\r
-                        pcdDynamicToNonDynamic(model.getValueAt(row, 0)+"", model.getValueAt(row, 1)+"");\r
+                        \r
                         if (jComboBoxItemType.getSelectedItem().equals("FIXED_AT_BUILD")) {\r
                             jTextFieldPcdDefault.setText("");\r
                             jTextFieldPcdDefault.setEnabled(true);\r
                         }\r
                     }\r
                     else{\r
-                        pcdNonDynamicToDynamic(model.getValueAt(row, 0)+"", model.getValueAt(row, 1)+"");\r
+                        \r
                     }\r
                 }\r
             }\r
@@ -1555,9 +1561,17 @@ private JButton getJButtonUpdatePcd() {
                     return;\r
                 }\r
                 docConsole.setSaved(false);\r
-                model.setValueAt(jComboBoxItemType.getSelectedItem(), row, 2);\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
@@ -1589,7 +1603,7 @@ private JPanel getJPanelCustomToolChain() {
         jPanelCustomToolChain = new JPanel();\r
         jPanelCustomToolChain.setLayout(new BorderLayout());\r
         jPanelCustomToolChain.add(getJPanelToolchainS(), java.awt.BorderLayout.SOUTH);\r
-        jPanelCustomToolChain.add(getJPanelToolchainC(), java.awt.BorderLayout.CENTER);\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
@@ -1611,17 +1625,38 @@ private JPanel getJPanelToolchainS() {
     }\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 jPanelToolchainC    \r
+ * This method initializes jPanelLibraryCenterC        \r
  *     \r
  * @return javax.swing.JPanel  \r
  */\r
-private JPanel getJPanelToolchainC() {\r
-    if (jPanelToolchainC == null) {\r
-        jPanelToolchainC = new JPanel();\r
-        jPanelToolchainC.add(getJScrollPaneModuleSaOptions(), null);\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 jPanelToolchainC;\r
+    return jPanelLibraryCenterC;\r
 }\r
 \r
 \r