]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/FrameworkWizardUI.java
1. Fix bug in get industry std headers
[mirror_edk2.git] / Tools / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / FrameworkWizardUI.java
index 6426f6b0e54c7d30ffa77341b83ef46dc6ccd57c..1087d85a4e232eab6c10d37b6a22b595df0868c4 100644 (file)
@@ -1793,7 +1793,8 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele
             CreateStepOne cso = new CreateStepOne(this, true);\r
             int result = cso.showDialog();\r
             if (result == DataType.RETURN_TYPE_OK) {\r
-                this.closeAll();\r
+                String strReturn = "Create Far Done!";\r
+                JOptionPane.showConfirmDialog(null, strReturn, "Done", JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE);\r
             }\r
             cso.dispose();\r
         }\r
@@ -1802,6 +1803,8 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele
             InstallStepOne iso = new InstallStepOne(this, true);\r
             int result = iso.showDialog();\r
             if (result == DataType.RETURN_TYPE_OK) {\r
+                String strReturn = "<html>Install Far Done! <br>The WORKSPACE will be refreshed!</html>";\r
+                JOptionPane.showConfirmDialog(null, strReturn, "Done", JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE);\r
                 this.closeAll();\r
             }\r
             iso.dispose();\r
@@ -1811,6 +1814,8 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele
             DeleteStepOne dso = new DeleteStepOne(this, true);\r
             int result = dso.showDialog();\r
             if (result == DataType.RETURN_TYPE_OK) {\r
+                String strReturn = "<html>Delete Far Done! <br>The WORKSPACE will be refreshed!</html>";\r
+                JOptionPane.showConfirmDialog(null, strReturn, "Done", JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE);\r
                 this.closeAll();\r
             }\r
             dso.dispose();\r
@@ -1820,6 +1825,8 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele
             UpdateStepOne uso = new UpdateStepOne(this, true);\r
             int result = uso.showDialog();\r
             if (result == DataType.RETURN_TYPE_OK) {\r
+                String strReturn = "<html>Update Far Done! <br>The WORKSPACE will be refreshed!</html>";\r
+                JOptionPane.showConfirmDialog(null, strReturn, "Done", JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE);\r
                 this.closeAll();\r
             }\r
             uso.dispose();\r
@@ -2039,147 +2046,76 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele
         fc.addChoosableFileFilter(new IFileFilter(ext));\r
         return fc.showSaveDialog(new JPanel());\r
     }\r
