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=6041472c5fd77ce3d003239741e1b0801dd057af;hp=af4c2a6fc538db4f45e070ebcab766d299c61ecb;hb=3c0192d429986cdd5701cdfb038fe703b04774a3;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..6041472c5f 100644 --- a/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/FrameworkWizardUI.java +++ b/Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/FrameworkWizardUI.java @@ -50,10 +50,10 @@ import org.tianocore.PlatformSurfaceAreaDocument; import org.tianocore.frameworkwizard.common.DataType; import org.tianocore.frameworkwizard.common.IFileFilter; import org.tianocore.frameworkwizard.common.Log; +import org.tianocore.frameworkwizard.common.OpenFile; 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; @@ -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; @@ -87,7 +91,6 @@ import org.tianocore.frameworkwizard.packaging.ui.SpdGuidDecls; import org.tianocore.frameworkwizard.packaging.ui.SpdHeader; import org.tianocore.frameworkwizard.packaging.ui.SpdLibClassDecls; import org.tianocore.frameworkwizard.packaging.ui.SpdMsaFiles; -import org.tianocore.frameworkwizard.packaging.ui.SpdPackageDefinitions; import org.tianocore.frameworkwizard.packaging.ui.SpdPackageHeaders; import org.tianocore.frameworkwizard.packaging.ui.SpdPcdDefs; import org.tianocore.frameworkwizard.packaging.ui.SpdPpiDecls; @@ -104,8 +107,8 @@ import org.tianocore.frameworkwizard.workspace.WorkspaceTools; import org.tianocore.frameworkwizard.workspace.ui.SwitchWorkspace; /** - The class is used to show main GUI of ModuleEditor - It extends IFrame implements MouseListener, TreeSelectionListener + The class is used to show main GUI of FrameworkWizard + It extends IFrame implements MouseListener, TreeSelectionListener, ComponentListener and MenuListener **/ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSelectionListener, ComponentListener, @@ -114,10 +117,10 @@ 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 - // + + /// + /// Used to save information of all files + /// private Vector vModuleList = new Vector(); private Vector vPackageList = new Vector(); @@ -136,6 +139,9 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele private int currentOpeningPlatformIndex = -1; + /// + /// Used to generate tree structure + /// private IDefaultMutableTreeNode dmtnRoot = null; private IDefaultMutableTreeNode dmtnModuleDescription = null; @@ -144,6 +150,9 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele private IDefaultMutableTreeNode dmtnPlatformDescription = null; + /// + /// Used for UI + /// private JPanel jContentPane = null; private JMenuBar jMenuBar = null; @@ -282,17 +291,31 @@ 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; + private JMenuItem jMenuItemProjectCreateFar = null; - //private JToolBar jToolBarEdit = null; + /// + /// A static definition for this class itself + /// + private static FrameworkWizardUI fwui = null; - //private JToolBar jToolBarWindow = null; + /** + If the class hasn't an instnace, new one. + + @return FrameworkWizardUI The instance of this class + + **/ + public static FrameworkWizardUI getInstance() { + if (fwui == null) { + fwui = new FrameworkWizardUI(); + } + return fwui; + } /** This method initializes jMenuBar @@ -336,7 +359,7 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele @return javax.swing.JTabbedPane - */ + **/ private JTabbedPane getJTabbedPaneEditor() { if (jTabbedPaneEditor == null) { jTabbedPaneEditor = new JTabbedPane(); @@ -348,7 +371,6 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele .setMinimumSize(new java.awt.Dimension( DataType.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH, DataType.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT)); - //jTabbedPaneEditor.addChangeListener(this); jTabbedPaneEditor.addTab("Module", null, getJDesktopPaneModule(), null); jTabbedPaneEditor.addTab("Package", null, getJDesktopPanePackage(), null); jTabbedPaneEditor.addTab("Platform", null, getJDesktopPanePlatform(), null); @@ -361,7 +383,7 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele @return javax.swing.JTabbedPane - */ + **/ private JTabbedPane getJTabbedPaneTree() { if (jTabbedPaneTree == null) { jTabbedPaneTree = new JTabbedPane(); @@ -385,29 +407,35 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele **/ private JMenu getJMenuFile() { if (jMenuFile == null) { + // + // Set jMenuFile's attributes + // jMenuFile = new JMenu(); jMenuFile.setText("File"); jMenuFile.setMnemonic('F'); + jMenuFile.addMenuListener(this); + + // + // Add sub menu items + // jMenuFile.add(getJMenuItemFileNew()); jMenuFile.add(getJMenuItemFileOpen()); jMenuFile.add(getJMenuItemFileClose()); jMenuFile.add(getJMenuItemFileCloseAll()); jMenuFile.addSeparator(); + jMenuFile.add(getJMenuFileRecentFiles()); - //jMenuFile.addSeparator(); jMenuFile.add(getJMenuItemFileSave()); jMenuFile.add(getJMenuItemFileSaveAs()); jMenuFile.add(getJMenuItemFileSaveAll()); jMenuFile.addSeparator(); + jMenuFile.add(getJMenuItemFilePageSetup()); jMenuFile.add(getJMenuItemFilePrint()); - //jMenuFile.addSeparator(); jMenuFile.add(getJMenuItemFileImport()); - //jMenuFile.addSeparator(); jMenuFile.add(getJMenuItemFileProperties()); - //jMenuFile.addSeparator(); + jMenuFile.add(getJMenuItemFileExit()); - jMenuFile.addMenuListener(this); } return jMenuFile; } @@ -454,22 +482,31 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele **/ private JMenu getJMenuEdit() { if (jMenuEdit == null) { + // + // Set jMenuEdit's attributes + // jMenuEdit = new JMenu(); jMenuEdit.setText("Edit"); jMenuEdit.setMnemonic('E'); + jMenuEdit.setVisible(false); + + // + // Add sub menu items + // jMenuEdit.add(getJMenuItemEditUndo()); jMenuEdit.add(getJMenuItemEditRedo()); jMenuEdit.addSeparator(); + jMenuEdit.add(getJMenuItemEditCut()); jMenuEdit.add(getJMenuItemEditCopy()); jMenuEdit.add(getJMenuItemEditPaste()); jMenuEdit.add(getJMenuItemEditDelete()); jMenuEdit.addSeparator(); + jMenuEdit.add(getJMenuItemEditSelectAll()); jMenuEdit.add(getJMenuItemEditFind()); jMenuEdit.add(getJMenuItemEditFindNext()); jMenuEdit.addSeparator(); - jMenuEdit.setVisible(false); } return jMenuEdit; } @@ -556,7 +593,6 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele private JScrollPane getJScrollPaneTree() { if (jScrollPaneTree == null) { jScrollPaneTree = new JScrollPane(); - //jScrollPaneTree.setBounds(new java.awt.Rectangle(0, 1, 290, 545)); jScrollPaneTree .setPreferredSize(new java.awt.Dimension( DataType.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_WIDTH, @@ -592,12 +628,19 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele **/ private JMenu getJMenuHelp() { if (jMenuHelp == null) { + // + // Set jMenuHelp's attributes + // jMenuHelp = new JMenu(); jMenuHelp.setText("Help"); + + // + // Add sub menu items + // jMenuHelp.add(getJMenuItemHelpContents()); jMenuHelp.add(getJMenuItemHelpIndex()); jMenuHelp.add(getJMenuItemHelpSearch()); - //jMenuHelp.addSeparator(); + jMenuHelp.add(getJMenuItemHelpAbout()); } return jMenuHelp; @@ -631,82 +674,13 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele jMenuItemEditDelete.setMnemonic('D'); jMenuItemEditDelete.addActionListener(this); // - //Disabled when no module is open + //Disabled first when no module is open // jMenuItemEditDelete.setEnabled(false); } return jMenuItemEditDelete; } - // /** - // This method initializes jPopupMenu - // - // @return javax.swing.JPopupMenu jPopupMenu - // - // **/ - // private JPopupMenu getJPopupMenu() { - // if (jPopupMenu == null) { - // jPopupMenu = new JPopupMenu(); - // // - // //Add menu items of popup menu - // // - // jPopupMenu.add(getJMenuItemPopupAdd()); - // jPopupMenu.add(getJMenuItemPopupUpdate()); - // jPopupMenu.add(getJMenuItemPopupDelete()); - // jPopupMenu.setBorder(new BevelBorder(BevelBorder.RAISED)); - // jPopupMenu.addMouseListener(this); - // } - // return jPopupMenu; - // } - // - // /** - // This method initializes jMenuItemPopupAdd - // - // @return javax.swing.JMenuItem jMenuItemPopupAdd - // - // **/ - // private JMenuItem getJMenuItemPopupAdd() { - // if (jMenuItemPopupAdd == null) { - // jMenuItemPopupAdd = new JMenuItem(); - // jMenuItemPopupAdd.setText("Add"); - // jMenuItemPopupAdd.addActionListener(this); - // jMenuItemPopupAdd.setEnabled(false); - // } - // return jMenuItemPopupAdd; - // } - // - // /** - // This method initializes jMenuItemPopupUpdate - // - // @return javax.swing.JMenuItem jMenuItemPopupUpdate - // - // **/ - // private JMenuItem getJMenuItemPopupUpdate() { - // if (jMenuItemPopupUpdate == null) { - // jMenuItemPopupUpdate = new JMenuItem(); - // jMenuItemPopupUpdate.setText("Update"); - // jMenuItemPopupUpdate.addActionListener(this); - // jMenuItemPopupUpdate.setEnabled(false); - // } - // return jMenuItemPopupUpdate; - // } - // - // /** - // This method initializes jMenuItemPopupDelete - // - // @return javax.swing.JMenuItem jMenuItemPopupDelete - // - // **/ - // private JMenuItem getJMenuItemPopupDelete() { - // if (jMenuItemPopupDelete == null) { - // jMenuItemPopupDelete = new JMenuItem(); - // jMenuItemPopupDelete.setText("Delete"); - // jMenuItemPopupDelete.addActionListener(this); - // jMenuItemPopupDelete.setEnabled(false); - // } - // return jMenuItemPopupDelete; - // } - /** This method initializes jMenuFileNew @@ -766,15 +740,22 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele **/ private JMenu getJMenuTools() { if (jMenuTools == null) { + // + // Set jMenuTools's attributes + // jMenuTools = new JMenu(); jMenuTools.setText("Tools"); jMenuTools.setMnemonic('T'); + jMenuTools.addMenuListener(this); + + // + // Add sub menu items + // jMenuTools.add(getJMenuItemToolsToolChainConfiguration()); jMenuTools.addSeparator(); + jMenuTools.add(getJMenuItemToolsClone()); - //jMenuTools.addSeparator(); jMenuTools.add(getJMenuItemToolsCodeScan()); - jMenuTools.addMenuListener(this); } return jMenuTools; } @@ -788,25 +769,36 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele **/ private JMenu getJMenuWindow() { if (jMenuWindow == null) { + // + // Set jMenuWindow's attribute + // jMenuWindow = new JMenu(); jMenuWindow.setText("Window"); jMenuWindow.setMnemonic('W'); + jMenuWindow.setVisible(false); + + // + // Add sub menu items + // jMenuWindow.add(getJMenuItemWindowDisplaySide()); jMenuWindow.add(getJMenuItemWindowDisplayTopBottom()); jMenuWindow.addSeparator(); + jMenuWindow.add(getJMenuItemWindowTabView()); jMenuWindow.addSeparator(); + jMenuWindow.add(getJMenuItemWindowSource()); jMenuWindow.add(getJMenuItemWindowXML()); jMenuWindow.addSeparator(); + jMenuWindow.add(getJMenuItemWindowPreferences()); - jMenuWindow.setVisible(false); } return jMenuWindow; } /** - This method initializes jPanelOperation + This method initializes jPanelOperation + Reserved @return javax.swing.JPanel jPanelOperation @@ -824,7 +816,8 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele } /** - This method initializes jButtonOk + This method initializes jButtonOk + Reserved @return javax.swing.JButton jButtonOk @@ -841,7 +834,8 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele } /** - This method initializes jButtonCancel + This method initializes jButtonCancel + Reserved @return javax.swing.JButton jButtonCancel @@ -862,7 +856,8 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele This method initializes jMenuItemFileOpen @return javax.swing.JMenuItem jMenuItemFileOpen - */ + + **/ private JMenuItem getJMenuItemFileOpen() { if (jMenuItemFileOpen == null) { jMenuItemFileOpen = new JMenuItem(); @@ -877,7 +872,8 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele This method initializes jMenuItemFileCloseAll @return javax.swing.JMenuItem jMenuItemFileOpen - */ + + **/ private JMenuItem getJMenuItemFileCloseAll() { if (jMenuItemFileCloseAll == null) { jMenuItemFileCloseAll = new JMenuItem(); @@ -892,7 +888,8 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele This method initializes jMenuItemFileSaveAll @return javax.swing.JMenuItem jMenuItemFileSaveAll - */ + + **/ private JMenuItem getJMenuItemFileSaveAll() { if (jMenuItemFileSaveAll == null) { jMenuItemFileSaveAll = new JMenuItem(); @@ -908,7 +905,8 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele This method initializes jMenuItemFilePageSetup @return javax.swing.JMenuItem - */ + + **/ private JMenuItem getJMenuItemFilePageSetup() { if (jMenuItemFilePageSetup == null) { jMenuItemFilePageSetup = new JMenuItem(); @@ -925,7 +923,8 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele This method initializes jMenuItemFilePrint @return javax.swing.JMenuItem - */ + + **/ private JMenuItem getJMenuItemFilePrint() { if (jMenuItemFilePrint == null) { jMenuItemFilePrint = new JMenuItem(); @@ -942,7 +941,8 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele This method initializes jMenuItemFileImport @return javax.swing.JMenuItem - */ + + **/ private JMenuItem getJMenuItemFileImport() { if (jMenuItemFileImport == null) { jMenuItemFileImport = new JMenuItem(); @@ -956,10 +956,11 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele } /** - * This method initializes jMenuItemFileProperties - * - * @return javax.swing.JMenuItem - */ + This method initializes jMenuItemFileProperties + + @return javax.swing.JMenuItem + + **/ private JMenuItem getJMenuItemFileProperties() { if (jMenuItemFileProperties == null) { jMenuItemFileProperties = new JMenuItem(); @@ -973,10 +974,11 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele } /** - * This method initializes jMenuFileRecentFiles - * - * @return javax.swing.JMenu - */ + This method initializes jMenuFileRecentFiles + + @return javax.swing.JMenu + + **/ private JMenu getJMenuFileRecentFiles() { if (jMenuFileRecentFiles == null) { jMenuFileRecentFiles = new JMenu(); @@ -992,8 +994,9 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele /** This method initializes jMenuItemEditUndo - @return javax.swing.JMenuItem - */ + @return javax.swing.JMenuItem + + **/ private JMenuItem getJMenuItemEditUndo() { if (jMenuItemEditUndo == null) { jMenuItemEditUndo = new JMenuItem(); @@ -1009,7 +1012,8 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele This method initializes jMenuItemEditRedo @return javax.swing.JMenuItem - */ + + **/ private JMenuItem getJMenuItemEditRedo() { if (jMenuItemEditRedo == null) { jMenuItemEditRedo = new JMenuItem(); @@ -1025,7 +1029,8 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele This method initializes jMenuItemEditCut @return javax.swing.JMenuItem - */ + + **/ private JMenuItem getJMenuItemEditCut() { if (jMenuItemEditCut == null) { jMenuItemEditCut = new JMenuItem(); @@ -1041,7 +1046,8 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele This method initializes jMenuItemEditCopy @return javax.swing.JMenuItem - */ + + **/ private JMenuItem getJMenuItemEditCopy() { if (jMenuItemEditCopy == null) { jMenuItemEditCopy = new JMenuItem(); @@ -1057,7 +1063,8 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele This method initializes jMenuItemEditPaste return javax.swing.JMenuItem - */ + + **/ private JMenuItem getJMenuItemEditPaste() { if (jMenuItemEditPaste == null) { jMenuItemEditPaste = new JMenuItem(); @@ -1073,7 +1080,8 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele This method initializes jMenuItem @return javax.swing.JMenuItem - */ + + **/ private JMenuItem getJMenuItemEditSelectAll() { if (jMenuItemEditSelectAll == null) { jMenuItemEditSelectAll = new JMenuItem(); @@ -1089,7 +1097,8 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele This method initializes jMenuItemEditFind @return javax.swing.JMenuItem - */ + + **/ private JMenuItem getJMenuItemEditFind() { if (jMenuItemEditFind == null) { jMenuItemEditFind = new JMenuItem(); @@ -1106,7 +1115,7 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele @return javax.swing.JMenuItem - */ + **/ private JMenuItem getJMenuItemEditFindNext() { if (jMenuItemEditFindNext == null) { jMenuItemEditFindNext = new JMenuItem(); @@ -1123,17 +1132,24 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele @return javax.swing.JMenu - */ + **/ private JMenu getJMenuView() { if (jMenuView == null) { + // + // Set jMenuView's attributes + // jMenuView = new JMenu(); jMenuView.setText("View"); jMenuView.setMnemonic('V'); + jMenuView.setVisible(false); + + // + // Add sub menu items + // jMenuView.add(getJMenuViewToolbars()); jMenuView.add(getJMenuItemViewAdvanced()); jMenuView.add(getJMenuItemViewStandard()); jMenuView.add(getJMenuItemViewXML()); - jMenuView.setVisible(false); } return jMenuView; } @@ -1143,12 +1159,13 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele @return javax.swing.JMenu - */ + **/ private JMenu getJMenuViewToolbars() { if (jMenuViewToolbars == null) { jMenuViewToolbars = new JMenu(); jMenuViewToolbars.setText("Toolbars"); jMenuViewToolbars.setMnemonic('T'); + jMenuViewToolbars.add(getJCheckBoxMenuItemViewToolbarsFile()); jMenuViewToolbars.add(getJCheckBoxMenuItemViewToolbarsEdit()); jMenuViewToolbars.add(getJCheckBoxMenuItemViewToolbarsWindow()); @@ -1161,7 +1178,7 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele @return javax.swing.JCheckBoxMenuItem - */ + **/ private JCheckBoxMenuItem getJCheckBoxMenuItemViewToolbarsFile() { if (jCheckBoxMenuItemViewToolbarsFile == null) { jCheckBoxMenuItemViewToolbarsFile = new JCheckBoxMenuItem(); @@ -1177,7 +1194,7 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele @return javax.swing.JCheckBoxMenuItem - */ + **/ private JCheckBoxMenuItem getJCheckBoxMenuItemViewToolbarsEdit() { if (jCheckBoxMenuItemViewToolbarsEdit == null) { jCheckBoxMenuItemViewToolbarsEdit = new JCheckBoxMenuItem(); @@ -1193,7 +1210,7 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele @return javax.swing.JCheckBoxMenuItem - */ + **/ private JCheckBoxMenuItem getJCheckBoxMenuItemViewToolbarsWindow() { if (jCheckBoxMenuItemViewToolbarsWindow == null) { jCheckBoxMenuItemViewToolbarsWindow = new JCheckBoxMenuItem(); @@ -1209,7 +1226,7 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele @return javax.swing.JMenuItem - */ + **/ private JMenuItem getJMenuItemViewStandard() { if (jMenuItemViewStandard == null) { jMenuItemViewStandard = new JMenuItem(); @@ -1226,7 +1243,7 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele @return javax.swing.JMenuItem - */ + **/ private JMenuItem getJMenuItemViewAdvanced() { if (jMenuItemViewAdvanced == null) { jMenuItemViewAdvanced = new JMenuItem(); @@ -1243,20 +1260,29 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele @return javax.swing.JMenu - */ + **/ private JMenu getJMenuProject() { if (jMenuProject == null) { + // + // Set jMenuProject's attributes + // jMenuProject = new JMenu(); jMenuProject.setText("Project"); jMenuProject.setMnemonic('P'); + + // + // Add sub menu items + // jMenuProject.add(getJMenuItemProjectAdmin()); - //jMenuProject.addSeparator(); + jMenuProject.add(getJMenuItemProjectChangeWorkspace()); jMenuProject.addSeparator(); - jMenuProject.add(getJMenuItemProjectInstallPackage()); - jMenuProject.add(getJMenuItemProjectUpdatePackage()); - jMenuProject.add(getJMenuItemProjectRemovePackage()); - //jMenuProject.addSeparator(); + + jMenuProject.add(getJMenuItemProjectCreateFar()); + jMenuProject.add(getJMenuItemProjectInstallFar()); + jMenuProject.add(getJMenuItemProjectUpdateFar()); + jMenuProject.add(getJMenuItemProjectRemoveFar()); + jMenuProject.add(getJMenuProjectBuildTargets()); } return jMenuProject; @@ -1267,7 +1293,7 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele @return javax.swing.JMenuItem - */ + **/ private JMenuItem getJMenuItemProjectAdmin() { if (jMenuItemProjectAdmin == null) { jMenuItemProjectAdmin = new JMenuItem(); @@ -1285,7 +1311,7 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele @return javax.swing.JMenuItem - */ + **/ private JMenuItem getJMenuItemProjectChangeWorkspace() { if (jMenuItemProjectChangeWorkspace == null) { jMenuItemProjectChangeWorkspace = new JMenuItem(); @@ -1302,15 +1328,16 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele @return javax.swing.JMenu - */ + **/ private JMenu getJMenuProjectBuildTargets() { if (jMenuProjectBuildTargets == null) { jMenuProjectBuildTargets = new JMenu(); jMenuProjectBuildTargets.setText("Build Targets"); jMenuProjectBuildTargets.setMnemonic('T'); + jMenuProjectBuildTargets.setVisible(false); + jMenuProjectBuildTargets.add(getJCheckBoxMenuItemProjectBuildTargetsDebug()); jMenuProjectBuildTargets.add(getJCheckBoxMenuItemProjectBuildTargetsRelease()); - jMenuProjectBuildTargets.setVisible(false); } return jMenuProjectBuildTargets; } @@ -1320,7 +1347,7 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele @return javax.swing.JCheckBoxMenuItem - */ + **/ private JCheckBoxMenuItem getJCheckBoxMenuItemProjectBuildTargetsDebug() { if (jCheckBoxMenuItemProjectBuildTargetsDebug == null) { jCheckBoxMenuItemProjectBuildTargetsDebug = new JCheckBoxMenuItem(); @@ -1335,7 +1362,7 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele @return javax.swing.JCheckBoxMenuItem - */ + **/ private JCheckBoxMenuItem getJCheckBoxMenuItemProjectBuildTargetsRelease() { if (jCheckBoxMenuItemProjectBuildTargetsRelease == null) { jCheckBoxMenuItemProjectBuildTargetsRelease = new JCheckBoxMenuItem(); @@ -1350,7 +1377,7 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele @return javax.swing.JMenuItem - */ + **/ private JMenuItem getJMenuItemToolsToolChainConfiguration() { if (jMenuItemToolsToolChainConfiguration == null) { jMenuItemToolsToolChainConfiguration = new JMenuItem(); @@ -1366,7 +1393,7 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele @return javax.swing.JMenuItem - */ + **/ private JMenuItem getJMenuItemToolsClone() { if (jMenuItemToolsClone == null) { jMenuItemToolsClone = new JMenuItem(); @@ -1383,7 +1410,7 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele @return javax.swing.JMenuItem - */ + **/ private JMenuItem getJMenuItemToolsCodeScan() { if (jMenuItemToolsCodeScan == null) { jMenuItemToolsCodeScan = new JMenuItem(); @@ -1401,7 +1428,7 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele @return javax.swing.JMenuItem - */ + **/ private JMenuItem getJMenuItemWindowDisplaySide() { if (jMenuItemWindowDisplaySide == null) { jMenuItemWindowDisplaySide = new JMenuItem(); @@ -1418,7 +1445,7 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele @return javax.swing.JMenuItem - */ + **/ private JMenuItem getJMenuItemWindowDisplayTopBottom() { if (jMenuItemWindowDisplayTopBottom == null) { jMenuItemWindowDisplayTopBottom = new JMenuItem(); @@ -1435,7 +1462,7 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele @return javax.swing.JMenuItem - */ + **/ private JMenuItem getJMenuItemViewXML() { if (jMenuItemViewXML == null) { jMenuItemViewXML = new JMenuItem(); @@ -1452,7 +1479,7 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele @return javax.swing.JMenuItem - */ + **/ private JMenuItem getJMenuItemWindowTabView() { if (jMenuItemWindowTabView == null) { jMenuItemWindowTabView = new JMenuItem(); @@ -1469,7 +1496,7 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele @return javax.swing.JMenuItem - */ + **/ private JMenuItem getJMenuItemWindowSource() { if (jMenuItemWindowSource == null) { jMenuItemWindowSource = new JMenuItem(); @@ -1486,7 +1513,7 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele @return javax.swing.JMenuItem - */ + **/ private JMenuItem getJMenuItemWindowXML() { if (jMenuItemWindowXML == null) { jMenuItemWindowXML = new JMenuItem(); @@ -1503,7 +1530,7 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele @return javax.swing.JMenuItem - */ + **/ private JMenuItem getJMenuItemWindowPreferences() { if (jMenuItemWindowPreferences == null) { jMenuItemWindowPreferences = new JMenuItem(); @@ -1520,7 +1547,7 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele @return javax.swing.JMenuItem - */ + **/ private JMenuItem getJMenuItemHelpContents() { if (jMenuItemHelpContents == null) { jMenuItemHelpContents = new JMenuItem(); @@ -1538,7 +1565,7 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele @return javax.swing.JMenuItem - */ + **/ private JMenuItem getJMenuItemHelpIndex() { if (jMenuItemHelpIndex == null) { jMenuItemHelpIndex = new JMenuItem(); @@ -1569,44 +1596,20 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele return jMenuItemHelpSearch; } - /** - * This method initializes jToolBar - * - * @return javax.swing.JToolBar - */ - // private JToolBar getJToolBarFile() { - // if (jToolBarFile == null) { - // jToolBarFile = new JToolBar(); - // jToolBarFile.setFloatable(false); - // } - // return jToolBarFile; - // } - /** - * This method initializes jToolBarEdit - * - * @return javax.swing.JToolBar - */ - // private JToolBar getJToolBarEdit() { - // if (jToolBarEdit == null) { - // jToolBarEdit = new JToolBar(); - // jToolBarEdit.setFloatable(false); - // } - // return jToolBarEdit; - // } /** * This method initializes jMenuItemToolsInstallPackage * * @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 +1617,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(true); } - return jMenuItemProjectUpdatePackage; + return jMenuItemProjectUpdateFar; } /** @@ -1630,15 +1634,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 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 jMenuItemProjectRemovePackage; + return jMenuItemProjectCreateFar; } /* (non-Javadoc) @@ -1648,7 +1667,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 +1705,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 +1777,26 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele changeWorkspace(); } + if (arg0.getSource() == jMenuItemProjectCreateFar) { + createFar(); + } + + if (arg0.getSource() == jMenuItemProjectInstallFar) { + installFar(); + } + + if (arg0.getSource() == jMenuItemProjectRemoveFar) { + removeFar(); + } + + if (arg0.getSource() == jMenuItemProjectUpdateFar) { + updateFar(); + } + if (arg0.getSource() == jMenuItemToolsClone) { cloneItem(); } - + if (arg0.getSource() == jMenuItemToolsToolChainConfiguration) { setupToolChainConfiguration(); } @@ -1779,41 +1815,88 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele **/ private void makeEmptyTree() { + // // Make root + // dmtnRoot = new IDefaultMutableTreeNode("WORKSPACE", IDefaultMutableTreeNode.WORKSPACE, -1); + // // 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)); + // + // And then add each module in its package + // + 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.MODULE, + false, vModule.get(indexJ))); + } else { + dmtnModulePackageModule.add(new IDefaultMutableTreeNode(vModule.get(indexJ).getName(), + IDefaultMutableTreeNode.MODULE, + false, vModule.get(indexJ))); + } + } + if (dmtnModulePackageModule.getChildCount() > 0) { + dmtnModulePackage.add(dmtnModulePackageModule); + } + if (dmtnModulePackageLibrary.getChildCount() > 0) { + dmtnModulePackage.add(dmtnModulePackageLibrary); + } + + dmtnModuleDescription.add(dmtnModulePackage); } } + // // Make Package Description + // dmtnPackageDescription = new IDefaultMutableTreeNode("PackageDescription", IDefaultMutableTreeNode.PACKAGE, -1); if (this.vPackageList.size() > 0) { for (int index = 0; index < this.vPackageList.size(); index++) { dmtnPackageDescription.add(new IDefaultMutableTreeNode(this.vPackageList.elementAt(index).getName(), - IDefaultMutableTreeNode.SPD_HEADER, false, + IDefaultMutableTreeNode.PACKAGE, false, this.vPackageList.elementAt(index))); } } + // // Make Platform Description + // dmtnPlatformDescription = new IDefaultMutableTreeNode("PlatformDescription", IDefaultMutableTreeNode.PLATFORM, -1); if (this.vPlatformList.size() > 0) { for (int index = 0; index < this.vPlatformList.size(); index++) { dmtnPlatformDescription.add(new IDefaultMutableTreeNode(this.vPlatformList.elementAt(index).getName(), - IDefaultMutableTreeNode.FPD_PLATFORMHEADER, + IDefaultMutableTreeNode.PLATFORM, false, this.vPlatformList.elementAt(index))); } } + // + // Add sub nodes to root node + // dmtnRoot.add(dmtnModuleDescription); dmtnRoot.add(dmtnPackageDescription); dmtnRoot.add(dmtnPlatformDescription); @@ -1930,23 +2013,96 @@ 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) { + private void openModule(String path, ModuleIdentification moduleId) { ModuleSurfaceAreaDocument.ModuleSurfaceArea msa = null; try { msa = OpenFile.openMsaFile(path); } catch (IOException e) { + Log.wrn("Open Module Surface Area " + path, e.getMessage()); Log.err("Open Module Surface Area " + path, e.getMessage()); return; } catch (XmlException e) { + Log.wrn("Open Module Surface Area " + path, e.getMessage()); Log.err("Open Module Surface Area " + path, e.getMessage()); return; } catch (Exception e) { + Log.wrn("Open Module Surface Area " + path, "Invalid file type"); Log.err("Open Module Surface Area " + path, "Invalid file type"); return; } @@ -1969,14 +2125,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, moduleId.isLibrary()); + vModuleList.addElement(mid); + addModuleToTree(mid); } } else { // @@ -1986,10 +2137,95 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele return; } + // // Make the node selected // + iTree.setSelectionPath(iTree.getPathOfNode(iTree.getNodeById(this.dmtnModuleDescription, id, + IDefaultMutableTreeNode.MODULE))); + // + // 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()); + } + // + // Select msa header node and show it in editor panel + // iTree.setSelectionPath(iTree.getPathOfNode(iTree.getNodeById(this.dmtnModuleDescription, id, IDefaultMutableTreeNode.MSA_HEADER))); + showModuleElement(IDefaultMutableTreeNode.MSA_HEADER, openingModuleList.getOpeningModuleById(id)); + this.currentOpeningModuleIndex = openingModuleList.findIndexOfListById(id); + } + + /** + Open Module + + @param path input file path + + **/ + private void openModule(String path) { + ModuleSurfaceAreaDocument.ModuleSurfaceArea msa = null; + try { + msa = OpenFile.openMsaFile(path); + } catch (IOException e) { + Log.wrn("Open Module Surface Area " + path, e.getMessage()); + Log.err("Open Module Surface Area " + path, e.getMessage()); + return; + } catch (XmlException e) { + Log.wrn("Open Module Surface Area " + path, e.getMessage()); + Log.err("Open Module Surface Area " + path, e.getMessage()); + return; + } catch (Exception e) { + Log.wrn("Open Module Surface Area " + path, "Invalid file type"); + 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); + vModuleList.addElement(mid); + addModuleToTree(mid); + } + } else { + // + // The module is not in existing packages + // + Log.wrn("Open Module", "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.MODULE))); // // Update opening Module list information // @@ -2007,8 +2243,10 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele openingModuleList.setTreePathById(id, iTree.getSelectionPath()); } // - // Show msa header in editor panel + // Select msa header node and show it in editor panel // + iTree.setSelectionPath(iTree.getPathOfNode(iTree.getNodeById(this.dmtnModuleDescription, id, + IDefaultMutableTreeNode.MSA_HEADER))); showModuleElement(IDefaultMutableTreeNode.MSA_HEADER, openingModuleList.getOpeningModuleById(id)); this.currentOpeningModuleIndex = openingModuleList.findIndexOfListById(id); } @@ -2024,12 +2262,15 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele try { spd = OpenFile.openSpdFile(path); } catch (IOException e) { + Log.wrn("Open Package Surface Area " + path, e.getMessage()); Log.err("Open Package Surface Area " + path, e.getMessage()); return; } catch (XmlException e) { + Log.wrn("Open Package Surface Area " + path, e.getMessage()); Log.err("Open Package Surface Area " + path, e.getMessage()); return; } catch (Exception e) { + Log.wrn("Open Package Surface Area " + path, "Invalid file type"); Log.err("Open Package Surface Area " + path, "Invalid file type"); return; } @@ -2050,7 +2291,7 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele // // The module is not in existing packages // - Log.err("The package hasn't been added to current workspace!"); + Log.wrn("Open Package", "The package hasn't been added to current workspace!"); return; } @@ -2058,7 +2299,7 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele // Make the node selected // iTree.setSelectionPath(iTree.getPathOfNode(iTree.getNodeById(this.dmtnPackageDescription, id, - IDefaultMutableTreeNode.SPD_HEADER))); + IDefaultMutableTreeNode.PACKAGE))); // // Update opening package list information // @@ -2078,6 +2319,8 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele // // Show spd header in editor panel // + iTree.setSelectionPath(iTree.getPathOfNode(iTree.getNodeById(this.dmtnPackageDescription, id, + IDefaultMutableTreeNode.SPD_HEADER))); showPackageElement(IDefaultMutableTreeNode.SPD_HEADER, openingPackageList.getOpeningPackageById(id)); this.currentOpeningPackageIndex = openingPackageList.findIndexOfListById(id); } @@ -2093,12 +2336,15 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele try { fpd = OpenFile.openFpdFile(path); } catch (IOException e) { + Log.wrn("Open Platform Surface Area " + path, e.getMessage()); Log.err("Open Platform Surface Area " + path, e.getMessage()); return; } catch (XmlException e) { + Log.wrn("Open Platform Surface Area " + path, e.getMessage()); Log.err("Open Platform Surface Area " + path, e.getMessage()); return; } catch (Exception e) { + Log.wrn("Open Platform Surface Area " + path, "Invalid file type"); Log.err("Open Platform Surface Area " + path, "Invalid file type"); return; } @@ -2120,7 +2366,7 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele // // The module is not in existing packages // - Log.err("The platform hasn't been added to current workspace!"); + Log.wrn("Open Platform", "The platform hasn't been added to current workspace!"); return; } @@ -2128,7 +2374,7 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele // Make the node selected // iTree.setSelectionPath(iTree.getPathOfNode(iTree.getNodeById(this.dmtnPlatformDescription, id, - IDefaultMutableTreeNode.FPD_PLATFORMHEADER))); + IDefaultMutableTreeNode.PLATFORM))); // // Update opening package list information // @@ -2148,6 +2394,8 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele // // Show fpd header in editor panel // + iTree.setSelectionPath(iTree.getPathOfNode(iTree.getNodeById(this.dmtnPlatformDescription, id, + IDefaultMutableTreeNode.FPD_PLATFORMHEADER))); showPlatformElement(IDefaultMutableTreeNode.FPD_PLATFORMHEADER, openingPlatformList.getOpeningPlatformById(id)); this.currentOpeningPlatformIndex = openingPlatformList.findIndexOfListById(id); } @@ -2168,6 +2416,7 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele openingModuleList.setNew(omt.getId(), false); openingModuleList.setModuleSaved(omt.getId(), true); } catch (Exception e) { + Log.wrn("Save Module", e.getMessage()); Log.err("Save Module", e.getMessage()); } } @@ -2188,6 +2437,7 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele openingPackageList.setNew(opt.getId(), false); openingPackageList.setPackageSaved(opt.getId(), true); } catch (Exception e) { + Log.wrn("Save Package", e.getMessage()); Log.err("Save Package", e.getMessage()); } } @@ -2208,6 +2458,7 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele openingPlatformList.setNew(opt.getId(), false); openingPlatformList.setPlatformSaved(opt.getId(), true); } catch (Exception e) { + Log.wrn("Save Package", e.getMessage()); Log.err("Save Package", e.getMessage()); } } @@ -2262,6 +2513,7 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele } private void insertModuleTreeNode(Identification id) { + iTree.addNode(new IDefaultMutableTreeNode("Module Header", IDefaultMutableTreeNode.MSA_HEADER, true, id)); iTree.addNode(new IDefaultMutableTreeNode("Module Definitions", IDefaultMutableTreeNode.MSA_MODULEDEFINITIONS, true, id)); iTree.addNode(new IDefaultMutableTreeNode("Library Class Definitions", @@ -2284,12 +2536,13 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele } private void insertPackageTreeNode(Identification id) { + iTree.addNode(new IDefaultMutableTreeNode("Package Header", IDefaultMutableTreeNode.SPD_HEADER, true, id)); iTree.addNode(new IDefaultMutableTreeNode("Package Definitions", IDefaultMutableTreeNode.SPD_PACKAGEDEFINITIONS, true, id)); iTree.addNode(new IDefaultMutableTreeNode("Library Class Declarations", IDefaultMutableTreeNode.SPD_LIBRARYCLASSDECLARATIONS, true, id)); iTree.addNode(new IDefaultMutableTreeNode("Msa Files", IDefaultMutableTreeNode.SPD_MSAFILES, false, id)); - iTree.addNode(new IDefaultMutableTreeNode("Package Headers", IDefaultMutableTreeNode.SPD_PACKAGEHEADERS, true, + iTree.addNode(new IDefaultMutableTreeNode("Package Includes", IDefaultMutableTreeNode.SPD_PACKAGEHEADERS, true, id)); iTree.addNode(new IDefaultMutableTreeNode("Guid Declarations", IDefaultMutableTreeNode.SPD_GUIDDECLARATIONS, true, id)); @@ -2302,7 +2555,10 @@ 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 Header", IDefaultMutableTreeNode.FPD_PLATFORMHEADER, 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)); @@ -2316,50 +2572,63 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele **/ private void doubleClickModuleTreeNode() { - Identification id = iTree.getSelectNode().getId(); - int intCategory = iTree.getSelectCategory(); + Identification id = null; + int intCategory = -1; String path = null; - // - // If the node is not opened yet - // Insert top level elements first - // - //if (intCategory == IDefaultMutableTreeNode.MSA_HEADER || intCategory == IDefaultMutableTreeNode.SPD_MSAFILES) { - if (intCategory == IDefaultMutableTreeNode.MSA_HEADER) { + boolean isOpen = false; + try { + id = iTree.getSelectNode().getId(); + intCategory = iTree.getSelectCategory(); + isOpen = iTree.getSelectNode().isOpening(); + + if (!isOpen) { + // + // If the node is not opened yet + // Insert top level elements first + // + if (intCategory == IDefaultMutableTreeNode.MODULE) { - if (intCategory == IDefaultMutableTreeNode.MSA_HEADER) { - path = iTree.getSelectNode().getId().getPath(); + if (intCategory == IDefaultMutableTreeNode.MODULE) { + path = iTree.getSelectNode().getId().getPath(); + } + if (intCategory == IDefaultMutableTreeNode.PACKAGE) { + path = iTree.getSelectNode().getId().getPath(); + } + openModule(path); + return; + } + if (intCategory == IDefaultMutableTreeNode.PACKAGE) { + path = iTree.getSelectNode().getId().getPath(); + openPackage(path); + return; + } + if (intCategory == IDefaultMutableTreeNode.PLATFORM) { + path = iTree.getSelectNode().getId().getPath(); + openPlatform(path); + return; + } } - if (intCategory == IDefaultMutableTreeNode.SPD_MSAFILES) { - path = iTree.getSelectNode().getId().getPath(); + + // + // Show editor panel + // + if (intCategory >= IDefaultMutableTreeNode.MSA_HEADER && intCategory < IDefaultMutableTreeNode.SPD_HEADER) { + showModuleElement(intCategory, openingModuleList.getOpeningModuleById(id)); + this.currentOpeningModuleIndex = openingModuleList.findIndexOfListById(id); } - openModule(path); - return; - } - if (intCategory == IDefaultMutableTreeNode.SPD_HEADER) { - path = iTree.getSelectNode().getId().getPath(); - openPackage(path); - return; - } - if (intCategory == IDefaultMutableTreeNode.FPD_PLATFORMHEADER) { - path = iTree.getSelectNode().getId().getPath(); - openPlatform(path); - return; - } - // - // Show editor panel - // - if (intCategory >= IDefaultMutableTreeNode.MSA_HEADER && intCategory < IDefaultMutableTreeNode.SPD_HEADER) { - showModuleElement(intCategory, openingModuleList.getOpeningModuleById(id)); - this.currentOpeningModuleIndex = openingModuleList.findIndexOfListById(id); - } - if (intCategory >= IDefaultMutableTreeNode.SPD_HEADER - && intCategory < IDefaultMutableTreeNode.FPD_PLATFORMHEADER) { - showPackageElement(intCategory, openingPackageList.getOpeningPackageById(id)); - this.currentOpeningPackageIndex = openingPackageList.findIndexOfListById(id); - } - if (intCategory >= IDefaultMutableTreeNode.FPD_PLATFORMHEADER) { - showPlatformElement(intCategory, openingPlatformList.getOpeningPlatformById(id)); - this.currentOpeningPlatformIndex = openingPlatformList.findIndexOfListById(id); + if (intCategory >= IDefaultMutableTreeNode.SPD_HEADER + && intCategory < IDefaultMutableTreeNode.FPD_PLATFORMHEADER) { + showPackageElement(intCategory, openingPackageList.getOpeningPackageById(id)); + this.currentOpeningPackageIndex = openingPackageList.findIndexOfListById(id); + } + if (intCategory >= IDefaultMutableTreeNode.FPD_PLATFORMHEADER) { + showPlatformElement(intCategory, openingPlatformList.getOpeningPlatformById(id)); + this.currentOpeningPlatformIndex = openingPlatformList.findIndexOfListById(id); + } + } catch (RuntimeException e) { + Log.log("double click category: " + intCategory); + Log.log("double click id path: " + id); + Log.log("double click exception: " + e.getMessage()); } } @@ -2369,10 +2638,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); @@ -2418,10 +2687,6 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele SpdHeader frmSpdHeader = new SpdHeader(spd); getJDesktopPanePackage().add(frmSpdHeader, 1); break; - case IDefaultMutableTreeNode.SPD_PACKAGEDEFINITIONS: - SpdPackageDefinitions frmSpdPackageDefinitions = new SpdPackageDefinitions(spd); - getJDesktopPanePackage().add(frmSpdPackageDefinitions, 1); - break; case IDefaultMutableTreeNode.SPD_LIBRARYCLASSDECLARATIONS: SpdLibClassDecls frmSlcd = new SpdLibClassDecls(spd); getJDesktopPanePackage().add(frmSlcd, 1); @@ -2575,19 +2840,19 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele try { wt.addModuleToPackage(smb.getMid(), psa); } catch (IOException e) { + Log.wrn("Upddate MsaFiles of Package", e.getMessage()); Log.err("Upddate MsaFiles of Package", e.getMessage()); - e.printStackTrace(); return; } catch (XmlException e) { + Log.wrn("Upddate MsaFiles of Package", e.getMessage()); Log.err("Upddate MsaFiles of Package", e.getMessage()); - e.printStackTrace(); return; } catch (Exception e) { + Log.wrn("Upddate MsaFiles of Package", e.getMessage()); Log.err("Upddate MsaFiles of Package", e.getMessage()); - e.printStackTrace(); return; } - this.openModule(smb.getMid().getPath()); + this.openModule(smb.getMid().getPath(), smb.getMid()); } } else if (result == DataType.RETURN_TYPE_PACKAGE_SURFACE_AREA) { // @@ -2604,17 +2869,26 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele try { wt.addPackageToDatabase(smb.getPid()); } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); + Log.err("addPackageToDatabase", e.getMessage()); } vPackageList.addElement(smb.getPid()); + // - // Add new SpdHeader node to the tree + // Add to Module Description node // IDefaultMutableTreeNode node = new IDefaultMutableTreeNode(vPackageList.lastElement().getName(), - IDefaultMutableTreeNode.SPD_HEADER, true, - vPackageList.lastElement()); + IDefaultMutableTreeNode.MODULE_PACKAGE, + false, vPackageList.lastElement()); + + iTree.addNode(dmtnModuleDescription, node); + + // + // Add new SpdHeader node to the tree + // + node = new IDefaultMutableTreeNode(vPackageList.lastElement().getName(), + IDefaultMutableTreeNode.SPD_HEADER, true, vPackageList.lastElement()); iTree.addNode(dmtnPackageDescription, node); + this.openPackage(smb.getPid().getPath()); } } else if (result == DataType.RETURN_TYPE_PLATFORM_SURFACE_AREA) { @@ -2632,8 +2906,7 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele try { wt.addPlatformToDatabase(smb.getFid()); } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); + Log.err("addPlatformToDatabase", e.getMessage()); } vPlatformList.addElement(smb.getFid()); // @@ -2769,7 +3042,9 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele this.saveAll(); } if (result == JOptionPane.NO_OPTION) { + // // Do nothing + // } if (result == JOptionPane.CANCEL_OPTION) { return; @@ -2875,46 +3150,106 @@ 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 - - **/ - private void setupToolChainConfiguration() { - ToolChainConfig tcc = new ToolChainConfig(this, true); - int result = tcc.showDialog(); - - if (result == DataType.RETURN_TYPE_CANCEL) { - tcc.dispose(); + To create a Far file from current workspace + + **/ + private void createFar() { + 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(); + } + + /** + To install a Far file to current workspace + + **/ + private void installFar() { + 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(); + } + + /** + To remove a Far's items from current workspace + + **/ + private void removeFar() { + 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(); } - + + /** + To update an existing Far file + + **/ + private void updateFar() { + 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(); + } + + /** + 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 // if (iTree.getSelectionPath() == null) { - Log.err("Please select a target to clone!"); + Log.wrn("Clone", "Please select a target to clone!"); return; } int category = iTree.getSelectCategory(); Identification id = iTree.getSelectNode().getId(); if (category == IDefaultMutableTreeNode.MODULE || category == IDefaultMutableTreeNode.PACKAGE || category == IDefaultMutableTreeNode.PLATFORM) { - Log.err("Please select a target to clone!"); + Log.wrn("Clone", "Please select a target to clone!"); return; } - + if (category == IDefaultMutableTreeNode.WORKSPACE) { mode = DataType.RETURN_TYPE_WORKSPACE; id = null; @@ -2928,10 +3263,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 +3276,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 +3349,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);