]> git.proxmox.com Git - mirror_edk2.git/commitdiff
1. Make SPD editor tables bigger.and table now focus the entry added.
authorjlin16 <jlin16@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 11 Jul 2006 11:04:13 +0000 (11:04 +0000)
committerjlin16 <jlin16@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 11 Jul 2006 11:04:13 +0000 (11:04 +0000)
2. Modify FileContents classes to delete empty elements in SPD file and FPD file when no contents in these elements.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@881 6f19259b-4bc3-4df7-8a09-765794883524

Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/packaging/ui/SpdFileContents.java
Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/packaging/ui/SpdGuidDecls.java
Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/packaging/ui/SpdLibClassDecls.java
Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/packaging/ui/SpdMsaFiles.java
Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/packaging/ui/SpdPackageHeaders.java
Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/packaging/ui/SpdPcdDefs.java
Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdBuildOptions.java
Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdFileContents.java
Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdFrameworkModules.java
Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdModuleSA.java

index 5bac8be0cd7c4c511824a2cd527ea9c0e45747e7..b16a1e50893a80f8ec8f80468b24900035738e26 100644 (file)
@@ -129,6 +129,10 @@ public class SpdFileContents {
                 cursor.toNextSibling();\r
             }\r
             cursor.removeXml();\r
+            if (getSpdPcdDefinitionCount() == 0) {\r
+                cursor.toParent();\r
+                cursor.removeXml();\r
+            }\r
         } \r
         cursor.dispose();\r
     }\r
@@ -156,6 +160,10 @@ public class SpdFileContents {
                 cursor.toNextSibling();\r
             }\r
             cursor.removeXml();\r
+            if (getSpdPpiDeclarationCount() == 0){\r
+                cursor.toParent();\r
+                cursor.removeXml();\r
+            }\r
         } \r
         cursor.dispose();\r
     }\r
@@ -182,6 +190,10 @@ public class SpdFileContents {
                 cursor.toNextSibling();\r
             }\r
             cursor.removeXml();\r
+            if (getSpdProtocolDeclarationCount() == 0) {\r
+                cursor.toParent();\r
+                cursor.removeXml();\r
+            }\r
         }\r
         cursor.dispose();\r
     }\r
@@ -208,7 +220,10 @@ public class SpdFileContents {
                 cursor.toNextSibling();\r
             }\r
             cursor.removeXml();\r
-\r
+            if (getSpdGuidDeclarationCount() == 0) {\r
+                cursor.toParent();\r
+                cursor.removeXml();\r
+            }\r
         } \r
         cursor.dispose();\r
     }\r
@@ -236,6 +251,10 @@ public class SpdFileContents {
                 cursor.toNextSibling();\r
             }\r
             cursor.removeXml();\r
+            if (getSpdPackageHeaderCount() == 0) {\r
+                cursor.toParent();\r
+                cursor.removeXml();\r
+            }\r
         } \r
         cursor.dispose();\r
     }\r
@@ -263,6 +282,10 @@ public class SpdFileContents {
                 cursor.toNextSibling();\r
             }\r
             cursor.removeXml();\r
+            if (getSpdMsaFileCount() == 0) {\r
+                cursor.toParent();\r
+                cursor.removeXml();\r
+            }\r
         }\r
         cursor.dispose();\r
     }\r
@@ -290,6 +313,10 @@ public class SpdFileContents {
                 cursor.toNextSibling();\r
             }\r
             cursor.removeXml();\r
+            if (getSpdLibClassDeclarationCount() == 0) {\r
+                cursor.toParent();\r
+                cursor.removeXml();\r
+            }\r
         }\r
         cursor.dispose();\r
     }\r
