X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=Tools%2FSource%2FFrameworkWizard%2Fsrc%2Forg%2Ftianocore%2Fframeworkwizard%2FFrameworkWizardUI.java;h=092d7d10b42b6895e0595a97602cfa5ba7140586;hp=9748e5f5e408c8e36d69949b0bc6aeba9becf7bc;hb=102ae4cf41a21408df674f58f4f3fa850918a48c;hpb=202c4f38c598bc91f678ba90f4e9f3142d02142b diff --git a/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/FrameworkWizardUI.java b/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/FrameworkWizardUI.java index 9748e5f5e4..092d7d10b4 100644 --- a/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/FrameworkWizardUI.java +++ b/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/FrameworkWizardUI.java @@ -49,22 +49,26 @@ import org.tianocore.PackageSurfaceAreaDocument; import org.tianocore.PlatformSurfaceAreaDocument; import org.tianocore.frameworkwizard.common.DataType; import org.tianocore.frameworkwizard.common.IFileFilter; -import org.tianocore.frameworkwizard.common.Identification; import org.tianocore.frameworkwizard.common.Log; -import org.tianocore.frameworkwizard.common.OpenFile; -import org.tianocore.frameworkwizard.common.OpeningModuleList; -import org.tianocore.frameworkwizard.common.OpeningModuleType; -import org.tianocore.frameworkwizard.common.OpeningPackageList; -import org.tianocore.frameworkwizard.common.OpeningPackageType; -import org.tianocore.frameworkwizard.common.OpeningPlatformList; -import org.tianocore.frameworkwizard.common.OpeningPlatformType; import org.tianocore.frameworkwizard.common.SaveFile; import org.tianocore.frameworkwizard.common.Tools; +import org.tianocore.frameworkwizard.common.Identifications.Identification; +import org.tianocore.frameworkwizard.common.Identifications.OpenFile; +import org.tianocore.frameworkwizard.common.Identifications.OpeningModuleList; +import org.tianocore.frameworkwizard.common.Identifications.OpeningModuleType; +import org.tianocore.frameworkwizard.common.Identifications.OpeningPackageList; +import org.tianocore.frameworkwizard.common.Identifications.OpeningPackageType; +import org.tianocore.frameworkwizard.common.Identifications.OpeningPlatformList; +import org.tianocore.frameworkwizard.common.Identifications.OpeningPlatformType; import org.tianocore.frameworkwizard.common.ui.IDefaultMutableTreeNode; import org.tianocore.frameworkwizard.common.ui.IDesktopManager; import org.tianocore.frameworkwizard.common.ui.IFrame; import org.tianocore.frameworkwizard.common.ui.ITree; -import org.tianocore.frameworkwizard.module.Identification.ModuleIdentification; +import org.tianocore.frameworkwizard.far.createui.CreateStepOne; +import org.tianocore.frameworkwizard.far.deleteui.DeleteStepOne; +import org.tianocore.frameworkwizard.far.installui.InstallStepOne; +import org.tianocore.frameworkwizard.far.updateui.UpdateStepOne; +import org.tianocore.frameworkwizard.module.Identifications.ModuleIdentification; import org.tianocore.frameworkwizard.module.ui.ModuleBootModes; import org.tianocore.frameworkwizard.module.ui.ModuleDataHubs; import org.tianocore.frameworkwizard.module.ui.ModuleDefinitions; @@ -114,7 +118,7 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele /// Define class Serial Version UID /// private static final long serialVersionUID = -7103240960573031772L; - + // // To save information of all files // @@ -136,8 +140,6 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele private int currentOpeningPlatformIndex = -1; - private String windowTitle = "FrameworkWizard 1.0 "; - private IDefaultMutableTreeNode dmtnRoot = null; private IDefaultMutableTreeNode dmtnModuleDescription = null; @@ -284,11 +286,11 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele private JMenuItem jMenuItemHelpSearch = null; - private JMenuItem jMenuItemProjectInstallPackage = null; + private JMenuItem jMenuItemProjectInstallFar = null; - private JMenuItem jMenuItemProjectUpdatePackage = null; + private JMenuItem jMenuItemProjectUpdateFar = null; - private JMenuItem jMenuItemProjectRemovePackage = null; + private JMenuItem jMenuItemProjectRemoveFar = null; //private JToolBar jToolBarFile = null; @@ -296,6 +298,17 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele //private JToolBar jToolBarWindow = null; + private static FrameworkWizardUI fwui = null; + + private JMenuItem jMenuItemProjectCreateFar = null; + + public static FrameworkWizardUI getInstance() { + if (fwui == null) { + fwui = new FrameworkWizardUI(); + } + return fwui; + } + /** This method initializes jMenuBar @@ -772,7 +785,7 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele jMenuTools.setText("Tools"); jMenuTools.setMnemonic('T'); jMenuTools.add(getJMenuItemToolsToolChainConfiguration()); - //jMenuTools.addSeparator(); + jMenuTools.addSeparator(); jMenuTools.add(getJMenuItemToolsClone()); //jMenuTools.addSeparator(); jMenuTools.add(getJMenuItemToolsCodeScan()); @@ -1255,9 +1268,10 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele //jMenuProject.addSeparator(); jMenuProject.add(getJMenuItemProjectChangeWorkspace()); jMenuProject.addSeparator(); - jMenuProject.add(getJMenuItemProjectInstallPackage()); - jMenuProject.add(getJMenuItemProjectUpdatePackage()); - jMenuProject.add(getJMenuItemProjectRemovePackage()); + jMenuProject.add(getJMenuItemProjectCreateFar()); + jMenuProject.add(getJMenuItemProjectInstallFar()); + jMenuProject.add(getJMenuItemProjectUpdateFar()); + jMenuProject.add(getJMenuItemProjectRemoveFar()); //jMenuProject.addSeparator(); jMenuProject.add(getJMenuProjectBuildTargets()); } @@ -1359,7 +1373,6 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele jMenuItemToolsToolChainConfiguration.setText("Tool Chain Configuration..."); jMenuItemToolsToolChainConfiguration.setMnemonic('C'); jMenuItemToolsToolChainConfiguration.addActionListener(this); - jMenuItemToolsToolChainConfiguration.setVisible(false); } return jMenuItemToolsToolChainConfiguration; } @@ -1601,15 +1614,15 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele * * @return javax.swing.JMenuItem */ - private JMenuItem getJMenuItemProjectInstallPackage() { - if (jMenuItemProjectInstallPackage == null) { - jMenuItemProjectInstallPackage = new JMenuItem(); - jMenuItemProjectInstallPackage.setText("Install Distribution Package"); - jMenuItemProjectInstallPackage.setMnemonic('I'); - jMenuItemProjectInstallPackage.setEnabled(false); - jMenuItemProjectInstallPackage.addActionListener(this); + private JMenuItem getJMenuItemProjectInstallFar() { + if (jMenuItemProjectInstallFar == null) { + jMenuItemProjectInstallFar = new JMenuItem(); + jMenuItemProjectInstallFar.setText("Install FAR"); + jMenuItemProjectInstallFar.setMnemonic('I'); + jMenuItemProjectInstallFar.setEnabled(true); + jMenuItemProjectInstallFar.addActionListener(this); } - return jMenuItemProjectInstallPackage; + return jMenuItemProjectInstallFar; } /** @@ -1617,15 +1630,16 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele * * @return javax.swing.JMenuItem */ - private JMenuItem getJMenuItemProjectUpdatePackage() { - if (jMenuItemProjectUpdatePackage == null) { - jMenuItemProjectUpdatePackage = new JMenuItem(); - jMenuItemProjectUpdatePackage.setText("Update Disstribution Package"); - jMenuItemProjectUpdatePackage.setMnemonic('U'); - jMenuItemProjectUpdatePackage.setEnabled(false); - jMenuItemProjectUpdatePackage.addActionListener(this); + private JMenuItem getJMenuItemProjectUpdateFar() { + if (jMenuItemProjectUpdateFar == null) { + jMenuItemProjectUpdateFar = new JMenuItem(); + jMenuItemProjectUpdateFar.setText("Update FAR"); + jMenuItemProjectUpdateFar.setMnemonic('U'); + jMenuItemProjectUpdateFar.setEnabled(true); + jMenuItemProjectUpdateFar.addActionListener(this); + jMenuItemProjectUpdateFar.setVisible(false); } - return jMenuItemProjectUpdatePackage; + return jMenuItemProjectUpdateFar; } /** @@ -1633,15 +1647,30 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele * * @return javax.swing.JMenuItem */ - private JMenuItem getJMenuItemProjectRemovePackage() { - if (jMenuItemProjectRemovePackage == null) { - jMenuItemProjectRemovePackage = new JMenuItem(); - jMenuItemProjectRemovePackage.setText("Remove Distribution Package"); - jMenuItemProjectRemovePackage.setMnemonic('R'); - jMenuItemProjectRemovePackage.setEnabled(false); - jMenuItemProjectRemovePackage.addActionListener(this); + private JMenuItem getJMenuItemProjectRemoveFar() { + if (jMenuItemProjectRemoveFar == null) { + jMenuItemProjectRemoveFar = new JMenuItem(); + jMenuItemProjectRemoveFar.setText("Remove FAR"); + jMenuItemProjectRemoveFar.setMnemonic('R'); + jMenuItemProjectRemoveFar.setEnabled(true); + jMenuItemProjectRemoveFar.addActionListener(this); } - return jMenuItemProjectRemovePackage; + return jMenuItemProjectRemoveFar; + } + + /** + * This method initializes jMenuItemProjectCreateFar + * + * @return javax.swing.JMenuItem + */ + private JMenuItem getJMenuItemProjectCreateFar() { + if (jMenuItemProjectCreateFar == null) { + jMenuItemProjectCreateFar = new JMenuItem(); + jMenuItemProjectCreateFar.setText("Create FAR"); + jMenuItemProjectCreateFar.setMnemonic('C'); + jMenuItemProjectCreateFar.addActionListener(this); + } + return jMenuItemProjectCreateFar; } /* (non-Javadoc) @@ -1651,7 +1680,7 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele * */ public static void main(String[] args) { - FrameworkWizardUI module = new FrameworkWizardUI(); + FrameworkWizardUI module = FrameworkWizardUI.getInstance(); module.setVisible(true); } @@ -1689,8 +1718,10 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele this.addComponentListener(this); this.getCompontentsFromFrameworkDatabase(); this.setContentPane(getJContentPane()); - this.setTitle(windowTitle + "- [" + Workspace.getCurrentWorkspace() + "]"); + this.setTitle(DataType.PROJECT_NAME + " " + DataType.PROJECT_VERSION + " " + "- [" + + Workspace.getCurrentWorkspace() + "]"); this.setExitType(1); + // // max the window // @@ -1759,10 +1790,57 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele changeWorkspace(); } + if (arg0.getSource() == jMenuItemProjectCreateFar) { + CreateStepOne cso = new CreateStepOne(this, true); + int result = cso.showDialog(); + if (result == DataType.RETURN_TYPE_OK) { + String strReturn = "Create Far Done!"; + JOptionPane.showConfirmDialog(null, strReturn, "Done", JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE); + } + cso.dispose(); + } + + if (arg0.getSource() == jMenuItemProjectInstallFar) { + InstallStepOne iso = new InstallStepOne(this, true); + int result = iso.showDialog(); + if (result == DataType.RETURN_TYPE_OK) { + String strReturn = "Install Far Done!
The WORKSPACE will be refreshed!"; + JOptionPane.showConfirmDialog(null, strReturn, "Done", JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE); + this.closeAll(); + } + iso.dispose(); + } + + if (arg0.getSource() == jMenuItemProjectRemoveFar) { + DeleteStepOne dso = new DeleteStepOne(this, true); + int result = dso.showDialog(); + if (result == DataType.RETURN_TYPE_OK) { + String strReturn = "Delete Far Done!
The WORKSPACE will be refreshed!"; + JOptionPane.showConfirmDialog(null, strReturn, "Done", JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE); + this.closeAll(); + } + dso.dispose(); + } + + if (arg0.getSource() == jMenuItemProjectUpdateFar) { + UpdateStepOne uso = new UpdateStepOne(this, true); + int result = uso.showDialog(); + if (result == DataType.RETURN_TYPE_OK) { + String strReturn = "Update Far Done!
The WORKSPACE will be refreshed!"; + JOptionPane.showConfirmDialog(null, strReturn, "Done", JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE); + this.closeAll(); + } + uso.dispose(); + } + if (arg0.getSource() == jMenuItemToolsClone) { cloneItem(); } + if (arg0.getSource() == jMenuItemToolsToolChainConfiguration) { + setupToolChainConfiguration(); + } + if (arg0.getSource() == jMenuItemHelpAbout) { About a = new About(this, true); int result = a.showDialog(); @@ -1783,14 +1861,56 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele // Make Module Description dmtnModuleDescription = new IDefaultMutableTreeNode("ModuleDescription", IDefaultMutableTreeNode.MODULE, -1); - if (this.vModuleList.size() > 0) { - for (int index = 0; index < this.vModuleList.size(); index++) { - dmtnModuleDescription.add(new IDefaultMutableTreeNode(this.vModuleList.elementAt(index).getName(), - IDefaultMutableTreeNode.MSA_HEADER, false, - this.vModuleList.elementAt(index))); + // + // First add package + // + if (this.vPackageList.size() > 0) { + for (int index = 0; index < this.vPackageList.size(); index++) { + IDefaultMutableTreeNode dmtnModulePackage = null; + IDefaultMutableTreeNode dmtnModulePackageLibrary = null; + IDefaultMutableTreeNode dmtnModulePackageModule = null; + + dmtnModulePackage = new IDefaultMutableTreeNode(this.vPackageList.elementAt(index).getName(), + IDefaultMutableTreeNode.MODULE_PACKAGE, false, + this.vPackageList.elementAt(index)); + dmtnModulePackageLibrary = new IDefaultMutableTreeNode("Library", + IDefaultMutableTreeNode.MODULE_PACKAGE_LIBRARY, + false, this.vPackageList.elementAt(index)); + dmtnModulePackageModule = new IDefaultMutableTreeNode("Module", + IDefaultMutableTreeNode.MODULE_PACKAGE_MODULE, + false, this.vPackageList.elementAt(index)); + + Vector vModule = wt.getAllModules(this.vPackageList.elementAt(index)); + for (int indexJ = 0; indexJ < vModule.size(); indexJ++) { + if (vModule.get(indexJ).isLibrary()) { + dmtnModulePackageLibrary.add(new IDefaultMutableTreeNode(vModule.get(indexJ).getName(), + IDefaultMutableTreeNode.MSA_HEADER, + false, vModule.get(indexJ))); + } else { + dmtnModulePackageModule.add(new IDefaultMutableTreeNode(vModule.get(indexJ).getName(), + IDefaultMutableTreeNode.MSA_HEADER, + false, vModule.get(indexJ))); + } + } + if (dmtnModulePackageModule.getChildCount() > 0) { + dmtnModulePackage.add(dmtnModulePackageModule); + } + if (dmtnModulePackageLibrary.getChildCount() > 0) { + dmtnModulePackage.add(dmtnModulePackageLibrary); + } + + dmtnModuleDescription.add(dmtnModulePackage); } } + // if (this.vModuleList.size() > 0) { + // for (int index = 0; index < this.vModuleList.size(); index++) { + // dmtnModuleDescription.add(new IDefaultMutableTreeNode(this.vModuleList.elementAt(index).getName(), + // IDefaultMutableTreeNode.MSA_HEADER, false, + // this.vModuleList.elementAt(index))); + // } + // } + // Make Package Description dmtnPackageDescription = new IDefaultMutableTreeNode("PackageDescription", IDefaultMutableTreeNode.PACKAGE, -1); if (this.vPackageList.size() > 0) { @@ -1928,6 +2048,155 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele return fc.showSaveDialog(new JPanel()); } + /** + Add a module to tree + + @param mid The module node to be added + + **/ + private void addModuleToTree(ModuleIdentification mid) { + // + // Add new MsaHeader node to the tree + // + IDefaultMutableTreeNode node = new IDefaultMutableTreeNode(mid.getName(), IDefaultMutableTreeNode.MSA_HEADER, + true, mid); + // + // First find the module belongs to which package + // + IDefaultMutableTreeNode packageNode = iTree.getNodeById(dmtnModuleDescription, mid.getPackageId(), + IDefaultMutableTreeNode.MODULE_PACKAGE); + // + // To check if has module node or library node + // + IDefaultMutableTreeNode parentModuleNode = null; + IDefaultMutableTreeNode parentLibraryNode = null; + boolean hasModule = false; + boolean hasLibrary = false; + for (int index = 0; index < packageNode.getChildCount(); index++) { + IDefaultMutableTreeNode iNode = (IDefaultMutableTreeNode) packageNode.getChildAt(index); + if (iNode.getCategory() == IDefaultMutableTreeNode.MODULE_PACKAGE_LIBRARY) { + hasLibrary = true; + parentLibraryNode = iNode; + } + if (iNode.getCategory() == IDefaultMutableTreeNode.MODULE_PACKAGE_MODULE) { + hasModule = true; + parentModuleNode = iNode; + } + } + + // + // If is a module + // + if (!mid.isLibrary()) { + // + // Create parent node first if has no parent node + // + if (!hasModule) { + parentModuleNode = new IDefaultMutableTreeNode("Module", IDefaultMutableTreeNode.MODULE_PACKAGE_MODULE, + false, mid.getPackageId()); + iTree.addNode(packageNode, parentModuleNode); + } + + iTree.addNode(parentModuleNode, node); + } + + // + // If is a Library + // + if (mid.isLibrary()) { + // + // Create parent node first if has no parent node + // + if (!hasLibrary) { + parentLibraryNode = new IDefaultMutableTreeNode("Library", + IDefaultMutableTreeNode.MODULE_PACKAGE_LIBRARY, false, + mid.getPackageId()); + iTree.addNode(packageNode, parentLibraryNode); + } + + iTree.addNode(parentLibraryNode, node); + } + } + + /** + Open Module + + @param path input file path + + **/ + private void openModule(String path, ModuleIdentification moduleId) { + ModuleSurfaceAreaDocument.ModuleSurfaceArea msa = null; + try { + msa = OpenFile.openMsaFile(path); + } catch (IOException e) { + Log.err("Open Module Surface Area " + path, e.getMessage()); + return; + } catch (XmlException e) { + Log.err("Open Module Surface Area " + path, e.getMessage()); + return; + } catch (Exception e) { + Log.err("Open Module Surface Area " + path, "Invalid file type"); + return; + } + Identification id = new Identification(msa.getMsaHeader().getModuleName(), msa.getMsaHeader().getGuidValue(), + msa.getMsaHeader().getVersion(), path); + // + // Generate module id + // + PackageIdentification pid = wt.getPackageIdByModuleId(id); + if (pid != null) { + // + // To judge if the module existed in vModuleList + // If not, add it to vModuleList + // + boolean isFind = false; + for (int index = 0; index < vModuleList.size(); index++) { + if (vModuleList.elementAt(index).equals(id)) { + isFind = true; + break; + } + } + if (!isFind) { + ModuleIdentification mid = new ModuleIdentification(id, pid, moduleId.isLibrary()); + vModuleList.addElement(mid); + addModuleToTree(mid); + } + } else { + // + // The module is not in existing packages + // + Log.err("The module hasn't been added to any package of current workspace!"); + return; + } + + // + // Make the node selected + // + iTree.setSelectionPath(iTree.getPathOfNode(iTree.getNodeById(this.dmtnModuleDescription, id, + IDefaultMutableTreeNode.MSA_HEADER))); + // + // Update opening Module list information + // + if (!openingModuleList.existsModule(id)) { + // + // Insert sub node of module + // + insertModuleTreeNode(id); + iTree.getSelectNode().setOpening(true); + + // + // Update opening module list + // + openingModuleList.insertToOpeningModuleList(id, msa); + openingModuleList.setTreePathById(id, iTree.getSelectionPath()); + } + // + // Show msa header in editor panel + // + showModuleElement(IDefaultMutableTreeNode.MSA_HEADER, openingModuleList.getOpeningModuleById(id)); + this.currentOpeningModuleIndex = openingModuleList.findIndexOfListById(id); + } + /** Open Module @@ -1967,14 +2236,9 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele } } if (!isFind) { - vModuleList.addElement(new ModuleIdentification(id, pid)); - // - // Add new MsaHeader node to the tree - // - IDefaultMutableTreeNode node = new IDefaultMutableTreeNode(vModuleList.lastElement().getName(), - IDefaultMutableTreeNode.MSA_HEADER, true, - vModuleList.lastElement()); - iTree.addNode(dmtnModuleDescription, node); + ModuleIdentification mid = new ModuleIdentification(id, pid); + vModuleList.addElement(mid); + addModuleToTree(mid); } } else { // @@ -1984,6 +2248,7 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele return; } + // // Make the node selected // iTree.setSelectionPath(iTree.getPathOfNode(iTree.getNodeById(this.dmtnModuleDescription, id, @@ -2300,7 +2565,8 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele } private void insertPlatformTreeNode(Identification id) { - iTree.addNode(new IDefaultMutableTreeNode("Platform Definitions", IDefaultMutableTreeNode.FPD_PLATFORMDEFINITIONS, true, id)); + iTree.addNode(new IDefaultMutableTreeNode("Platform Definitions", + IDefaultMutableTreeNode.FPD_PLATFORMDEFINITIONS, true, id)); iTree.addNode(new IDefaultMutableTreeNode("Flash", IDefaultMutableTreeNode.FPD_FLASH, true, id)); iTree.addNode(new IDefaultMutableTreeNode("Framework Modules", IDefaultMutableTreeNode.FPD_FRAMEWORKMODULES, true, id)); @@ -2367,35 +2633,33 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele @param elementType @param fpd - **/ + **/ private void showPlatformElement(int elementType, OpeningPlatformType fpd) { this.cleanDesktopPanePlatform(); - fpd.setSaved(false); + switch (elementType) { case IDefaultMutableTreeNode.FPD_PLATFORMDEFINITIONS: - FpdPlatformDefs frmFpdPlatformDefs = new FpdPlatformDefs(fpd.getXmlFpd()); + FpdPlatformDefs frmFpdPlatformDefs = new FpdPlatformDefs(fpd); getJDesktopPanePlatform().add(frmFpdPlatformDefs, 1); break; case IDefaultMutableTreeNode.FPD_PLATFORMHEADER: - FpdHeader frmFpdHeader = new FpdHeader(fpd.getXmlFpd()); + FpdHeader frmFpdHeader = new FpdHeader(fpd); getJDesktopPanePlatform().add(frmFpdHeader, 1); break; case IDefaultMutableTreeNode.FPD_FLASH: - FpdFlash frmFpdFlash = new FpdFlash(fpd.getXmlFpd()); + FpdFlash frmFpdFlash = new FpdFlash(fpd); getJDesktopPanePlatform().add(frmFpdFlash, 1); break; case IDefaultMutableTreeNode.FPD_FRAMEWORKMODULES: - FpdFrameworkModules frmFpdFrameworkModules = new FpdFrameworkModules(fpd.getXmlFpd()); + FpdFrameworkModules frmFpdFrameworkModules = new FpdFrameworkModules(fpd); getJDesktopPanePlatform().add(frmFpdFrameworkModules, 1); break; case IDefaultMutableTreeNode.FPD_PCDDYNAMICBUILDDECLARATIONS: - FpdDynamicPcdBuildDefinitions frmFpdDynamicPcdBuildDefinitions = new FpdDynamicPcdBuildDefinitions( - fpd - .getXmlFpd()); + FpdDynamicPcdBuildDefinitions frmFpdDynamicPcdBuildDefinitions = new FpdDynamicPcdBuildDefinitions(fpd); getJDesktopPanePlatform().add(frmFpdDynamicPcdBuildDefinitions, 1); break; case IDefaultMutableTreeNode.FPD_BUILDOPTIONS: - FpdBuildOptions frmFpdBuildOptions = new FpdBuildOptions(fpd.getXmlFpd()); + FpdBuildOptions frmFpdBuildOptions = new FpdBuildOptions(fpd); getJDesktopPanePlatform().add(frmFpdBuildOptions, 1); break; } @@ -2413,42 +2677,41 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele private void showPackageElement(int elementType, OpeningPackageType spd) { this.cleanDesktopPanePackage(); Tools.dirForNewSpd = spd.getId().getPath(); - spd.setSaved(false); switch (elementType) { case IDefaultMutableTreeNode.SPD_HEADER: - SpdHeader frmSpdHeader = new SpdHeader(spd.getXmlSpd()); + SpdHeader frmSpdHeader = new SpdHeader(spd); getJDesktopPanePackage().add(frmSpdHeader, 1); break; case IDefaultMutableTreeNode.SPD_PACKAGEDEFINITIONS: - SpdPackageDefinitions frmSpdPackageDefinitions = new SpdPackageDefinitions(spd.getXmlSpd()); + SpdPackageDefinitions frmSpdPackageDefinitions = new SpdPackageDefinitions(spd); getJDesktopPanePackage().add(frmSpdPackageDefinitions, 1); break; case IDefaultMutableTreeNode.SPD_LIBRARYCLASSDECLARATIONS: - SpdLibClassDecls frmSlcd = new SpdLibClassDecls(spd.getXmlSpd()); + SpdLibClassDecls frmSlcd = new SpdLibClassDecls(spd); getJDesktopPanePackage().add(frmSlcd, 1); break; case IDefaultMutableTreeNode.SPD_MSAFILES: - SpdMsaFiles frmSmf = new SpdMsaFiles(spd.getXmlSpd()); + SpdMsaFiles frmSmf = new SpdMsaFiles(spd); getJDesktopPanePackage().add(frmSmf, 1); break; case IDefaultMutableTreeNode.SPD_PACKAGEHEADERS: - SpdPackageHeaders frmSph = new SpdPackageHeaders(spd.getXmlSpd()); + SpdPackageHeaders frmSph = new SpdPackageHeaders(spd); getJDesktopPanePackage().add(frmSph, 1); break; case IDefaultMutableTreeNode.SPD_GUIDDECLARATIONS: - SpdGuidDecls frmSgd = new SpdGuidDecls(spd.getXmlSpd()); + SpdGuidDecls frmSgd = new SpdGuidDecls(spd); getJDesktopPanePackage().add(frmSgd, 1); break; case IDefaultMutableTreeNode.SPD_PROTOCOLDECLARATIONS: - SpdProtocolDecls frmSprod = new SpdProtocolDecls(spd.getXmlSpd()); + SpdProtocolDecls frmSprod = new SpdProtocolDecls(spd); getJDesktopPanePackage().add(frmSprod, 1); break; case IDefaultMutableTreeNode.SPD_PPIDECLARATIONS: - SpdPpiDecls frmSppid = new SpdPpiDecls(spd.getXmlSpd()); + SpdPpiDecls frmSppid = new SpdPpiDecls(spd); getJDesktopPanePackage().add(frmSppid, 1); break; case IDefaultMutableTreeNode.SPD_PCDDECLARATIONS: - SpdPcdDefs frmSpcdd = new SpdPcdDefs(spd.getXmlSpd()); + SpdPcdDefs frmSpcdd = new SpdPcdDefs(spd); getJDesktopPanePackage().add(frmSpcdd, 1); break; } @@ -2588,7 +2851,7 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele e.printStackTrace(); return; } - this.openModule(smb.getMid().getPath()); + this.openModule(smb.getMid().getPath(), smb.getMid()); } } else if (result == DataType.RETURN_TYPE_PACKAGE_SURFACE_AREA) { // @@ -2876,18 +3139,28 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele // Reinit whole window // closeAll(); - this.setTitle(windowTitle + "- [" + Workspace.getCurrentWorkspace() + "]"); + this.setTitle(DataType.PROJECT_NAME + " " + DataType.PROJECT_VERSION + " " + "- [" + + Workspace.getCurrentWorkspace() + "]"); } sw.dispose(); } + /** + Show Tool Chain Configuration Dialog to setup Tool Chain + + **/ + private void setupToolChainConfiguration() { + ToolChainConfig tcc = ToolChainConfig.getInstance(); + tcc.showDialog(); + } + /** Clone selected item **/ private void cloneItem() { int mode = -1; - + // // Check if there is any item can be cloned // @@ -2902,7 +3175,7 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele Log.err("Please select a target to clone!"); return; } - + if (category == IDefaultMutableTreeNode.WORKSPACE) { mode = DataType.RETURN_TYPE_WORKSPACE; id = null; @@ -2916,9 +3189,10 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele if (category >= IDefaultMutableTreeNode.FPD_PLATFORMHEADER) { mode = DataType.RETURN_TYPE_PLATFORM_SURFACE_AREA; } + Clone c = new Clone(this, true, mode, id); int result = c.showDialog(); - + if (result == DataType.RETURN_TYPE_CANCEL) { c.dispose(); } @@ -2928,13 +3202,7 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele if (result == DataType.RETURN_TYPE_MODULE_SURFACE_AREA) { Tools.showInformationMessage("Module Surface Area Clone Finished"); vModuleList.addElement(c.getMid()); - // - // Add new MsaHeader node to the tree - // - IDefaultMutableTreeNode node = new IDefaultMutableTreeNode(vModuleList.lastElement().getName(), - IDefaultMutableTreeNode.MSA_HEADER, true, - vModuleList.lastElement()); - iTree.addNode(dmtnModuleDescription, node); + addModuleToTree(c.getMid()); } if (result == DataType.RETURN_TYPE_PACKAGE_SURFACE_AREA) { Tools.showInformationMessage("Package Surface Area Clone Finished"); @@ -3007,7 +3275,10 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele } else { int category = iTree.getSelectCategory(); if (category == IDefaultMutableTreeNode.MODULE || category == IDefaultMutableTreeNode.PACKAGE - || category == IDefaultMutableTreeNode.PLATFORM) { + || category == IDefaultMutableTreeNode.PLATFORM + || category == IDefaultMutableTreeNode.MODULE_PACKAGE + || category == IDefaultMutableTreeNode.MODULE_PACKAGE_LIBRARY + || category == IDefaultMutableTreeNode.MODULE_PACKAGE_MODULE) { jMenuItemToolsClone.setEnabled(false); } else { jMenuItemToolsClone.setEnabled(true);