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
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
/// 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
/// Used to record current operation target\r
@return FrameworkWizardUI The instance of this class\r
\r
**/\r
- public static FrameworkWizardUI getInstance() {\r
+ public static FrameworkWizardUI getInstance(String[] args) {\r
if (fwui == null) {\r
- fwui = new FrameworkWizardUI();\r
+ fwui = new FrameworkWizardUI(args);\r
}\r
return fwui;\r
}\r
+ \r
+ /**\r
+ If the class hasn't an instnace, new one.\r
+ \r
+ @return FrameworkWizardUI The instance of this class\r
+ \r
+ **/\r
+ public static FrameworkWizardUI getInstance() {\r
+ return fwui;\r
+ }\r
\r
/**\r
This method initializes jMenuBar \r
* Main class, start the GUI\r
* \r
*/\r
- public static void main(String[] args) {\r
- FrameworkWizardUI module = FrameworkWizardUI.getInstance();\r
+ public static void main(String[] args) { \r
+ //\r
+ // Start Main UI\r
+ //\r
+ FrameworkWizardUI module = FrameworkWizardUI.getInstance(args);\r
module.setVisible(true);\r
}\r
\r
This is the default constructor\r
\r
**/\r
- public FrameworkWizardUI() {\r
+ public FrameworkWizardUI(String[] args) {\r
super();\r
- init();\r
+ init(args);\r
}\r
\r
/**\r
\r
\r
**/\r
- private void init() {\r
+ private void init(String[] args) {\r
//\r
// Set current workspace and check\r
// Check if exists WORKSPACE\r
//\r
SplashScreen ss = new SplashScreen();\r
ss.setVisible(true);\r
+ \r
+ //\r
+ // Go through args to check if enable log\r
+ //\r
+ for (int index = 0; index < args.length; index++) {\r
+ if (args[index].equals("--log") || args[index].equals("-l")) {\r
+ Log.setSaveLog(true);\r
+ }\r
+ }\r
\r
//\r
// Init Global Data\r
// Close splash screen\r
//\r
ss.dispose();\r
-\r
+ \r
//\r
// Init the frame\r
//\r
\r
if (arg0.getSource() == this.jMenuItemFileCloseAll) {\r
this.closeAll();\r
+ this.refresh();\r
this.makeEmptyTree();\r
}\r
\r
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
getJDesktopPanePackage().add(frmSpdHeader, 1);\r
break;\r
case IDefaultMutableTreeNode.SPD_LIBRARYCLASSDECLARATIONS:\r
- SpdLibClassDecls frmSlcd = new SpdLibClassDecls(spd);\r
+ SpdLibClassDecls frmSlcd = new SpdLibClassDecls(spd, this);\r
getJDesktopPanePackage().add(frmSlcd, 1);\r
break;\r
case IDefaultMutableTreeNode.SPD_MSAFILES:\r
- SpdMsaFiles frmSmf = new SpdMsaFiles(spd);\r
+ SpdMsaFiles frmSmf = new SpdMsaFiles(spd, this);\r
getJDesktopPanePackage().add(frmSmf, 1);\r
break;\r
case IDefaultMutableTreeNode.SPD_PACKAGEHEADERS:\r
- SpdPackageHeaders frmSph = new SpdPackageHeaders(spd);\r
+ SpdPackageHeaders frmSph = new SpdPackageHeaders(spd, this);\r
getJDesktopPanePackage().add(frmSph, 1);\r
break;\r
case IDefaultMutableTreeNode.SPD_GUIDDECLARATIONS:\r
- SpdGuidDecls frmSgd = new SpdGuidDecls(spd);\r
+ SpdGuidDecls frmSgd = new SpdGuidDecls(spd, this);\r
getJDesktopPanePackage().add(frmSgd, 1);\r
break;\r
case IDefaultMutableTreeNode.SPD_PROTOCOLDECLARATIONS:\r
- SpdProtocolDecls frmSprod = new SpdProtocolDecls(spd);\r
+ SpdProtocolDecls frmSprod = new SpdProtocolDecls(spd, this);\r
getJDesktopPanePackage().add(frmSprod, 1);\r
break;\r
case IDefaultMutableTreeNode.SPD_PPIDECLARATIONS:\r
- SpdPpiDecls frmSppid = new SpdPpiDecls(spd);\r
+ SpdPpiDecls frmSppid = new SpdPpiDecls(spd, this);\r
getJDesktopPanePackage().add(frmSppid, 1);\r
break;\r
case IDefaultMutableTreeNode.SPD_PCDDECLARATIONS:\r
- SpdPcdDefs frmSpcdd = new SpdPcdDefs(spd);\r
+ SpdPcdDefs frmSpcdd = new SpdPcdDefs(spd, this);\r
getJDesktopPanePackage().add(frmSpcdd, 1);\r
break;\r
}\r
getJDesktopPaneModule().add(frmMsaHeader, 1);\r
break;\r
case IDefaultMutableTreeNode.MSA_LIBRARYCLASSDEFINITIONS:\r
- ModuleLibraryClassDefinitions frmMlcd = new ModuleLibraryClassDefinitions(msa);\r
+ ModuleLibraryClassDefinitions frmMlcd = new ModuleLibraryClassDefinitions(msa, this);\r
getJDesktopPaneModule().add(frmMlcd, 1);\r
break;\r
case IDefaultMutableTreeNode.MSA_PACKAGEDEPENDENCIES:\r
- ModulePackageDependencies frmMpd = new ModulePackageDependencies(msa);\r
+ ModulePackageDependencies frmMpd = new ModulePackageDependencies(msa, this);\r
getJDesktopPaneModule().add(frmMpd, 1);\r
break;\r
case IDefaultMutableTreeNode.MSA_SOURCEFILES:\r
- ModuleSourceFiles frmMsf = new ModuleSourceFiles(msa);\r
+ ModuleSourceFiles frmMsf = new ModuleSourceFiles(msa, this);\r
getJDesktopPaneModule().add(frmMsf, 1);\r
break;\r
case IDefaultMutableTreeNode.MSA_PROTOCOLS:\r
- ModuleProtocols frmMp = new ModuleProtocols(msa);\r
+ ModuleProtocols frmMp = new ModuleProtocols(msa, this);\r
getJDesktopPaneModule().add(frmMp, 1);\r
break;\r
case IDefaultMutableTreeNode.MSA_EVENTS:\r
- ModuleEvents frmMe = new ModuleEvents(msa);\r
+ ModuleEvents frmMe = new ModuleEvents(msa, this);\r
getJDesktopPaneModule().add(frmMe, 1);\r
break;\r
case IDefaultMutableTreeNode.MSA_HOBS:\r
- ModuleHobs frmMh = new ModuleHobs(msa);\r
+ ModuleHobs frmMh = new ModuleHobs(msa, this);\r
getJDesktopPaneModule().add(frmMh, 1);\r
break;\r
case IDefaultMutableTreeNode.MSA_PPIS:\r
- ModulePpis frmMpp = new ModulePpis(msa);\r
+ ModulePpis frmMpp = new ModulePpis(msa, this);\r
getJDesktopPaneModule().add(frmMpp, 1);\r
break;\r
case IDefaultMutableTreeNode.MSA_VARIABLES:\r
- ModuleVariables frmMv = new ModuleVariables(msa);\r
+ ModuleVariables frmMv = new ModuleVariables(msa, this);\r
getJDesktopPaneModule().add(frmMv, 1);\r
break;\r
case IDefaultMutableTreeNode.MSA_BOOTMODES:\r
- ModuleBootModes frmMbm = new ModuleBootModes(msa);\r
+ ModuleBootModes frmMbm = new ModuleBootModes(msa, this);\r
getJDesktopPaneModule().add(frmMbm, 1);\r
break;\r
case IDefaultMutableTreeNode.MSA_SYSTEMTABLES:\r
- ModuleSystemTables frmMst = new ModuleSystemTables(msa);\r
+ ModuleSystemTables frmMst = new ModuleSystemTables(msa, this);\r
getJDesktopPaneModule().add(frmMst, 1);\r
break;\r
case IDefaultMutableTreeNode.MSA_DATAHUBS:\r
- ModuleDataHubs frmMdh = new ModuleDataHubs(msa);\r
+ ModuleDataHubs frmMdh = new ModuleDataHubs(msa, this);\r
getJDesktopPaneModule().add(frmMdh, 1);\r
break;\r
case IDefaultMutableTreeNode.MSA_HIIPACKAGES:\r
- ModuleHiiPackages frmMf = new ModuleHiiPackages(msa);\r
+ ModuleHiiPackages frmMf = new ModuleHiiPackages(msa, this);\r
getJDesktopPaneModule().add(frmMf, 1);\r
break;\r
case IDefaultMutableTreeNode.MSA_GUIDS:\r
- ModuleGuids frmGuid = new ModuleGuids(msa);\r
+ ModuleGuids frmGuid = new ModuleGuids(msa, this);\r
getJDesktopPaneModule().add(frmGuid, 1);\r
break;\r
case IDefaultMutableTreeNode.MSA_EXTERNS:\r
- ModuleExterns frmMex = new ModuleExterns(msa);\r
+ ModuleExterns frmMex = new ModuleExterns(msa, this);\r
getJDesktopPaneModule().add(frmMex, 1);\r
break;\r
case IDefaultMutableTreeNode.MSA_PCDS:\r
- ModulePCDs frmPcd = new ModulePCDs(msa);\r
+ ModulePCDs frmPcd = new ModulePCDs(msa, this);\r
getJDesktopPaneModule().add(frmPcd, 1);\r
break;\r
+ case IDefaultMutableTreeNode.MSA_BUILDOPTIONS:\r
+ ModuleBuildOptions frmMbo = new ModuleBuildOptions(msa, this);\r
+ getJDesktopPaneModule().add(frmMbo, 1);\r
+ break;\r
}\r
this.jTabbedPaneEditor.setSelectedIndex(0);\r
resizeDesktopPanel();\r
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
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
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
int result = cso.showDialog();\r
if (result == DataType.RETURN_TYPE_OK) {\r
String strReturn = "Far Creation Completed!";\r
- JOptionPane.showConfirmDialog(null, strReturn, "Done", JOptionPane.DEFAULT_OPTION,\r
+ JOptionPane.showConfirmDialog(this, strReturn, "Done", JOptionPane.DEFAULT_OPTION,\r
JOptionPane.INFORMATION_MESSAGE);\r
}\r
cso.dispose();\r
int result = iso.showDialog();\r
if (result == DataType.RETURN_TYPE_OK) {\r
String strReturn = "<html>Far Installalation completed!<br>Refreshing the WORKSPACE!</html>";\r
- JOptionPane.showConfirmDialog(null, strReturn, "Done", JOptionPane.DEFAULT_OPTION,\r
+ JOptionPane.showConfirmDialog(this, strReturn, "Done", JOptionPane.DEFAULT_OPTION,\r
JOptionPane.INFORMATION_MESSAGE);\r
this.closeAll();\r
this.refresh();\r
int result = dso.showDialog();\r
if (result == DataType.RETURN_TYPE_OK) {\r
String strReturn = "<html>Far Deletion completed!<br>Refreshing the WORKSPACE!</html>";\r
- JOptionPane.showConfirmDialog(null, strReturn, "Done", JOptionPane.DEFAULT_OPTION,\r
+ JOptionPane.showConfirmDialog(this, strReturn, "Done", JOptionPane.DEFAULT_OPTION,\r
JOptionPane.INFORMATION_MESSAGE);\r
this.closeAll();\r
this.refresh();\r
int result = uso.showDialog();\r
if (result == DataType.RETURN_TYPE_OK) {\r
String strReturn = "<html>Far Update completed!<br>Refreshing the WORKSPACE!</html>";\r
- JOptionPane.showConfirmDialog(null, strReturn, "Done", JOptionPane.DEFAULT_OPTION,\r
+ JOptionPane.showConfirmDialog(this, strReturn, "Done", JOptionPane.DEFAULT_OPTION,\r
JOptionPane.INFORMATION_MESSAGE);\r
this.closeAll();\r
this.refresh();\r
return;\r
}\r
\r
- JOptionPane.showConfirmDialog(null, "File is created", "Generate guids.xref", JOptionPane.DEFAULT_OPTION,\r
+ JOptionPane.showConfirmDialog(this, "File is created", "Generate guids.xref", JOptionPane.DEFAULT_OPTION,\r
JOptionPane.INFORMATION_MESSAGE);\r
}\r
}\r
case Workspace.WORKSPACE_NOT_DEFINED:\r
JOptionPane\r
.showConfirmDialog(\r
- null,\r
+ this,\r
"WORKSPACE Environment Variable Is Not Defined, Please select a valid WORKSPACE directory. "\r
+ DataType.LINE_SEPARATOR\r
+ DataType.LINE_SEPARATOR\r
break;\r
}\r
case Workspace.WORKSPACE_NOT_EXIST:\r
- JOptionPane.showConfirmDialog(null, "Defined WORKSPACE Is Not Existed", "Error",\r
+ JOptionPane.showConfirmDialog(this, "Defined WORKSPACE Is Not Existed", "Error",\r
JOptionPane.DEFAULT_OPTION, JOptionPane.ERROR_MESSAGE);\r
this.dispose();\r
System.exit(0);\r
case Workspace.WORKSPACE_NOT_DIRECTORY:\r
- JOptionPane.showConfirmDialog(null, "Defined WORKSPACE Is Not A Directory", "Error",\r
+ JOptionPane.showConfirmDialog(this, "Defined WORKSPACE Is Not A Directory", "Error",\r
JOptionPane.DEFAULT_OPTION, JOptionPane.ERROR_MESSAGE);\r
this.dispose();\r
System.exit(0);\r
case Workspace.WORKSPACE_NOT_VALID:\r
- JOptionPane.showConfirmDialog(null, "WORKSPACE Environment Variable Is Not Valid", "Error",\r
+ JOptionPane.showConfirmDialog(this, "WORKSPACE Environment Variable Is Not Valid", "Error",\r
JOptionPane.DEFAULT_OPTION, JOptionPane.ERROR_MESSAGE);\r
this.dispose();\r
System.exit(0);\r
case Workspace.WORKSPACE_NO_TARGET_FILE:\r
- JOptionPane.showConfirmDialog(null, "Target.txt File Is Not Existed", "Error", JOptionPane.DEFAULT_OPTION,\r
+ JOptionPane.showConfirmDialog(this, "Target.txt File Is Not Existed", "Error", JOptionPane.DEFAULT_OPTION,\r
JOptionPane.ERROR_MESSAGE);\r
this.dispose();\r
System.exit(0);\r