-    \r
-    /**\r
-    Open Module\r
-\r
-    @param path input file path\r
-    \r
-    **/\r
-   private void openModule(String path, ModuleIdentification moduleId) {\r
-       ModuleSurfaceAreaDocument.ModuleSurfaceArea msa = null;\r
-       try {\r
-           msa = OpenFile.openMsaFile(path);\r
-       } catch (IOException e) {\r
-           Log.err("Open Module Surface Area " + path, e.getMessage());\r
-           return;\r
-       } catch (XmlException e) {\r
-           Log.err("Open Module Surface Area " + path, e.getMessage());\r
-           return;\r
-       } catch (Exception e) {\r
-           Log.err("Open Module Surface Area " + path, "Invalid file type");\r
-           return;\r
-       }\r
-       Identification id = new Identification(msa.getMsaHeader().getModuleName(), msa.getMsaHeader().getGuidValue(),\r
-                                              msa.getMsaHeader().getVersion(), path);\r
-       //\r
-       // Generate module id\r
-       //\r
-       PackageIdentification pid = wt.getPackageIdByModuleId(id);\r
-       if (pid != null) {\r
-           //\r
-           // To judge if the module existed in vModuleList\r
-           // If not, add it to vModuleList\r
-           //\r
-           boolean isFind = false;\r
-           for (int index = 0; index < vModuleList.size(); index++) {\r
-               if (vModuleList.elementAt(index).equals(id)) {\r
-                   isFind = true;\r
-                   break;\r
-               }\r
-           }\r
-           if (!isFind) {\r
-               ModuleIdentification mid = new ModuleIdentification(id, pid, moduleId.isLibrary());\r
-               vModuleList.addElement(mid);\r
-               //\r
-               // Add new MsaHeader node to the tree\r
-               //\r
-               IDefaultMutableTreeNode node = new IDefaultMutableTreeNode(mid.getName(),\r
-                                                                          IDefaultMutableTreeNode.MSA_HEADER, true,\r
-                                                                          mid);\r
-               //\r
-               // First find the module belongs to which package\r
-               //\r
-               IDefaultMutableTreeNode packageNode = iTree.getNodeById(dmtnModuleDescription, mid.getPackageId(),\r
-                                                                       IDefaultMutableTreeNode.MODULE_PACKAGE);\r
-               //\r
-               // To check if has module node or library node\r
-               //\r
-               IDefaultMutableTreeNode parentModuleNode = null;\r
-               IDefaultMutableTreeNode parentLibraryNode = null;\r
-               boolean hasModule = false;\r
-               boolean hasLibrary = false;\r
-               for (int index = 0; index < packageNode.getChildCount(); index++) {\r
-                   IDefaultMutableTreeNode iNode = (IDefaultMutableTreeNode) packageNode.getChildAt(index);\r
-                   if (iNode.getCategory() == IDefaultMutableTreeNode.MODULE_PACKAGE_LIBRARY) {\r
-                       hasLibrary = true;\r
-                       parentLibraryNode = iNode;\r
-                   }\r
-                   if (iNode.getCategory() == IDefaultMutableTreeNode.MODULE_PACKAGE_MODULE) {\r
-                       hasModule = true;\r
-                       parentModuleNode = iNode;\r
-                   }\r
-               }\r
-\r
-               //\r
-               // If is a module\r
-               //\r
-               if (!mid.isLibrary()) {\r
-                   //\r
-                   // Create parent node first if has no parent node\r
-                   //\r
-                   if (!hasModule) {\r
-                       parentModuleNode = new IDefaultMutableTreeNode("Module",\r
-                                                                      IDefaultMutableTreeNode.MODULE_PACKAGE_MODULE,\r
-                                                                      false, mid.getPackageId());\r
-                       iTree.addNode(packageNode, parentModuleNode);\r
-                   }\r
-\r
-                   iTree.addNode(parentModuleNode, node);\r
-               }\r
-\r
-               //\r
-               // If is a Library\r
-               //\r
-               if (mid.isLibrary()) {\r
-                   //\r
-                   // Create parent node first if has no parent node\r
-                   //\r
-                   if (!hasLibrary) {\r
-                       parentLibraryNode = new IDefaultMutableTreeNode("Library",\r
-                                                                       IDefaultMutableTreeNode.MODULE_PACKAGE_LIBRARY,\r
-                                                                       false, mid.getPackageId());\r
-                       iTree.addNode(packageNode, parentLibraryNode);\r
-                   }\r
-\r
-                   iTree.addNode(parentLibraryNode, node);\r
-               }\r
-           }\r
-       } else {\r
-           //\r
-           // The module is not in existing packages\r
-           //\r
-           Log.err("The module hasn't been added to any package of current workspace!");\r
-           return;\r
-       }\r
-       \r
-       //\r
-       // Make the node selected\r
-       //\r
-       iTree.setSelectionPath(iTree.getPathOfNode(iTree.getNodeById(this.dmtnModuleDescription, id,\r
-                                                                    IDefaultMutableTreeNode.MSA_HEADER)));\r
-       //\r
-       // Update opening Module list information\r
-       //\r
-       if (!openingModuleList.existsModule(id)) {\r
-           //\r
-           // Insert sub node of module\r
-           //\r
-           insertModuleTreeNode(id);\r
-           iTree.getSelectNode().setOpening(true);\r
-\r
-           //\r
-           // Update opening module list\r
-           //\r
-           openingModuleList.insertToOpeningModuleList(id, msa);\r
-           openingModuleList.setTreePathById(id, iTree.getSelectionPath());\r
-       }\r
-       //\r
-       // Show msa header in editor panel\r
-       //\r
-       showModuleElement(IDefaultMutableTreeNode.MSA_HEADER, openingModuleList.getOpeningModuleById(id));\r
-       this.currentOpeningModuleIndex = openingModuleList.findIndexOfListById(id);\r
-   }\r
+\r
+    /**\r
+     Add a module to tree\r
+     \r
+     @param mid The module node to be added\r
+     \r
+     **/\r
+    private void addModuleToTree(ModuleIdentification mid) {\r
+        //\r
+        // Add new MsaHeader node to the tree\r
+        //\r
+        IDefaultMutableTreeNode node = new IDefaultMutableTreeNode(mid.getName(), IDefaultMutableTreeNode.MSA_HEADER,\r
+                                                                   true, mid);\r
+        //\r
+        // First find the module belongs to which package\r
+        //\r
+        IDefaultMutableTreeNode packageNode = iTree.getNodeById(dmtnModuleDescription, mid.getPackageId(),\r
+                                                                IDefaultMutableTreeNode.MODULE_PACKAGE);\r
+        //\r
+        // To check if has module node or library node\r
+        //\r
+        IDefaultMutableTreeNode parentModuleNode = null;\r
+        IDefaultMutableTreeNode parentLibraryNode = null;\r
+        boolean hasModule = false;\r
+        boolean hasLibrary = false;\r
+        for (int index = 0; index < packageNode.getChildCount(); index++) {\r
+            IDefaultMutableTreeNode iNode = (IDefaultMutableTreeNode) packageNode.getChildAt(index);\r
+            if (iNode.getCategory() == IDefaultMutableTreeNode.MODULE_PACKAGE_LIBRARY) {\r
+                hasLibrary = true;\r
+                parentLibraryNode = iNode;\r
+            }\r
+            if (iNode.getCategory() == IDefaultMutableTreeNode.MODULE_PACKAGE_MODULE) {\r
+                hasModule = true;\r
+                parentModuleNode = iNode;\r
+            }\r
+        }\r
+\r
+        //\r
+        // If is a module\r
+        //\r
+        if (!mid.isLibrary()) {\r
+            //\r
+            // Create parent node first if has no parent node\r
+            //\r
+            if (!hasModule) {\r
+                parentModuleNode = new IDefaultMutableTreeNode("Module", IDefaultMutableTreeNode.MODULE_PACKAGE_MODULE,\r
+                                                               false, mid.getPackageId());\r
+                iTree.addNode(packageNode, parentModuleNode);\r
+            }\r
+\r
+            iTree.addNode(parentModuleNode, node);\r
+        }\r
+\r
+        //\r
+        // If is a Library\r
+        //\r
+        if (mid.isLibrary()) {\r
+            //\r
+            // Create parent node first if has no parent node\r
+            //\r
+            if (!hasLibrary) {\r
+                parentLibraryNode = new IDefaultMutableTreeNode("Library",\r
+                                                                IDefaultMutableTreeNode.MODULE_PACKAGE_LIBRARY, false,\r
+                                                                mid.getPackageId());\r
+                iTree.addNode(packageNode, parentLibraryNode);\r
+            }\r
+\r
+            iTree.addNode(parentLibraryNode, node);\r
+        }\r
+    }\r
 \r
     /**\r
      Open Module\r
@@ -2187,7 +2123,7 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele
      @param path input file path\r
      \r
      **/\r
