]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Java/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/FrameworkWizardUI.java
1. Fix EDKT433 help context triggered by mouse movement is not displayed properly
[mirror_edk2.git] / Tools / Java / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / FrameworkWizardUI.java
index 70c154f394a562b854d7c033e1201f0a5c5236d7..d57c777f1d6049a581ac09bc217d144178060d80 100644 (file)
@@ -44,6 +44,7 @@ import javax.swing.JPanel;
 import javax.swing.JScrollPane;\r
 import javax.swing.JSplitPane;\r
 import javax.swing.JTabbedPane;\r
+import javax.swing.ToolTipManager;\r
 import javax.swing.event.MenuEvent;\r
 import javax.swing.event.MenuListener;\r
 import javax.swing.event.TreeSelectionEvent;\r
@@ -73,6 +74,7 @@ import org.tianocore.frameworkwizard.far.installui.InstallStepOne;
 import org.tianocore.frameworkwizard.far.updateui.UpdateStepOne;\r
 import org.tianocore.frameworkwizard.module.Identifications.ModuleIdentification;\r
 import org.tianocore.frameworkwizard.module.ui.ModuleBootModes;\r
+import org.tianocore.frameworkwizard.module.ui.ModuleBuildOptions;\r
 import org.tianocore.frameworkwizard.module.ui.ModuleDataHubs;\r
 import org.tianocore.frameworkwizard.module.ui.ModuleEvents;\r
 import org.tianocore.frameworkwizard.module.ui.ModuleExterns;\r
@@ -120,6 +122,12 @@ public class FrameworkWizardUI extends IFrame implements KeyListener, MouseListe
     /// Define class Serial Version UID\r
     ///\r
     private static final long serialVersionUID = -7103240960573031772L;\r
+    \r
+    //\r
+    // Set ToolTipText Show Time\r
+    //\r
+    static { ToolTipManager.sharedInstance().setDismissDelay(18000);} \r
+\r
 \r
     ///\r
     /// Used to record current operation target\r
@@ -1819,7 +1827,7 @@ public class FrameworkWizardUI extends IFrame implements KeyListener, MouseListe
         //\r
         SplashScreen ss = new SplashScreen();\r
         ss.setVisible(true);\r
-        \r
+\r
         //\r
         // Init Global Data\r
         //\r
@@ -1829,7 +1837,7 @@ public class FrameworkWizardUI extends IFrame implements KeyListener, MouseListe
         // Close splash screen\r
         //\r
         ss.dispose();\r
-\r
+                \r
         //\r
         // Init the frame\r
         //\r
@@ -1887,6 +1895,7 @@ public class FrameworkWizardUI extends IFrame implements KeyListener, MouseListe
 \r
         if (arg0.getSource() == this.jMenuItemFileCloseAll) {\r
             this.closeAll();\r
+            this.refresh();\r
             this.makeEmptyTree();\r
         }\r
 \r
@@ -1905,7 +1914,7 @@ public class FrameworkWizardUI extends IFrame implements KeyListener, MouseListe
         if (arg0.getSource() == this.jMenuItemFileRefresh) {\r
             if (this.closeAll() == 0) {\r
                 this.refresh();\r
-                this.makeEmptyTree();    \r
+                this.makeEmptyTree();\r
             }\r
         }\r
 \r
@@ -2534,6 +2543,7 @@ public class FrameworkWizardUI extends IFrame implements KeyListener, MouseListe
         iTree.addNode(new IDefaultMutableTreeNode("External Defintions", IDefaultMutableTreeNode.MSA_EXTERNS, true, id,\r
                                                   belongNode));\r
         iTree.addNode(new IDefaultMutableTreeNode("Pcd Coded", IDefaultMutableTreeNode.MSA_PCDS, true, id, belongNode));\r
+        iTree.addNode(new IDefaultMutableTreeNode("Build Options", IDefaultMutableTreeNode.MSA_BUILDOPTIONS, true, id, belongNode));\r
     }\r
 \r
     private void insertPackageTreeNode(Identification id) {\r
@@ -2881,6 +2891,10 @@ public class FrameworkWizardUI extends IFrame implements KeyListener, MouseListe
             ModulePCDs frmPcd = new ModulePCDs(msa);\r
             getJDesktopPaneModule().add(frmPcd, 1);\r
             break;\r
+        case IDefaultMutableTreeNode.MSA_BUILDOPTIONS:\r
+            ModuleBuildOptions frmMbo = new ModuleBuildOptions(msa);\r
+            getJDesktopPaneModule().add(frmMbo, 1);\r
+            break;\r
         }\r
         this.jTabbedPaneEditor.setSelectedIndex(0);\r
         resizeDesktopPanel();\r
