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=af4c2a6fc538db4f45e070ebcab766d299c61ecb;hb=102ae4cf41a21408df674f58f4f3fa850918a48c;hpb=8f9acbd7afefaeb33a15f00cf4998e94fffeebd0
diff --git a/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/FrameworkWizardUI.java b/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/FrameworkWizardUI.java
index af4c2a6fc5..092d7d10b4 100644
--- a/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/FrameworkWizardUI.java
+++ b/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/FrameworkWizardUI.java
@@ -64,6 +64,10 @@ 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.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;
@@ -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
//
@@ -282,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;
@@ -294,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
@@ -1253,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());
}
@@ -1598,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;
}
/**
@@ -1614,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;
}
/**
@@ -1630,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)
@@ -1648,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);
}
@@ -1686,7 +1718,8 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele
this.addComponentListener(this);
this.getCompontentsFromFrameworkDatabase();
this.setContentPane(getJContentPane());
- this.setTitle(DataType.PROJECT_NAME + " " + DataType.PROJECT_VERSION + " " + "- [" + Workspace.getCurrentWorkspace() + "]");
+ this.setTitle(DataType.PROJECT_NAME + " " + DataType.PROJECT_VERSION + " " + "- ["
+ + Workspace.getCurrentWorkspace() + "]");
this.setExitType(1);
//
@@ -1757,10 +1790,53 @@ 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();
}
@@ -1785,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) {
@@ -1930,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
@@ -1969,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 {
//
@@ -1986,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,
@@ -2302,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));
@@ -2369,10 +2633,10 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele
@param elementType
@param fpd
- **/
+ **/
private void showPlatformElement(int elementType, OpeningPlatformType fpd) {
this.cleanDesktopPanePlatform();
-
+
switch (elementType) {
case IDefaultMutableTreeNode.FPD_PLATFORMDEFINITIONS:
FpdPlatformDefs frmFpdPlatformDefs = new FpdPlatformDefs(fpd);
@@ -2587,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) {
//
@@ -2875,31 +3139,28 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele
// Reinit whole window
//
closeAll();
- this.setTitle(DataType.PROJECT_NAME + " " + DataType.PROJECT_VERSION + " " + "- [" + Workspace.getCurrentWorkspace() + "]");
+ this.setTitle(DataType.PROJECT_NAME + " " + DataType.PROJECT_VERSION + " " + "- ["
+ + Workspace.getCurrentWorkspace() + "]");
}
sw.dispose();
}
-
+
/**
- Show Tool Chain Configuration Dialog to setup Tool Chain
-
- **/
+ Show Tool Chain Configuration Dialog to setup Tool Chain
+
+ **/
private void setupToolChainConfiguration() {
- ToolChainConfig tcc = new ToolChainConfig(this, true);
- int result = tcc.showDialog();
-
- if (result == DataType.RETURN_TYPE_CANCEL) {
- tcc.dispose();
- }
+ ToolChainConfig tcc = ToolChainConfig.getInstance();
+ tcc.showDialog();
}
-
+
/**
Clone selected item
**/
private void cloneItem() {
int mode = -1;
-
+
//
// Check if there is any item can be cloned
//
@@ -2914,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;
@@ -2928,10 +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();
}
@@ -2941,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");
@@ -3020,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);