-    private void openModule(String path) {\r
+    private void openModule(String path, ModuleIdentification moduleId) {\r
         ModuleSurfaceAreaDocument.ModuleSurfaceArea msa = null;\r
         try {\r
             msa = OpenFile.openMsaFile(path);\r
@@ -2220,72 +2156,89 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele
                 }\r
             }\r
             if (!isFind) {\r
-                ModuleIdentification mid = new ModuleIdentification(id, pid);\r
+                ModuleIdentification mid = new ModuleIdentification(id, pid, moduleId.isLibrary());\r
                 vModuleList.addElement(mid);\r
-                //\r
-                // Add new MsaHeader node to the tree\r
-                //\r
-                IDefaultMutableTreeNode node = new IDefaultMutableTreeNode(mid.getName(),\r
-                                                                           IDefaultMutableTreeNode.MSA_HEADER, true,\r
-                                                                           mid);\r
-                //\r
-                // First find the module belongs to which package\r
-                //\r
-                IDefaultMutableTreeNode packageNode = iTree.getNodeById(dmtnModuleDescription, mid.getPackageId(),\r
-                                                                        IDefaultMutableTreeNode.MODULE_PACKAGE);\r
-                //\r
-                // To check if has module node or library node\r
-                //\r
-                IDefaultMutableTreeNode parentModuleNode = null;\r
-                IDefaultMutableTreeNode parentLibraryNode = null;\r
-                boolean hasModule = false;\r
-                boolean hasLibrary = false;\r
-                for (int index = 0; index < packageNode.getChildCount(); index++) {\r
-                    IDefaultMutableTreeNode iNode = (IDefaultMutableTreeNode) packageNode.getChildAt(index);\r
-                    if (iNode.getCategory() == IDefaultMutableTreeNode.MODULE_PACKAGE_LIBRARY) {\r
-                        hasLibrary = true;\r
-                        parentLibraryNode = iNode;\r
-                    }\r
-                    if (iNode.getCategory() == IDefaultMutableTreeNode.MODULE_PACKAGE_MODULE) {\r
-                        hasModule = true;\r
-                        parentModuleNode = iNode;\r
-                    }\r
-                }\r
+                addModuleToTree(mid);\r
+            }\r
+        } else {\r
+            //\r
+            // The module is not in existing packages\r
+            //\r
+            Log.err("The module hasn't been added to any package of current workspace!");\r
+            return;\r
+        }\r
 \r
