import org.tianocore.frameworkwizard.common.DataType;\r
import org.tianocore.frameworkwizard.common.IFileFilter;\r
import org.tianocore.frameworkwizard.common.Log;\r
+import org.tianocore.frameworkwizard.common.OpenFile;\r
import org.tianocore.frameworkwizard.common.SaveFile;\r
import org.tianocore.frameworkwizard.common.Tools;\r
import org.tianocore.frameworkwizard.common.Identifications.Identification;\r
-import org.tianocore.frameworkwizard.common.Identifications.OpenFile;\r
import org.tianocore.frameworkwizard.common.Identifications.OpeningModuleList;\r
import org.tianocore.frameworkwizard.common.Identifications.OpeningModuleType;\r
import org.tianocore.frameworkwizard.common.Identifications.OpeningPackageList;\r
import org.tianocore.frameworkwizard.common.ui.IDesktopManager;\r
import org.tianocore.frameworkwizard.common.ui.IFrame;\r
import org.tianocore.frameworkwizard.common.ui.ITree;\r
+import org.tianocore.frameworkwizard.far.createui.CreateStepOne;\r
+import org.tianocore.frameworkwizard.far.deleteui.DeleteStepOne;\r
+import org.tianocore.frameworkwizard.far.installui.InstallStepOne;\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.ModuleDataHubs;\r
import org.tianocore.frameworkwizard.packaging.ui.SpdHeader;\r
import org.tianocore.frameworkwizard.packaging.ui.SpdLibClassDecls;\r
import org.tianocore.frameworkwizard.packaging.ui.SpdMsaFiles;\r
-import org.tianocore.frameworkwizard.packaging.ui.SpdPackageDefinitions;\r
import org.tianocore.frameworkwizard.packaging.ui.SpdPackageHeaders;\r
import org.tianocore.frameworkwizard.packaging.ui.SpdPcdDefs;\r
import org.tianocore.frameworkwizard.packaging.ui.SpdPpiDecls;\r
import org.tianocore.frameworkwizard.workspace.ui.SwitchWorkspace;\r
\r
/**\r
- The class is used to show main GUI of ModuleEditor\r
- It extends IFrame implements MouseListener, TreeSelectionListener\r
+ The class is used to show main GUI of FrameworkWizard\r
+ It extends IFrame implements MouseListener, TreeSelectionListener, ComponentListener and MenuListener\r
\r
**/\r
public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSelectionListener, ComponentListener,\r
/// Define class Serial Version UID\r
///\r
private static final long serialVersionUID = -7103240960573031772L;\r
- \r
- //\r
- // To save information of all files\r
- //\r
+\r
+ ///\r
+ /// Used to save information of all files\r
+ ///\r
private Vector<ModuleIdentification> vModuleList = new Vector<ModuleIdentification>();\r
\r
private Vector<PackageIdentification> vPackageList = new Vector<PackageIdentification>();\r
\r
private int currentOpeningPlatformIndex = -1;\r
\r
- private String projectName = "FrameworkWizard";\r
- \r
- private String projectVersion = "0.5";\r
-\r
+ ///\r
+ /// Used to generate tree structure\r
+ ///\r
private IDefaultMutableTreeNode dmtnRoot = null;\r
\r
private IDefaultMutableTreeNode dmtnModuleDescription = null;\r
\r
private IDefaultMutableTreeNode dmtnPlatformDescription = null;\r
\r
+ ///\r
+ /// Used for UI\r
+ ///\r
private JPanel jContentPane = null;\r
\r
private JMenuBar jMenuBar = null;\r
\r
private JMenuItem jMenuItemHelpSearch = null;\r
\r
- private JMenuItem jMenuItemProjectInstallPackage = null;\r
+ private JMenuItem jMenuItemProjectInstallFar = null;\r
\r
- private JMenuItem jMenuItemProjectUpdatePackage = null;\r
+ private JMenuItem jMenuItemProjectUpdateFar = null;\r
\r
- private JMenuItem jMenuItemProjectRemovePackage = null;\r
+ private JMenuItem jMenuItemProjectRemoveFar = null;\r
\r
- //private JToolBar jToolBarFile = null;\r
+ private JMenuItem jMenuItemProjectCreateFar = null;\r
\r
- //private JToolBar jToolBarEdit = null;\r
+ ///\r
+ /// A static definition for this class itself\r
+ ///\r
+ private static FrameworkWizardUI fwui = null;\r
\r
- //private JToolBar jToolBarWindow = null;\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
+ if (fwui == null) {\r
+ fwui = new FrameworkWizardUI();\r
+ }\r
+ return fwui;\r
+ }\r
\r
/**\r
This method initializes jMenuBar \r
\r
@return javax.swing.JTabbedPane \r
\r
- */\r
+ **/\r
private JTabbedPane getJTabbedPaneEditor() {\r
if (jTabbedPaneEditor == null) {\r
jTabbedPaneEditor = new JTabbedPane();\r
.setMinimumSize(new java.awt.Dimension(\r
DataType.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH,\r
DataType.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT));\r
- //jTabbedPaneEditor.addChangeListener(this);\r
jTabbedPaneEditor.addTab("Module", null, getJDesktopPaneModule(), null);\r
jTabbedPaneEditor.addTab("Package", null, getJDesktopPanePackage(), null);\r
jTabbedPaneEditor.addTab("Platform", null, getJDesktopPanePlatform(), null);\r
\r
@return javax.swing.JTabbedPane \r
\r
- */\r
+ **/\r
private JTabbedPane getJTabbedPaneTree() {\r
if (jTabbedPaneTree == null) {\r
jTabbedPaneTree = new JTabbedPane();\r
**/\r
private JMenu getJMenuFile() {\r
if (jMenuFile == null) {\r
+ //\r
+ // Set jMenuFile's attributes\r
+ //\r
jMenuFile = new JMenu();\r
jMenuFile.setText("File");\r
jMenuFile.setMnemonic('F');\r
+ jMenuFile.addMenuListener(this);\r
+\r
+ //\r
+ // Add sub menu items\r
+ //\r
jMenuFile.add(getJMenuItemFileNew());\r
jMenuFile.add(getJMenuItemFileOpen());\r
jMenuFile.add(getJMenuItemFileClose());\r
jMenuFile.add(getJMenuItemFileCloseAll());\r
jMenuFile.addSeparator();\r
+\r
jMenuFile.add(getJMenuFileRecentFiles());\r
- //jMenuFile.addSeparator();\r
jMenuFile.add(getJMenuItemFileSave());\r
jMenuFile.add(getJMenuItemFileSaveAs());\r
jMenuFile.add(getJMenuItemFileSaveAll());\r
jMenuFile.addSeparator();\r
+\r
jMenuFile.add(getJMenuItemFilePageSetup());\r
jMenuFile.add(getJMenuItemFilePrint());\r
- //jMenuFile.addSeparator();\r
jMenuFile.add(getJMenuItemFileImport());\r
- //jMenuFile.addSeparator();\r
jMenuFile.add(getJMenuItemFileProperties());\r
- //jMenuFile.addSeparator();\r
+\r
jMenuFile.add(getJMenuItemFileExit());\r
- jMenuFile.addMenuListener(this);\r
}\r
return jMenuFile;\r
}\r
**/\r
private JMenu getJMenuEdit() {\r
if (jMenuEdit == null) {\r
+ //\r
+ // Set jMenuEdit's attributes\r
+ //\r
jMenuEdit = new JMenu();\r
jMenuEdit.setText("Edit");\r
jMenuEdit.setMnemonic('E');\r
+ jMenuEdit.setVisible(false);\r
+\r
+ //\r
+ // Add sub menu items\r
+ //\r
jMenuEdit.add(getJMenuItemEditUndo());\r
jMenuEdit.add(getJMenuItemEditRedo());\r
jMenuEdit.addSeparator();\r
+\r
jMenuEdit.add(getJMenuItemEditCut());\r
jMenuEdit.add(getJMenuItemEditCopy());\r
jMenuEdit.add(getJMenuItemEditPaste());\r
jMenuEdit.add(getJMenuItemEditDelete());\r
jMenuEdit.addSeparator();\r
+\r
jMenuEdit.add(getJMenuItemEditSelectAll());\r
jMenuEdit.add(getJMenuItemEditFind());\r
jMenuEdit.add(getJMenuItemEditFindNext());\r
jMenuEdit.addSeparator();\r
- jMenuEdit.setVisible(false);\r
}\r
return jMenuEdit;\r
}\r
private JScrollPane getJScrollPaneTree() {\r
if (jScrollPaneTree == null) {\r
jScrollPaneTree = new JScrollPane();\r
- //jScrollPaneTree.setBounds(new java.awt.Rectangle(0, 1, 290, 545));\r
jScrollPaneTree\r
.setPreferredSize(new java.awt.Dimension(\r
DataType.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_WIDTH,\r
**/\r
private JMenu getJMenuHelp() {\r
if (jMenuHelp == null) {\r
+ //\r
+ // Set jMenuHelp's attributes\r
+ //\r
jMenuHelp = new JMenu();\r
jMenuHelp.setText("Help");\r
+\r
+ //\r
+ // Add sub menu items\r
+ //\r
jMenuHelp.add(getJMenuItemHelpContents());\r
jMenuHelp.add(getJMenuItemHelpIndex());\r
jMenuHelp.add(getJMenuItemHelpSearch());\r
- //jMenuHelp.addSeparator();\r
+\r
jMenuHelp.add(getJMenuItemHelpAbout());\r
}\r
return jMenuHelp;\r
jMenuItemEditDelete.setMnemonic('D');\r
jMenuItemEditDelete.addActionListener(this);\r
//\r
- //Disabled when no module is open\r
+ //Disabled first when no module is open\r
//\r
jMenuItemEditDelete.setEnabled(false);\r
}\r
return jMenuItemEditDelete;\r
}\r
\r
- // /**\r
- // This method initializes jPopupMenu \r
- // \r
- // @return javax.swing.JPopupMenu jPopupMenu\r
- // \r
- // **/\r
- // private JPopupMenu getJPopupMenu() {\r
- // if (jPopupMenu == null) {\r
- // jPopupMenu = new JPopupMenu();\r
- // //\r
- // //Add menu items of popup menu\r
- // //\r
- // jPopupMenu.add(getJMenuItemPopupAdd());\r
- // jPopupMenu.add(getJMenuItemPopupUpdate());\r
- // jPopupMenu.add(getJMenuItemPopupDelete());\r
- // jPopupMenu.setBorder(new BevelBorder(BevelBorder.RAISED));\r
- // jPopupMenu.addMouseListener(this);\r
- // }\r
- // return jPopupMenu;\r
- // }\r
- //\r
- // /**\r
- // This method initializes jMenuItemPopupAdd \r
- // \r
- // @return javax.swing.JMenuItem jMenuItemPopupAdd\r
- // \r
- // **/\r
- // private JMenuItem getJMenuItemPopupAdd() {\r
- // if (jMenuItemPopupAdd == null) {\r
- // jMenuItemPopupAdd = new JMenuItem();\r
- // jMenuItemPopupAdd.setText("Add");\r
- // jMenuItemPopupAdd.addActionListener(this);\r
- // jMenuItemPopupAdd.setEnabled(false);\r
- // }\r
- // return jMenuItemPopupAdd;\r
- // }\r
- //\r
- // /**\r
- // This method initializes jMenuItemPopupUpdate \r
- // \r
- // @return javax.swing.JMenuItem jMenuItemPopupUpdate\r
- // \r
- // **/\r
- // private JMenuItem getJMenuItemPopupUpdate() {\r
- // if (jMenuItemPopupUpdate == null) {\r
- // jMenuItemPopupUpdate = new JMenuItem();\r
- // jMenuItemPopupUpdate.setText("Update");\r
- // jMenuItemPopupUpdate.addActionListener(this);\r
- // jMenuItemPopupUpdate.setEnabled(false);\r
- // }\r
- // return jMenuItemPopupUpdate;\r
- // }\r
- //\r
- // /**\r
- // This method initializes jMenuItemPopupDelete \r
- // \r
- // @return javax.swing.JMenuItem jMenuItemPopupDelete\r
- // \r
- // **/\r
- // private JMenuItem getJMenuItemPopupDelete() {\r
- // if (jMenuItemPopupDelete == null) {\r
- // jMenuItemPopupDelete = new JMenuItem();\r
- // jMenuItemPopupDelete.setText("Delete");\r
- // jMenuItemPopupDelete.addActionListener(this);\r
- // jMenuItemPopupDelete.setEnabled(false);\r
- // }\r
- // return jMenuItemPopupDelete;\r
- // }\r
-\r
/**\r
This method initializes jMenuFileNew \r
\r
**/\r
private JMenu getJMenuTools() {\r
if (jMenuTools == null) {\r
+ //\r
+ // Set jMenuTools's attributes\r
+ //\r
jMenuTools = new JMenu();\r
jMenuTools.setText("Tools");\r
jMenuTools.setMnemonic('T');\r
+ jMenuTools.addMenuListener(this);\r
+\r
+ //\r
+ // Add sub menu items\r
+ //\r
jMenuTools.add(getJMenuItemToolsToolChainConfiguration());\r
jMenuTools.addSeparator();\r
+\r
jMenuTools.add(getJMenuItemToolsClone());\r
- //jMenuTools.addSeparator();\r
jMenuTools.add(getJMenuItemToolsCodeScan());\r
- jMenuTools.addMenuListener(this);\r
}\r
return jMenuTools;\r
}\r
**/\r
private JMenu getJMenuWindow() {\r
if (jMenuWindow == null) {\r
+ //\r
+ // Set jMenuWindow's attribute\r
+ //\r
jMenuWindow = new JMenu();\r
jMenuWindow.setText("Window");\r
jMenuWindow.setMnemonic('W');\r
+ jMenuWindow.setVisible(false);\r
+\r
+ //\r
+ // Add sub menu items\r
+ //\r
jMenuWindow.add(getJMenuItemWindowDisplaySide());\r
jMenuWindow.add(getJMenuItemWindowDisplayTopBottom());\r
jMenuWindow.addSeparator();\r
+\r
jMenuWindow.add(getJMenuItemWindowTabView());\r
jMenuWindow.addSeparator();\r
+\r
jMenuWindow.add(getJMenuItemWindowSource());\r
jMenuWindow.add(getJMenuItemWindowXML());\r
jMenuWindow.addSeparator();\r
+\r
jMenuWindow.add(getJMenuItemWindowPreferences());\r
- jMenuWindow.setVisible(false);\r
}\r
return jMenuWindow;\r
}\r
\r
/**\r
- This method initializes jPanelOperation \r
+ This method initializes jPanelOperation\r
+ Reserved\r
\r
@return javax.swing.JPanel jPanelOperation\r
\r
}\r
\r
/**\r
- This method initializes jButtonOk \r
+ This method initializes jButtonOk\r
+ Reserved\r
\r
@return javax.swing.JButton jButtonOk\r
\r
}\r
\r
/**\r
- This method initializes jButtonCancel \r
+ This method initializes jButtonCancel\r
+ Reserved\r
\r
@return javax.swing.JButton jButtonCancel\r
\r
This method initializes jMenuItemFileOpen \r
\r
@return javax.swing.JMenuItem jMenuItemFileOpen\r
- */\r
+ \r
+ **/\r
private JMenuItem getJMenuItemFileOpen() {\r
if (jMenuItemFileOpen == null) {\r
jMenuItemFileOpen = new JMenuItem();\r
This method initializes jMenuItemFileCloseAll \r
\r
@return javax.swing.JMenuItem jMenuItemFileOpen\r
- */\r
+ \r
+ **/\r
private JMenuItem getJMenuItemFileCloseAll() {\r
if (jMenuItemFileCloseAll == null) {\r
jMenuItemFileCloseAll = new JMenuItem();\r
This method initializes jMenuItemFileSaveAll \r
\r
@return javax.swing.JMenuItem jMenuItemFileSaveAll\r
- */\r
+ \r
+ **/\r
private JMenuItem getJMenuItemFileSaveAll() {\r
if (jMenuItemFileSaveAll == null) {\r
jMenuItemFileSaveAll = new JMenuItem();\r
This method initializes jMenuItemFilePageSetup \r
\r
@return javax.swing.JMenuItem \r
- */\r
+ \r
+ **/\r
private JMenuItem getJMenuItemFilePageSetup() {\r
if (jMenuItemFilePageSetup == null) {\r
jMenuItemFilePageSetup = new JMenuItem();\r
This method initializes jMenuItemFilePrint \r
\r
@return javax.swing.JMenuItem \r
- */\r
+ \r
+ **/\r
private JMenuItem getJMenuItemFilePrint() {\r
if (jMenuItemFilePrint == null) {\r
jMenuItemFilePrint = new JMenuItem();\r
This method initializes jMenuItemFileImport \r
\r
@return javax.swing.JMenuItem \r
- */\r
+ \r
+ **/\r
private JMenuItem getJMenuItemFileImport() {\r
if (jMenuItemFileImport == null) {\r
jMenuItemFileImport = new JMenuItem();\r
}\r
\r
/**\r
- * This method initializes jMenuItemFileProperties \r
- * \r
- * @return javax.swing.JMenuItem \r
- */\r
+ This method initializes jMenuItemFileProperties \r
+ \r
+ @return javax.swing.JMenuItem \r
+ \r
+ **/\r
private JMenuItem getJMenuItemFileProperties() {\r
if (jMenuItemFileProperties == null) {\r
jMenuItemFileProperties = new JMenuItem();\r
}\r
\r
/**\r
- * This method initializes jMenuFileRecentFiles \r
- * \r
- * @return javax.swing.JMenu \r
- */\r
+ This method initializes jMenuFileRecentFiles \r
+ \r
+ @return javax.swing.JMenu \r
+ \r
+ **/\r
private JMenu getJMenuFileRecentFiles() {\r
if (jMenuFileRecentFiles == null) {\r
jMenuFileRecentFiles = new JMenu();\r
/**\r
This method initializes jMenuItemEditUndo \r
\r
- @return javax.swing.JMenuItem \r
- */\r
+ @return javax.swing.JMenuItem\r
+ \r
+ **/\r
private JMenuItem getJMenuItemEditUndo() {\r
if (jMenuItemEditUndo == null) {\r
jMenuItemEditUndo = new JMenuItem();\r
This method initializes jMenuItemEditRedo \r
\r
@return javax.swing.JMenuItem \r
- */\r
+ \r
+ **/\r
private JMenuItem getJMenuItemEditRedo() {\r
if (jMenuItemEditRedo == null) {\r
jMenuItemEditRedo = new JMenuItem();\r
This method initializes jMenuItemEditCut \r
\r
@return javax.swing.JMenuItem \r
- */\r
+ \r
+ **/\r
private JMenuItem getJMenuItemEditCut() {\r
if (jMenuItemEditCut == null) {\r
jMenuItemEditCut = new JMenuItem();\r
This method initializes jMenuItemEditCopy \r
\r
@return javax.swing.JMenuItem \r
- */\r
+ \r
+ **/\r
private JMenuItem getJMenuItemEditCopy() {\r
if (jMenuItemEditCopy == null) {\r
jMenuItemEditCopy = new JMenuItem();\r
This method initializes jMenuItemEditPaste \r
\r
return javax.swing.JMenuItem \r
- */\r
+ \r
+ **/\r
private JMenuItem getJMenuItemEditPaste() {\r
if (jMenuItemEditPaste == null) {\r
jMenuItemEditPaste = new JMenuItem();\r
This method initializes jMenuItem \r
\r
@return javax.swing.JMenuItem \r
- */\r
+ \r
+ **/\r
private JMenuItem getJMenuItemEditSelectAll() {\r
if (jMenuItemEditSelectAll == null) {\r
jMenuItemEditSelectAll = new JMenuItem();\r
This method initializes jMenuItemEditFind \r
\r
@return javax.swing.JMenuItem \r
- */\r
+ \r
+ **/\r
private JMenuItem getJMenuItemEditFind() {\r
if (jMenuItemEditFind == null) {\r
jMenuItemEditFind = new JMenuItem();\r
\r
@return javax.swing.JMenuItem \r
\r
- */\r
+ **/\r
private JMenuItem getJMenuItemEditFindNext() {\r
if (jMenuItemEditFindNext == null) {\r
jMenuItemEditFindNext = new JMenuItem();\r
\r
@return javax.swing.JMenu \r
\r
- */\r
+ **/\r
private JMenu getJMenuView() {\r
if (jMenuView == null) {\r
+ //\r
+ // Set jMenuView's attributes\r
+ //\r
jMenuView = new JMenu();\r
jMenuView.setText("View");\r
jMenuView.setMnemonic('V');\r
+ jMenuView.setVisible(false);\r
+\r
+ //\r
+ // Add sub menu items\r
+ //\r
jMenuView.add(getJMenuViewToolbars());\r
jMenuView.add(getJMenuItemViewAdvanced());\r
jMenuView.add(getJMenuItemViewStandard());\r
jMenuView.add(getJMenuItemViewXML());\r
- jMenuView.setVisible(false);\r
}\r
return jMenuView;\r
}\r
\r
@return javax.swing.JMenu \r
\r
- */\r
+ **/\r
private JMenu getJMenuViewToolbars() {\r
if (jMenuViewToolbars == null) {\r
jMenuViewToolbars = new JMenu();\r
jMenuViewToolbars.setText("Toolbars");\r
jMenuViewToolbars.setMnemonic('T');\r
+\r
jMenuViewToolbars.add(getJCheckBoxMenuItemViewToolbarsFile());\r
jMenuViewToolbars.add(getJCheckBoxMenuItemViewToolbarsEdit());\r
jMenuViewToolbars.add(getJCheckBoxMenuItemViewToolbarsWindow());\r
\r
@return javax.swing.JCheckBoxMenuItem \r
\r
- */\r
+ **/\r
private JCheckBoxMenuItem getJCheckBoxMenuItemViewToolbarsFile() {\r
if (jCheckBoxMenuItemViewToolbarsFile == null) {\r
jCheckBoxMenuItemViewToolbarsFile = new JCheckBoxMenuItem();\r
\r
@return javax.swing.JCheckBoxMenuItem \r
\r
- */\r
+ **/\r
private JCheckBoxMenuItem getJCheckBoxMenuItemViewToolbarsEdit() {\r
if (jCheckBoxMenuItemViewToolbarsEdit == null) {\r
jCheckBoxMenuItemViewToolbarsEdit = new JCheckBoxMenuItem();\r
\r
@return javax.swing.JCheckBoxMenuItem \r
\r
- */\r
+ **/\r
private JCheckBoxMenuItem getJCheckBoxMenuItemViewToolbarsWindow() {\r
if (jCheckBoxMenuItemViewToolbarsWindow == null) {\r
jCheckBoxMenuItemViewToolbarsWindow = new JCheckBoxMenuItem();\r
\r
@return javax.swing.JMenuItem \r
\r
- */\r
+ **/\r
private JMenuItem getJMenuItemViewStandard() {\r
if (jMenuItemViewStandard == null) {\r
jMenuItemViewStandard = new JMenuItem();\r
\r
@return javax.swing.JMenuItem \r
\r
- */\r
+ **/\r
private JMenuItem getJMenuItemViewAdvanced() {\r
if (jMenuItemViewAdvanced == null) {\r
jMenuItemViewAdvanced = new JMenuItem();\r
\r
@return javax.swing.JMenu \r
\r
- */\r
+ **/\r
private JMenu getJMenuProject() {\r
if (jMenuProject == null) {\r
+ //\r
+ // Set jMenuProject's attributes\r
+ //\r
jMenuProject = new JMenu();\r
jMenuProject.setText("Project");\r
jMenuProject.setMnemonic('P');\r
+\r
+ //\r
+ // Add sub menu items\r
+ //\r
jMenuProject.add(getJMenuItemProjectAdmin());\r
- //jMenuProject.addSeparator();\r
+\r
jMenuProject.add(getJMenuItemProjectChangeWorkspace());\r
jMenuProject.addSeparator();\r
- jMenuProject.add(getJMenuItemProjectInstallPackage());\r
- jMenuProject.add(getJMenuItemProjectUpdatePackage());\r
- jMenuProject.add(getJMenuItemProjectRemovePackage());\r
- //jMenuProject.addSeparator();\r
+\r
+ jMenuProject.add(getJMenuItemProjectCreateFar());\r
+ jMenuProject.add(getJMenuItemProjectInstallFar());\r
+ jMenuProject.add(getJMenuItemProjectUpdateFar());\r
+ jMenuProject.add(getJMenuItemProjectRemoveFar());\r
+\r
jMenuProject.add(getJMenuProjectBuildTargets());\r
}\r
return jMenuProject;\r
\r
@return javax.swing.JMenuItem \r
\r
- */\r
+ **/\r
private JMenuItem getJMenuItemProjectAdmin() {\r
if (jMenuItemProjectAdmin == null) {\r
jMenuItemProjectAdmin = new JMenuItem();\r
\r
@return javax.swing.JMenuItem \r
\r
- */\r
+ **/\r
private JMenuItem getJMenuItemProjectChangeWorkspace() {\r
if (jMenuItemProjectChangeWorkspace == null) {\r
jMenuItemProjectChangeWorkspace = new JMenuItem();\r
\r
@return javax.swing.JMenu \r
\r
- */\r
+ **/\r
private JMenu getJMenuProjectBuildTargets() {\r
if (jMenuProjectBuildTargets == null) {\r
jMenuProjectBuildTargets = new JMenu();\r
jMenuProjectBuildTargets.setText("Build Targets");\r
jMenuProjectBuildTargets.setMnemonic('T');\r
+ jMenuProjectBuildTargets.setVisible(false);\r
+\r
jMenuProjectBuildTargets.add(getJCheckBoxMenuItemProjectBuildTargetsDebug());\r
jMenuProjectBuildTargets.add(getJCheckBoxMenuItemProjectBuildTargetsRelease());\r
- jMenuProjectBuildTargets.setVisible(false);\r
}\r
return jMenuProjectBuildTargets;\r
}\r
\r
@return javax.swing.JCheckBoxMenuItem \r
\r
- */\r
+ **/\r
private JCheckBoxMenuItem getJCheckBoxMenuItemProjectBuildTargetsDebug() {\r
if (jCheckBoxMenuItemProjectBuildTargetsDebug == null) {\r
jCheckBoxMenuItemProjectBuildTargetsDebug = new JCheckBoxMenuItem();\r
\r
@return javax.swing.JCheckBoxMenuItem \r
\r
- */\r
+ **/\r
private JCheckBoxMenuItem getJCheckBoxMenuItemProjectBuildTargetsRelease() {\r
if (jCheckBoxMenuItemProjectBuildTargetsRelease == null) {\r
jCheckBoxMenuItemProjectBuildTargetsRelease = new JCheckBoxMenuItem();\r
\r
@return javax.swing.JMenuItem \r
\r
- */\r
+ **/\r
private JMenuItem getJMenuItemToolsToolChainConfiguration() {\r
if (jMenuItemToolsToolChainConfiguration == null) {\r
jMenuItemToolsToolChainConfiguration = new JMenuItem();\r
\r
@return javax.swing.JMenuItem \r
\r
- */\r
+ **/\r
private JMenuItem getJMenuItemToolsClone() {\r
if (jMenuItemToolsClone == null) {\r
jMenuItemToolsClone = new JMenuItem();\r
\r
@return javax.swing.JMenuItem \r
\r
- */\r
+ **/\r
private JMenuItem getJMenuItemToolsCodeScan() {\r
if (jMenuItemToolsCodeScan == null) {\r
jMenuItemToolsCodeScan = new JMenuItem();\r
\r
@return javax.swing.JMenuItem \r
\r
- */\r
+ **/\r
private JMenuItem getJMenuItemWindowDisplaySide() {\r
if (jMenuItemWindowDisplaySide == null) {\r
jMenuItemWindowDisplaySide = new JMenuItem();\r
\r
@return javax.swing.JMenuItem \r
\r
- */\r
+ **/\r
private JMenuItem getJMenuItemWindowDisplayTopBottom() {\r
if (jMenuItemWindowDisplayTopBottom == null) {\r
jMenuItemWindowDisplayTopBottom = new JMenuItem();\r
\r
@return javax.swing.JMenuItem \r
\r
- */\r
+ **/\r
private JMenuItem getJMenuItemViewXML() {\r
if (jMenuItemViewXML == null) {\r
jMenuItemViewXML = new JMenuItem();\r
\r
@return javax.swing.JMenuItem \r
\r
- */\r
+ **/\r
private JMenuItem getJMenuItemWindowTabView() {\r
if (jMenuItemWindowTabView == null) {\r
jMenuItemWindowTabView = new JMenuItem();\r
\r
@return javax.swing.JMenuItem \r
\r
- */\r
+ **/\r
private JMenuItem getJMenuItemWindowSource() {\r
if (jMenuItemWindowSource == null) {\r
jMenuItemWindowSource = new JMenuItem();\r
\r
@return javax.swing.JMenuItem \r
\r
- */\r
+ **/\r
private JMenuItem getJMenuItemWindowXML() {\r
if (jMenuItemWindowXML == null) {\r
jMenuItemWindowXML = new JMenuItem();\r
\r
@return javax.swing.JMenuItem \r
\r
- */\r
+ **/\r
private JMenuItem getJMenuItemWindowPreferences() {\r
if (jMenuItemWindowPreferences == null) {\r
jMenuItemWindowPreferences = new JMenuItem();\r
\r
@return javax.swing.JMenuItem \r
\r
- */\r
+ **/\r
private JMenuItem getJMenuItemHelpContents() {\r
if (jMenuItemHelpContents == null) {\r
jMenuItemHelpContents = new JMenuItem();\r
\r
@return javax.swing.JMenuItem \r
\r
- */\r
+ **/\r
private JMenuItem getJMenuItemHelpIndex() {\r
if (jMenuItemHelpIndex == null) {\r
jMenuItemHelpIndex = new JMenuItem();\r
return jMenuItemHelpSearch;\r
}\r
\r
- /**\r
- * This method initializes jToolBar \r
- * \r
- * @return javax.swing.JToolBar \r
- */\r
- // private JToolBar getJToolBarFile() {\r
- // if (jToolBarFile == null) {\r
- // jToolBarFile = new JToolBar();\r
- // jToolBarFile.setFloatable(false);\r
- // }\r
- // return jToolBarFile;\r
- // }\r
- /**\r
- * This method initializes jToolBarEdit \r
- * \r
- * @return javax.swing.JToolBar \r
- */\r
- // private JToolBar getJToolBarEdit() {\r
- // if (jToolBarEdit == null) {\r
- // jToolBarEdit = new JToolBar();\r
- // jToolBarEdit.setFloatable(false);\r
- // }\r
- // return jToolBarEdit;\r
- // }\r
/**\r
* This method initializes jMenuItemToolsInstallPackage \r
* \r
* @return javax.swing.JMenuItem \r
*/\r
- private JMenuItem getJMenuItemProjectInstallPackage() {\r
- if (jMenuItemProjectInstallPackage == null) {\r
- jMenuItemProjectInstallPackage = new JMenuItem();\r
- jMenuItemProjectInstallPackage.setText("Install Distribution Package");\r
- jMenuItemProjectInstallPackage.setMnemonic('I');\r
- jMenuItemProjectInstallPackage.setEnabled(false);\r
- jMenuItemProjectInstallPackage.addActionListener(this);\r
+ private JMenuItem getJMenuItemProjectInstallFar() {\r
+ if (jMenuItemProjectInstallFar == null) {\r
+ jMenuItemProjectInstallFar = new JMenuItem();\r
+ jMenuItemProjectInstallFar.setText("Install FAR");\r
+ jMenuItemProjectInstallFar.setMnemonic('I');\r
+ jMenuItemProjectInstallFar.setEnabled(true);\r
+ jMenuItemProjectInstallFar.addActionListener(this);\r
}\r
- return jMenuItemProjectInstallPackage;\r
+ return jMenuItemProjectInstallFar;\r
}\r
\r
/**\r
* \r
* @return javax.swing.JMenuItem \r
*/\r
- private JMenuItem getJMenuItemProjectUpdatePackage() {\r
- if (jMenuItemProjectUpdatePackage == null) {\r
- jMenuItemProjectUpdatePackage = new JMenuItem();\r
- jMenuItemProjectUpdatePackage.setText("Update Disstribution Package");\r
- jMenuItemProjectUpdatePackage.setMnemonic('U');\r
- jMenuItemProjectUpdatePackage.setEnabled(false);\r
- jMenuItemProjectUpdatePackage.addActionListener(this);\r
+ private JMenuItem getJMenuItemProjectUpdateFar() {\r
+ if (jMenuItemProjectUpdateFar == null) {\r
+ jMenuItemProjectUpdateFar = new JMenuItem();\r
+ jMenuItemProjectUpdateFar.setText("Update FAR");\r
+ jMenuItemProjectUpdateFar.setMnemonic('U');\r
+ jMenuItemProjectUpdateFar.setEnabled(true);\r
+ jMenuItemProjectUpdateFar.addActionListener(this);\r
+ jMenuItemProjectUpdateFar.setVisible(true);\r
}\r
- return jMenuItemProjectUpdatePackage;\r
+ return jMenuItemProjectUpdateFar;\r
}\r
\r
/**\r
* \r
* @return javax.swing.JMenuItem \r
*/\r
- private JMenuItem getJMenuItemProjectRemovePackage() {\r
- if (jMenuItemProjectRemovePackage == null) {\r
- jMenuItemProjectRemovePackage = new JMenuItem();\r
- jMenuItemProjectRemovePackage.setText("Remove Distribution Package");\r
- jMenuItemProjectRemovePackage.setMnemonic('R');\r
- jMenuItemProjectRemovePackage.setEnabled(false);\r
- jMenuItemProjectRemovePackage.addActionListener(this);\r
+ private JMenuItem getJMenuItemProjectRemoveFar() {\r
+ if (jMenuItemProjectRemoveFar == null) {\r
+ jMenuItemProjectRemoveFar = new JMenuItem();\r
+ jMenuItemProjectRemoveFar.setText("Remove FAR");\r
+ jMenuItemProjectRemoveFar.setMnemonic('R');\r
+ jMenuItemProjectRemoveFar.setEnabled(true);\r
+ jMenuItemProjectRemoveFar.addActionListener(this);\r
}\r
- return jMenuItemProjectRemovePackage;\r
+ return jMenuItemProjectRemoveFar;\r
+ }\r
+\r
+ /**\r
+ * This method initializes jMenuItemProjectCreateFar \r
+ * \r
+ * @return javax.swing.JMenuItem \r
+ */\r
+ private JMenuItem getJMenuItemProjectCreateFar() {\r
+ if (jMenuItemProjectCreateFar == null) {\r
+ jMenuItemProjectCreateFar = new JMenuItem();\r
+ jMenuItemProjectCreateFar.setText("Create FAR");\r
+ jMenuItemProjectCreateFar.setMnemonic('C');\r
+ jMenuItemProjectCreateFar.addActionListener(this);\r
+ }\r
+ return jMenuItemProjectCreateFar;\r
}\r
\r
/* (non-Javadoc)\r
* \r
*/\r
public static void main(String[] args) {\r
- FrameworkWizardUI module = new FrameworkWizardUI();\r
+ FrameworkWizardUI module = FrameworkWizardUI.getInstance();\r
module.setVisible(true);\r
}\r
\r
this.addComponentListener(this);\r
this.getCompontentsFromFrameworkDatabase();\r
this.setContentPane(getJContentPane());\r
- this.setTitle(projectName + " " + projectVersion + " " + "- [" + Workspace.getCurrentWorkspace() + "]");\r
+ this.setTitle(DataType.PROJECT_NAME + " " + DataType.PROJECT_VERSION + " " + "- ["\r
+ + Workspace.getCurrentWorkspace() + "]");\r
this.setExitType(1);\r
\r
//\r
changeWorkspace();\r
}\r
\r
+ if (arg0.getSource() == jMenuItemProjectCreateFar) {\r
+ createFar();\r
+ }\r
+\r
+ if (arg0.getSource() == jMenuItemProjectInstallFar) {\r
+ installFar();\r
+ }\r
+\r
+ if (arg0.getSource() == jMenuItemProjectRemoveFar) {\r
+ removeFar();\r
+ }\r
+\r
+ if (arg0.getSource() == jMenuItemProjectUpdateFar) {\r
+ updateFar();\r
+ }\r
+\r
if (arg0.getSource() == jMenuItemToolsClone) {\r
cloneItem();\r
}\r
- \r
+\r
if (arg0.getSource() == jMenuItemToolsToolChainConfiguration) {\r
setupToolChainConfiguration();\r
}\r
\r
**/\r
private void makeEmptyTree() {\r
+ //\r
// Make root\r
+ //\r
dmtnRoot = new IDefaultMutableTreeNode("WORKSPACE", IDefaultMutableTreeNode.WORKSPACE, -1);\r
\r
+ //\r
// Make Module Description\r
+ //\r
dmtnModuleDescription = new IDefaultMutableTreeNode("ModuleDescription", IDefaultMutableTreeNode.MODULE, -1);\r
\r
- if (this.vModuleList.size() > 0) {\r
- for (int index = 0; index < this.vModuleList.size(); index++) {\r
- dmtnModuleDescription.add(new IDefaultMutableTreeNode(this.vModuleList.elementAt(index).getName(),\r
- IDefaultMutableTreeNode.MSA_HEADER, false,\r
- this.vModuleList.elementAt(index)));\r
+ //\r
+ // First add package\r
+ //\r
+ if (this.vPackageList.size() > 0) {\r
+ for (int index = 0; index < this.vPackageList.size(); index++) {\r
+ IDefaultMutableTreeNode dmtnModulePackage = null;\r
+ IDefaultMutableTreeNode dmtnModulePackageLibrary = null;\r
+ IDefaultMutableTreeNode dmtnModulePackageModule = null;\r
+\r
+ dmtnModulePackage = new IDefaultMutableTreeNode(this.vPackageList.elementAt(index).getName(),\r
+ IDefaultMutableTreeNode.MODULE_PACKAGE, false,\r
+ this.vPackageList.elementAt(index));\r
+ dmtnModulePackageLibrary = new IDefaultMutableTreeNode("Library",\r
+ IDefaultMutableTreeNode.MODULE_PACKAGE_LIBRARY,\r
+ false, this.vPackageList.elementAt(index));\r
+ dmtnModulePackageModule = new IDefaultMutableTreeNode("Module",\r
+ IDefaultMutableTreeNode.MODULE_PACKAGE_MODULE,\r
+ false, this.vPackageList.elementAt(index));\r
+ //\r
+ // And then add each module in its package\r
+ //\r
+ Vector<ModuleIdentification> vModule = wt.getAllModules(this.vPackageList.elementAt(index));\r
+ for (int indexJ = 0; indexJ < vModule.size(); indexJ++) {\r
+ if (vModule.get(indexJ).isLibrary()) {\r
+ dmtnModulePackageLibrary.add(new IDefaultMutableTreeNode(vModule.get(indexJ).getName(),\r
+ IDefaultMutableTreeNode.MODULE,\r
+ false, vModule.get(indexJ)));\r
+ } else {\r
+ dmtnModulePackageModule.add(new IDefaultMutableTreeNode(vModule.get(indexJ).getName(),\r
+ IDefaultMutableTreeNode.MODULE,\r
+ false, vModule.get(indexJ)));\r
+ }\r
+ }\r
+ if (dmtnModulePackageModule.getChildCount() > 0) {\r
+ dmtnModulePackage.add(dmtnModulePackageModule);\r
+ }\r
+ if (dmtnModulePackageLibrary.getChildCount() > 0) {\r
+ dmtnModulePackage.add(dmtnModulePackageLibrary);\r
+ }\r
+\r
+ dmtnModuleDescription.add(dmtnModulePackage);\r
}\r
}\r
\r
+ //\r
// Make Package Description\r
+ //\r
dmtnPackageDescription = new IDefaultMutableTreeNode("PackageDescription", IDefaultMutableTreeNode.PACKAGE, -1);\r
if (this.vPackageList.size() > 0) {\r
for (int index = 0; index < this.vPackageList.size(); index++) {\r
dmtnPackageDescription.add(new IDefaultMutableTreeNode(this.vPackageList.elementAt(index).getName(),\r
- IDefaultMutableTreeNode.SPD_HEADER, false,\r
+ IDefaultMutableTreeNode.PACKAGE, false,\r
this.vPackageList.elementAt(index)));\r
}\r
}\r
\r
+ //\r
// Make Platform Description\r
+ //\r
dmtnPlatformDescription = new IDefaultMutableTreeNode("PlatformDescription", IDefaultMutableTreeNode.PLATFORM,\r
-1);\r
if (this.vPlatformList.size() > 0) {\r
for (int index = 0; index < this.vPlatformList.size(); index++) {\r
dmtnPlatformDescription.add(new IDefaultMutableTreeNode(this.vPlatformList.elementAt(index).getName(),\r
- IDefaultMutableTreeNode.FPD_PLATFORMHEADER,\r
+ IDefaultMutableTreeNode.PLATFORM,\r
false, this.vPlatformList.elementAt(index)));\r
}\r
}\r
\r
+ //\r
+ // Add sub nodes to root node\r
+ //\r
dmtnRoot.add(dmtnModuleDescription);\r
dmtnRoot.add(dmtnPackageDescription);\r
dmtnRoot.add(dmtnPlatformDescription);\r
return fc.showSaveDialog(new JPanel());\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
\r
@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
} catch (IOException e) {\r
+ Log.wrn("Open Module Surface Area " + path, e.getMessage());\r
Log.err("Open Module Surface Area " + path, e.getMessage());\r
return;\r
} catch (XmlException e) {\r
+ Log.wrn("Open Module Surface Area " + path, e.getMessage());\r
Log.err("Open Module Surface Area " + path, e.getMessage());\r
return;\r
} catch (Exception e) {\r
+ Log.wrn("Open Module Surface Area " + path, "Invalid file type");\r
Log.err("Open Module Surface Area " + path, "Invalid file type");\r
return;\r
}\r
}\r
}\r
if (!isFind) {\r
- vModuleList.addElement(new ModuleIdentification(id, pid));\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
+ ModuleIdentification mid = new ModuleIdentification(id, pid, moduleId.isLibrary());\r
+ vModuleList.addElement(mid);\r
+ addModuleToTree(mid);\r
}\r
} else {\r
//\r
return;\r
}\r
\r
+ //\r
// Make the node selected\r
//\r
+ iTree.setSelectionPath(iTree.getPathOfNode(iTree.getNodeById(this.dmtnModuleDescription, id,\r
+ IDefaultMutableTreeNode.MODULE)));\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
+ // Select msa header node and show it in editor panel\r
+ //\r
iTree.setSelectionPath(iTree.getPathOfNode(iTree.getNodeById(this.dmtnModuleDescription, id,\r
IDefaultMutableTreeNode.MSA_HEADER)));\r
+ showModuleElement(IDefaultMutableTreeNode.MSA_HEADER, openingModuleList.getOpeningModuleById(id));\r
+ this.currentOpeningModuleIndex = openingModuleList.findIndexOfListById(id);\r
+ }\r
+\r
+ /**\r
+ Open Module\r
+\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.wrn("Open Module Surface Area " + path, e.getMessage());\r
+ Log.err("Open Module Surface Area " + path, e.getMessage());\r
+ return;\r
+ } catch (XmlException e) {\r
+ Log.wrn("Open Module Surface Area " + path, e.getMessage());\r
+ Log.err("Open Module Surface Area " + path, e.getMessage());\r
+ return;\r
+ } catch (Exception e) {\r
+ Log.wrn("Open Module Surface Area " + path, "Invalid file type");\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
+ //\r
+ Log.wrn("Open Module", "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.MODULE)));\r
//\r
// Update opening Module list information\r
//\r
openingModuleList.setTreePathById(id, iTree.getSelectionPath());\r
}\r
//\r
- // Show msa header in editor panel\r
+ // Select msa header node and show it in editor panel\r
//\r
+ iTree.setSelectionPath(iTree.getPathOfNode(iTree.getNodeById(this.dmtnModuleDescription, id,\r
+ IDefaultMutableTreeNode.MSA_HEADER)));\r
showModuleElement(IDefaultMutableTreeNode.MSA_HEADER, openingModuleList.getOpeningModuleById(id));\r
this.currentOpeningModuleIndex = openingModuleList.findIndexOfListById(id);\r
}\r
try {\r
spd = OpenFile.openSpdFile(path);\r
} catch (IOException e) {\r
+ Log.wrn("Open Package Surface Area " + path, e.getMessage());\r
Log.err("Open Package Surface Area " + path, e.getMessage());\r
return;\r
} catch (XmlException e) {\r
+ Log.wrn("Open Package Surface Area " + path, e.getMessage());\r
Log.err("Open Package Surface Area " + path, e.getMessage());\r
return;\r
} catch (Exception e) {\r
+ Log.wrn("Open Package Surface Area " + path, "Invalid file type");\r
Log.err("Open Package Surface Area " + path, "Invalid file type");\r
return;\r
}\r
//\r
// The module is not in existing packages\r
//\r
- Log.err("The package hasn't been added to current workspace!");\r
+ Log.wrn("Open Package", "The package hasn't been added to current workspace!");\r
return;\r
}\r
\r
// Make the node selected\r
//\r
iTree.setSelectionPath(iTree.getPathOfNode(iTree.getNodeById(this.dmtnPackageDescription, id,\r
- IDefaultMutableTreeNode.SPD_HEADER)));\r
+ IDefaultMutableTreeNode.PACKAGE)));\r
//\r
// Update opening package list information\r
//\r
//\r
// Show spd header in editor panel\r
//\r
+ iTree.setSelectionPath(iTree.getPathOfNode(iTree.getNodeById(this.dmtnPackageDescription, id,\r
+ IDefaultMutableTreeNode.SPD_HEADER)));\r
showPackageElement(IDefaultMutableTreeNode.SPD_HEADER, openingPackageList.getOpeningPackageById(id));\r
this.currentOpeningPackageIndex = openingPackageList.findIndexOfListById(id);\r
}\r
try {\r
fpd = OpenFile.openFpdFile(path);\r
} catch (IOException e) {\r
+ Log.wrn("Open Platform Surface Area " + path, e.getMessage());\r
Log.err("Open Platform Surface Area " + path, e.getMessage());\r
return;\r
} catch (XmlException e) {\r
+ Log.wrn("Open Platform Surface Area " + path, e.getMessage());\r
Log.err("Open Platform Surface Area " + path, e.getMessage());\r
return;\r
} catch (Exception e) {\r
+ Log.wrn("Open Platform Surface Area " + path, "Invalid file type");\r
Log.err("Open Platform Surface Area " + path, "Invalid file type");\r
return;\r
}\r
//\r
// The module is not in existing packages\r
//\r
- Log.err("The platform hasn't been added to current workspace!");\r
+ Log.wrn("Open Platform", "The platform hasn't been added to current workspace!");\r
return;\r
}\r
\r
// Make the node selected\r
//\r
iTree.setSelectionPath(iTree.getPathOfNode(iTree.getNodeById(this.dmtnPlatformDescription, id,\r
- IDefaultMutableTreeNode.FPD_PLATFORMHEADER)));\r
+ IDefaultMutableTreeNode.PLATFORM)));\r
//\r
// Update opening package list information\r
//\r
//\r
// Show fpd header in editor panel\r
//\r
+ iTree.setSelectionPath(iTree.getPathOfNode(iTree.getNodeById(this.dmtnPlatformDescription, id,\r
+ IDefaultMutableTreeNode.FPD_PLATFORMHEADER)));\r
showPlatformElement(IDefaultMutableTreeNode.FPD_PLATFORMHEADER, openingPlatformList.getOpeningPlatformById(id));\r
this.currentOpeningPlatformIndex = openingPlatformList.findIndexOfListById(id);\r
}\r
openingModuleList.setNew(omt.getId(), false);\r
openingModuleList.setModuleSaved(omt.getId(), true);\r
} catch (Exception e) {\r
+ Log.wrn("Save Module", e.getMessage());\r
Log.err("Save Module", e.getMessage());\r
}\r
}\r
openingPackageList.setNew(opt.getId(), false);\r
openingPackageList.setPackageSaved(opt.getId(), true);\r
} catch (Exception e) {\r
+ Log.wrn("Save Package", e.getMessage());\r
Log.err("Save Package", e.getMessage());\r
}\r
}\r
openingPlatformList.setNew(opt.getId(), false);\r
openingPlatformList.setPlatformSaved(opt.getId(), true);\r
} catch (Exception e) {\r
+ Log.wrn("Save Package", e.getMessage());\r
Log.err("Save Package", e.getMessage());\r
}\r
}\r
}\r
\r
private void insertModuleTreeNode(Identification id) {\r
+ iTree.addNode(new IDefaultMutableTreeNode("Module Header", IDefaultMutableTreeNode.MSA_HEADER, true, id));\r
iTree.addNode(new IDefaultMutableTreeNode("Module Definitions", IDefaultMutableTreeNode.MSA_MODULEDEFINITIONS,\r
true, id));\r
iTree.addNode(new IDefaultMutableTreeNode("Library Class Definitions",\r
}\r
\r
private void insertPackageTreeNode(Identification id) {\r
+ iTree.addNode(new IDefaultMutableTreeNode("Package Header", IDefaultMutableTreeNode.SPD_HEADER, true, id));\r
iTree.addNode(new IDefaultMutableTreeNode("Package Definitions",\r
IDefaultMutableTreeNode.SPD_PACKAGEDEFINITIONS, true, id));\r
iTree.addNode(new IDefaultMutableTreeNode("Library Class Declarations",\r
IDefaultMutableTreeNode.SPD_LIBRARYCLASSDECLARATIONS, true, id));\r
iTree.addNode(new IDefaultMutableTreeNode("Msa Files", IDefaultMutableTreeNode.SPD_MSAFILES, false, id));\r
- iTree.addNode(new IDefaultMutableTreeNode("Package Headers", IDefaultMutableTreeNode.SPD_PACKAGEHEADERS, true,\r
+ iTree.addNode(new IDefaultMutableTreeNode("Package Includes", IDefaultMutableTreeNode.SPD_PACKAGEHEADERS, true,\r
id));\r
iTree.addNode(new IDefaultMutableTreeNode("Guid Declarations", IDefaultMutableTreeNode.SPD_GUIDDECLARATIONS,\r
true, id));\r
}\r
\r
private void insertPlatformTreeNode(Identification id) {\r
- iTree.addNode(new IDefaultMutableTreeNode("Platform Definitions", IDefaultMutableTreeNode.FPD_PLATFORMDEFINITIONS, true, id));\r
+ iTree.addNode(new IDefaultMutableTreeNode("Platform Header", IDefaultMutableTreeNode.FPD_PLATFORMHEADER, true,\r
+ id));\r
+ iTree.addNode(new IDefaultMutableTreeNode("Platform Definitions",\r
+ IDefaultMutableTreeNode.FPD_PLATFORMDEFINITIONS, true, id));\r
iTree.addNode(new IDefaultMutableTreeNode("Flash", IDefaultMutableTreeNode.FPD_FLASH, true, id));\r
iTree.addNode(new IDefaultMutableTreeNode("Framework Modules", IDefaultMutableTreeNode.FPD_FRAMEWORKMODULES,\r
true, id));\r
\r
**/\r
private void doubleClickModuleTreeNode() {\r
- Identification id = iTree.getSelectNode().getId();\r
- int intCategory = iTree.getSelectCategory();\r
+ Identification id = null;\r
+ int intCategory = -1;\r
String path = null;\r
- // \r
- // If the node is not opened yet\r
- // Insert top level elements first\r
- //\r
- //if (intCategory == IDefaultMutableTreeNode.MSA_HEADER || intCategory == IDefaultMutableTreeNode.SPD_MSAFILES) {\r
- if (intCategory == IDefaultMutableTreeNode.MSA_HEADER) {\r
+ boolean isOpen = false;\r
+ try {\r
+ id = iTree.getSelectNode().getId();\r
+ intCategory = iTree.getSelectCategory();\r
+ isOpen = iTree.getSelectNode().isOpening();\r
+ \r
+ if (!isOpen) {\r
+ // \r
+ // If the node is not opened yet\r
+ // Insert top level elements first\r
+ //\r
+ if (intCategory == IDefaultMutableTreeNode.MODULE) {\r
\r
- if (intCategory == IDefaultMutableTreeNode.MSA_HEADER) {\r
- path = iTree.getSelectNode().getId().getPath();\r
+ if (intCategory == IDefaultMutableTreeNode.MODULE) {\r
+ path = iTree.getSelectNode().getId().getPath();\r
+ }\r
+ if (intCategory == IDefaultMutableTreeNode.PACKAGE) {\r
+ path = iTree.getSelectNode().getId().getPath();\r
+ }\r
+ openModule(path);\r
+ return;\r
+ }\r
+ if (intCategory == IDefaultMutableTreeNode.PACKAGE) {\r
+ path = iTree.getSelectNode().getId().getPath();\r
+ openPackage(path);\r
+ return;\r
+ }\r
+ if (intCategory == IDefaultMutableTreeNode.PLATFORM) {\r
+ path = iTree.getSelectNode().getId().getPath();\r
+ openPlatform(path);\r
+ return;\r
+ }\r
}\r
- if (intCategory == IDefaultMutableTreeNode.SPD_MSAFILES) {\r
- path = iTree.getSelectNode().getId().getPath();\r
+ \r
+ //\r
+ // Show editor panel\r
+ //\r
+ if (intCategory >= IDefaultMutableTreeNode.MSA_HEADER && intCategory < IDefaultMutableTreeNode.SPD_HEADER) {\r
+ showModuleElement(intCategory, openingModuleList.getOpeningModuleById(id));\r
+ this.currentOpeningModuleIndex = openingModuleList.findIndexOfListById(id);\r
}\r
- openModule(path);\r
- return;\r
- }\r
- if (intCategory == IDefaultMutableTreeNode.SPD_HEADER) {\r
- path = iTree.getSelectNode().getId().getPath();\r
- openPackage(path);\r
- return;\r
- }\r
- if (intCategory == IDefaultMutableTreeNode.FPD_PLATFORMHEADER) {\r
- path = iTree.getSelectNode().getId().getPath();\r
- openPlatform(path);\r
- return;\r
- }\r
- //\r
- // Show editor panel\r
- //\r
- if (intCategory >= IDefaultMutableTreeNode.MSA_HEADER && intCategory < IDefaultMutableTreeNode.SPD_HEADER) {\r
- showModuleElement(intCategory, openingModuleList.getOpeningModuleById(id));\r
- this.currentOpeningModuleIndex = openingModuleList.findIndexOfListById(id);\r
- }\r
- if (intCategory >= IDefaultMutableTreeNode.SPD_HEADER\r
- && intCategory < IDefaultMutableTreeNode.FPD_PLATFORMHEADER) {\r
- showPackageElement(intCategory, openingPackageList.getOpeningPackageById(id));\r
- this.currentOpeningPackageIndex = openingPackageList.findIndexOfListById(id);\r
- }\r
- if (intCategory >= IDefaultMutableTreeNode.FPD_PLATFORMHEADER) {\r
- showPlatformElement(intCategory, openingPlatformList.getOpeningPlatformById(id));\r
- this.currentOpeningPlatformIndex = openingPlatformList.findIndexOfListById(id);\r
+ if (intCategory >= IDefaultMutableTreeNode.SPD_HEADER\r
+ && intCategory < IDefaultMutableTreeNode.FPD_PLATFORMHEADER) {\r
+ showPackageElement(intCategory, openingPackageList.getOpeningPackageById(id));\r
+ this.currentOpeningPackageIndex = openingPackageList.findIndexOfListById(id);\r
+ }\r
+ if (intCategory >= IDefaultMutableTreeNode.FPD_PLATFORMHEADER) {\r
+ showPlatformElement(intCategory, openingPlatformList.getOpeningPlatformById(id));\r
+ this.currentOpeningPlatformIndex = openingPlatformList.findIndexOfListById(id);\r
+ }\r
+ } catch (RuntimeException e) {\r
+ Log.log("double click category: " + intCategory);\r
+ Log.log("double click id path: " + id);\r
+ Log.log("double click exception: " + e.getMessage());\r
}\r
}\r
\r
@param elementType\r
@param fpd\r
\r
- **/\r
+ **/\r
private void showPlatformElement(int elementType, OpeningPlatformType fpd) {\r
this.cleanDesktopPanePlatform();\r
- \r
+\r
switch (elementType) {\r
case IDefaultMutableTreeNode.FPD_PLATFORMDEFINITIONS:\r
FpdPlatformDefs frmFpdPlatformDefs = new FpdPlatformDefs(fpd);\r
SpdHeader frmSpdHeader = new SpdHeader(spd);\r
getJDesktopPanePackage().add(frmSpdHeader, 1);\r
break;\r
- case IDefaultMutableTreeNode.SPD_PACKAGEDEFINITIONS:\r
- SpdPackageDefinitions frmSpdPackageDefinitions = new SpdPackageDefinitions(spd);\r
- getJDesktopPanePackage().add(frmSpdPackageDefinitions, 1);\r
- break;\r
case IDefaultMutableTreeNode.SPD_LIBRARYCLASSDECLARATIONS:\r
SpdLibClassDecls frmSlcd = new SpdLibClassDecls(spd);\r
getJDesktopPanePackage().add(frmSlcd, 1);\r
try {\r
wt.addModuleToPackage(smb.getMid(), psa);\r
} catch (IOException e) {\r
+ Log.wrn("Upddate MsaFiles of Package", e.getMessage());\r
Log.err("Upddate MsaFiles of Package", e.getMessage());\r
- e.printStackTrace();\r
return;\r
} catch (XmlException e) {\r
+ Log.wrn("Upddate MsaFiles of Package", e.getMessage());\r
Log.err("Upddate MsaFiles of Package", e.getMessage());\r
- e.printStackTrace();\r
return;\r
} catch (Exception e) {\r
+ Log.wrn("Upddate MsaFiles of Package", e.getMessage());\r
Log.err("Upddate MsaFiles of Package", e.getMessage());\r
- e.printStackTrace();\r
return;\r
}\r
- this.openModule(smb.getMid().getPath());\r
+ this.openModule(smb.getMid().getPath(), smb.getMid());\r
}\r
} else if (result == DataType.RETURN_TYPE_PACKAGE_SURFACE_AREA) {\r
//\r
try {\r
wt.addPackageToDatabase(smb.getPid());\r
} catch (Exception e) {\r
- // TODO Auto-generated catch block\r
- e.printStackTrace();\r
+ Log.err("addPackageToDatabase", e.getMessage());\r
}\r
vPackageList.addElement(smb.getPid());\r
+\r
//\r
- // Add new SpdHeader node to the tree\r
+ // Add to Module Description node\r
//\r
IDefaultMutableTreeNode node = new IDefaultMutableTreeNode(vPackageList.lastElement().getName(),\r
- IDefaultMutableTreeNode.SPD_HEADER, true,\r
- vPackageList.lastElement());\r
+ IDefaultMutableTreeNode.MODULE_PACKAGE,\r
+ false, vPackageList.lastElement());\r
+\r
+ iTree.addNode(dmtnModuleDescription, node);\r
+\r
+ //\r
+ // Add new SpdHeader node to the tree\r
+ //\r
+ node = new IDefaultMutableTreeNode(vPackageList.lastElement().getName(),\r
+ IDefaultMutableTreeNode.SPD_HEADER, true, vPackageList.lastElement());\r
iTree.addNode(dmtnPackageDescription, node);\r
+\r
this.openPackage(smb.getPid().getPath());\r
}\r
} else if (result == DataType.RETURN_TYPE_PLATFORM_SURFACE_AREA) {\r
try {\r
wt.addPlatformToDatabase(smb.getFid());\r
} catch (Exception e) {\r
- // TODO Auto-generated catch block\r
- e.printStackTrace();\r
+ Log.err("addPlatformToDatabase", e.getMessage());\r
}\r
vPlatformList.addElement(smb.getFid());\r
//\r
this.saveAll();\r
}\r
if (result == JOptionPane.NO_OPTION) {\r
+ //\r
// Do nothing\r
+ //\r
}\r
if (result == JOptionPane.CANCEL_OPTION) {\r
return;\r
// Reinit whole window\r
//\r
closeAll();\r
- this.setTitle(projectName + " " + projectVersion + " " + "- [" + Workspace.getCurrentWorkspace() + "]");\r
+ this.setTitle(DataType.PROJECT_NAME + " " + DataType.PROJECT_VERSION + " " + "- ["\r
+ + Workspace.getCurrentWorkspace() + "]");\r
}\r
sw.dispose();\r
}\r
- \r
+\r
/**\r
- Show Tool Chain Configuration Dialog to setup Tool Chain\r
- \r
- **/\r
- private void setupToolChainConfiguration() {\r
- ToolChainConfig tcc = new ToolChainConfig(this, true);\r
- int result = tcc.showDialog();\r
- \r
- if (result == DataType.RETURN_TYPE_CANCEL) {\r
- tcc.dispose();\r
+ To create a Far file from current workspace\r
+ \r
+ **/\r
+ private void createFar() {\r
+ CreateStepOne cso = new CreateStepOne(this, true);\r
+ int result = cso.showDialog();\r
+ if (result == DataType.RETURN_TYPE_OK) {\r
+ String strReturn = "Create Far Done!";\r
+ JOptionPane.showConfirmDialog(null, strReturn, "Done", JOptionPane.DEFAULT_OPTION,\r
+ JOptionPane.INFORMATION_MESSAGE);\r
+ }\r
+ cso.dispose();\r
+ }\r
+\r
+ /**\r
+ To install a Far file to current workspace\r
+ \r
+ **/\r
+ private void installFar() {\r
+ 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,\r
+ JOptionPane.INFORMATION_MESSAGE);\r
+ this.closeAll();\r
}\r
+ iso.dispose();\r
}\r
- \r
+\r
+ /**\r
+ To remove a Far's items from current workspace\r
+ \r
+ **/\r
+ private void removeFar() {\r
+ 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,\r
+ JOptionPane.INFORMATION_MESSAGE);\r
+ this.closeAll();\r
+ }\r
+ dso.dispose();\r
+ }\r
+\r
+ /**\r
+ To update an existing Far file\r
+ \r
+ **/\r
+ private void updateFar() {\r
+ 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,\r
+ JOptionPane.INFORMATION_MESSAGE);\r
+ this.closeAll();\r
+ }\r
+ uso.dispose();\r
+ }\r
+\r
+ /**\r
+ Show Tool Chain Configuration Dialog to setup Tool Chain\r
+ \r
+ **/\r
+ private void setupToolChainConfiguration() {\r
+ ToolChainConfig tcc = ToolChainConfig.getInstance();\r
+ tcc.showDialog();\r
+ }\r
+\r
/**\r
Clone selected item\r
\r
**/\r
private void cloneItem() {\r
int mode = -1;\r
- \r
+\r
//\r
// Check if there is any item can be cloned\r
//\r
if (iTree.getSelectionPath() == null) {\r
- Log.err("Please select a target to clone!");\r
+ Log.wrn("Clone", "Please select a target to clone!");\r
return;\r
}\r
int category = iTree.getSelectCategory();\r
Identification id = iTree.getSelectNode().getId();\r
if (category == IDefaultMutableTreeNode.MODULE || category == IDefaultMutableTreeNode.PACKAGE\r
|| category == IDefaultMutableTreeNode.PLATFORM) {\r
- Log.err("Please select a target to clone!");\r
+ Log.wrn("Clone", "Please select a target to clone!");\r
return;\r
}\r
- \r
+\r
if (category == IDefaultMutableTreeNode.WORKSPACE) {\r
mode = DataType.RETURN_TYPE_WORKSPACE;\r
id = null;\r
if (category >= IDefaultMutableTreeNode.FPD_PLATFORMHEADER) {\r
mode = DataType.RETURN_TYPE_PLATFORM_SURFACE_AREA;\r
}\r
- \r
+\r
Clone c = new Clone(this, true, mode, id);\r
int result = c.showDialog();\r
- \r
+\r
if (result == DataType.RETURN_TYPE_CANCEL) {\r
c.dispose();\r
}\r
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
} 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