3 The main GUI for module editor.
5 Copyright (c) 2006, Intel Corporation
6 All rights reserved. This program and the accompanying materials
7 are licensed and made available under the terms and conditions of the BSD License
8 which accompanies this distribution. The full text of the license may be found at
9 http://opensource.org/licenses/bsd-license.php
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
16 package org
.tianocore
.frameworkwizard
;
18 import java
.awt
.event
.ActionEvent
;
19 import java
.awt
.event
.ComponentEvent
;
20 import java
.awt
.event
.ComponentListener
;
21 import java
.awt
.event
.MouseEvent
;
22 import java
.awt
.event
.MouseListener
;
23 import java
.awt
.event
.WindowEvent
;
24 import java
.io
.IOException
;
25 import java
.util
.Vector
;
27 import javax
.swing
.JButton
;
28 import javax
.swing
.JCheckBoxMenuItem
;
29 import javax
.swing
.JDesktopPane
;
30 import javax
.swing
.JFileChooser
;
31 import javax
.swing
.JFrame
;
32 import javax
.swing
.JInternalFrame
;
33 import javax
.swing
.JMenu
;
34 import javax
.swing
.JMenuBar
;
35 import javax
.swing
.JMenuItem
;
36 import javax
.swing
.JOptionPane
;
37 import javax
.swing
.JPanel
;
38 import javax
.swing
.JScrollPane
;
39 import javax
.swing
.JSplitPane
;
40 import javax
.swing
.JTabbedPane
;
41 import javax
.swing
.event
.MenuEvent
;
42 import javax
.swing
.event
.MenuListener
;
43 import javax
.swing
.event
.TreeSelectionEvent
;
44 import javax
.swing
.event
.TreeSelectionListener
;
46 import org
.apache
.xmlbeans
.XmlException
;
47 import org
.tianocore
.ModuleSurfaceAreaDocument
;
48 import org
.tianocore
.PackageSurfaceAreaDocument
;
49 import org
.tianocore
.PlatformSurfaceAreaDocument
;
50 import org
.tianocore
.frameworkwizard
.common
.DataType
;
51 import org
.tianocore
.frameworkwizard
.common
.IFileFilter
;
52 import org
.tianocore
.frameworkwizard
.common
.Log
;
53 import org
.tianocore
.frameworkwizard
.common
.SaveFile
;
54 import org
.tianocore
.frameworkwizard
.common
.Tools
;
55 import org
.tianocore
.frameworkwizard
.common
.Identifications
.Identification
;
56 import org
.tianocore
.frameworkwizard
.common
.Identifications
.OpenFile
;
57 import org
.tianocore
.frameworkwizard
.common
.Identifications
.OpeningModuleList
;
58 import org
.tianocore
.frameworkwizard
.common
.Identifications
.OpeningModuleType
;
59 import org
.tianocore
.frameworkwizard
.common
.Identifications
.OpeningPackageList
;
60 import org
.tianocore
.frameworkwizard
.common
.Identifications
.OpeningPackageType
;
61 import org
.tianocore
.frameworkwizard
.common
.Identifications
.OpeningPlatformList
;
62 import org
.tianocore
.frameworkwizard
.common
.Identifications
.OpeningPlatformType
;
63 import org
.tianocore
.frameworkwizard
.common
.ui
.IDefaultMutableTreeNode
;
64 import org
.tianocore
.frameworkwizard
.common
.ui
.IDesktopManager
;
65 import org
.tianocore
.frameworkwizard
.common
.ui
.IFrame
;
66 import org
.tianocore
.frameworkwizard
.common
.ui
.ITree
;
67 import org
.tianocore
.frameworkwizard
.module
.Identifications
.ModuleIdentification
;
68 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleBootModes
;
69 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleDataHubs
;
70 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleDefinitions
;
71 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleEvents
;
72 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleExterns
;
73 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleGuids
;
74 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleHiiPackages
;
75 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleHobs
;
76 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleLibraryClassDefinitions
;
77 import org
.tianocore
.frameworkwizard
.module
.ui
.ModulePCDs
;
78 import org
.tianocore
.frameworkwizard
.module
.ui
.ModulePackageDependencies
;
79 import org
.tianocore
.frameworkwizard
.module
.ui
.ModulePpis
;
80 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleProtocols
;
81 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleSourceFiles
;
82 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleSystemTables
;
83 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleVariables
;
84 import org
.tianocore
.frameworkwizard
.module
.ui
.MsaHeader
;
85 import org
.tianocore
.frameworkwizard
.packaging
.PackageIdentification
;
86 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdGuidDecls
;
87 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdHeader
;
88 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdLibClassDecls
;
89 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdMsaFiles
;
90 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdPackageDefinitions
;
91 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdPackageHeaders
;
92 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdPcdDefs
;
93 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdPpiDecls
;
94 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdProtocolDecls
;
95 import org
.tianocore
.frameworkwizard
.platform
.PlatformIdentification
;
96 import org
.tianocore
.frameworkwizard
.platform
.ui
.FpdBuildOptions
;
97 import org
.tianocore
.frameworkwizard
.platform
.ui
.FpdDynamicPcdBuildDefinitions
;
98 import org
.tianocore
.frameworkwizard
.platform
.ui
.FpdFlash
;
99 import org
.tianocore
.frameworkwizard
.platform
.ui
.FpdFrameworkModules
;
100 import org
.tianocore
.frameworkwizard
.platform
.ui
.FpdHeader
;
101 import org
.tianocore
.frameworkwizard
.platform
.ui
.FpdPlatformDefs
;
102 import org
.tianocore
.frameworkwizard
.workspace
.Workspace
;
103 import org
.tianocore
.frameworkwizard
.workspace
.WorkspaceTools
;
104 import org
.tianocore
.frameworkwizard
.workspace
.ui
.SwitchWorkspace
;
107 The class is used to show main GUI of ModuleEditor
108 It extends IFrame implements MouseListener, TreeSelectionListener
111 public class FrameworkWizardUI
extends IFrame
implements MouseListener
, TreeSelectionListener
, ComponentListener
,
114 /// Define class Serial Version UID
116 private static final long serialVersionUID
= -7103240960573031772L;
119 // To save information of all files
121 private Vector
<ModuleIdentification
> vModuleList
= new Vector
<ModuleIdentification
>();
123 private Vector
<PackageIdentification
> vPackageList
= new Vector
<PackageIdentification
>();
125 private Vector
<PlatformIdentification
> vPlatformList
= new Vector
<PlatformIdentification
>();
127 private OpeningModuleList openingModuleList
= new OpeningModuleList();
129 private OpeningPackageList openingPackageList
= new OpeningPackageList();
131 private OpeningPlatformList openingPlatformList
= new OpeningPlatformList();
133 private int currentOpeningModuleIndex
= -1;
135 private int currentOpeningPackageIndex
= -1;
137 private int currentOpeningPlatformIndex
= -1;
139 private IDefaultMutableTreeNode dmtnRoot
= null;
141 private IDefaultMutableTreeNode dmtnModuleDescription
= null;
143 private IDefaultMutableTreeNode dmtnPackageDescription
= null;
145 private IDefaultMutableTreeNode dmtnPlatformDescription
= null;
147 private JPanel jContentPane
= null;
149 private JMenuBar jMenuBar
= null;
151 private JMenu jMenuFile
= null;
153 private JMenuItem jMenuItemFileNew
= null;
155 private JMenuItem jMenuItemFileSaveAs
= null;
157 private JMenuItem jMenuItemFileExit
= null;
159 private JMenu jMenuEdit
= null;
161 private JDesktopPane jDesktopPaneModule
= null;
163 private JDesktopPane jDesktopPanePackage
= null;
165 private JDesktopPane jDesktopPanePlatform
= null;
167 private JTabbedPane jTabbedPaneTree
= null;
169 private JTabbedPane jTabbedPaneEditor
= null;
171 private IDesktopManager iDesktopManager
= new IDesktopManager();
173 private JScrollPane jScrollPaneTree
= null;
175 private ITree iTree
= null;
177 private JMenu jMenuHelp
= null;
179 private JMenuItem jMenuItemHelpAbout
= null;
181 private JMenuItem jMenuItemEditDelete
= null;
183 private WorkspaceTools wt
= new WorkspaceTools();
185 private JMenuItem jMenuItemFileSave
= null;
187 private JMenuItem jMenuItemFileClose
= null;
189 private JMenu jMenuTools
= null;
191 private JMenu jMenuWindow
= null;
193 private JPanel jPanelOperation
= null;
195 private JButton jButtonOk
= null;
197 private JButton jButtonCancel
= null;
199 private JMenuItem jMenuItemFileOpen
= null;
201 private JMenuItem jMenuItemFileCloseAll
= null;
203 private JMenuItem jMenuItemFileSaveAll
= null;
205 private JMenuItem jMenuItemFilePageSetup
= null;
207 private JMenuItem jMenuItemFilePrint
= null;
209 private JMenuItem jMenuItemFileImport
= null;
211 private JMenuItem jMenuItemFileProperties
= null;
213 private JMenu jMenuFileRecentFiles
= null;
215 private JSplitPane jSplitPane
= null;
217 private JMenuItem jMenuItemEditUndo
= null;
219 private JMenuItem jMenuItemEditRedo
= null;
221 private JMenuItem jMenuItemEditCut
= null;
223 private JMenuItem jMenuItemEditCopy
= null;
225 private JMenuItem jMenuItemEditPaste
= null;
227 private JMenuItem jMenuItemEditSelectAll
= null;
229 private JMenuItem jMenuItemEditFind
= null;
231 private JMenuItem jMenuItemEditFindNext
= null;
233 private JMenu jMenuView
= null;
235 private JMenu jMenuViewToolbars
= null;
237 private JCheckBoxMenuItem jCheckBoxMenuItemViewToolbarsFile
= null;
239 private JCheckBoxMenuItem jCheckBoxMenuItemViewToolbarsEdit
= null;
241 private JCheckBoxMenuItem jCheckBoxMenuItemViewToolbarsWindow
= null;
243 private JMenuItem jMenuItemViewStandard
= null;
245 private JMenuItem jMenuItemViewAdvanced
= null;
247 private JMenu jMenuProject
= null;
249 private JMenuItem jMenuItemProjectAdmin
= null;
251 private JMenuItem jMenuItemProjectChangeWorkspace
= null;
253 private JMenu jMenuProjectBuildTargets
= null;
255 private JCheckBoxMenuItem jCheckBoxMenuItemProjectBuildTargetsDebug
= null;
257 private JCheckBoxMenuItem jCheckBoxMenuItemProjectBuildTargetsRelease
= null;
259 private JMenuItem jMenuItemToolsToolChainConfiguration
= null;
261 private JMenuItem jMenuItemToolsClone
= null;
263 private JMenuItem jMenuItemToolsCodeScan
= null;
265 private JMenuItem jMenuItemWindowDisplaySide
= null;
267 private JMenuItem jMenuItemWindowDisplayTopBottom
= null;
269 private JMenuItem jMenuItemViewXML
= null;
271 private JMenuItem jMenuItemWindowTabView
= null;
273 private JMenuItem jMenuItemWindowSource
= null;
275 private JMenuItem jMenuItemWindowXML
= null;
277 private JMenuItem jMenuItemWindowPreferences
= null;
279 private JMenuItem jMenuItemHelpContents
= null;
281 private JMenuItem jMenuItemHelpIndex
= null;
283 private JMenuItem jMenuItemHelpSearch
= null;
285 private JMenuItem jMenuItemProjectInstallPackage
= null;
287 private JMenuItem jMenuItemProjectUpdatePackage
= null;
289 private JMenuItem jMenuItemProjectRemovePackage
= null;
291 //private JToolBar jToolBarFile = null;
293 //private JToolBar jToolBarEdit = null;
295 //private JToolBar jToolBarWindow = null;
297 private static FrameworkWizardUI fwui
= null;
299 public static FrameworkWizardUI
getInstance() {
301 fwui
= new FrameworkWizardUI();
307 This method initializes jMenuBar
309 @return javax.swing.JMenuBar Main menu bar for the entire GUI
312 private JMenuBar
getjJMenuBar() {
313 if (jMenuBar
== null) {
314 jMenuBar
= new JMenuBar();
315 jMenuBar
.setPreferredSize(new java
.awt
.Dimension(0, 18));
316 jMenuBar
.add(getJMenuFile());
317 jMenuBar
.add(getJMenuEdit());
318 jMenuBar
.add(getJMenuView());
319 jMenuBar
.add(getJMenuProject());
320 jMenuBar
.add(getJMenuTools());
321 jMenuBar
.add(getJMenuWindow());
322 jMenuBar
.add(getJMenuHelp());
328 This method initializes jSplitPane
330 @return javax.swing.JSplitPane
333 private JSplitPane
getJSplitPane() {
334 if (jSplitPane
== null) {
335 jSplitPane
= new JSplitPane(JSplitPane
.HORIZONTAL_SPLIT
, getJTabbedPaneTree(), getJTabbedPaneEditor());
336 jSplitPane
.setBounds(new java
.awt
.Rectangle(0, 1, DataType
.MAIN_FRAME_SPLIT_PANEL_PREFERRED_SIZE_WIDTH
,
337 DataType
.MAIN_FRAME_SPLIT_PANEL_PREFERRED_SIZE_HEIGHT
));
338 jSplitPane
.addComponentListener(this);
344 This method initializes jTabbedPaneEditor
346 @return javax.swing.JTabbedPane
349 private JTabbedPane
getJTabbedPaneEditor() {
350 if (jTabbedPaneEditor
== null) {
351 jTabbedPaneEditor
= new JTabbedPane();
352 jTabbedPaneEditor
.setBounds(new java
.awt
.Rectangle(DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_X
,
353 DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_Y
,
354 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
355 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
357 .setMinimumSize(new java
.awt
.Dimension(
358 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
359 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
360 //jTabbedPaneEditor.addChangeListener(this);
361 jTabbedPaneEditor
.addTab("Module", null, getJDesktopPaneModule(), null);
362 jTabbedPaneEditor
.addTab("Package", null, getJDesktopPanePackage(), null);
363 jTabbedPaneEditor
.addTab("Platform", null, getJDesktopPanePlatform(), null);
365 return jTabbedPaneEditor
;
369 This method initializes jTabbedPaneTree
371 @return javax.swing.JTabbedPane
374 private JTabbedPane
getJTabbedPaneTree() {
375 if (jTabbedPaneTree
== null) {
376 jTabbedPaneTree
= new JTabbedPane();
378 .setPreferredSize(new java
.awt
.Dimension(
379 DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_WIDTH
,
380 DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_HEIGHT
));
382 .setMinimumSize(new java
.awt
.Dimension(DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_WIDTH
,
383 DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_HEIGHT
));
384 jTabbedPaneTree
.addTab("Workspace Explorer", null, getJScrollPaneTree(), null);
386 return jTabbedPaneTree
;
390 This method initializes jMenuFile
392 @return javax.swing.JMenu jMenuModule
395 private JMenu
getJMenuFile() {
396 if (jMenuFile
== null) {
397 jMenuFile
= new JMenu();
398 jMenuFile
.setText("File");
399 jMenuFile
.setMnemonic('F');
400 jMenuFile
.add(getJMenuItemFileNew());
401 jMenuFile
.add(getJMenuItemFileOpen());
402 jMenuFile
.add(getJMenuItemFileClose());
403 jMenuFile
.add(getJMenuItemFileCloseAll());
404 jMenuFile
.addSeparator();
405 jMenuFile
.add(getJMenuFileRecentFiles());
406 //jMenuFile.addSeparator();
407 jMenuFile
.add(getJMenuItemFileSave());
408 jMenuFile
.add(getJMenuItemFileSaveAs());
409 jMenuFile
.add(getJMenuItemFileSaveAll());
410 jMenuFile
.addSeparator();
411 jMenuFile
.add(getJMenuItemFilePageSetup());
412 jMenuFile
.add(getJMenuItemFilePrint());
413 //jMenuFile.addSeparator();
414 jMenuFile
.add(getJMenuItemFileImport());
415 //jMenuFile.addSeparator();
416 jMenuFile
.add(getJMenuItemFileProperties());
417 //jMenuFile.addSeparator();
418 jMenuFile
.add(getJMenuItemFileExit());
419 jMenuFile
.addMenuListener(this);
425 This method initializes jMenuItemFileSaveAs
427 @return javax.swing.JMenuItem jMenuItemFileSaveAs
430 private JMenuItem
getJMenuItemFileSaveAs() {
431 if (jMenuItemFileSaveAs
== null) {
432 jMenuItemFileSaveAs
= new JMenuItem();
433 jMenuItemFileSaveAs
.setText("Save As...");
434 jMenuItemFileSaveAs
.setMnemonic('a');
435 jMenuItemFileSaveAs
.addActionListener(this);
436 jMenuItemFileSaveAs
.setEnabled(false);
437 jMenuItemFileSaveAs
.setVisible(false);
439 return jMenuItemFileSaveAs
;
443 This method initializes jMenuItemModuleExit
445 @return javax.swing.JMenuItem jMenuItemModuleExit
448 private JMenuItem
getJMenuItemFileExit() {
449 if (jMenuItemFileExit
== null) {
450 jMenuItemFileExit
= new JMenuItem();
451 jMenuItemFileExit
.setText("Exit");
452 jMenuItemFileExit
.setMnemonic('x');
453 jMenuItemFileExit
.addActionListener(this);
455 return jMenuItemFileExit
;
459 This method initializes jMenuEdit
461 @return javax.swing.JMenu jMenuEdit
464 private JMenu
getJMenuEdit() {
465 if (jMenuEdit
== null) {
466 jMenuEdit
= new JMenu();
467 jMenuEdit
.setText("Edit");
468 jMenuEdit
.setMnemonic('E');
469 jMenuEdit
.add(getJMenuItemEditUndo());
470 jMenuEdit
.add(getJMenuItemEditRedo());
471 jMenuEdit
.addSeparator();
472 jMenuEdit
.add(getJMenuItemEditCut());
473 jMenuEdit
.add(getJMenuItemEditCopy());
474 jMenuEdit
.add(getJMenuItemEditPaste());
475 jMenuEdit
.add(getJMenuItemEditDelete());
476 jMenuEdit
.addSeparator();
477 jMenuEdit
.add(getJMenuItemEditSelectAll());
478 jMenuEdit
.add(getJMenuItemEditFind());
479 jMenuEdit
.add(getJMenuItemEditFindNext());
480 jMenuEdit
.addSeparator();
481 jMenuEdit
.setVisible(false);
487 This method initializes jDesktopPane
489 @return javax.swing.JDesktopPane jDesktopPane
492 private JDesktopPane
getJDesktopPaneModule() {
493 if (jDesktopPaneModule
== null) {
494 jDesktopPaneModule
= new JDesktopPane();
496 .setBounds(new java
.awt
.Rectangle(DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_X
,
497 DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_Y
,
498 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
499 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
501 .setMinimumSize(new java
.awt
.Dimension(
502 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
503 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
504 jDesktopPaneModule
.setDesktopManager(iDesktopManager
);
505 jDesktopPaneModule
.addComponentListener(this);
507 return jDesktopPaneModule
;
511 This method initializes jDesktopPane
513 @return javax.swing.JDesktopPane jDesktopPane
516 private JDesktopPane
getJDesktopPanePackage() {
517 if (jDesktopPanePackage
== null) {
518 jDesktopPanePackage
= new JDesktopPane();
520 .setBounds(new java
.awt
.Rectangle(DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_X
,
521 DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_Y
,
522 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
523 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
525 .setMinimumSize(new java
.awt
.Dimension(
526 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
527 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
528 jDesktopPanePackage
.setDesktopManager(iDesktopManager
);
529 jDesktopPanePackage
.addComponentListener(this);
531 return jDesktopPanePackage
;
535 This method initializes jDesktopPane
537 @return javax.swing.JDesktopPane jDesktopPane
540 private JDesktopPane
getJDesktopPanePlatform() {
541 if (jDesktopPanePlatform
== null) {
542 jDesktopPanePlatform
= new JDesktopPane();
544 .setBounds(new java
.awt
.Rectangle(
545 DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_X
,
546 DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_Y
,
547 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
548 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
550 .setMinimumSize(new java
.awt
.Dimension(
551 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
552 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
553 jDesktopPanePlatform
.setDesktopManager(iDesktopManager
);
554 jDesktopPanePlatform
.addComponentListener(this);
556 return jDesktopPanePlatform
;
560 This method initializes jScrollPaneTree
562 @return javax.swing.JScrollPane jScrollPaneTree
565 private JScrollPane
getJScrollPaneTree() {
566 if (jScrollPaneTree
== null) {
567 jScrollPaneTree
= new JScrollPane();
568 //jScrollPaneTree.setBounds(new java.awt.Rectangle(0, 1, 290, 545));
570 .setPreferredSize(new java
.awt
.Dimension(
571 DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_WIDTH
,
572 DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_HEIGHT
));
574 .setMinimumSize(new java
.awt
.Dimension(
575 DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_WIDTH
/ 2,
576 DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_HEIGHT
));
577 jScrollPaneTree
.setViewportView(getITree());
579 return jScrollPaneTree
;
583 This method initializes iTree
585 @return org.tianocore.packaging.common.ui.ITree iTree
588 private ITree
getITree() {
590 //Before open a real module, use an empty root node for the tree
597 This method initializes jMenuHelp
599 @return javax.swing.JMenu jMenuHelp
602 private JMenu
getJMenuHelp() {
603 if (jMenuHelp
== null) {
604 jMenuHelp
= new JMenu();
605 jMenuHelp
.setText("Help");
606 jMenuHelp
.add(getJMenuItemHelpContents());
607 jMenuHelp
.add(getJMenuItemHelpIndex());
608 jMenuHelp
.add(getJMenuItemHelpSearch());
609 //jMenuHelp.addSeparator();
610 jMenuHelp
.add(getJMenuItemHelpAbout());
616 This method initializes jMenuItemHelpAbout
618 @return javax.swing.JMenuItem jMenuItemHelpAbout
621 private JMenuItem
getJMenuItemHelpAbout() {
622 if (jMenuItemHelpAbout
== null) {
623 jMenuItemHelpAbout
= new JMenuItem();
624 jMenuItemHelpAbout
.setText("About...");
625 jMenuItemHelpAbout
.addActionListener(this);
627 return jMenuItemHelpAbout
;
631 This method initializes jMenuItemEditDelete
633 @return javax.swing.JMenuItem jMenuItemEditDelete
636 private JMenuItem
getJMenuItemEditDelete() {
637 if (jMenuItemEditDelete
== null) {
638 jMenuItemEditDelete
= new JMenuItem();
639 jMenuItemEditDelete
.setText("Delete");
640 jMenuItemEditDelete
.setMnemonic('D');
641 jMenuItemEditDelete
.addActionListener(this);
643 //Disabled when no module is open
645 jMenuItemEditDelete
.setEnabled(false);
647 return jMenuItemEditDelete
;
651 // This method initializes jPopupMenu
653 // @return javax.swing.JPopupMenu jPopupMenu
656 // private JPopupMenu getJPopupMenu() {
657 // if (jPopupMenu == null) {
658 // jPopupMenu = new JPopupMenu();
660 // //Add menu items of popup menu
662 // jPopupMenu.add(getJMenuItemPopupAdd());
663 // jPopupMenu.add(getJMenuItemPopupUpdate());
664 // jPopupMenu.add(getJMenuItemPopupDelete());
665 // jPopupMenu.setBorder(new BevelBorder(BevelBorder.RAISED));
666 // jPopupMenu.addMouseListener(this);
668 // return jPopupMenu;
672 // This method initializes jMenuItemPopupAdd
674 // @return javax.swing.JMenuItem jMenuItemPopupAdd
677 // private JMenuItem getJMenuItemPopupAdd() {
678 // if (jMenuItemPopupAdd == null) {
679 // jMenuItemPopupAdd = new JMenuItem();
680 // jMenuItemPopupAdd.setText("Add");
681 // jMenuItemPopupAdd.addActionListener(this);
682 // jMenuItemPopupAdd.setEnabled(false);
684 // return jMenuItemPopupAdd;
688 // This method initializes jMenuItemPopupUpdate
690 // @return javax.swing.JMenuItem jMenuItemPopupUpdate
693 // private JMenuItem getJMenuItemPopupUpdate() {
694 // if (jMenuItemPopupUpdate == null) {
695 // jMenuItemPopupUpdate = new JMenuItem();
696 // jMenuItemPopupUpdate.setText("Update");
697 // jMenuItemPopupUpdate.addActionListener(this);
698 // jMenuItemPopupUpdate.setEnabled(false);
700 // return jMenuItemPopupUpdate;
704 // This method initializes jMenuItemPopupDelete
706 // @return javax.swing.JMenuItem jMenuItemPopupDelete
709 // private JMenuItem getJMenuItemPopupDelete() {
710 // if (jMenuItemPopupDelete == null) {
711 // jMenuItemPopupDelete = new JMenuItem();
712 // jMenuItemPopupDelete.setText("Delete");
713 // jMenuItemPopupDelete.addActionListener(this);
714 // jMenuItemPopupDelete.setEnabled(false);
716 // return jMenuItemPopupDelete;
720 This method initializes jMenuFileNew
722 @return javax.swing.JMenuItem jMenuFileNew
725 private JMenuItem
getJMenuItemFileNew() {
726 if (jMenuItemFileNew
== null) {
727 jMenuItemFileNew
= new JMenuItem();
728 jMenuItemFileNew
.setText("New...");
729 jMenuItemFileNew
.setMnemonic('N');
730 jMenuItemFileNew
.addActionListener(this);
732 return jMenuItemFileNew
;
736 This method initializes jMenuItemFileSave
738 @return javax.swing.JMenuItem jMenuItemModuleSave
741 private JMenuItem
getJMenuItemFileSave() {
742 if (jMenuItemFileSave
== null) {
743 jMenuItemFileSave
= new JMenuItem();
744 jMenuItemFileSave
.setText("Save");
745 jMenuItemFileSave
.setMnemonic('S');
746 jMenuItemFileSave
.addActionListener(this);
747 jMenuItemFileSave
.setEnabled(true);
749 return jMenuItemFileSave
;
753 This method initializes jMenuItemModuleClose
755 @return javax.swing.JMenuItem jMenuItemModuleClose
758 private JMenuItem
getJMenuItemFileClose() {
759 if (jMenuItemFileClose
== null) {
760 jMenuItemFileClose
= new JMenuItem();
761 jMenuItemFileClose
.setText("Close");
762 jMenuItemFileClose
.setMnemonic('C');
763 jMenuItemFileClose
.setEnabled(true);
764 jMenuItemFileClose
.addActionListener(this);
766 return jMenuItemFileClose
;
770 This method initializes jMenuTools
773 @return javax.swing.JMenu jMenuTools
776 private JMenu
getJMenuTools() {
777 if (jMenuTools
== null) {
778 jMenuTools
= new JMenu();
779 jMenuTools
.setText("Tools");
780 jMenuTools
.setMnemonic('T');
781 jMenuTools
.add(getJMenuItemToolsToolChainConfiguration());
782 jMenuTools
.addSeparator();
783 jMenuTools
.add(getJMenuItemToolsClone());
784 //jMenuTools.addSeparator();
785 jMenuTools
.add(getJMenuItemToolsCodeScan());
786 jMenuTools
.addMenuListener(this);
792 This method initializes jMenuWindow
795 @return javax.swing.JMenu jMenuWindow
798 private JMenu
getJMenuWindow() {
799 if (jMenuWindow
== null) {
800 jMenuWindow
= new JMenu();
801 jMenuWindow
.setText("Window");
802 jMenuWindow
.setMnemonic('W');
803 jMenuWindow
.add(getJMenuItemWindowDisplaySide());
804 jMenuWindow
.add(getJMenuItemWindowDisplayTopBottom());
805 jMenuWindow
.addSeparator();
806 jMenuWindow
.add(getJMenuItemWindowTabView());
807 jMenuWindow
.addSeparator();
808 jMenuWindow
.add(getJMenuItemWindowSource());
809 jMenuWindow
.add(getJMenuItemWindowXML());
810 jMenuWindow
.addSeparator();
811 jMenuWindow
.add(getJMenuItemWindowPreferences());
812 jMenuWindow
.setVisible(false);
818 This method initializes jPanelOperation
820 @return javax.swing.JPanel jPanelOperation
823 private JPanel
getJPanelOperation() {
824 if (jPanelOperation
== null) {
825 jPanelOperation
= new JPanel();
826 jPanelOperation
.setLayout(null);
827 jPanelOperation
.setBounds(new java
.awt
.Rectangle(295, 520, 500, 25));
828 jPanelOperation
.add(getJButtonOk(), null);
829 jPanelOperation
.add(getJButtonCancel(), null);
830 jPanelOperation
.setVisible(false);
832 return jPanelOperation
;
836 This method initializes jButtonOk
838 @return javax.swing.JButton jButtonOk
841 private JButton
getJButtonOk() {
842 if (jButtonOk
== null) {
843 jButtonOk
= new JButton();
844 jButtonOk
.setBounds(new java
.awt
.Rectangle(395, 2, 90, 20));
845 jButtonOk
.setText("Ok");
846 jButtonOk
.setEnabled(false);
847 jButtonOk
.addActionListener(this);
853 This method initializes jButtonCancel
855 @return javax.swing.JButton jButtonCancel
858 private JButton
getJButtonCancel() {
859 if (jButtonCancel
== null) {
860 jButtonCancel
= new JButton();
861 jButtonCancel
.setBounds(new java
.awt
.Rectangle(395, 2, 90, 20));
862 jButtonCancel
.setText("Cancel");
863 jButtonCancel
.setEnabled(false);
864 jButtonCancel
.addActionListener(this);
865 jButtonCancel
.setVisible(false);
867 return jButtonCancel
;
871 This method initializes jMenuItemFileOpen
873 @return javax.swing.JMenuItem jMenuItemFileOpen
875 private JMenuItem
getJMenuItemFileOpen() {
876 if (jMenuItemFileOpen
== null) {
877 jMenuItemFileOpen
= new JMenuItem();
878 jMenuItemFileOpen
.setText("Open...");
879 jMenuItemFileOpen
.setMnemonic('O');
880 jMenuItemFileOpen
.addActionListener(this);
882 return jMenuItemFileOpen
;
886 This method initializes jMenuItemFileCloseAll
888 @return javax.swing.JMenuItem jMenuItemFileOpen
890 private JMenuItem
getJMenuItemFileCloseAll() {
891 if (jMenuItemFileCloseAll
== null) {
892 jMenuItemFileCloseAll
= new JMenuItem();
893 jMenuItemFileCloseAll
.setText("Close All");
894 jMenuItemFileCloseAll
.setEnabled(true);
895 jMenuItemFileCloseAll
.addActionListener(this);
897 return jMenuItemFileCloseAll
;
901 This method initializes jMenuItemFileSaveAll
903 @return javax.swing.JMenuItem jMenuItemFileSaveAll
905 private JMenuItem
getJMenuItemFileSaveAll() {
906 if (jMenuItemFileSaveAll
== null) {
907 jMenuItemFileSaveAll
= new JMenuItem();
908 jMenuItemFileSaveAll
.setText("Save All");
909 jMenuItemFileSaveAll
.setMnemonic('v');
910 jMenuItemFileSaveAll
.setEnabled(true);
911 jMenuItemFileSaveAll
.addActionListener(this);
913 return jMenuItemFileSaveAll
;
917 This method initializes jMenuItemFilePageSetup
919 @return javax.swing.JMenuItem
921 private JMenuItem
getJMenuItemFilePageSetup() {
922 if (jMenuItemFilePageSetup
== null) {
923 jMenuItemFilePageSetup
= new JMenuItem();
924 jMenuItemFilePageSetup
.setText("Page Setup");
925 jMenuItemFilePageSetup
.setMnemonic('u');
926 jMenuItemFilePageSetup
.setEnabled(false);
927 jMenuItemFilePageSetup
.addActionListener(this);
928 jMenuItemFilePageSetup
.setVisible(false);
930 return jMenuItemFilePageSetup
;
934 This method initializes jMenuItemFilePrint
936 @return javax.swing.JMenuItem
938 private JMenuItem
getJMenuItemFilePrint() {
939 if (jMenuItemFilePrint
== null) {
940 jMenuItemFilePrint
= new JMenuItem();
941 jMenuItemFilePrint
.setText("Print");
942 jMenuItemFilePrint
.setMnemonic('P');
943 jMenuItemFilePrint
.setEnabled(false);
944 jMenuItemFilePrint
.addActionListener(this);
945 jMenuItemFilePrint
.setVisible(false);
947 return jMenuItemFilePrint
;
951 This method initializes jMenuItemFileImport
953 @return javax.swing.JMenuItem
955 private JMenuItem
getJMenuItemFileImport() {
956 if (jMenuItemFileImport
== null) {
957 jMenuItemFileImport
= new JMenuItem();
958 jMenuItemFileImport
.setText("Import");
959 jMenuItemFileImport
.setMnemonic('I');
960 jMenuItemFileImport
.setEnabled(false);
961 jMenuItemFileImport
.addActionListener(this);
962 jMenuItemFileImport
.setVisible(false);
964 return jMenuItemFileImport
;
968 * This method initializes jMenuItemFileProperties
970 * @return javax.swing.JMenuItem
972 private JMenuItem
getJMenuItemFileProperties() {
973 if (jMenuItemFileProperties
== null) {
974 jMenuItemFileProperties
= new JMenuItem();
975 jMenuItemFileProperties
.setText("Properties");
976 jMenuItemFileProperties
.setMnemonic('t');
977 jMenuItemFileProperties
.setEnabled(false);
978 jMenuItemFileProperties
.addActionListener(this);
979 jMenuItemFileProperties
.setVisible(false);
981 return jMenuItemFileProperties
;
985 * This method initializes jMenuFileRecentFiles
987 * @return javax.swing.JMenu
989 private JMenu
getJMenuFileRecentFiles() {
990 if (jMenuFileRecentFiles
== null) {
991 jMenuFileRecentFiles
= new JMenu();
992 jMenuFileRecentFiles
.setText("Recent Files");
993 jMenuFileRecentFiles
.setMnemonic('F');
994 jMenuFileRecentFiles
.setEnabled(false);
995 jMenuFileRecentFiles
.addActionListener(this);
996 jMenuFileRecentFiles
.setVisible(false);
998 return jMenuFileRecentFiles
;
1002 This method initializes jMenuItemEditUndo
1004 @return javax.swing.JMenuItem
1006 private JMenuItem
getJMenuItemEditUndo() {
1007 if (jMenuItemEditUndo
== null) {
1008 jMenuItemEditUndo
= new JMenuItem();
1009 jMenuItemEditUndo
.setText("Undo");
1010 jMenuItemEditUndo
.setMnemonic('U');
1011 jMenuItemEditUndo
.setEnabled(false);
1012 jMenuItemEditUndo
.addActionListener(this);
1014 return jMenuItemEditUndo
;
1018 This method initializes jMenuItemEditRedo
1020 @return javax.swing.JMenuItem
1022 private JMenuItem
getJMenuItemEditRedo() {
1023 if (jMenuItemEditRedo
== null) {
1024 jMenuItemEditRedo
= new JMenuItem();
1025 jMenuItemEditRedo
.setText("Redo");
1026 jMenuItemEditRedo
.setMnemonic('R');
1027 jMenuItemEditRedo
.setEnabled(false);
1028 jMenuItemEditRedo
.addActionListener(this);
1030 return jMenuItemEditRedo
;
1034 This method initializes jMenuItemEditCut
1036 @return javax.swing.JMenuItem
1038 private JMenuItem
getJMenuItemEditCut() {
1039 if (jMenuItemEditCut
== null) {
1040 jMenuItemEditCut
= new JMenuItem();
1041 jMenuItemEditCut
.setText("Cut");
1042 jMenuItemEditCut
.setMnemonic('t');
1043 jMenuItemEditCut
.setEnabled(false);
1044 jMenuItemEditCut
.addActionListener(this);
1046 return jMenuItemEditCut
;
1050 This method initializes jMenuItemEditCopy
1052 @return javax.swing.JMenuItem
1054 private JMenuItem
getJMenuItemEditCopy() {
1055 if (jMenuItemEditCopy
== null) {
1056 jMenuItemEditCopy
= new JMenuItem();
1057 jMenuItemEditCopy
.setText("Copy");
1058 jMenuItemEditCopy
.setMnemonic('C');
1059 jMenuItemEditCopy
.setEnabled(false);
1060 jMenuItemEditCopy
.addActionListener(this);
1062 return jMenuItemEditCopy
;
1066 This method initializes jMenuItemEditPaste
1068 return javax.swing.JMenuItem
1070 private JMenuItem
getJMenuItemEditPaste() {
1071 if (jMenuItemEditPaste
== null) {
1072 jMenuItemEditPaste
= new JMenuItem();
1073 jMenuItemEditPaste
.setText("Paste");
1074 jMenuItemEditPaste
.setMnemonic('P');
1075 jMenuItemEditPaste
.setEnabled(false);
1076 jMenuItemEditPaste
.addActionListener(this);
1078 return jMenuItemEditPaste
;
1082 This method initializes jMenuItem
1084 @return javax.swing.JMenuItem
1086 private JMenuItem
getJMenuItemEditSelectAll() {
1087 if (jMenuItemEditSelectAll
== null) {
1088 jMenuItemEditSelectAll
= new JMenuItem();
1089 jMenuItemEditSelectAll
.setText("Select All");
1090 jMenuItemEditSelectAll
.setMnemonic('A');
1091 jMenuItemEditSelectAll
.setEnabled(false);
1092 jMenuItemEditSelectAll
.addActionListener(this);
1094 return jMenuItemEditSelectAll
;
1098 This method initializes jMenuItemEditFind
1100 @return javax.swing.JMenuItem
1102 private JMenuItem
getJMenuItemEditFind() {
1103 if (jMenuItemEditFind
== null) {
1104 jMenuItemEditFind
= new JMenuItem();
1105 jMenuItemEditFind
.setText("Find");
1106 jMenuItemEditFind
.setMnemonic('F');
1107 jMenuItemEditFind
.setEnabled(false);
1108 jMenuItemEditFind
.addActionListener(this);
1110 return jMenuItemEditFind
;
1114 This method initializes jMenuItemEditFindNext
1116 @return javax.swing.JMenuItem
1119 private JMenuItem
getJMenuItemEditFindNext() {
1120 if (jMenuItemEditFindNext
== null) {
1121 jMenuItemEditFindNext
= new JMenuItem();
1122 jMenuItemEditFindNext
.setText("Find Next");
1123 jMenuItemEditFindNext
.setMnemonic('n');
1124 jMenuItemEditFindNext
.setEnabled(false);
1125 jMenuItemEditFindNext
.addActionListener(this);
1127 return jMenuItemEditFindNext
;
1131 This method initializes jMenuView
1133 @return javax.swing.JMenu
1136 private JMenu
getJMenuView() {
1137 if (jMenuView
== null) {
1138 jMenuView
= new JMenu();
1139 jMenuView
.setText("View");
1140 jMenuView
.setMnemonic('V');
1141 jMenuView
.add(getJMenuViewToolbars());
1142 jMenuView
.add(getJMenuItemViewAdvanced());
1143 jMenuView
.add(getJMenuItemViewStandard());
1144 jMenuView
.add(getJMenuItemViewXML());
1145 jMenuView
.setVisible(false);
1151 This method initializes jMenuViewToolbars
1153 @return javax.swing.JMenu
1156 private JMenu
getJMenuViewToolbars() {
1157 if (jMenuViewToolbars
== null) {
1158 jMenuViewToolbars
= new JMenu();
1159 jMenuViewToolbars
.setText("Toolbars");
1160 jMenuViewToolbars
.setMnemonic('T');
1161 jMenuViewToolbars
.add(getJCheckBoxMenuItemViewToolbarsFile());
1162 jMenuViewToolbars
.add(getJCheckBoxMenuItemViewToolbarsEdit());
1163 jMenuViewToolbars
.add(getJCheckBoxMenuItemViewToolbarsWindow());
1165 return jMenuViewToolbars
;
1169 This method initializes jCheckBoxMenuItemViewToolbarsFile
1171 @return javax.swing.JCheckBoxMenuItem
1174 private JCheckBoxMenuItem
getJCheckBoxMenuItemViewToolbarsFile() {
1175 if (jCheckBoxMenuItemViewToolbarsFile
== null) {
1176 jCheckBoxMenuItemViewToolbarsFile
= new JCheckBoxMenuItem();
1177 jCheckBoxMenuItemViewToolbarsFile
.setText("File");
1178 jCheckBoxMenuItemViewToolbarsFile
.setEnabled(false);
1179 jCheckBoxMenuItemViewToolbarsFile
.addActionListener(this);
1181 return jCheckBoxMenuItemViewToolbarsFile
;
1185 This method initializes jCheckBoxMenuItemViewToolbarsEdit
1187 @return javax.swing.JCheckBoxMenuItem
1190 private JCheckBoxMenuItem
getJCheckBoxMenuItemViewToolbarsEdit() {
1191 if (jCheckBoxMenuItemViewToolbarsEdit
== null) {
1192 jCheckBoxMenuItemViewToolbarsEdit
= new JCheckBoxMenuItem();
1193 jCheckBoxMenuItemViewToolbarsEdit
.setText("Edit");
1194 jCheckBoxMenuItemViewToolbarsEdit
.setEnabled(false);
1195 jCheckBoxMenuItemViewToolbarsEdit
.addActionListener(this);
1197 return jCheckBoxMenuItemViewToolbarsEdit
;
1201 This method initializes jCheckBoxMenuItemViewToolbarsWindow
1203 @return javax.swing.JCheckBoxMenuItem
1206 private JCheckBoxMenuItem
getJCheckBoxMenuItemViewToolbarsWindow() {
1207 if (jCheckBoxMenuItemViewToolbarsWindow
== null) {
1208 jCheckBoxMenuItemViewToolbarsWindow
= new JCheckBoxMenuItem();
1209 jCheckBoxMenuItemViewToolbarsWindow
.setText("Window");
1210 jCheckBoxMenuItemViewToolbarsWindow
.setEnabled(false);
1211 jCheckBoxMenuItemViewToolbarsWindow
.addActionListener(this);
1213 return jCheckBoxMenuItemViewToolbarsWindow
;
1217 This method initializes jMenuItemStandard
1219 @return javax.swing.JMenuItem
1222 private JMenuItem
getJMenuItemViewStandard() {
1223 if (jMenuItemViewStandard
== null) {
1224 jMenuItemViewStandard
= new JMenuItem();
1225 jMenuItemViewStandard
.setText("Standard");
1226 jMenuItemViewStandard
.setMnemonic('S');
1227 jMenuItemViewStandard
.setEnabled(false);
1228 jMenuItemViewStandard
.addActionListener(this);
1230 return jMenuItemViewStandard
;
1234 This method initializes jMenuItemAdvanced
1236 @return javax.swing.JMenuItem
1239 private JMenuItem
getJMenuItemViewAdvanced() {
1240 if (jMenuItemViewAdvanced
== null) {
1241 jMenuItemViewAdvanced
= new JMenuItem();
1242 jMenuItemViewAdvanced
.setText("Advanced");
1243 jMenuItemViewAdvanced
.setMnemonic('A');
1244 jMenuItemViewAdvanced
.setEnabled(false);
1245 jMenuItemViewAdvanced
.addActionListener(this);
1247 return jMenuItemViewAdvanced
;
1251 This method initializes jMenuProject
1253 @return javax.swing.JMenu
1256 private JMenu
getJMenuProject() {
1257 if (jMenuProject
== null) {
1258 jMenuProject
= new JMenu();
1259 jMenuProject
.setText("Project");
1260 jMenuProject
.setMnemonic('P');
1261 jMenuProject
.add(getJMenuItemProjectAdmin());
1262 //jMenuProject.addSeparator();
1263 jMenuProject
.add(getJMenuItemProjectChangeWorkspace());
1264 jMenuProject
.addSeparator();
1265 jMenuProject
.add(getJMenuItemProjectInstallPackage());
1266 jMenuProject
.add(getJMenuItemProjectUpdatePackage());
1267 jMenuProject
.add(getJMenuItemProjectRemovePackage());
1268 //jMenuProject.addSeparator();
1269 jMenuProject
.add(getJMenuProjectBuildTargets());
1271 return jMenuProject
;
1275 This method initializes jMenuItemProjectAdmin
1277 @return javax.swing.JMenuItem
1280 private JMenuItem
getJMenuItemProjectAdmin() {
1281 if (jMenuItemProjectAdmin
== null) {
1282 jMenuItemProjectAdmin
= new JMenuItem();
1283 jMenuItemProjectAdmin
.setText("Admin...");
1284 jMenuItemProjectAdmin
.setMnemonic('A');
1285 jMenuItemProjectAdmin
.setEnabled(false);
1286 jMenuItemProjectAdmin
.addActionListener(this);
1287 jMenuItemProjectAdmin
.setVisible(false);
1289 return jMenuItemProjectAdmin
;
1293 This method initializes jMenuItemProjectChangeWorkspace
1295 @return javax.swing.JMenuItem
1298 private JMenuItem
getJMenuItemProjectChangeWorkspace() {
1299 if (jMenuItemProjectChangeWorkspace
== null) {
1300 jMenuItemProjectChangeWorkspace
= new JMenuItem();
1301 jMenuItemProjectChangeWorkspace
.setText("Change WORKSPACE...");
1302 jMenuItemProjectChangeWorkspace
.setMnemonic('W');
1303 jMenuItemProjectChangeWorkspace
.setEnabled(true);
1304 jMenuItemProjectChangeWorkspace
.addActionListener(this);
1306 return jMenuItemProjectChangeWorkspace
;
1310 This method initializes jMenuProjectBuildTargets
1312 @return javax.swing.JMenu
1315 private JMenu
getJMenuProjectBuildTargets() {
1316 if (jMenuProjectBuildTargets
== null) {
1317 jMenuProjectBuildTargets
= new JMenu();
1318 jMenuProjectBuildTargets
.setText("Build Targets");
1319 jMenuProjectBuildTargets
.setMnemonic('T');
1320 jMenuProjectBuildTargets
.add(getJCheckBoxMenuItemProjectBuildTargetsDebug());
1321 jMenuProjectBuildTargets
.add(getJCheckBoxMenuItemProjectBuildTargetsRelease());
1322 jMenuProjectBuildTargets
.setVisible(false);
1324 return jMenuProjectBuildTargets
;
1328 This method initializes jCheckBoxMenuItemProjectBuildTargetsDebug
1330 @return javax.swing.JCheckBoxMenuItem
1333 private JCheckBoxMenuItem
getJCheckBoxMenuItemProjectBuildTargetsDebug() {
1334 if (jCheckBoxMenuItemProjectBuildTargetsDebug
== null) {
1335 jCheckBoxMenuItemProjectBuildTargetsDebug
= new JCheckBoxMenuItem();
1336 jCheckBoxMenuItemProjectBuildTargetsDebug
.setText("Debug");
1337 jCheckBoxMenuItemProjectBuildTargetsDebug
.setEnabled(false);
1339 return jCheckBoxMenuItemProjectBuildTargetsDebug
;
1343 This method initializes jCheckBoxMenuItemProjectBuildTargetsRelease
1345 @return javax.swing.JCheckBoxMenuItem
1348 private JCheckBoxMenuItem
getJCheckBoxMenuItemProjectBuildTargetsRelease() {
1349 if (jCheckBoxMenuItemProjectBuildTargetsRelease
== null) {
1350 jCheckBoxMenuItemProjectBuildTargetsRelease
= new JCheckBoxMenuItem();
1351 jCheckBoxMenuItemProjectBuildTargetsRelease
.setText("Release");
1352 jCheckBoxMenuItemProjectBuildTargetsRelease
.setEnabled(false);
1354 return jCheckBoxMenuItemProjectBuildTargetsRelease
;
1358 This method initializes jMenuItemToolsToolChainConfiguration
1360 @return javax.swing.JMenuItem
1363 private JMenuItem
getJMenuItemToolsToolChainConfiguration() {
1364 if (jMenuItemToolsToolChainConfiguration
== null) {
1365 jMenuItemToolsToolChainConfiguration
= new JMenuItem();
1366 jMenuItemToolsToolChainConfiguration
.setText("Tool Chain Configuration...");
1367 jMenuItemToolsToolChainConfiguration
.setMnemonic('C');
1368 jMenuItemToolsToolChainConfiguration
.addActionListener(this);
1370 return jMenuItemToolsToolChainConfiguration
;
1374 This method initializes jMenuItemToolsClone
1376 @return javax.swing.JMenuItem
1379 private JMenuItem
getJMenuItemToolsClone() {
1380 if (jMenuItemToolsClone
== null) {
1381 jMenuItemToolsClone
= new JMenuItem();
1382 jMenuItemToolsClone
.setText("Clone...");
1383 jMenuItemToolsClone
.setMnemonic('l');
1384 jMenuItemToolsClone
.setEnabled(true);
1385 jMenuItemToolsClone
.addActionListener(this);
1387 return jMenuItemToolsClone
;
1391 This method initializes jMenuItemToolsCodeScan
1393 @return javax.swing.JMenuItem
1396 private JMenuItem
getJMenuItemToolsCodeScan() {
1397 if (jMenuItemToolsCodeScan
== null) {
1398 jMenuItemToolsCodeScan
= new JMenuItem();
1399 jMenuItemToolsCodeScan
.setText("Code Scan...");
1400 jMenuItemToolsCodeScan
.setMnemonic('S');
1401 jMenuItemToolsCodeScan
.setEnabled(false);
1402 jMenuItemToolsCodeScan
.addActionListener(this);
1403 jMenuItemToolsCodeScan
.setVisible(false);
1405 return jMenuItemToolsCodeScan
;
1409 This method initializes jMenuItemWindowSplitVertical
1411 @return javax.swing.JMenuItem
1414 private JMenuItem
getJMenuItemWindowDisplaySide() {
1415 if (jMenuItemWindowDisplaySide
== null) {
1416 jMenuItemWindowDisplaySide
= new JMenuItem();
1417 jMenuItemWindowDisplaySide
.setText("Display Side by Side");
1418 jMenuItemWindowDisplaySide
.setMnemonic('S');
1419 jMenuItemWindowDisplaySide
.setEnabled(false);
1420 jMenuItemWindowDisplaySide
.addActionListener(this);
1422 return jMenuItemWindowDisplaySide
;
1426 This method initializes jMenuItemWindowSplitHorizontal
1428 @return javax.swing.JMenuItem
1431 private JMenuItem
getJMenuItemWindowDisplayTopBottom() {
1432 if (jMenuItemWindowDisplayTopBottom
== null) {
1433 jMenuItemWindowDisplayTopBottom
= new JMenuItem();
1434 jMenuItemWindowDisplayTopBottom
.setText("Display Top and Bottom");
1435 jMenuItemWindowDisplayTopBottom
.setMnemonic('B');
1436 jMenuItemWindowDisplayTopBottom
.setEnabled(false);
1437 jMenuItemWindowDisplayTopBottom
.addActionListener(this);
1439 return jMenuItemWindowDisplayTopBottom
;
1443 This method initializes jMenuItemViewXML
1445 @return javax.swing.JMenuItem
1448 private JMenuItem
getJMenuItemViewXML() {
1449 if (jMenuItemViewXML
== null) {
1450 jMenuItemViewXML
= new JMenuItem();
1451 jMenuItemViewXML
.setText("XML");
1452 jMenuItemViewXML
.setMnemonic('X');
1453 jMenuItemViewXML
.setEnabled(false);
1454 jMenuItemViewXML
.addActionListener(this);
1456 return jMenuItemViewXML
;
1460 This method initializes jMenuItemWindowTabView
1462 @return javax.swing.JMenuItem
1465 private JMenuItem
getJMenuItemWindowTabView() {
1466 if (jMenuItemWindowTabView
== null) {
1467 jMenuItemWindowTabView
= new JMenuItem();
1468 jMenuItemWindowTabView
.setText("Tab View");
1469 jMenuItemWindowTabView
.setMnemonic('T');
1470 jMenuItemWindowTabView
.setEnabled(false);
1471 jMenuItemWindowTabView
.addActionListener(this);
1473 return jMenuItemWindowTabView
;
1477 This method initializes jMenuItemWindowSource
1479 @return javax.swing.JMenuItem
1482 private JMenuItem
getJMenuItemWindowSource() {
1483 if (jMenuItemWindowSource
== null) {
1484 jMenuItemWindowSource
= new JMenuItem();
1485 jMenuItemWindowSource
.setText("Source");
1486 jMenuItemWindowSource
.setMnemonic('S');
1487 jMenuItemWindowSource
.setEnabled(false);
1488 jMenuItemWindowSource
.addActionListener(this);
1490 return jMenuItemWindowSource
;
1494 This method initializes jMenuItemWindowXML
1496 @return javax.swing.JMenuItem
1499 private JMenuItem
getJMenuItemWindowXML() {
1500 if (jMenuItemWindowXML
== null) {
1501 jMenuItemWindowXML
= new JMenuItem();
1502 jMenuItemWindowXML
.setText("XML");
1503 jMenuItemWindowXML
.setMnemonic('X');
1504 jMenuItemWindowXML
.setEnabled(false);
1505 jMenuItemWindowXML
.addActionListener(this);
1507 return jMenuItemWindowXML
;
1511 This method initializes jMenuItemWindowPreferences
1513 @return javax.swing.JMenuItem
1516 private JMenuItem
getJMenuItemWindowPreferences() {
1517 if (jMenuItemWindowPreferences
== null) {
1518 jMenuItemWindowPreferences
= new JMenuItem();
1519 jMenuItemWindowPreferences
.setText("Preferences");
1520 jMenuItemWindowPreferences
.setMnemonic('P');
1521 jMenuItemWindowPreferences
.setEnabled(false);
1522 jMenuItemWindowPreferences
.addActionListener(this);
1524 return jMenuItemWindowPreferences
;
1528 This method initializes jMenuItemHelpContents
1530 @return javax.swing.JMenuItem
1533 private JMenuItem
getJMenuItemHelpContents() {
1534 if (jMenuItemHelpContents
== null) {
1535 jMenuItemHelpContents
= new JMenuItem();
1536 jMenuItemHelpContents
.setText("Contents");
1537 jMenuItemHelpContents
.setMnemonic('C');
1538 jMenuItemHelpContents
.setEnabled(false);
1539 jMenuItemHelpContents
.addActionListener(this);
1540 jMenuItemHelpContents
.setVisible(false);
1542 return jMenuItemHelpContents
;
1546 This method initializes jMenuItemHelpIndex
1548 @return javax.swing.JMenuItem
1551 private JMenuItem
getJMenuItemHelpIndex() {
1552 if (jMenuItemHelpIndex
== null) {
1553 jMenuItemHelpIndex
= new JMenuItem();
1554 jMenuItemHelpIndex
.setText("Index");
1555 jMenuItemHelpIndex
.setMnemonic('I');
1556 jMenuItemHelpIndex
.setEnabled(false);
1557 jMenuItemHelpIndex
.addActionListener(this);
1558 jMenuItemHelpIndex
.setVisible(false);
1560 return jMenuItemHelpIndex
;
1564 This method initializes jMenuItemHelpSearch
1566 @return javax.swing.JMenuItem
1569 private JMenuItem
getJMenuItemHelpSearch() {
1570 if (jMenuItemHelpSearch
== null) {
1571 jMenuItemHelpSearch
= new JMenuItem();
1572 jMenuItemHelpSearch
.setText("Search");
1573 jMenuItemHelpSearch
.setMnemonic('S');
1574 jMenuItemHelpSearch
.setEnabled(false);
1575 jMenuItemHelpSearch
.addActionListener(this);
1576 jMenuItemHelpSearch
.setVisible(false);
1578 return jMenuItemHelpSearch
;
1582 * This method initializes jToolBar
1584 * @return javax.swing.JToolBar
1586 // private JToolBar getJToolBarFile() {
1587 // if (jToolBarFile == null) {
1588 // jToolBarFile = new JToolBar();
1589 // jToolBarFile.setFloatable(false);
1591 // return jToolBarFile;
1594 * This method initializes jToolBarEdit
1596 * @return javax.swing.JToolBar
1598 // private JToolBar getJToolBarEdit() {
1599 // if (jToolBarEdit == null) {
1600 // jToolBarEdit = new JToolBar();
1601 // jToolBarEdit.setFloatable(false);
1603 // return jToolBarEdit;
1606 * This method initializes jMenuItemToolsInstallPackage
1608 * @return javax.swing.JMenuItem
1610 private JMenuItem
getJMenuItemProjectInstallPackage() {
1611 if (jMenuItemProjectInstallPackage
== null) {
1612 jMenuItemProjectInstallPackage
= new JMenuItem();
1613 jMenuItemProjectInstallPackage
.setText("Install Distribution Package");
1614 jMenuItemProjectInstallPackage
.setMnemonic('I');
1615 jMenuItemProjectInstallPackage
.setEnabled(false);
1616 jMenuItemProjectInstallPackage
.addActionListener(this);
1618 return jMenuItemProjectInstallPackage
;
1622 * This method initializes jMenuItemToolsUpdatePackage
1624 * @return javax.swing.JMenuItem
1626 private JMenuItem
getJMenuItemProjectUpdatePackage() {
1627 if (jMenuItemProjectUpdatePackage
== null) {
1628 jMenuItemProjectUpdatePackage
= new JMenuItem();
1629 jMenuItemProjectUpdatePackage
.setText("Update Disstribution Package");
1630 jMenuItemProjectUpdatePackage
.setMnemonic('U');
1631 jMenuItemProjectUpdatePackage
.setEnabled(false);
1632 jMenuItemProjectUpdatePackage
.addActionListener(this);
1634 return jMenuItemProjectUpdatePackage
;
1638 * This method initializes jMenuItemRemovePackage
1640 * @return javax.swing.JMenuItem
1642 private JMenuItem
getJMenuItemProjectRemovePackage() {
1643 if (jMenuItemProjectRemovePackage
== null) {
1644 jMenuItemProjectRemovePackage
= new JMenuItem();
1645 jMenuItemProjectRemovePackage
.setText("Remove Distribution Package");
1646 jMenuItemProjectRemovePackage
.setMnemonic('R');
1647 jMenuItemProjectRemovePackage
.setEnabled(false);
1648 jMenuItemProjectRemovePackage
.addActionListener(this);
1650 return jMenuItemProjectRemovePackage
;
1654 * @see org.tianocore.packaging.common.ui.IFrame#main(java.lang.String[])
1656 * Main class, start the GUI
1659 public static void main(String
[] args
) {
1660 FrameworkWizardUI module
= FrameworkWizardUI
.getInstance();
1661 module
.setVisible(true);
1665 This is the default constructor
1668 public FrameworkWizardUI() {
1674 This method initializes this
1678 private void init() {
1680 // Set current workspace and check
1681 // Check if exists WORKSPACE
1684 Workspace
.setCurrentWorkspace(System
.getenv("WORKSPACE"));
1685 if (!Workspace
.checkCurrentWorkspace()) {
1686 JOptionPane
.showConfirmDialog(null, "Workspace is not setup correctly. Please setup first.", "Warning",
1687 JOptionPane
.DEFAULT_OPTION
, JOptionPane
.WARNING_MESSAGE
);
1692 this.setSize(DataType
.MAIN_FRAME_PREFERRED_SIZE_WIDTH
, DataType
.MAIN_FRAME_PREFERRED_SIZE_HEIGHT
);
1693 this.setResizable(true);
1694 this.setJMenuBar(getjJMenuBar());
1695 this.addComponentListener(this);
1696 this.getCompontentsFromFrameworkDatabase();
1697 this.setContentPane(getJContentPane());
1698 this.setTitle(DataType
.PROJECT_NAME
+ " " + DataType
.PROJECT_VERSION
+ " " + "- [" + Workspace
.getCurrentWorkspace() + "]");
1699 this.setExitType(1);
1704 this.setExtendedState(JFrame
.MAXIMIZED_BOTH
);
1708 This method initializes jContentPane
1710 @return javax.swing.JPanel jContentPane
1713 private JPanel
getJContentPane() {
1714 if (jContentPane
== null) {
1715 jContentPane
= new JPanel();
1716 jContentPane
.setLayout(null);
1717 jContentPane
.add(getJPanelOperation(), null);
1718 jContentPane
.add(getJSplitPane(), null);
1720 return jContentPane
;
1724 * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
1726 * Override actionPerformed to listen all actions
1729 public void actionPerformed(ActionEvent arg0
) {
1731 // Operations of Menu
1733 if (arg0
.getSource() == jMenuItemFileNew
) {
1737 if (arg0
.getSource() == jMenuItemFileOpen
) {
1741 if (arg0
.getSource() == jMenuItemFileClose
) {
1745 if (arg0
.getSource() == jMenuItemFileCloseAll
) {
1749 if (arg0
.getSource() == jMenuItemFileSave
) {
1753 if (arg0
.getSource() == jMenuItemFileSaveAs
) {
1757 if (arg0
.getSource() == jMenuItemFileSaveAll
) {
1761 if (arg0
.getSource() == jMenuItemFileExit
) {
1765 if (arg0
.getSource() == jMenuItemProjectChangeWorkspace
) {
1769 if (arg0
.getSource() == jMenuItemToolsClone
) {
1773 if (arg0
.getSource() == jMenuItemToolsToolChainConfiguration
) {
1774 setupToolChainConfiguration();
1777 if (arg0
.getSource() == jMenuItemHelpAbout
) {
1778 About a
= new About(this, true);
1779 int result
= a
.showDialog();
1780 if (result
== DataType
.RETURN_TYPE_OK
) {
1787 Create an empty tree if no file is open
1790 private void makeEmptyTree() {
1792 dmtnRoot
= new IDefaultMutableTreeNode("WORKSPACE", IDefaultMutableTreeNode
.WORKSPACE
, -1);
1794 // Make Module Description
1795 dmtnModuleDescription
= new IDefaultMutableTreeNode("ModuleDescription", IDefaultMutableTreeNode
.MODULE
, -1);
1797 if (this.vModuleList
.size() > 0) {
1798 for (int index
= 0; index
< this.vModuleList
.size(); index
++) {
1799 dmtnModuleDescription
.add(new IDefaultMutableTreeNode(this.vModuleList
.elementAt(index
).getName(),
1800 IDefaultMutableTreeNode
.MSA_HEADER
, false,
1801 this.vModuleList
.elementAt(index
)));
1805 // Make Package Description
1806 dmtnPackageDescription
= new IDefaultMutableTreeNode("PackageDescription", IDefaultMutableTreeNode
.PACKAGE
, -1);
1807 if (this.vPackageList
.size() > 0) {
1808 for (int index
= 0; index
< this.vPackageList
.size(); index
++) {
1809 dmtnPackageDescription
.add(new IDefaultMutableTreeNode(this.vPackageList
.elementAt(index
).getName(),
1810 IDefaultMutableTreeNode
.SPD_HEADER
, false,
1811 this.vPackageList
.elementAt(index
)));
1815 // Make Platform Description
1816 dmtnPlatformDescription
= new IDefaultMutableTreeNode("PlatformDescription", IDefaultMutableTreeNode
.PLATFORM
,
1818 if (this.vPlatformList
.size() > 0) {
1819 for (int index
= 0; index
< this.vPlatformList
.size(); index
++) {
1820 dmtnPlatformDescription
.add(new IDefaultMutableTreeNode(this.vPlatformList
.elementAt(index
).getName(),
1821 IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
,
1822 false, this.vPlatformList
.elementAt(index
)));
1826 dmtnRoot
.add(dmtnModuleDescription
);
1827 dmtnRoot
.add(dmtnPackageDescription
);
1828 dmtnRoot
.add(dmtnPlatformDescription
);
1829 iTree
= new ITree(dmtnRoot
);
1830 iTree
.addMouseListener(this);
1831 jScrollPaneTree
.setViewportView(iTree
);
1835 * @see java.awt.event.WindowListener#windowClosing(java.awt.event.WindowEvent)
1837 * Override windowClosing to popup warning message to confirm quit
1840 public void windowClosing(WindowEvent arg0
) {
1845 * @see java.awt.event.MouseListener#mouseClicked(java.awt.event.MouseEvent)
1847 * Override mouseClicked to check if need display popup menu
1850 public void mouseClicked(MouseEvent arg0
) {
1851 if (arg0
.getButton() == MouseEvent
.BUTTON1
) {
1853 if (arg0
.getButton() == MouseEvent
.BUTTON3
) {
1856 // When double click
1858 if (arg0
.getClickCount() == 2) {
1859 doubleClickModuleTreeNode();
1863 public void mouseEntered(MouseEvent arg0
) {
1864 // TODO Auto-generated method stub
1867 public void mouseExited(MouseEvent arg0
) {
1868 // TODO Auto-generated method stub
1871 public void mousePressed(MouseEvent arg0
) {
1872 // TODO Auto-generated method stub
1875 public void mouseReleased(MouseEvent arg0
) {
1876 // TODO Auto-generated method stub
1880 Remove all Internal Frame of Module Desktop Pane
1883 private void cleanDesktopPaneModule() {
1884 if (jDesktopPaneModule
!= null) {
1885 JInternalFrame
[] iif
= this.jDesktopPaneModule
.getAllFrames();
1886 for (int index
= 0; index
< iif
.length
; index
++) {
1887 iif
[index
].dispose();
1893 Remove all Internal Frame of package Desktop Pane
1896 private void cleanDesktopPanePackage() {
1897 if (jDesktopPanePlatform
!= null) {
1898 JInternalFrame
[] iif
= this.jDesktopPanePackage
.getAllFrames();
1899 for (int index
= 0; index
< iif
.length
; index
++) {
1900 iif
[index
].dispose();
1906 Remove all Internal Frame of platform Desktop Pane
1909 private void cleanDesktopPanePlatform() {
1910 if (jDesktopPanePlatform
!= null) {
1911 JInternalFrame
[] iif
= this.jDesktopPanePlatform
.getAllFrames();
1912 for (int index
= 0; index
< iif
.length
; index
++) {
1913 iif
[index
].dispose();
1919 Remove all Internal Frame of all Desktop Panes
1922 private void cleanDesktopPane() {
1923 cleanDesktopPaneModule();
1924 cleanDesktopPanePackage();
1925 cleanDesktopPanePlatform();
1929 Set file filter as input ext
1935 private int getNewFilePath(String ext
) {
1936 JFileChooser fc
= new JFileChooser(Workspace
.getCurrentWorkspace());
1937 fc
.setAcceptAllFileFilterUsed(false);
1938 fc
.addChoosableFileFilter(new IFileFilter(ext
));
1939 return fc
.showSaveDialog(new JPanel());
1945 @param path input file path
1948 private void openModule(String path
) {
1949 ModuleSurfaceAreaDocument
.ModuleSurfaceArea msa
= null;
1951 msa
= OpenFile
.openMsaFile(path
);
1952 } catch (IOException e
) {
1953 Log
.err("Open Module Surface Area " + path
, e
.getMessage());
1955 } catch (XmlException e
) {
1956 Log
.err("Open Module Surface Area " + path
, e
.getMessage());
1958 } catch (Exception e
) {
1959 Log
.err("Open Module Surface Area " + path
, "Invalid file type");
1962 Identification id
= new Identification(msa
.getMsaHeader().getModuleName(), msa
.getMsaHeader().getGuidValue(),
1963 msa
.getMsaHeader().getVersion(), path
);
1965 // Generate module id
1967 PackageIdentification pid
= wt
.getPackageIdByModuleId(id
);
1970 // To judge if the module existed in vModuleList
1971 // If not, add it to vModuleList
1973 boolean isFind
= false;
1974 for (int index
= 0; index
< vModuleList
.size(); index
++) {
1975 if (vModuleList
.elementAt(index
).equals(id
)) {
1981 vModuleList
.addElement(new ModuleIdentification(id
, pid
));
1983 // Add new MsaHeader node to the tree
1985 IDefaultMutableTreeNode node
= new IDefaultMutableTreeNode(vModuleList
.lastElement().getName(),
1986 IDefaultMutableTreeNode
.MSA_HEADER
, true,
1987 vModuleList
.lastElement());
1988 iTree
.addNode(dmtnModuleDescription
, node
);
1992 // The module is not in existing packages
1994 Log
.err("The module hasn't been added to any package of current workspace!");
1998 // Make the node selected
2000 iTree
.setSelectionPath(iTree
.getPathOfNode(iTree
.getNodeById(this.dmtnModuleDescription
, id
,
2001 IDefaultMutableTreeNode
.MSA_HEADER
)));
2003 // Update opening Module list information
2005 if (!openingModuleList
.existsModule(id
)) {
2007 // Insert sub node of module
2009 insertModuleTreeNode(id
);
2010 iTree
.getSelectNode().setOpening(true);
2013 // Update opening module list
2015 openingModuleList
.insertToOpeningModuleList(id
, msa
);
2016 openingModuleList
.setTreePathById(id
, iTree
.getSelectionPath());
2019 // Show msa header in editor panel
2021 showModuleElement(IDefaultMutableTreeNode
.MSA_HEADER
, openingModuleList
.getOpeningModuleById(id
));
2022 this.currentOpeningModuleIndex
= openingModuleList
.findIndexOfListById(id
);
2028 @param path input file path
2031 private void openPackage(String path
) {
2032 PackageSurfaceAreaDocument
.PackageSurfaceArea spd
= null;
2034 spd
= OpenFile
.openSpdFile(path
);
2035 } catch (IOException e
) {
2036 Log
.err("Open Package Surface Area " + path
, e
.getMessage());
2038 } catch (XmlException e
) {
2039 Log
.err("Open Package Surface Area " + path
, e
.getMessage());
2041 } catch (Exception e
) {
2042 Log
.err("Open Package Surface Area " + path
, "Invalid file type");
2045 Identification id
= new Identification(spd
.getSpdHeader().getPackageName(), spd
.getSpdHeader().getGuidValue(),
2046 spd
.getSpdHeader().getVersion(), path
);
2048 // To judge if the package existed in vPackageList
2049 // If not, add it to vPackageList
2051 boolean isFind
= false;
2052 for (int index
= 0; index
< vPackageList
.size(); index
++) {
2053 if (vPackageList
.elementAt(index
).equals(id
)) {
2060 // The module is not in existing packages
2062 Log
.err("The package hasn't been added to current workspace!");
2067 // Make the node selected
2069 iTree
.setSelectionPath(iTree
.getPathOfNode(iTree
.getNodeById(this.dmtnPackageDescription
, id
,
2070 IDefaultMutableTreeNode
.SPD_HEADER
)));
2072 // Update opening package list information
2074 if (!openingPackageList
.existsPackage(id
)) {
2076 // Insert sub node of module
2078 insertPackageTreeNode(id
);
2079 iTree
.getSelectNode().setOpening(true);
2082 // Update opening module list
2084 openingPackageList
.insertToOpeningPackageList(id
, spd
);
2085 openingPackageList
.setTreePathById(id
, iTree
.getSelectionPath());
2088 // Show spd header in editor panel
2090 showPackageElement(IDefaultMutableTreeNode
.SPD_HEADER
, openingPackageList
.getOpeningPackageById(id
));
2091 this.currentOpeningPackageIndex
= openingPackageList
.findIndexOfListById(id
);
2097 @param path input file path
2100 private void openPlatform(String path
) {
2101 PlatformSurfaceAreaDocument
.PlatformSurfaceArea fpd
= null;
2103 fpd
= OpenFile
.openFpdFile(path
);
2104 } catch (IOException e
) {
2105 Log
.err("Open Platform Surface Area " + path
, e
.getMessage());
2107 } catch (XmlException e
) {
2108 Log
.err("Open Platform Surface Area " + path
, e
.getMessage());
2110 } catch (Exception e
) {
2111 Log
.err("Open Platform Surface Area " + path
, "Invalid file type");
2114 Identification id
= new Identification(fpd
.getPlatformHeader().getPlatformName(), fpd
.getPlatformHeader()
2116 fpd
.getPlatformHeader().getVersion(), path
);
2118 // To judge if the platform existed in vPlatformList
2119 // If not, add it to vPlatformList
2121 boolean isFind
= false;
2122 for (int index
= 0; index
< vPlatformList
.size(); index
++) {
2123 if (vPlatformList
.elementAt(index
).equals(id
)) {
2130 // The module is not in existing packages
2132 Log
.err("The platform hasn't been added to current workspace!");
2137 // Make the node selected
2139 iTree
.setSelectionPath(iTree
.getPathOfNode(iTree
.getNodeById(this.dmtnPlatformDescription
, id
,
2140 IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
)));
2142 // Update opening package list information
2144 if (!openingPlatformList
.existsPlatform(id
)) {
2146 // Insert sub node of module
2148 insertPlatformTreeNode(id
);
2149 iTree
.getSelectNode().setOpening(true);
2152 // Update opening module list
2154 openingPlatformList
.insertToOpeningPlatformList(id
, fpd
);
2155 openingPlatformList
.setTreePathById(id
, iTree
.getSelectionPath());
2158 // Show fpd header in editor panel
2160 showPlatformElement(IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
, openingPlatformList
.getOpeningPlatformById(id
));
2161 this.currentOpeningPlatformIndex
= openingPlatformList
.findIndexOfListById(id
);
2168 private void saveModule(int index
) {
2169 OpeningModuleType omt
= openingModuleList
.getOpeningModuleByIndex(index
);
2171 if (getNewFilePath(DataType
.MODULE_SURFACE_AREA_EXT
) != JFileChooser
.APPROVE_OPTION
) {
2176 SaveFile
.saveMsaFile(omt
.getId().getPath(), omt
.getXmlMsa());
2177 openingModuleList
.setNew(omt
.getId(), false);
2178 openingModuleList
.setModuleSaved(omt
.getId(), true);
2179 } catch (Exception e
) {
2180 Log
.err("Save Module", e
.getMessage());
2188 private void savePackage(int index
) {
2189 OpeningPackageType opt
= openingPackageList
.getOpeningPackageByIndex(index
);
2191 if (getNewFilePath(DataType
.PACKAGE_SURFACE_AREA_EXT
) != JFileChooser
.APPROVE_OPTION
) {
2196 SaveFile
.saveSpdFile(opt
.getId().getPath(), opt
.getXmlSpd());
2197 openingPackageList
.setNew(opt
.getId(), false);
2198 openingPackageList
.setPackageSaved(opt
.getId(), true);
2199 } catch (Exception e
) {
2200 Log
.err("Save Package", e
.getMessage());
2208 private void savePlatform(int index
) {
2209 OpeningPlatformType opt
= openingPlatformList
.getOpeningPlatformByIndex(index
);
2211 if (getNewFilePath(DataType
.PACKAGE_SURFACE_AREA_EXT
) != JFileChooser
.APPROVE_OPTION
) {
2216 SaveFile
.saveFpdFile(opt
.getId().getPath(), opt
.getXmlFpd());
2217 openingPlatformList
.setNew(opt
.getId(), false);
2218 openingPlatformList
.setPlatformSaved(opt
.getId(), true);
2219 } catch (Exception e
) {
2220 Log
.err("Save Package", e
.getMessage());
2224 public void componentHidden(ComponentEvent arg0
) {
2225 // TODO Auto-generated method stub
2229 public void componentMoved(ComponentEvent arg0
) {
2230 // TODO Auto-generated method stub
2234 public void componentResized(ComponentEvent arg0
) {
2235 this.jSplitPane
.setSize(this.getWidth() - DataType
.MAIN_FRAME_WIDTH_SPACING
,
2236 this.getHeight() - DataType
.MAIN_FRAME_HEIGHT_SPACING
);
2237 this.jSplitPane
.validate();
2238 resizeDesktopPanel();
2241 public void componentShown(ComponentEvent arg0
) {
2242 // TODO Auto-generated method stub
2247 Resize JDesktopPanel
2250 private void resizeDesktopPanel() {
2251 resizeDesktopPanel(this.jDesktopPaneModule
);
2252 resizeDesktopPanel(this.jDesktopPanePackage
);
2253 resizeDesktopPanel(this.jDesktopPanePlatform
);
2257 Resize JDesktopPanel
2260 private void resizeDesktopPanel(JDesktopPane jdk
) {
2261 JInternalFrame
[] iif
= jdk
.getAllFrames();
2262 for (int index
= 0; index
< iif
.length
; index
++) {
2263 iif
[index
].setSize(jdk
.getWidth(), jdk
.getHeight());
2267 private void getCompontentsFromFrameworkDatabase() {
2268 this.vModuleList
= wt
.getAllModules();
2269 this.vPackageList
= wt
.getAllPackages();
2270 this.vPlatformList
= wt
.getAllPlatforms();
2273 private void insertModuleTreeNode(Identification id
) {
2274 iTree
.addNode(new IDefaultMutableTreeNode("Module Definitions", IDefaultMutableTreeNode
.MSA_MODULEDEFINITIONS
,
2276 iTree
.addNode(new IDefaultMutableTreeNode("Library Class Definitions",
2277 IDefaultMutableTreeNode
.MSA_LIBRARYCLASSDEFINITIONS
, true, id
));
2278 iTree
.addNode(new IDefaultMutableTreeNode("Source Files", IDefaultMutableTreeNode
.MSA_SOURCEFILES
, true, id
));
2279 iTree
.addNode(new IDefaultMutableTreeNode("Package Dependencies",
2280 IDefaultMutableTreeNode
.MSA_PACKAGEDEPENDENCIES
, true, id
));
2281 iTree
.addNode(new IDefaultMutableTreeNode("Protocols", IDefaultMutableTreeNode
.MSA_PROTOCOLS
, true, id
));
2282 iTree
.addNode(new IDefaultMutableTreeNode("Events", IDefaultMutableTreeNode
.MSA_EVENTS
, true, id
));
2283 iTree
.addNode(new IDefaultMutableTreeNode("Hobs", IDefaultMutableTreeNode
.MSA_HOBS
, true, id
));
2284 iTree
.addNode(new IDefaultMutableTreeNode("Ppis", IDefaultMutableTreeNode
.MSA_PPIS
, true, id
));
2285 iTree
.addNode(new IDefaultMutableTreeNode("Variables", IDefaultMutableTreeNode
.MSA_VARIABLES
, true, id
));
2286 iTree
.addNode(new IDefaultMutableTreeNode("Boot Modes", IDefaultMutableTreeNode
.MSA_BOOTMODES
, true, id
));
2287 iTree
.addNode(new IDefaultMutableTreeNode("System Tables", IDefaultMutableTreeNode
.MSA_SYSTEMTABLES
, true, id
));
2288 iTree
.addNode(new IDefaultMutableTreeNode("Data Hubs", IDefaultMutableTreeNode
.MSA_DATAHUBS
, true, id
));
2289 iTree
.addNode(new IDefaultMutableTreeNode("Hii Packages", IDefaultMutableTreeNode
.MSA_HIIPACKAGES
, true, id
));
2290 iTree
.addNode(new IDefaultMutableTreeNode("Guids", IDefaultMutableTreeNode
.MSA_GUIDS
, true, id
));
2291 iTree
.addNode(new IDefaultMutableTreeNode("Externs", IDefaultMutableTreeNode
.MSA_EXTERNS
, true, id
));
2292 iTree
.addNode(new IDefaultMutableTreeNode("PcdCoded", IDefaultMutableTreeNode
.MSA_PCDS
, true, id
));
2295 private void insertPackageTreeNode(Identification id
) {
2296 iTree
.addNode(new IDefaultMutableTreeNode("Package Definitions",
2297 IDefaultMutableTreeNode
.SPD_PACKAGEDEFINITIONS
, true, id
));
2298 iTree
.addNode(new IDefaultMutableTreeNode("Library Class Declarations",
2299 IDefaultMutableTreeNode
.SPD_LIBRARYCLASSDECLARATIONS
, true, id
));
2300 iTree
.addNode(new IDefaultMutableTreeNode("Msa Files", IDefaultMutableTreeNode
.SPD_MSAFILES
, false, id
));
2301 iTree
.addNode(new IDefaultMutableTreeNode("Package Headers", IDefaultMutableTreeNode
.SPD_PACKAGEHEADERS
, true,
2303 iTree
.addNode(new IDefaultMutableTreeNode("Guid Declarations", IDefaultMutableTreeNode
.SPD_GUIDDECLARATIONS
,
2305 iTree
.addNode(new IDefaultMutableTreeNode("Protocol Declarations",
2306 IDefaultMutableTreeNode
.SPD_PROTOCOLDECLARATIONS
, true, id
));
2307 iTree
.addNode(new IDefaultMutableTreeNode("Ppi Declarations", IDefaultMutableTreeNode
.SPD_PPIDECLARATIONS
,
2309 iTree
.addNode(new IDefaultMutableTreeNode("Pcd Declarations", IDefaultMutableTreeNode
.SPD_PCDDECLARATIONS
,
2313 private void insertPlatformTreeNode(Identification id
) {
2314 iTree
.addNode(new IDefaultMutableTreeNode("Platform Definitions", IDefaultMutableTreeNode
.FPD_PLATFORMDEFINITIONS
, true, id
));
2315 iTree
.addNode(new IDefaultMutableTreeNode("Flash", IDefaultMutableTreeNode
.FPD_FLASH
, true, id
));
2316 iTree
.addNode(new IDefaultMutableTreeNode("Framework Modules", IDefaultMutableTreeNode
.FPD_FRAMEWORKMODULES
,
2318 iTree
.addNode(new IDefaultMutableTreeNode("Pcd Dynamic Build Declarations",
2319 IDefaultMutableTreeNode
.FPD_PCDDYNAMICBUILDDECLARATIONS
, true, id
));
2320 iTree
.addNode(new IDefaultMutableTreeNode("Build Options", IDefaultMutableTreeNode
.FPD_BUILDOPTIONS
, true, id
));
2324 Operate when double click a tree node
2327 private void doubleClickModuleTreeNode() {
2328 Identification id
= iTree
.getSelectNode().getId();
2329 int intCategory
= iTree
.getSelectCategory();
2332 // If the node is not opened yet
2333 // Insert top level elements first
2335 //if (intCategory == IDefaultMutableTreeNode.MSA_HEADER || intCategory == IDefaultMutableTreeNode.SPD_MSAFILES) {
2336 if (intCategory
== IDefaultMutableTreeNode
.MSA_HEADER
) {
2338 if (intCategory
== IDefaultMutableTreeNode
.MSA_HEADER
) {
2339 path
= iTree
.getSelectNode().getId().getPath();
2341 if (intCategory
== IDefaultMutableTreeNode
.SPD_MSAFILES
) {
2342 path
= iTree
.getSelectNode().getId().getPath();
2347 if (intCategory
== IDefaultMutableTreeNode
.SPD_HEADER
) {
2348 path
= iTree
.getSelectNode().getId().getPath();
2352 if (intCategory
== IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
) {
2353 path
= iTree
.getSelectNode().getId().getPath();
2358 // Show editor panel
2360 if (intCategory
>= IDefaultMutableTreeNode
.MSA_HEADER
&& intCategory
< IDefaultMutableTreeNode
.SPD_HEADER
) {
2361 showModuleElement(intCategory
, openingModuleList
.getOpeningModuleById(id
));
2362 this.currentOpeningModuleIndex
= openingModuleList
.findIndexOfListById(id
);
2364 if (intCategory
>= IDefaultMutableTreeNode
.SPD_HEADER
2365 && intCategory
< IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
) {
2366 showPackageElement(intCategory
, openingPackageList
.getOpeningPackageById(id
));
2367 this.currentOpeningPackageIndex
= openingPackageList
.findIndexOfListById(id
);
2369 if (intCategory
>= IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
) {
2370 showPlatformElement(intCategory
, openingPlatformList
.getOpeningPlatformById(id
));
2371 this.currentOpeningPlatformIndex
= openingPlatformList
.findIndexOfListById(id
);
2376 Show content of editor panel via selected element
2382 private void showPlatformElement(int elementType
, OpeningPlatformType fpd
) {
2383 this.cleanDesktopPanePlatform();
2385 switch (elementType
) {
2386 case IDefaultMutableTreeNode
.FPD_PLATFORMDEFINITIONS
:
2387 FpdPlatformDefs frmFpdPlatformDefs
= new FpdPlatformDefs(fpd
);
2388 getJDesktopPanePlatform().add(frmFpdPlatformDefs
, 1);
2390 case IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
:
2391 FpdHeader frmFpdHeader
= new FpdHeader(fpd
);
2392 getJDesktopPanePlatform().add(frmFpdHeader
, 1);
2394 case IDefaultMutableTreeNode
.FPD_FLASH
:
2395 FpdFlash frmFpdFlash
= new FpdFlash(fpd
);
2396 getJDesktopPanePlatform().add(frmFpdFlash
, 1);
2398 case IDefaultMutableTreeNode
.FPD_FRAMEWORKMODULES
:
2399 FpdFrameworkModules frmFpdFrameworkModules
= new FpdFrameworkModules(fpd
);
2400 getJDesktopPanePlatform().add(frmFpdFrameworkModules
, 1);
2402 case IDefaultMutableTreeNode
.FPD_PCDDYNAMICBUILDDECLARATIONS
:
2403 FpdDynamicPcdBuildDefinitions frmFpdDynamicPcdBuildDefinitions
= new FpdDynamicPcdBuildDefinitions(fpd
);
2404 getJDesktopPanePlatform().add(frmFpdDynamicPcdBuildDefinitions
, 1);
2406 case IDefaultMutableTreeNode
.FPD_BUILDOPTIONS
:
2407 FpdBuildOptions frmFpdBuildOptions
= new FpdBuildOptions(fpd
);
2408 getJDesktopPanePlatform().add(frmFpdBuildOptions
, 1);
2411 this.jTabbedPaneEditor
.setSelectedIndex(2);
2412 resizeDesktopPanel();
2416 Show content of editor panel via selected element
2422 private void showPackageElement(int elementType
, OpeningPackageType spd
) {
2423 this.cleanDesktopPanePackage();
2424 Tools
.dirForNewSpd
= spd
.getId().getPath();
2425 switch (elementType
) {
2426 case IDefaultMutableTreeNode
.SPD_HEADER
:
2427 SpdHeader frmSpdHeader
= new SpdHeader(spd
);
2428 getJDesktopPanePackage().add(frmSpdHeader
, 1);
2430 case IDefaultMutableTreeNode
.SPD_PACKAGEDEFINITIONS
:
2431 SpdPackageDefinitions frmSpdPackageDefinitions
= new SpdPackageDefinitions(spd
);
2432 getJDesktopPanePackage().add(frmSpdPackageDefinitions
, 1);
2434 case IDefaultMutableTreeNode
.SPD_LIBRARYCLASSDECLARATIONS
:
2435 SpdLibClassDecls frmSlcd
= new SpdLibClassDecls(spd
);
2436 getJDesktopPanePackage().add(frmSlcd
, 1);
2438 case IDefaultMutableTreeNode
.SPD_MSAFILES
:
2439 SpdMsaFiles frmSmf
= new SpdMsaFiles(spd
);
2440 getJDesktopPanePackage().add(frmSmf
, 1);
2442 case IDefaultMutableTreeNode
.SPD_PACKAGEHEADERS
:
2443 SpdPackageHeaders frmSph
= new SpdPackageHeaders(spd
);
2444 getJDesktopPanePackage().add(frmSph
, 1);
2446 case IDefaultMutableTreeNode
.SPD_GUIDDECLARATIONS
:
2447 SpdGuidDecls frmSgd
= new SpdGuidDecls(spd
);
2448 getJDesktopPanePackage().add(frmSgd
, 1);
2450 case IDefaultMutableTreeNode
.SPD_PROTOCOLDECLARATIONS
:
2451 SpdProtocolDecls frmSprod
= new SpdProtocolDecls(spd
);
2452 getJDesktopPanePackage().add(frmSprod
, 1);
2454 case IDefaultMutableTreeNode
.SPD_PPIDECLARATIONS
:
2455 SpdPpiDecls frmSppid
= new SpdPpiDecls(spd
);
2456 getJDesktopPanePackage().add(frmSppid
, 1);
2458 case IDefaultMutableTreeNode
.SPD_PCDDECLARATIONS
:
2459 SpdPcdDefs frmSpcdd
= new SpdPcdDefs(spd
);
2460 getJDesktopPanePackage().add(frmSpcdd
, 1);
2463 this.jTabbedPaneEditor
.setSelectedIndex(1);
2464 resizeDesktopPanel();
2468 Show content of editor panel via selected element
2474 private void showModuleElement(int elementType
, OpeningModuleType msa
) {
2475 this.cleanDesktopPaneModule();
2476 switch (elementType
) {
2477 case IDefaultMutableTreeNode
.MSA_HEADER
:
2478 MsaHeader frmMsaHeader
= new MsaHeader(msa
);
2479 getJDesktopPaneModule().add(frmMsaHeader
, 1);
2481 case IDefaultMutableTreeNode
.MSA_MODULEDEFINITIONS
:
2482 ModuleDefinitions frmMd
= new ModuleDefinitions(msa
);
2483 getJDesktopPaneModule().add(frmMd
, 1);
2485 case IDefaultMutableTreeNode
.MSA_LIBRARYCLASSDEFINITIONS
:
2486 ModuleLibraryClassDefinitions frmMlcd
= new ModuleLibraryClassDefinitions(msa
);
2487 getJDesktopPaneModule().add(frmMlcd
, 1);
2489 case IDefaultMutableTreeNode
.MSA_PACKAGEDEPENDENCIES
:
2490 ModulePackageDependencies frmMpd
= new ModulePackageDependencies(msa
);
2491 getJDesktopPaneModule().add(frmMpd
, 1);
2493 case IDefaultMutableTreeNode
.MSA_SOURCEFILES
:
2494 ModuleSourceFiles frmMsf
= new ModuleSourceFiles(msa
);
2495 getJDesktopPaneModule().add(frmMsf
, 1);
2497 case IDefaultMutableTreeNode
.MSA_PROTOCOLS
:
2498 ModuleProtocols frmMp
= new ModuleProtocols(msa
);
2499 getJDesktopPaneModule().add(frmMp
, 1);
2501 case IDefaultMutableTreeNode
.MSA_EVENTS
:
2502 ModuleEvents frmMe
= new ModuleEvents(msa
);
2503 getJDesktopPaneModule().add(frmMe
, 1);
2505 case IDefaultMutableTreeNode
.MSA_HOBS
:
2506 ModuleHobs frmMh
= new ModuleHobs(msa
);
2507 getJDesktopPaneModule().add(frmMh
, 1);
2509 case IDefaultMutableTreeNode
.MSA_PPIS
:
2510 ModulePpis frmMpp
= new ModulePpis(msa
);
2511 getJDesktopPaneModule().add(frmMpp
, 1);
2513 case IDefaultMutableTreeNode
.MSA_VARIABLES
:
2514 ModuleVariables frmMv
= new ModuleVariables(msa
);
2515 getJDesktopPaneModule().add(frmMv
, 1);
2517 case IDefaultMutableTreeNode
.MSA_BOOTMODES
:
2518 ModuleBootModes frmMbm
= new ModuleBootModes(msa
);
2519 getJDesktopPaneModule().add(frmMbm
, 1);
2521 case IDefaultMutableTreeNode
.MSA_SYSTEMTABLES
:
2522 ModuleSystemTables frmMst
= new ModuleSystemTables(msa
);
2523 getJDesktopPaneModule().add(frmMst
, 1);
2525 case IDefaultMutableTreeNode
.MSA_DATAHUBS
:
2526 ModuleDataHubs frmMdh
= new ModuleDataHubs(msa
);
2527 getJDesktopPaneModule().add(frmMdh
, 1);
2529 case IDefaultMutableTreeNode
.MSA_HIIPACKAGES
:
2530 ModuleHiiPackages frmMf
= new ModuleHiiPackages(msa
);
2531 getJDesktopPaneModule().add(frmMf
, 1);
2533 case IDefaultMutableTreeNode
.MSA_GUIDS
:
2534 ModuleGuids frmGuid
= new ModuleGuids(msa
);
2535 getJDesktopPaneModule().add(frmGuid
, 1);
2537 case IDefaultMutableTreeNode
.MSA_EXTERNS
:
2538 ModuleExterns frmMex
= new ModuleExterns(msa
);
2539 getJDesktopPaneModule().add(frmMex
, 1);
2541 case IDefaultMutableTreeNode
.MSA_PCDS
:
2542 ModulePCDs frmPcd
= new ModulePCDs(msa
);
2543 getJDesktopPaneModule().add(frmPcd
, 1);
2546 this.jTabbedPaneEditor
.setSelectedIndex(0);
2547 resizeDesktopPanel();
2551 // Define operations of menu
2557 private void fileNew() {
2560 // Selece new file type
2562 NewFileChooser nfc
= new NewFileChooser(this, true);
2563 result
= nfc
.showDialog();
2565 if (result
== DataType
.RETURN_TYPE_CANCEL
) {
2568 } else if (result
== DataType
.RETURN_TYPE_MODULE_SURFACE_AREA
) {
2572 SelectModuleBelong smb
= new SelectModuleBelong(this, true, result
);
2573 result
= smb
.showDialog();
2575 if (result
== DataType
.RETURN_TYPE_CANCEL
) {
2579 } else if (result
== DataType
.RETURN_TYPE_OK
) {
2580 PackageSurfaceAreaDocument
.PackageSurfaceArea psa
= null;
2581 if (this.openingPackageList
.existsPackage(smb
.getMid().getPackageId())) {
2582 psa
= openingPackageList
.getPackageSurfaceAreaFromId(smb
.getMid().getPackageId());
2585 wt
.addModuleToPackage(smb
.getMid(), psa
);
2586 } catch (IOException e
) {
2587 Log
.err("Upddate MsaFiles of Package", e
.getMessage());
2588 e
.printStackTrace();
2590 } catch (XmlException e
) {
2591 Log
.err("Upddate MsaFiles of Package", e
.getMessage());
2592 e
.printStackTrace();
2594 } catch (Exception e
) {
2595 Log
.err("Upddate MsaFiles of Package", e
.getMessage());
2596 e
.printStackTrace();
2599 this.openModule(smb
.getMid().getPath());
2601 } else if (result
== DataType
.RETURN_TYPE_PACKAGE_SURFACE_AREA
) {
2605 SelectModuleBelong smb
= new SelectModuleBelong(this, true, result
);
2606 result
= smb
.showDialog();
2608 if (result
== DataType
.RETURN_TYPE_CANCEL
) {
2612 } else if (result
== DataType
.RETURN_TYPE_OK
) {
2614 wt
.addPackageToDatabase(smb
.getPid());
2615 } catch (Exception e
) {
2616 // TODO Auto-generated catch block
2617 e
.printStackTrace();
2619 vPackageList
.addElement(smb
.getPid());
2621 // Add new SpdHeader node to the tree
2623 IDefaultMutableTreeNode node
= new IDefaultMutableTreeNode(vPackageList
.lastElement().getName(),
2624 IDefaultMutableTreeNode
.SPD_HEADER
, true,
2625 vPackageList
.lastElement());
2626 iTree
.addNode(dmtnPackageDescription
, node
);
2627 this.openPackage(smb
.getPid().getPath());
2629 } else if (result
== DataType
.RETURN_TYPE_PLATFORM_SURFACE_AREA
) {
2631 // To new a platform
2633 SelectModuleBelong smb
= new SelectModuleBelong(this, true, result
);
2634 result
= smb
.showDialog();
2636 if (result
== DataType
.RETURN_TYPE_CANCEL
) {
2640 } else if (result
== DataType
.RETURN_TYPE_OK
) {
2642 wt
.addPlatformToDatabase(smb
.getFid());
2643 } catch (Exception e
) {
2644 // TODO Auto-generated catch block
2645 e
.printStackTrace();
2647 vPlatformList
.addElement(smb
.getFid());
2649 // Add new SpdHeader node to the tree
2651 IDefaultMutableTreeNode node
= new IDefaultMutableTreeNode(vPlatformList
.lastElement().getName(),
2652 IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
,
2653 true, vPlatformList
.lastElement());
2654 iTree
.addNode(dmtnPlatformDescription
, node
);
2655 this.openPlatform(smb
.getFid().getPath());
2664 private void open() {
2665 JFileChooser fc
= new JFileChooser(Workspace
.getCurrentWorkspace());
2666 fc
.setAcceptAllFileFilterUsed(false);
2667 IFileFilter iffM
= new IFileFilter(DataType
.MODULE_SURFACE_AREA_EXT
);
2668 IFileFilter iffP
= new IFileFilter(DataType
.PACKAGE_SURFACE_AREA_EXT
);
2669 IFileFilter iffF
= new IFileFilter(DataType
.PLATFORM_SURFACE_AREA_EXT
);
2670 fc
.addChoosableFileFilter(iffM
);
2671 fc
.addChoosableFileFilter(iffP
);
2672 fc
.addChoosableFileFilter(iffF
);
2673 fc
.setFileFilter(iffM
);
2675 int result
= fc
.showOpenDialog(new JPanel());
2677 if (result
== JFileChooser
.APPROVE_OPTION
) {
2678 String path
= fc
.getSelectedFile().getPath();
2679 String match
= path
.substring(path
.length() - 4);
2680 if (match
.equals(DataType
.FILE_EXT_SEPARATOR
+ DataType
.MODULE_SURFACE_AREA_EXT
)) {
2682 } else if (match
.equals(DataType
.FILE_EXT_SEPARATOR
+ DataType
.PACKAGE_SURFACE_AREA_EXT
)) {
2684 } else if (match
.equals(DataType
.FILE_EXT_SEPARATOR
+ DataType
.PLATFORM_SURFACE_AREA_EXT
)) {
2694 private void close() {
2695 switch (this.jTabbedPaneEditor
.getSelectedIndex()) {
2697 // Current is module
2700 if (this.currentOpeningModuleIndex
> -1) {
2701 if (!openingModuleList
.getModuleSaved(currentOpeningModuleIndex
)) {
2702 int result
= showSaveDialog();
2703 if (result
== JOptionPane
.YES_OPTION
) {
2706 if (result
== JOptionPane
.NO_OPTION
) {
2709 if (result
== JOptionPane
.CANCEL_OPTION
) {
2713 iTree
.removeNodeChildrenByPath(openingModuleList
.getTreePathByIndex(currentOpeningModuleIndex
));
2714 this.openingModuleList
.removeFromOpeningModuleListByIndex(this.currentOpeningModuleIndex
);
2715 this.cleanDesktopPaneModule();
2716 this.currentOpeningModuleIndex
= -1;
2720 // Current is package
2723 if (this.currentOpeningPackageIndex
> -1) {
2724 if (!openingPackageList
.getPackageSaved(currentOpeningPackageIndex
)) {
2725 int result
= showSaveDialog();
2726 if (result
== JOptionPane
.YES_OPTION
) {
2729 if (result
== JOptionPane
.NO_OPTION
) {
2732 if (result
== JOptionPane
.CANCEL_OPTION
) {
2736 iTree
.removeNodeChildrenByPath(openingPackageList
.getTreePathByIndex(currentOpeningPackageIndex
));
2737 this.openingPackageList
.removeFromOpeningPackageListByIndex(this.currentOpeningPackageIndex
);
2738 this.cleanDesktopPanePackage();
2739 this.currentOpeningPackageIndex
= -1;
2743 // Current is platform
2746 if (this.currentOpeningPlatformIndex
> -1) {
2747 if (!openingPlatformList
.getPlatformSaved(currentOpeningPlatformIndex
)) {
2748 int result
= showSaveDialog();
2749 if (result
== JOptionPane
.YES_OPTION
) {
2752 if (result
== JOptionPane
.NO_OPTION
) {
2755 if (result
== JOptionPane
.CANCEL_OPTION
) {
2759 iTree
.removeNodeChildrenByPath(openingPlatformList
.getTreePathByIndex(currentOpeningPlatformIndex
));
2760 this.openingPlatformList
.removeFromOpeningPlatformListByIndex(this.currentOpeningPlatformIndex
);
2761 this.cleanDesktopPanePlatform();
2762 this.currentOpeningPlatformIndex
= -1;
2769 Close all opening files and clean all showing internal frame
2772 private void closeAll() {
2774 if (!openingModuleList
.isSaved() || !openingPackageList
.isSaved() || !openingPlatformList
.isSaved()) {
2775 result
= showSaveDialog();
2777 if (result
== JOptionPane
.YES_OPTION
) {
2780 if (result
== JOptionPane
.NO_OPTION
) {
2783 if (result
== JOptionPane
.CANCEL_OPTION
) {
2786 this.cleanDesktopPane();
2787 this.getCompontentsFromFrameworkDatabase();
2788 openingModuleList
.removeAllFromOpeningModuleList();
2789 openingPackageList
.removeAllFromOpeningPackageList();
2790 openingPlatformList
.removeAllFromOpeningPlatformList();
2791 this.makeEmptyTree();
2795 Save currentModule when press button OK
2798 private void save() {
2799 switch (this.jTabbedPaneEditor
.getSelectedIndex()) {
2801 if (this.currentOpeningModuleIndex
> -1) {
2802 saveModule(this.currentOpeningModuleIndex
);
2806 if (this.currentOpeningPackageIndex
> -1) {
2807 savePackage(this.currentOpeningPackageIndex
);
2811 if (this.currentOpeningPlatformIndex
> -1) {
2812 savePlatform(this.currentOpeningPlatformIndex
);
2818 private void saveAs() {
2822 private void saveAll() {
2826 for (int index
= 0; index
< openingModuleList
.size(); index
++) {
2827 if (!openingModuleList
.getModuleSaved(index
)) {
2833 // Save all packages
2835 for (int index
= 0; index
< openingPackageList
.size(); index
++) {
2836 if (!openingPackageList
.getPackageSaved(index
)) {
2842 // Save all platforms
2844 for (int index
= 0; index
< openingPlatformList
.size(); index
++) {
2845 if (!openingPlatformList
.getPlatformSaved(index
)) {
2846 savePlatform(index
);
2852 To save changed items before exit.
2855 private void exit() {
2857 if (!openingModuleList
.isSaved() || !openingPackageList
.isSaved() || !openingPlatformList
.isSaved()) {
2858 result
= showSaveDialog();
2860 if (result
== JOptionPane
.YES_OPTION
) {
2863 if (result
== JOptionPane
.NO_OPTION
) {
2866 if (result
== JOptionPane
.CANCEL_OPTION
) {
2874 Switch current workspace to others
2877 private void changeWorkspace() {
2878 SwitchWorkspace sw
= new SwitchWorkspace(this, true);
2879 int result
= sw
.showDialog();
2880 if (result
== DataType
.RETURN_TYPE_CANCEL
) {
2882 } else if (result
== DataType
.RETURN_TYPE_OK
) {
2884 // Reinit whole window
2887 this.setTitle(DataType
.PROJECT_NAME
+ " " + DataType
.PROJECT_VERSION
+ " " + "- [" + Workspace
.getCurrentWorkspace() + "]");
2893 Show Tool Chain Configuration Dialog to setup Tool Chain
2896 private void setupToolChainConfiguration() {
2897 ToolChainConfig tcc
= ToolChainConfig
.getInstance();
2905 private void cloneItem() {
2909 // Check if there is any item can be cloned
2911 if (iTree
.getSelectionPath() == null) {
2912 Log
.err("Please select a target to clone!");
2915 int category
= iTree
.getSelectCategory();
2916 Identification id
= iTree
.getSelectNode().getId();
2917 if (category
== IDefaultMutableTreeNode
.MODULE
|| category
== IDefaultMutableTreeNode
.PACKAGE
2918 || category
== IDefaultMutableTreeNode
.PLATFORM
) {
2919 Log
.err("Please select a target to clone!");
2923 if (category
== IDefaultMutableTreeNode
.WORKSPACE
) {
2924 mode
= DataType
.RETURN_TYPE_WORKSPACE
;
2927 if (category
>= IDefaultMutableTreeNode
.MSA_HEADER
&& category
< IDefaultMutableTreeNode
.SPD_HEADER
) {
2928 mode
= DataType
.RETURN_TYPE_MODULE_SURFACE_AREA
;
2930 if (category
>= IDefaultMutableTreeNode
.SPD_HEADER
&& category
< IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
) {
2931 mode
= DataType
.RETURN_TYPE_PACKAGE_SURFACE_AREA
;
2933 if (category
>= IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
) {
2934 mode
= DataType
.RETURN_TYPE_PLATFORM_SURFACE_AREA
;
2937 Clone c
= new Clone(this, true, mode
, id
);
2938 int result
= c
.showDialog();
2940 if (result
== DataType
.RETURN_TYPE_CANCEL
) {
2943 if (result
== DataType
.RETURN_TYPE_WORKSPACE
) {
2944 Tools
.showInformationMessage("Workspace Clone Finished");
2946 if (result
== DataType
.RETURN_TYPE_MODULE_SURFACE_AREA
) {
2947 Tools
.showInformationMessage("Module Surface Area Clone Finished");
2948 vModuleList
.addElement(c
.getMid());
2950 // Add new MsaHeader node to the tree
2952 IDefaultMutableTreeNode node
= new IDefaultMutableTreeNode(vModuleList
.lastElement().getName(),
2953 IDefaultMutableTreeNode
.MSA_HEADER
, true,
2954 vModuleList
.lastElement());
2955 iTree
.addNode(dmtnModuleDescription
, node
);
2957 if (result
== DataType
.RETURN_TYPE_PACKAGE_SURFACE_AREA
) {
2958 Tools
.showInformationMessage("Package Surface Area Clone Finished");
2959 vPackageList
.addElement(c
.getPid());
2961 // Add new SpdHeader node to the tree
2963 IDefaultMutableTreeNode node
= new IDefaultMutableTreeNode(vPackageList
.lastElement().getName(),
2964 IDefaultMutableTreeNode
.SPD_HEADER
, true,
2965 vPackageList
.lastElement());
2966 iTree
.addNode(dmtnPackageDescription
, node
);
2968 if (result
== DataType
.RETURN_TYPE_PLATFORM_SURFACE_AREA
) {
2969 Tools
.showInformationMessage("Platform Surface Area Clone Finished");
2970 vPlatformList
.addElement(c
.getFid());
2972 // Add new SpdHeader node to the tree
2974 IDefaultMutableTreeNode node
= new IDefaultMutableTreeNode(vPlatformList
.lastElement().getName(),
2975 IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
,
2976 true, vPlatformList
.lastElement());
2977 iTree
.addNode(dmtnPlatformDescription
, node
);
2978 //this.openPlatform(c.getFid().getPath());
2980 if (result
== DataType
.RETURN_TYPE_OK
) {
2985 public void valueChanged(TreeSelectionEvent arg0
) {
2986 // TODO Auto-generated method stub
2990 public void menuCanceled(MenuEvent arg0
) {
2991 // TODO Auto-generated method stub
2995 public void menuDeselected(MenuEvent arg0
) {
2996 // TODO Auto-generated method stub
3000 public void menuSelected(MenuEvent arg0
) {
3001 if (arg0
.getSource() == jMenuFile
) {
3003 // Enable close/close all if some files are opened
3005 jMenuItemFileClose
.setEnabled(openingModuleList
.isOpend() || openingPackageList
.isOpend()
3006 || openingPlatformList
.isOpend());
3007 jMenuItemFileCloseAll
.setEnabled(openingModuleList
.isOpend() || openingPackageList
.isOpend()
3008 || openingPlatformList
.isOpend());
3011 // Enable save/save all if some files are changed
3013 jMenuItemFileSave
.setEnabled(!openingModuleList
.isSaved() || !openingPackageList
.isSaved()
3014 || !openingPlatformList
.isSaved());
3015 jMenuItemFileSaveAll
.setEnabled(!openingModuleList
.isSaved() || !openingPackageList
.isSaved()
3016 || !openingPlatformList
.isSaved());
3019 if (arg0
.getSource() == jMenuTools
) {
3021 // Enable clone when select some items
3023 if (iTree
.getSelectionPath() == null) {
3024 jMenuItemToolsClone
.setEnabled(false);
3026 int category
= iTree
.getSelectCategory();
3027 if (category
== IDefaultMutableTreeNode
.MODULE
|| category
== IDefaultMutableTreeNode
.PACKAGE
3028 || category
== IDefaultMutableTreeNode
.PLATFORM
) {
3029 jMenuItemToolsClone
.setEnabled(false);
3031 jMenuItemToolsClone
.setEnabled(true);