@@ -3086,7 +3100,7 @@ public class FrameworkWizardUI extends IFrame implements KeyListener, MouseListe
                 if (!GlobalData.openingModuleList.getModuleSaved(currentOpeningModuleIndex)) {\r
                     int result = showSaveDialog();\r
                     if (result == JOptionPane.YES_OPTION) {\r
-                        this.saveAll();\r
+                        this.save();\r
                     }\r
                     if (result == JOptionPane.NO_OPTION) {\r
                         // Do nothing\r
@@ -3108,7 +3122,10 @@ public class FrameworkWizardUI extends IFrame implements KeyListener, MouseListe
                     iTree.removeNodeChildrenByPath(item);\r
                 }\r
 \r
+                GlobalData.openingModuleList.reload(this.currentOpeningModuleIndex);\r
                 GlobalData.openingModuleList.setModuleOpen(this.currentOpeningModuleIndex, false);\r
+                GlobalData.openingModuleList.setModuleSaved(this.currentOpeningModuleIndex, true);\r
+                \r
                 this.cleanDesktopPaneModule();\r
                 this.currentOpeningModuleIndex = -1;\r
             }\r
@@ -3121,7 +3138,7 @@ public class FrameworkWizardUI extends IFrame implements KeyListener, MouseListe
                 if (!GlobalData.openingPackageList.getPackageSaved(currentOpeningPackageIndex)) {\r
                     int result = showSaveDialog();\r
                     if (result == JOptionPane.YES_OPTION) {\r
-                        this.saveAll();\r
+                        this.save();\r
                     }\r
                     if (result == JOptionPane.NO_OPTION) {\r
                         // Do nothing\r
@@ -3143,7 +3160,9 @@ public class FrameworkWizardUI extends IFrame implements KeyListener, MouseListe
                     iTree.removeNodeChildrenByPath(item);\r
                 }\r
 \r
+                GlobalData.openingPackageList.reload(this.currentOpeningPackageIndex);\r
                 GlobalData.openingPackageList.setPackageOpen(this.currentOpeningPackageIndex, false);\r
+                GlobalData.openingPackageList.setPackageSaved(this.currentOpeningPackageIndex, true);\r
                 this.cleanDesktopPanePackage();\r
                 this.currentOpeningPackageIndex = -1;\r
             }\r
@@ -3156,7 +3175,7 @@ public class FrameworkWizardUI extends IFrame implements KeyListener, MouseListe
                 if (!GlobalData.openingPlatformList.getPlatformSaved(currentOpeningPlatformIndex)) {\r
                     int result = showSaveDialog();\r
                     if (result == JOptionPane.YES_OPTION) {\r
-                        this.saveAll();\r
+                        this.save();\r
                     }\r
                     if (result == JOptionPane.NO_OPTION) {\r
                         // Do nothing\r
@@ -3178,7 +3197,9 @@ public class FrameworkWizardUI extends IFrame implements KeyListener, MouseListe
                     iTree.removeNodeChildrenByPath(item);\r
                 }\r
 \r
+                GlobalData.openingPlatformList.reload(this.currentOpeningPlatformIndex);\r
                 GlobalData.openingPlatformList.setPlatformOpen(this.currentOpeningPlatformIndex, false);\r
+                GlobalData.openingPlatformList.setPlatformSaved(this.currentOpeningPlatformIndex, true);\r
                 this.cleanDesktopPanePlatform();\r
                 this.currentOpeningPlatformIndex = -1;\r
             }\r
@@ -3211,7 +3232,7 @@ public class FrameworkWizardUI extends IFrame implements KeyListener, MouseListe
         GlobalData.openingModuleList.closeAll();\r
         GlobalData.openingPackageList.closeAll();\r
         GlobalData.openingPlatformList.closeAll();\r
-        \r
+\r
         return 0;\r
     }\r
 \r
@@ -3557,9 +3578,32 @@ public class FrameworkWizardUI extends IFrame implements KeyListener, MouseListe
             //\r
             // Enable close/close all if some files are opened\r
             //\r