-                //\r
-                // If is a module\r
-                //\r
-                if (!mid.isLibrary()) {\r
-                    //\r
-                    // Create parent node first if has no parent node\r
-                    //\r
-                    if (!hasModule) {\r
-                        parentModuleNode = new IDefaultMutableTreeNode("Module",\r
-                                                                       IDefaultMutableTreeNode.MODULE_PACKAGE_MODULE,\r
-                                                                       false, mid.getPackageId());\r
-                        iTree.addNode(packageNode, parentModuleNode);\r
-                    }\r
+        //\r
+        // Make the node selected\r
+        //\r
+        iTree.setSelectionPath(iTree.getPathOfNode(iTree.getNodeById(this.dmtnModuleDescription, id,\r
+                                                                     IDefaultMutableTreeNode.MSA_HEADER)));\r
+        //\r
+        // Update opening Module list information\r
+        //\r
+        if (!openingModuleList.existsModule(id)) {\r
+            //\r
+            // Insert sub node of module\r
+            //\r
+            insertModuleTreeNode(id);\r
+            iTree.getSelectNode().setOpening(true);\r
 \r
-                    iTree.addNode(parentModuleNode, node);\r
-                }\r
+            //\r
+            // Update opening module list\r
+            //\r
+            openingModuleList.insertToOpeningModuleList(id, msa);\r
+            openingModuleList.setTreePathById(id, iTree.getSelectionPath());\r
+        }\r
+        //\r
+        // Show msa header in editor panel\r
+        //\r
+        showModuleElement(IDefaultMutableTreeNode.MSA_HEADER, openingModuleList.getOpeningModuleById(id));\r
+        this.currentOpeningModuleIndex = openingModuleList.findIndexOfListById(id);\r
+    }\r
 \r