index 55319196953e38b8c8fbe3920662f6e8e3ce4865..91f4ba64de10d3e4179d4b67a029e7669de685a7 100644 (file)
@@ -164,7 +164,7 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{
     protected JScrollPane getJScrollPane() {\r
         if (jScrollPane == null) {\r
             jScrollPane = new JScrollPane();\r
-            jScrollPane.setBounds(new java.awt.Rectangle(5,256,472,196));\r
+            jScrollPane.setBounds(new java.awt.Rectangle(5,256,472,292));\r
             jScrollPane.setViewportView(getJTable());\r
         }\r
         return jScrollPane;\r
@@ -253,7 +253,7 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{
        TableModel m = (TableModel)arg0.getSource();\r
        if (arg0.getType() == TableModelEvent.UPDATE){\r
            if (docConsole != null) {\r
-           docConsole.setSaved(false);\r
+               docConsole.setSaved(false);\r
            }\r
            updateRow(row, m);\r
        }\r
@@ -549,8 +549,11 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{
             if (!dataValidation(row)) {\r
                 return;\r
             }\r
-            docConsole.setSaved(false);\r
+            if (docConsole != null) {\r
+                docConsole.setSaved(false);\r
+            }\r
             model.addRow(row);\r
+            jTable.changeSelection(model.getRowCount()-1, 0, false, false);\r
             addRow(row);\r
         }\r
         //\r
index ce4922e36213cd71306eb3316846c06509503ad1..1eb8a8e166a73f3c92eb45aca64abc0f4d14536a 100644 (file)
@@ -16,13 +16,16 @@ import java.awt.Dimension;
 import java.awt.event.ActionEvent;\r
 import java.awt.event.ComponentEvent;\r
 import java.io.File;\r
+import java.util.HashMap;\r
+import java.util.Iterator;\r
+import java.util.Map;\r
+import java.util.Set;\r
 import java.util.Vector;\r
 \r
 import javax.swing.AbstractAction;\r
 import javax.swing.JFileChooser;\r
 import javax.swing.JOptionPane;\r
 import javax.swing.JPanel;\r
-import javax.swing.JRadioButton;\r
 import javax.swing.JTable;\r
 import javax.swing.JTextField;\r
 import javax.swing.JComboBox;\r
@@ -40,6 +43,7 @@ import javax.swing.event.TableModelListener;
 import javax.swing.table.DefaultTableModel;\r
 import javax.swing.table.TableModel;\r
 \r
+import org.apache.xmlbeans.XmlObject;\r
 import org.tianocore.PackageSurfaceAreaDocument;\r
 import org.tianocore.frameworkwizard.common.DataValidation;\r
 import org.tianocore.frameworkwizard.common.Tools;\r
@@ -48,8 +52,11 @@ import org.tianocore.frameworkwizard.common.ui.IInternalFrame;
 import org.tianocore.frameworkwizard.common.ui.StarLabel;\r
 import org.tianocore.frameworkwizard.common.ui.iCheckBoxList.ICheckBoxList;\r
 import org.tianocore.frameworkwizard.platform.ui.ListEditor;\r
+import org.tianocore.frameworkwizard.platform.ui.global.GlobalData;\r
+import org.tianocore.frameworkwizard.platform.ui.global.SurfaceAreaQuery;\r
+import org.tianocore.frameworkwizard.platform.ui.id.ModuleIdentification;\r
+import org.tianocore.frameworkwizard.platform.ui.id.PackageIdentification;\r
 \r
-import javax.swing.JCheckBox;\r
 \r
 /**\r
  GUI for create library definition elements of spd file.\r
@@ -70,10 +77,6 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
 \r
     private JPanel jContentPane = null;\r
 \r
-    private JRadioButton jRadioButtonAdd = null;\r
-\r
-    private JRadioButton jRadioButtonSelect = null;\r
-\r
     private JTextField jTextFieldAdd = null;\r
 \r
     private JComboBox jComboBoxSelect = null;\r
@@ -122,23 +125,20 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
 \r
     private JLabel jLabel5 = null;\r
 \r
-    private JCheckBox jCheckBox = null;\r
-\r
-    private JCheckBox jCheckBox1 = null;\r
-\r
-    private JCheckBox jCheckBox2 = null;\r
-\r
-    private JCheckBox jCheckBox3 = null;\r
-\r
     private JLabel jLabel6 = null;\r
     \r
     private JScrollPane jScrollPaneArch = null;\r
     \r
+    private JScrollPane jScrollPane1 = null;\r
+    \r
     private ICheckBoxList iCheckBoxListArch = null;\r
 \r
-    private JCheckBox jCheckBox4 = null;\r
+    private ICheckBoxList iCheckBoxList = null;\r
+\r
+    private JComboBox jComboBox = null;\r
+    \r
+    HashMap<String, String> libNameGuidMap = new HashMap<String, String>();\r
 \r
-    private JCheckBox jCheckBox5 = null;\r
 \r
     /**\r
       This method initializes this\r
@@ -150,40 +150,6 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
 \r
     }\r
 \r
-    /**\r
-      This method initializes jRadioButtonAdd  \r
-       \r
-      @return javax.swing.JRadioButton \r
-     **/\r
-    private JRadioButton getJRadioButtonAdd() {\r
-        if (jRadioButtonAdd == null) {\r
-            jRadioButtonAdd = new JRadioButton();\r
-            jRadioButtonAdd.setBounds(new java.awt.Rectangle(9,63,197,20));\r
-            jRadioButtonAdd.setText("Library Class Name");\r
-            jRadioButtonAdd.addActionListener(this);\r
-            jRadioButtonAdd.setSelected(true);\r
-            jRadioButtonAdd.setVisible(false);\r
-        }\r
-        return jRadioButtonAdd;\r
-    }\r
-\r
-    /**\r
-      This method initializes jRadioButtonSelect       \r
-       \r
-      @return javax.swing.JRadioButton \r
-     **/\r
-    private JRadioButton getJRadioButtonSelect() {\r
-        if (jRadioButtonSelect == null) {\r
-            jRadioButtonSelect = new JRadioButton();\r
-            jRadioButtonSelect.setBounds(new java.awt.Rectangle(9,10,198,20));\r
-            jRadioButtonSelect.setText("Select Existing Library Class");\r
-            jRadioButtonSelect.addActionListener(this);\r
-            jRadioButtonSelect.setSelected(true);\r
-            jRadioButtonSelect.setVisible(false);\r
-        }\r
-        return jRadioButtonSelect;\r
-    }\r
-\r
     /**\r
       This method initializes jTextFieldAdd    \r
        \r
@@ -223,7 +189,7 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
     private JScrollPane getJScrollPane() {\r
         if (jScrollPane == null) {\r
             jScrollPane = new JScrollPane();\r
-            jScrollPane.setBounds(new java.awt.Rectangle(12,351,608,139));\r
+            jScrollPane.setBounds(new java.awt.Rectangle(12,351,608,253));\r
             jScrollPane.setPreferredSize(new java.awt.Dimension(330,150));\r
             jScrollPane.setViewportView(getJTable());\r
         }\r
@@ -333,7 +299,7 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
             jButtonAdd = new JButton();\r
             jButtonAdd.setText("Add");\r
             jButtonAdd.setSize(new java.awt.Dimension(80,20));\r
-            jButtonAdd.setLocation(new java.awt.Point(365,315));\r
+            jButtonAdd.setLocation(new java.awt.Point(359,326));\r
             jButtonAdd.addActionListener(this);\r
         }\r
         return jButtonAdd;\r
@@ -349,7 +315,7 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
             jButtonRemove = new JButton();\r
             jButtonRemove.setText("Remove");\r
             jButtonRemove.setSize(new java.awt.Dimension(80,20));\r
-            jButtonRemove.setLocation(new java.awt.Point(449,315));\r
+            jButtonRemove.setLocation(new java.awt.Point(443,326));\r
             jButtonRemove.addActionListener(this);\r
         }\r
         return jButtonRemove;\r
@@ -365,7 +331,7 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
             jButtonClearAll = new JButton();\r
             jButtonClearAll.setText("Clear All");\r
             jButtonClearAll.setSize(new java.awt.Dimension(86,20));\r
-            jButtonClearAll.setLocation(new java.awt.Point(536,315));\r
+            jButtonClearAll.setLocation(new java.awt.Point(530,326));\r
             jButtonClearAll.addActionListener(this);\r
         }\r
         return jButtonClearAll;\r
@@ -447,7 +413,7 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
             jLabel6.setText("Supported Module");\r
             jLabel6.setEnabled(true);\r
             jLabel5 = new JLabel();\r
-            jLabel5.setBounds(new java.awt.Rectangle(16,215,93,16));\r
+            jLabel5.setBounds(new java.awt.Rectangle(15,169,93,16));\r
             jLabel5.setText("Supported Arch");\r
             jLabel5.setEnabled(true);\r
             jLabel4 = new JLabel();\r
@@ -457,7 +423,7 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
             jLabel3 = new JLabel();\r
             jLabel3.setBounds(new java.awt.Rectangle(17,112,195,16));\r
             jLabel3.setEnabled(true);\r
-            jLabel3.setText("Recommended Instance GUID");\r
+            jLabel3.setText("Recommended Instance Name");\r
             jLabel2 = new JLabel();\r
             jLabel2.setBounds(new java.awt.Rectangle(16,33,82,20));\r
             jLabel2.setText("Help Text");\r
@@ -480,8 +446,6 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
             jContentPane.add(jLabel, null);\r
             jContentPane.add(jStarLabel1, null);\r
             jContentPane.add(jStarLabel2, null);\r
-            jContentPane.add(getJRadioButtonAdd(), null);\r
-            jContentPane.add(getJRadioButtonSelect(), null);\r
             jContentPane.add(getJTextFieldAdd(), null);\r
             jContentPane.add(getJComboBoxSelect(), null);\r
             jContentPane.add(getJScrollPane(), null);\r
@@ -500,15 +464,12 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
             jContentPane.add(jLabel4, null);\r
             jContentPane.add(getJTextField2(), null);\r
             jContentPane.add(jLabel5, null);\r
-            jContentPane.add(getJCheckBox(), null);\r
-            jContentPane.add(getJCheckBox1(), null);\r
-            jContentPane.add(getJCheckBox2(), null);\r
-            jContentPane.add(getJCheckBox3(), null);\r
             jContentPane.add(jLabel6, null);\r
             \r
             jContentPane.add(getJScrollPaneArch(), null);\r
-            jContentPane.add(getJCheckBox4(), null);\r
-            jContentPane.add(getJCheckBox5(), null);\r
+            jContentPane.add(getJScrollPane1(), null);\r
+            jContentPane.add(getJComboBox(), null);\r
+            \r
         }\r
         \r
         return jContentPane;\r
@@ -571,7 +532,7 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
             row[0] = jTextFieldAdd.getText();\r
             row[1] = jTextField.getText().replace('\\', '/');\r
             row[2] = jTextFieldHelp.getText();\r
-            row[5] = booleanToString(jCheckBox.isSelected(), jCheckBox1.isSelected(), jCheckBox2.isSelected(), jCheckBox3.isSelected(), jCheckBox4.isSelected(), jCheckBox5.isSelected());\r
+            row[5] = vectorToString(iCheckBoxList.getAllCheckedItemsString());\r
             if (row[5].length() == 0){\r
                 row[5] = null;\r
             }\r
@@ -583,6 +544,7 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
                 return;\r
             }\r
             model.addRow(row);\r
+            jTable.changeSelection(model.getRowCount()-1, 0, false, false);\r
             docConsole.setSaved(false);\r
             sfc.genSpdLibClassDeclarations(row[0], row[3], row[1], row[2], row[5], null, null, row[4], null, row[6]);\r
             \r
@@ -609,32 +571,6 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
             model.setRowCount(0);\r
             sfc.removeSpdLibClass();\r
         }\r
-\r
-        if (arg0.getSource() == jRadioButtonAdd) {\r
-            if (jRadioButtonAdd.isSelected()) {\r
-                jRadioButtonSelect.setSelected(false);\r
-                jTextFieldAdd.setEnabled(true);\r
-                jComboBoxSelect.setEnabled(false);\r
-            }\r
-            if (!jRadioButtonSelect.isSelected() && !jRadioButtonAdd.isSelected()) {\r
-                jRadioButtonAdd.setSelected(true);\r
-                jTextFieldAdd.setEnabled(true);\r
-                jComboBoxSelect.setEnabled(false);\r
-            }\r
-        }\r
-\r
-        if (arg0.getSource() == jRadioButtonSelect) {\r
-            if (jRadioButtonSelect.isSelected()) {\r
-                jRadioButtonAdd.setSelected(false);\r
-                jTextFieldAdd.setEnabled(false);\r
-                jComboBoxSelect.setEnabled(true);\r
-            }\r
-            if (!jRadioButtonSelect.isSelected() && !jRadioButtonAdd.isSelected()) {\r
-                jRadioButtonSelect.setSelected(true);\r
-                jTextFieldAdd.setEnabled(false);\r
-                jComboBoxSelect.setEnabled(true);\r
-            }\r
-        }\r
     }\r
 \r
     private boolean dataValidation(String[] row) {\r
@@ -665,7 +601,7 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
     private JTextField getJTextField() {\r
         if (jTextField == null) {\r
             jTextField = new JTextField();\r
-            jTextField.setBounds(new java.awt.Rectangle(221,75,290,21));\r
+            jTextField.setBounds(new java.awt.Rectangle(218,75,290,21));\r
             jTextField.setPreferredSize(new java.awt.Dimension(260,20));\r
         }\r
         return jTextField;\r
@@ -757,8 +693,9 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
     private JTextField getJTextField1() {\r
         if (jTextField1 == null) {\r
             jTextField1 = new JTextField();\r
-            jTextField1.setBounds(new java.awt.Rectangle(220,110,291,20));\r
+            jTextField1.setBounds(new java.awt.Rectangle(218,110,291,20));\r
             jTextField1.setEnabled(true);\r
+            jTextField1.setVisible(false);\r
         }\r
         return jTextField1;\r
     }\r
@@ -777,71 +714,10 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
         return jTextField2;\r
     }\r
 \r
-    /**\r
-     * This method initializes jCheckBox       \r
-     *         \r
-     * @return javax.swing.JCheckBox   \r
-     */\r
-    private JCheckBox getJCheckBox() {\r
-        if (jCheckBox == null) {\r
-            jCheckBox = new JCheckBox();\r
-            jCheckBox.setBounds(new java.awt.Rectangle(123,213,57,21));\r
-            jCheckBox.setText("IA32");\r
-            jCheckBox.setPreferredSize(new java.awt.Dimension(21,20));\r
-        }\r
-        return jCheckBox;\r
-    }\r
-\r
-    /**\r
-     * This method initializes jCheckBox1      \r
-     *         \r
-     * @return javax.swing.JCheckBox   \r
-     */\r
-    private JCheckBox getJCheckBox1() {\r
-        if (jCheckBox1 == null) {\r
-            jCheckBox1 = new JCheckBox();\r
-            jCheckBox1.setBounds(new java.awt.Rectangle(182,213,49,20));\r
-            jCheckBox1.setText("X64");\r
-            jCheckBox1.setPreferredSize(new java.awt.Dimension(21,20));\r
-        }\r
-        return jCheckBox1;\r
-    }\r
-\r
-    /**\r
-     * This method initializes jCheckBox2      \r
-     *         \r
-     * @return javax.swing.JCheckBox   \r
-     */\r
-    private JCheckBox getJCheckBox2() {\r
-        if (jCheckBox2 == null) {\r
-            jCheckBox2 = new JCheckBox();\r
-            jCheckBox2.setText("IPF");\r
-            jCheckBox2.setSize(new java.awt.Dimension(50,20));\r
-            jCheckBox2.setLocation(new java.awt.Point(237,213));\r
-            jCheckBox2.setPreferredSize(new java.awt.Dimension(21,20));\r
-        }\r
-        return jCheckBox2;\r
-    }\r
-\r
-    /**\r
-     * This method initializes jCheckBox3      \r
-     *         \r
-     * @return javax.swing.JCheckBox   \r
-     */\r
-    private JCheckBox getJCheckBox3() {\r
-        if (jCheckBox3 == null) {\r
-            jCheckBox3 = new JCheckBox();\r
-            jCheckBox3.setBounds(new java.awt.Rectangle(286,213,50,20));\r
-            jCheckBox3.setText("EBC");\r
-            jCheckBox3.setPreferredSize(new java.awt.Dimension(21,20));\r
-        }\r
-        return jCheckBox3;\r
-    }\r
-\r
     private JScrollPane getJScrollPaneArch() {\r
         if (jScrollPaneArch == null) {\r
             jScrollPaneArch = new JScrollPane();\r
-            jScrollPaneArch.setBounds(new java.awt.Rectangle(130,252,230,88));\r
+            jScrollPaneArch.setBounds(new java.awt.Rectangle(218,245,293,73));\r
             jScrollPaneArch.setPreferredSize(new java.awt.Dimension(320, 80));\r
             jScrollPaneArch.setViewportView(getICheckBoxListSupportedArchitectures());\r
         }\r
@@ -851,6 +727,7 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
     private ICheckBoxList getICheckBoxListSupportedArchitectures() {\r
         if (iCheckBoxListArch == null) {\r
             iCheckBoxListArch = new ICheckBoxList();\r
+            iCheckBoxListArch.setBounds(new java.awt.Rectangle(218,246,292,73));\r
             Vector<String> v = new Vector<String>();\r
             v.add("BASE");\r
             v.add("SEC");\r
@@ -869,29 +746,6 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
         return iCheckBoxListArch;\r
     }\r
     \r
-    private String booleanToString(boolean b1, boolean b2, boolean b3, boolean b4, boolean b5, boolean b6){\r
-        String s = " ";\r
-        if (b1){\r
-            s += "IA32 ";\r
-        }\r
-        if (b2){\r
-            s += "X64 ";\r
-        }\r
-        if (b3){\r
-            s += "IPF ";\r
-        }\r
-        if (b4){\r
-            s += "EBC ";\r
-        }\r
-        if (b5){\r
-            s += "ARM ";\r
-        }\r
-        if (b6){\r
-            s += "PPC ";\r
-        }\r
-        return s.trim();\r
-    }\r
-    \r
     private String vectorToString(Vector<String> v) {\r
         String s = " ";\r
         for (int i = 0; i < v.size(); ++i) {\r
@@ -900,39 +754,99 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
         }\r
         return s.trim();\r
     }\r
+    \r
+    private JScrollPane getJScrollPane1() {\r
+        if (jScrollPane1 == null) {\r
+            jScrollPane1 = new JScrollPane();\r
+            jScrollPane1.setBounds(new java.awt.Rectangle(218,170,293,73));\r
+            jScrollPane1.setPreferredSize(new java.awt.Dimension(320, 80));\r
+            jScrollPane1.setViewportView(getICheckBoxList());\r
+        }\r
+        return jScrollPane1;\r
+    }\r
     /**\r
-     * This method initializes jCheckBox4      \r
+     * This method initializes iCheckBoxList   \r
      *         \r
-     * @return javax.swing.JCheckBox   \r
+     * @return org.tianocore.frameworkwizard.common.ui.iCheckBoxList.ICheckBoxList     \r
      */\r
-    private JCheckBox getJCheckBox4() {\r
-        if (jCheckBox4 == null) {\r
-            jCheckBox4 = new JCheckBox();\r
-            jCheckBox4.setBounds(new java.awt.Rectangle(343,213,60,20));\r
-            jCheckBox4.setText("ARM");\r
-            jCheckBox4.setPreferredSize(new Dimension(60, 20));\r
+    private ICheckBoxList getICheckBoxList() {\r
+        if (iCheckBoxList == null) {\r
+            iCheckBoxList = new ICheckBoxList();\r
+            iCheckBoxList.setBounds(new java.awt.Rectangle(218,171,292,66));\r
+            Vector<String> v = new Vector<String>();\r
+            v.add("IA32");\r
+            v.add("X64");\r
+            v.add("IPF");\r
+            v.add("EBC");\r
+            v.add("ARM");\r
+            v.add("PPC");\r
+            iCheckBoxList.setAllItems(v);\r
         }\r
-        return jCheckBox4;\r
+        return iCheckBoxList;\r
     }\r
 \r
     /**\r
-     * This method initializes jCheckBox5      \r
+     * This method initializes jComboBox       \r
      *         \r
-     * @return javax.swing.JCheckBox   \r
+     * @return javax.swing.JComboBox   \r
      */\r
-    private JCheckBox getJCheckBox5() {\r
-        if (jCheckBox5 == null) {\r
-            jCheckBox5 = new JCheckBox();\r
-            jCheckBox5.setBounds(new java.awt.Rectangle(400,213,60,20));\r
-            jCheckBox5.setText("PPC");\r
-            jCheckBox5.setPreferredSize(new Dimension(60, 20));\r
+    private JComboBox getJComboBox() {\r
+        if (jComboBox == null) {\r
+            jComboBox = new JComboBox();\r
+            jComboBox.setPreferredSize(new java.awt.Dimension(31,20));\r
+            jComboBox.setSize(new java.awt.Dimension(290,20));\r
+            jComboBox.setLocation(new java.awt.Point(218,111));\r
+            jComboBox.addFocusListener(new java.awt.event.FocusAdapter() {\r
+                public void focusGained(java.awt.event.FocusEvent e) {\r
+                    if (jTextFieldAdd.getText().length() == 0) {\r
+                        return;\r
+                    }\r
+                    jComboBox.removeAllItems();\r
+                    getLibInstances(jTextFieldAdd.getText());\r
+                    Set<String> libNames = libNameGuidMap.keySet();\r
+                    Iterator<String> si = libNames.iterator();\r
+                    while(si.hasNext()) {\r
+                        jComboBox.addItem(si.next());\r
+                    }\r
+                }\r
+            });\r
+         \r
         }\r
-        return jCheckBox5;\r
+        return jComboBox;\r
     }\r
 \r
-    public static void main(String[] args){\r
-        new SpdLibClassDecls().setVisible(true);\r
+    private void getLibInstances(String libClass){\r
+        libNameGuidMap.clear();\r
+        try {\r
+            GlobalData.initInfo("Tools" + File.separator + "Conf" + File.separator + "FrameworkDatabase.db", System.getenv("WORKSPACE"));\r
+        \r
+            Set<PackageIdentification> spi = GlobalData.getPackageList();\r
+            Iterator ispi = spi.iterator();\r
+            \r
+            while (ispi.hasNext()) {\r
+                PackageIdentification pi = (PackageIdentification) ispi.next();\r
+\r
+                Set<ModuleIdentification> smi = GlobalData.getModules(pi);\r
+                Iterator ismi = smi.iterator();\r
+                while (ismi.hasNext()) {\r
+                    ModuleIdentification mi = (ModuleIdentification) ismi.next();\r
+                    Map<String, XmlObject> m = GlobalData.getNativeMsa(mi);\r
+                    SurfaceAreaQuery.setDoc(m);\r
+                    String[] classProduced = SurfaceAreaQuery.getLibraryClasses("ALWAYS_PRODUCED");\r
+                    for (int i = 0; i < classProduced.length; ++i) {\r
+                        if (classProduced[i].equals(libClass)) {\r
+                            libNameGuidMap.put(mi.getName(), mi.getGuid());\r
+                        }\r
+                    }\r
+                }\r
+            }\r
+        }\r
+        catch(Exception e){\r
+            JOptionPane.showMessageDialog(frame, "Search Instances Fail.");\r
+        }\r
+        \r
     }\r
+\r
 }\r
 \r
 \r
index c53e082e1f68b5a77381587fa8ed10ba6440a190..4c7a69d1ae3ab3666870f4e51c60fc4357fcee7c 100644 (file)
@@ -108,7 +108,7 @@ public class SpdMsaFiles extends IInternalFrame implements TableModelListener{
     private JScrollPane getJScrollPane1() {\r
         if (jScrollPane1 == null) {\r
             jScrollPane1 = new JScrollPane();\r
-            jScrollPane1.setBounds(new java.awt.Rectangle(13,177,461,139));\r
+            jScrollPane1.setBounds(new java.awt.Rectangle(13,177,461,421));\r
             jScrollPane1.setViewportView(getJTable());\r
         }\r
         return jScrollPane1;\r
@@ -351,6 +351,7 @@ public class SpdMsaFiles extends IInternalFrame implements TableModelListener{
                 return;\r
             }\r
             model.addRow(row);\r
+            jTable.changeSelection(model.getRowCount()-1, 0, false, false);\r
             sfc.genSpdMsaFiles(row[0], null, null, null);\r
         }\r
         //\r
index 9f408a43d7ecfbb5f34b6c0fcd9d9d366c272838..84eee46b16e450dace534d6dca5eda84b1edf3e2 100644 (file)
@@ -385,6 +385,7 @@ public class SpdPackageHeaders extends IInternalFrame implements TableModelListe
                 return;\r
             }\r
             model.addRow(row);\r
+            jTable.changeSelection(model.getRowCount()-1, 0, false, false);\r
             sfc.genSpdModuleHeaders(row[0], row[1], null, null, null, null, null, null);\r
         }\r
         //\r
@@ -504,7 +505,7 @@ public class SpdPackageHeaders extends IInternalFrame implements TableModelListe
     private JScrollPane getJScrollPane1() {\r
         if (jScrollPane1 == null) {\r
             jScrollPane1 = new JScrollPane();\r
-            jScrollPane1.setBounds(new java.awt.Rectangle(13,149,453,165));\r
+            jScrollPane1.setBounds(new java.awt.Rectangle(13,149,453,258));\r
             jScrollPane1.setViewportView(getJTable());\r
         }\r
         return jScrollPane1;\r
index a2cff01201fc6c209722d9cc28d6debcbda2f734..742081a4b5e3efbaa53ed7dba7f7f15f08ad9552 100644 (file)
@@ -287,7 +287,7 @@ public class SpdPcdDefs extends IInternalFrame implements TableModelListener{
             for (int k = 0; k < 6; ++k) {\r
                 rowData[k] = saa[i][k];\r
             }\r
-            for (int m = 7; m < 11; ++m) {\r
+            for (int m = 6; m < 11; ++m) {\r
                 rowData[m] = new Boolean("false");\r
             }\r
             int j = 0;\r
@@ -476,7 +476,7 @@ public class SpdPcdDefs extends IInternalFrame implements TableModelListener{
                     return;\r
                 }\r
                 model.addRow(row);\r
-                \r
+                jTable.changeSelection(model.getRowCount()-1, 0, false, false);\r
                 String usage = getValidUsage(jCheckBox.isSelected(), jCheckBox1.isSelected(), jCheckBox2.isSelected(), jCheckBox3.isSelected(), jCheckBox4.isSelected());\r
                 if (usage.length() == 0) {\r
                     usage = null;\r
@@ -627,7 +627,7 @@ public class SpdPcdDefs extends IInternalFrame implements TableModelListener{
     private JScrollPane getJScrollPane() {\r
         if (jScrollPane == null) {\r
             jScrollPane = new JScrollPane();\r
-            jScrollPane.setBounds(new java.awt.Rectangle(5,301,1473,137));\r
+            jScrollPane.setBounds(new java.awt.Rectangle(5,301,1473,259));\r
             jScrollPane.setViewportView(getJTable());\r
         }\r
         return jScrollPane;\r
@@ -769,7 +769,7 @@ public class SpdPcdDefs extends IInternalFrame implements TableModelListener{
     private JCheckBox getJCheckBox1() {\r
         if (jCheckBox1 == null) {\r
             jCheckBox1 = new JCheckBox();\r
-            jCheckBox1.setBounds(new java.awt.Rectangle(302,133,108,20));\r
+            jCheckBox1.setBounds(new java.awt.Rectangle(312,133,108,20));\r
             jCheckBox1.setText("Fixed at Build");\r
             jCheckBox1.setPreferredSize(new java.awt.Dimension(21,20));\r
         }\r
index 875ddac7fe7595e4fa11131ad919a2984593c6ad..f273d8db66718e16d2ff1324a609386a446ed145 100644 (file)
@@ -26,6 +26,7 @@ import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;\r
 \r
 import javax.swing.DefaultCellEditor;\r
+import javax.swing.JFileChooser;\r
 import javax.swing.JFrame;\r
 import javax.swing.JOptionPane;\r
 import javax.swing.JTextField;\r
@@ -41,18 +42,20 @@ import javax.swing.event.ListSelectionListener;
 import javax.swing.event.TableModelEvent;\r
 import javax.swing.event.TableModelListener;\r
 import javax.swing.table.DefaultTableModel;\r
-import javax.swing.table.TableColumn;\r
 import javax.swing.table.TableModel;\r
 \r
 import org.tianocore.PlatformSurfaceAreaDocument;\r
 import org.tianocore.frameworkwizard.common.DataValidation;\r
 import org.tianocore.frameworkwizard.common.Identifications.OpeningPlatformType;\r
 import org.tianocore.frameworkwizard.common.ui.IInternalFrame;\r
+\r
+import java.io.File;\r
 import java.util.ArrayList;\r
 import java.util.Iterator;\r
 import java.util.LinkedHashMap;\r
 import java.util.Set;\r
 import java.util.Vector;\r
+import java.awt.Dimension;\r
 \r
 public class FpdBuildOptions extends IInternalFrame {\r
 \r
@@ -111,7 +114,6 @@ public class FpdBuildOptions extends IInternalFrame {
     private JButton jButton18 = null;\r
     private FpdFileContents ffc = null;\r
     private OpeningPlatformType docConsole = null;\r
-    private JButton jButton19 = null;\r
     private JCheckBox jCheckBox9 = null;\r
     private JCheckBox jCheckBox10 = null;\r
     private JCheckBox jCheckBox11 = null;\r
@@ -146,6 +148,8 @@ public class FpdBuildOptions extends IInternalFrame {
     private JButton jButton7 = null;\r
     private JScrollPane jScrollPane4 = null;\r
     private JTable jTable6 = null;\r
+    private JButton jButton12 = null;\r
+    private JTextField jTextField1 = null;\r
     /**\r
      * This method initializes jPanel  \r
      *         \r
@@ -245,6 +249,7 @@ public class FpdBuildOptions extends IInternalFrame {
             jPanel9.setLayout(flowLayout8);\r
             jPanel9.add(jLabel, null);\r
             jPanel9.add(getJTextField2(), null);\r
+            jPanel9.add(getJButton12(), null);\r
             jPanel9.add(jLabel3, null);\r
             jPanel9.add(getJTextField3(), null);\r
         }\r
@@ -325,14 +330,14 @@ public class FpdBuildOptions extends IInternalFrame {
             jButton4.setText("Add");\r
             jButton4.addActionListener(new ActionListener() {\r
                 public void actionPerformed(ActionEvent e) {\r
-                    if (!DataValidation.isInt(jTextField3.getText())) {\r
-                        JOptionPane.showMessageDialog(frame, "ID must be an integer.");\r
+                    if (!DataValidation.isInt(jTextField3.getText()) || jTextField3.getText().length() != 8) {\r
+                        JOptionPane.showMessageDialog(frame, "ID must be an 8-digit integer.");\r
                         return;\r
                     }\r
                     Object[] o = {jTextField3.getText(), null, null};\r
                         o[1] = jTextField2.getText();\r
                         o[2] = jTextField4.getText();\r
-                        ffc.genBuildOptionsUserDefAntTask(o[0]+"", null, o[2]+"");\r
+                        ffc.genBuildOptionsUserDefAntTask(o[0]+"", o[1]+"", o[2]+"");\r
                     antTaskTableModel.addRow(o);\r
                     docConsole.setSaved(false);\r
                 }\r
@@ -736,6 +741,7 @@ public class FpdBuildOptions extends IInternalFrame {
             jPanel20.add(jLabel14, null);\r
             jPanel20.add(getJTextField12(), null);\r
             jPanel20.add(jLabel10, null);\r
+            jPanel20.add(getJTextField1(), null);\r
             jPanel20.add(getJComboBox2(), null);\r
             jPanel20.add(jLabel12, null);\r
             jPanel20.add(getJTextField8(), null);\r
@@ -752,7 +758,6 @@ public class FpdBuildOptions extends IInternalFrame {
             jPanel20.add(getJTextField7(), null);\r
             jPanel20.add(getJButton10(), null);\r
             jPanel20.add(getJButton11(), null);\r
-            jPanel20.add(getJButton19(), null);\r
             jPanel20.add(getJScrollPane6(), null);\r
         }\r
         return jPanel20;\r
@@ -785,6 +790,7 @@ public class FpdBuildOptions extends IInternalFrame {
             jComboBox2.addItem("CYGWIN");\r
             jComboBox2.addItem("INTEL");\r
             jComboBox2.setSelectedIndex(0);\r
+            jComboBox2.setVisible(false);\r
         }\r
         return jComboBox2;\r
     }\r
@@ -833,13 +839,13 @@ public class FpdBuildOptions extends IInternalFrame {
             optionsTableModel.addColumn("TagName");\r
             optionsTableModel.addColumn("Contents");\r
             \r
-            TableColumn toolFamilyCol = jTable5.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
-            toolFamilyCol.setCellEditor(new DefaultCellEditor(cb));\r
+//            TableColumn toolFamilyCol = jTable5.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
+//            toolFamilyCol.setCellEditor(new DefaultCellEditor(cb));\r
             Vector<String> vArch = new Vector<String>();\r
             vArch.add("IA32");\r
             vArch.add("X64");\r
@@ -910,7 +916,7 @@ public class FpdBuildOptions extends IInternalFrame {
         if (jButton10 == null) {\r
             jButton10 = new JButton();\r
             jButton10.setText("Add");\r
-            jButton10.setPreferredSize(new java.awt.Dimension(70,20));\r
+            jButton10.setPreferredSize(new java.awt.Dimension(90,20));\r
             jButton10.addActionListener(new AbstractAction() {\r
                 /**\r
                  * \r
@@ -921,11 +927,11 @@ public class FpdBuildOptions extends IInternalFrame {
                     boolean[] boolArray = {jCheckBox9.isSelected(),jCheckBox10.isSelected(),jCheckBox11.isSelected(),\r
                                            jCheckBox12.isSelected(),jCheckBox13.isSelected(),jCheckBox14.isSelected()};\r
                     String s = boolToList(boolArray);\r
-                    Object[] o = {jTextField12.getText(), jComboBox2.getSelectedItem(), s,\r
+                    Object[] o = {jTextField12.getText(), jTextField1.getText(), s,\r
                                   jTextField8.getText(), jTextField13.getText(), jTextField7.getText()};\r
                     optionsTableModel.addRow(o);\r
                     docConsole.setSaved(false);\r
-                    ffc.genBuildOptionsOpt(stringToVector(jTextField12.getText()), jComboBox2.getSelectedItem()+"", jTextField13.getText(), jTextField8.getText(),  stringToVector(s), jTextField7.getText());\r
+                    ffc.genBuildOptionsOpt(stringToVector(jTextField12.getText()), jTextField1.getText(), jTextField13.getText(), jTextField8.getText(),  stringToVector(s), jTextField7.getText());\r
                 }\r
             });\r
         }\r
@@ -979,7 +985,7 @@ public class FpdBuildOptions extends IInternalFrame {
         if (jButton11 == null) {\r
             jButton11 = new JButton();\r
             jButton11.setText("Delete");\r
-            jButton11.setPreferredSize(new java.awt.Dimension(70,20));\r
+            jButton11.setPreferredSize(new java.awt.Dimension(90,20));\r
             jButton11.addActionListener(new AbstractAction() {\r
                 /**\r
                  * \r
@@ -1059,21 +1065,6 @@ public class FpdBuildOptions extends IInternalFrame {
         return jButton18;\r
     }\r
 \r
-    /**\r
-     * This method initializes jButton19       \r
-     *         \r
-     * @return javax.swing.JButton     \r
-     */\r
-    private JButton getJButton19() {\r
-        if (jButton19 == null) {\r
-            jButton19 = new JButton();\r
-            jButton19.setPreferredSize(new java.awt.Dimension(75,20));\r
-            jButton19.setEnabled(false);\r
-            jButton19.setText("Update");\r
-        }\r
-        return jButton19;\r
-    }\r
-\r
     /**\r
      * This method initializes jCheckBox9      \r
      *         \r
@@ -1657,6 +1648,67 @@ public class FpdBuildOptions extends IInternalFrame {
         return jTable6;\r
     }\r
 \r
+    /**\r
+     * This method initializes jButton12       \r
+     *         \r
+     * @return javax.swing.JButton     \r
+     */\r
+    private JButton getJButton12() {\r
+        if (jButton12 == null) {\r
+            jButton12 = new JButton();\r
+            jButton12.setPreferredSize(new Dimension(90, 20));\r
+            jButton12.setText("Browse");\r
+            jButton12.addActionListener(new AbstractAction() {\r
+                private static final long serialVersionUID = 1L;\r
+\r
+                public void actionPerformed(ActionEvent arg0) {\r
+                    //\r
+                    // Select files from current workspace\r
+                    //\r
+                    String dirPrefix = System.getenv("WORKSPACE");\r
+                    JFileChooser chooser = new JFileChooser(dirPrefix);\r
+                    File theFile = null;\r
+                    String headerDest = null;\r
+                    \r
+                    chooser.setMultiSelectionEnabled(false);\r
+                    chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);\r
+                    int retval = chooser.showOpenDialog(frame);\r
+                    if (retval == JFileChooser.APPROVE_OPTION) {\r
+\r
+                        theFile = chooser.getSelectedFile();\r
+                        String file = theFile.getPath();\r
+                        if (!file.startsWith(dirPrefix)) {\r
+                            JOptionPane.showMessageDialog(frame, "You can only select files in current package!");\r
+                            return;\r
+                        }\r
+                    }\r
+                    else {\r
+                        return;\r
+                    }\r
+                    \r
+                    headerDest = theFile.getPath();\r
+                    jTextField2.setText(headerDest.substring(dirPrefix.length()).replace('\\', '/'));\r
+               \r
+                }\r
+\r
+            });\r
+        }\r
+        return jButton12;\r
+    }\r
+\r
+    /**\r
+     * This method initializes jTextField1     \r
+     *         \r
+     * @return javax.swing.JTextField  \r
+     */\r
+    private JTextField getJTextField1() {\r
+        if (jTextField1 == null) {\r
+            jTextField1 = new JTextField();\r
+            jTextField1.setPreferredSize(new java.awt.Dimension(85,20));\r
+        }\r
+        return jTextField1;\r
+    }\r
+\r
     /**\r
      * @param args\r
      */\r
index 0fc11f08b28a42c7e41176aff7463056cc3c28ce..0fbffe0837acd4b133f3a155be23a2093d7d6f3e 100644 (file)
@@ -264,6 +264,10 @@ public class FpdFileContents {
                 }\r
             }\r
             cursor.removeXml();\r
+            if (getFrameworkModulesCount() == 0) {\r
+                cursor.toParent();\r
+                cursor.removeXml();\r
+            }\r
         }\r
         cursor.dispose();\r
     }\r
@@ -390,7 +394,7 @@ public class FpdFileContents {
             \r
         }\r
         catch (Exception e){\r
-            e.printStackTrace();\r
+//            e.printStackTrace();\r
             throw e;\r
         }\r
         \r
@@ -653,13 +657,15 @@ public class FpdFileContents {
         //ToDo add Arch filter\r
         \r
         try {\r
+            if (moduleSa == null) {\r
+                moduleSa = genModuleSA(mi);\r
+            }\r
+            \r
             ModuleSurfaceAreaDocument.ModuleSurfaceArea msa = (ModuleSurfaceAreaDocument.ModuleSurfaceArea)GlobalData.getModuleXmlObject(mi);\r
             if (msa.getPcdCoded() == null) {\r
                 return;\r
             }\r
-            if (moduleSa == null) {\r
-                moduleSa = genModuleSA(mi);\r
-            }\r
+            \r
             Map<String, XmlObject> m = new HashMap<String, XmlObject>();\r
             m.put("ModuleSurfaceArea", msa);\r
             SurfaceAreaQuery.setDoc(m);\r
@@ -688,7 +694,7 @@ public class FpdFileContents {
             \r
         }\r
         catch (Exception e){\r
-            e.printStackTrace();\r
+//            e.printStackTrace();\r
             throw e; \r
         }\r
         \r
@@ -1003,22 +1009,20 @@ public class FpdFileContents {
         \r
         XmlCursor cursor = o.newCursor();\r
         if (cursor.toFirstChild()) {\r
-            DynamicPcdBuildDefinitionsDocument.DynamicPcdBuildDefinitions.PcdBuildData pcdBuildData = \r
-                (DynamicPcdBuildDefinitionsDocument.DynamicPcdBuildDefinitions.PcdBuildData)cursor.getObject();\r
-            if (pcdBuildData.getCName().equals(cName) && pcdBuildData.getTokenSpaceGuidCName().equals(tsGuid)) {\r
-                cursor.removeXml();\r
-                cursor.dispose();\r
-                return;\r
-            }\r
-            while (cursor.toNextSibling()) {\r
-                \r
-                pcdBuildData = (DynamicPcdBuildDefinitionsDocument.DynamicPcdBuildDefinitions.PcdBuildData)cursor.getObject();\r
+            do {\r
+                DynamicPcdBuildDefinitionsDocument.DynamicPcdBuildDefinitions.PcdBuildData pcdBuildData = \r
+                    (DynamicPcdBuildDefinitionsDocument.DynamicPcdBuildDefinitions.PcdBuildData)cursor.getObject();\r
                 if (pcdBuildData.getCName().equals(cName) && pcdBuildData.getTokenSpaceGuidCName().equals(tsGuid)) {\r
                     cursor.removeXml();\r
+                    if (getDynamicPcdBuildDataCount() == 0) {\r
+                        cursor.toParent();\r
+                        cursor.removeXml();\r
+                    }\r
                     cursor.dispose();\r
                     return;\r
                 }\r
             }\r
+            while (cursor.toNextSibling());\r
         }\r
         cursor.dispose();\r
     }\r
@@ -1257,6 +1261,10 @@ public class FpdFileContents {
                 cursor.toNextSibling();\r
             }\r
             cursor.removeXml();\r
+            if (getBuildOptionsUserDefAntTaskCount() == 0) {\r
+                cursor.toParent();\r
+                cursor.removeXml();\r
+            }\r
         }\r
         cursor.dispose();\r
     }\r
@@ -1341,6 +1349,10 @@ public class FpdFileContents {
                 cursor.toNextSibling();\r
             }\r
             cursor.removeXml();\r
+            if (getBuildOptionsOptCount() == 0) {\r
+                cursor.toParent();\r
+                cursor.removeXml();\r
+            }\r
         }\r
         cursor.dispose();\r
     }\r
@@ -1576,10 +1588,15 @@ public class FpdFileContents {
                 cursor.toNextSibling(qSections);\r
             }\r
             if (cursor.toFirstChild()) {\r
-                for (int m = 0; m < k; ++m) {\r
+                int m = 0;\r
+                for (; m < k; ++m) {\r
                     cursor.toNextSibling();\r
                 }\r
                 cursor.removeXml();\r
+                if (m == 0) {\r
+                    cursor.toParent();\r
+                    cursor.removeXml();\r
+                }\r
             }\r
         }\r
         cursor.dispose();\r
@@ -1858,7 +1875,16 @@ public class FpdFileContents {
     }\r
     \r
     public void setPlatformDefsOutputDir(String outputDir) {\r
-        getfpdPlatformDefs().setOutputDirectory(outputDir);\r
+        if (outputDir != null && outputDir.length() > 0) {\r
+            getfpdPlatformDefs().setOutputDirectory(outputDir);\r
+        }\r
+        else{\r
+            XmlCursor cursor = getfpdPlatformDefs().newCursor();\r
+            if (cursor.toChild(new QName(xmlNs, "OutputDirectory"))) {\r
+                cursor.removeXml();\r
+            }\r
+            cursor.dispose();\r
+        }\r
     }\r
     \r
     public FlashDocument.Flash getfpdFlash() {\r
index 4133c72a85d8a73f3a49a93668f573b162664f15..cb2a5aa4206911a218c98be99153f0235e39e4d9 100644 (file)
@@ -199,13 +199,16 @@ public class FpdFrameworkModules extends IInternalFrame {
                         row[4] = mi.getPackage().getVersion();\r
                     }\r
                     model1.addRow(row);\r
+                    \r
                     docConsole.setSaved(false);\r
                     try{\r
-                    ffc.addFrameworkModulesPcdBuildDefs(miList.get(selectedRow), null);\r
-                }\r
+                        ffc.addFrameworkModulesPcdBuildDefs(miList.get(selectedRow), null);\r
+                    }\r
                     catch (Exception exception) {\r
                         JOptionPane.showMessageDialog(frame, "PCD Insertion Fail. " + exception.getMessage());\r
                     }\r
+                    JOptionPane.showMessageDialog(frame, "This Module Added Successfully.");\r
+                    jTable1.changeSelection(model1.getRowCount()-1, 0, false, false);\r
                 }\r
             });\r
         }\r
index a849f5ab464d44fc5f53816e08e95eeee7002b74..48573115222c365c4b7df70c77700ad8427d38cc 100644 (file)
@@ -132,6 +132,7 @@ public class FpdModuleSA extends JDialog implements ActionListener {
     public void setKey(String k){\r
         this.moduleKey = k;\r
         jTabbedPane.setSelectedIndex(0);\r
+        initPcdBuildDefinition(k);\r
     }\r
 \r
     /**\r