-            jMenuItemFileClose.setEnabled(GlobalData.openingModuleList.isOpen()\r
-                                          || GlobalData.openingPackageList.isOpen()\r
-                                          || GlobalData.openingPlatformList.isOpen());\r
+            switch (this.jTabbedPaneEditor.getSelectedIndex()) {\r
+            case 0:\r
+                jMenuItemFileClose\r
+                                  .setEnabled(GlobalData.openingModuleList\r
+                                                                          .getModuleOpen(this.currentOpeningModuleIndex));\r
+                jMenuItemFileSave\r
+                                 .setEnabled(!GlobalData.openingModuleList\r
+                                                                          .getModuleSaved(this.currentOpeningModuleIndex));\r
+                break;\r
+            case 1:\r
+                jMenuItemFileClose\r
+                                  .setEnabled(GlobalData.openingPackageList\r
+                                                                           .getPackageOpen(this.currentOpeningPackageIndex));\r
+                jMenuItemFileSave\r
+                                 .setEnabled(!GlobalData.openingPackageList\r
+                                                                           .getPackageSaved(this.currentOpeningPackageIndex));\r
+                break;\r
+            case 2:\r
+                jMenuItemFileClose\r
+                                  .setEnabled(GlobalData.openingPlatformList\r
+                                                                            .getPlatformOpen(this.currentOpeningPlatformIndex));\r
+                jMenuItemFileSave\r
+                                 .setEnabled(!GlobalData.openingPlatformList\r
+                                                                            .getPlatformSaved(this.currentOpeningPlatformIndex));\r
+                break;\r
+            }\r
             jMenuItemFileCloseAll.setEnabled(GlobalData.openingModuleList.isOpen()\r
                                              || GlobalData.openingPackageList.isOpen()\r
                                              || GlobalData.openingPlatformList.isOpen());\r
@@ -3567,9 +3611,6 @@ public class FrameworkWizardUI extends IFrame implements KeyListener, MouseListe
             //\r
             // Enable save/save all if some files are changed\r
             //\r
-            jMenuItemFileSave.setEnabled(!GlobalData.openingModuleList.isSaved()\r
-                                         || !GlobalData.openingPackageList.isSaved()\r
-                                         || !GlobalData.openingPlatformList.isSaved());\r
             jMenuItemFileSaveAll.setEnabled(!GlobalData.openingModuleList.isSaved()\r
                                             || !GlobalData.openingPackageList.isSaved()\r
                                             || !GlobalData.openingPlatformList.isSaved());\r
@@ -3684,10 +3725,14 @@ public class FrameworkWizardUI extends IFrame implements KeyListener, MouseListe
             JOptionPane\r
                        .showConfirmDialog(\r
                                           null,\r
-                                          "WORKSPACE Environment Variable Is Not Defined, Please select a valid WORKSPACE directory. " +\r
-                                          DataType.LINE_SEPARATOR + DataType.LINE_SEPARATOR + "NOTICE:" +\r
-                                          DataType.LINE_SEPARATOR + "This does not change the System Environment Variable." +\r
-                                          DataType.LINE_SEPARATOR + "It only applies to where the Wizard will manage modification and file creations.",\r
+                                          "WORKSPACE Environment Variable Is Not Defined, Please select a valid WORKSPACE directory. "\r
+                                                          + DataType.LINE_SEPARATOR\r
+                                                          + DataType.LINE_SEPARATOR\r
+                                                          + "NOTICE:"\r
+                                                          + DataType.LINE_SEPARATOR\r
+                                                          + "This does not change the System Environment Variable."\r
+                                                          + DataType.LINE_SEPARATOR\r
+                                                          + "It only applies to where the Wizard will manage modification and file creations.",\r
                                           "Error", JOptionPane.DEFAULT_OPTION, JOptionPane.ERROR_MESSAGE);\r
             SwitchWorkspace sw = new SwitchWorkspace(this, true);\r
             int result = sw.showDialog();\r
@@ -3714,8 +3759,8 @@ public class FrameworkWizardUI extends IFrame implements KeyListener, MouseListe
             this.dispose();\r
             System.exit(0);\r
         case Workspace.WORKSPACE_NO_TARGET_FILE:\r
-            JOptionPane.showConfirmDialog(null, "Target.txt File Is Not Existed", "Error",\r
-                                          JOptionPane.DEFAULT_OPTION, JOptionPane.ERROR_MESSAGE);\r
+            JOptionPane.showConfirmDialog(null, "Target.txt File Is Not Existed", "Error", JOptionPane.DEFAULT_OPTION,\r
+                                          JOptionPane.ERROR_MESSAGE);\r
             this.dispose();\r
             System.exit(0);\r
         }\r