-                //\r
-                // If is a Library\r
-                //\r
-                if (mid.isLibrary()) {\r
-                    //\r
-                    // Create parent node first if has no parent node\r
-                    //\r
-                    if (!hasLibrary) {\r
-                        parentLibraryNode = new IDefaultMutableTreeNode("Library",\r
-                                                                        IDefaultMutableTreeNode.MODULE_PACKAGE_LIBRARY,\r
-                                                                        false, mid.getPackageId());\r
-                        iTree.addNode(packageNode, parentLibraryNode);\r
-                    }\r
+    /**\r
+     Open Module\r
 \r
-                    iTree.addNode(parentLibraryNode, node);\r
+     @param path input file path\r
+     \r
+     **/\r
+    private void openModule(String path) {\r
+        ModuleSurfaceAreaDocument.ModuleSurfaceArea msa = null;\r
+        try {\r
+            msa = OpenFile.openMsaFile(path);\r
+        } catch (IOException e) {\r
+            Log.err("Open Module Surface Area " + path, e.getMessage());\r
+            return;\r
+        } catch (XmlException e) {\r
+            Log.err("Open Module Surface Area " + path, e.getMessage());\r
+            return;\r
+        } catch (Exception e) {\r
+            Log.err("Open Module Surface Area " + path, "Invalid file type");\r
+            return;\r
+        }\r
+        Identification id = new Identification(msa.getMsaHeader().getModuleName(), msa.getMsaHeader().getGuidValue(),\r
+                                               msa.getMsaHeader().getVersion(), path);\r
+        //\r
+        // Generate module id\r
+        //\r
+        PackageIdentification pid = wt.getPackageIdByModuleId(id);\r
+        if (pid != null) {\r
+            //\r
+            // To judge if the module existed in vModuleList\r
+            // If not, add it to vModuleList\r
+            //\r
+            boolean isFind = false;\r
+            for (int index = 0; index < vModuleList.size(); index++) {\r
+                if (vModuleList.elementAt(index).equals(id)) {\r
+                    isFind = true;\r
+                    break;\r
                 }\r
             }\r
+            if (!isFind) {\r
+                ModuleIdentification mid = new ModuleIdentification(id, pid);\r
+                vModuleList.addElement(mid);\r
+                addModuleToTree(mid);\r
+            }\r
         } else {\r
             //\r
             // The module is not in existing packages\r
@@ -2293,7 +2246,7 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele
             Log.err("The module hasn't been added to any package of current workspace!");\r
             return;\r
         }\r
-        \r
+\r
         //\r
         // Make the node selected\r
         //\r
@@ -3248,13 +3201,7 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele
         if (result == DataType.RETURN_TYPE_MODULE_SURFACE_AREA) {\r
             Tools.showInformationMessage("Module Surface Area Clone Finished");\r
             vModuleList.addElement(c.getMid());\r
-            //\r
-            // Add new MsaHeader node to the tree\r
-            //\r
-            IDefaultMutableTreeNode node = new IDefaultMutableTreeNode(vModuleList.lastElement().getName(),\r
-                                                                       IDefaultMutableTreeNode.MSA_HEADER, true,\r
-                                                                       vModuleList.lastElement());\r
-            iTree.addNode(dmtnModuleDescription, node);\r
+            addModuleToTree(c.getMid());\r
         }\r
         if (result == DataType.RETURN_TYPE_PACKAGE_SURFACE_AREA) {\r
             Tools.showInformationMessage("Package Surface Area Clone Finished");\r
@@ -3327,7 +3274,10 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele
             } else {\r
                 int category = iTree.getSelectCategory();\r
                 if (category == IDefaultMutableTreeNode.MODULE || category == IDefaultMutableTreeNode.PACKAGE\r
-                    || category == IDefaultMutableTreeNode.PLATFORM) {\r
+                    || category == IDefaultMutableTreeNode.PLATFORM\r
+                    || category == IDefaultMutableTreeNode.MODULE_PACKAGE\r
+                    || category == IDefaultMutableTreeNode.MODULE_PACKAGE_LIBRARY\r
+                    || category == IDefaultMutableTreeNode.MODULE_PACKAGE_MODULE) {\r
                     jMenuItemToolsClone.setEnabled(false);\r
                 } else {\r
                     jMenuItemToolsClone.setEnabled(true);\r