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
.Identification
;
53 import org
.tianocore
.frameworkwizard
.common
.Log
;
54 import org
.tianocore
.frameworkwizard
.common
.OpenFile
;
55 import org
.tianocore
.frameworkwizard
.common
.OpeningModuleList
;
56 import org
.tianocore
.frameworkwizard
.common
.OpeningModuleType
;
57 import org
.tianocore
.frameworkwizard
.common
.OpeningPackageList
;
58 import org
.tianocore
.frameworkwizard
.common
.OpeningPackageType
;
59 import org
.tianocore
.frameworkwizard
.common
.OpeningPlatformList
;
60 import org
.tianocore
.frameworkwizard
.common
.OpeningPlatformType
;
61 import org
.tianocore
.frameworkwizard
.common
.SaveFile
;
62 import org
.tianocore
.frameworkwizard
.common
.Tools
;
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
.Identification
.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 String windowTitle
= "FrameworkWizard 1.0 ";
141 private IDefaultMutableTreeNode dmtnRoot
= null;
143 private IDefaultMutableTreeNode dmtnModuleDescription
= null;
145 private IDefaultMutableTreeNode dmtnPackageDescription
= null;
147 private IDefaultMutableTreeNode dmtnPlatformDescription
= null;
149 private JPanel jContentPane
= null;
151 private JMenuBar jMenuBar
= null;
153 private JMenu jMenuFile
= null;
155 private JMenuItem jMenuItemFileNew
= null;
157 private JMenuItem jMenuItemFileSaveAs
= null;
159 private JMenuItem jMenuItemFileExit
= null;
161 private JMenu jMenuEdit
= null;
163 private JDesktopPane jDesktopPaneModule
= null;
165 private JDesktopPane jDesktopPanePackage
= null;
167 private JDesktopPane jDesktopPanePlatform
= null;
169 private JTabbedPane jTabbedPaneTree
= null;
171 private JTabbedPane jTabbedPaneEditor
= null;
173 private IDesktopManager iDesktopManager
= new IDesktopManager();
175 private JScrollPane jScrollPaneTree
= null;
177 private ITree iTree
= null;
179 private JMenu jMenuHelp
= null;
181 private JMenuItem jMenuItemHelpAbout
= null;
183 private JMenuItem jMenuItemEditDelete
= null;
185 private WorkspaceTools wt
= new WorkspaceTools();
187 private JMenuItem jMenuItemFileSave
= null;
189 private JMenuItem jMenuItemFileClose
= null;
191 private JMenu jMenuTools
= null;
193 private JMenu jMenuWindow
= null;
195 private JPanel jPanelOperation
= null;
197 private JButton jButtonOk
= null;
199 private JButton jButtonCancel
= null;
201 private JMenuItem jMenuItemFileOpen
= null;
203 private JMenuItem jMenuItemFileCloseAll
= null;
205 private JMenuItem jMenuItemFileSaveAll
= null;
207 private JMenuItem jMenuItemFilePageSetup
= null;
209 private JMenuItem jMenuItemFilePrint
= null;
211 private JMenuItem jMenuItemFileImport
= null;
213 private JMenuItem jMenuItemFileProperties
= null;
215 private JMenu jMenuFileRecentFiles
= null;
217 private JSplitPane jSplitPane
= null;
219 private JMenuItem jMenuItemEditUndo
= null;
221 private JMenuItem jMenuItemEditRedo
= null;
223 private JMenuItem jMenuItemEditCut
= null;
225 private JMenuItem jMenuItemEditCopy
= null;
227 private JMenuItem jMenuItemEditPaste
= null;
229 private JMenuItem jMenuItemEditSelectAll
= null;
231 private JMenuItem jMenuItemEditFind
= null;
233 private JMenuItem jMenuItemEditFindNext
= null;
235 private JMenu jMenuView
= null;
237 private JMenu jMenuViewToolbars
= null;
239 private JCheckBoxMenuItem jCheckBoxMenuItemViewToolbarsFile
= null;
241 private JCheckBoxMenuItem jCheckBoxMenuItemViewToolbarsEdit
= null;
243 private JCheckBoxMenuItem jCheckBoxMenuItemViewToolbarsWindow
= null;
245 private JMenuItem jMenuItemViewStandard
= null;
247 private JMenuItem jMenuItemViewAdvanced
= null;
249 private JMenu jMenuProject
= null;
251 private JMenuItem jMenuItemProjectAdmin
= null;
253 private JMenuItem jMenuItemProjectChangeWorkspace
= null;
255 private JMenu jMenuProjectBuildTargets
= null;
257 private JCheckBoxMenuItem jCheckBoxMenuItemProjectBuildTargetsDebug
= null;
259 private JCheckBoxMenuItem jCheckBoxMenuItemProjectBuildTargetsRelease
= null;
261 private JMenuItem jMenuItemToolsToolChainConfiguration
= null;
263 private JMenuItem jMenuItemToolsClone
= null;
265 private JMenuItem jMenuItemToolsCodeScan
= null;
267 private JMenuItem jMenuItemWindowDisplaySide
= null;
269 private JMenuItem jMenuItemWindowDisplayTopBottom
= null;
271 private JMenuItem jMenuItemViewXML
= null;
273 private JMenuItem jMenuItemWindowTabView
= null;
275 private JMenuItem jMenuItemWindowSource
= null;
277 private JMenuItem jMenuItemWindowXML
= null;
279 private JMenuItem jMenuItemWindowPreferences
= null;
281 private JMenuItem jMenuItemHelpContents
= null;
283 private JMenuItem jMenuItemHelpIndex
= null;
285 private JMenuItem jMenuItemHelpSearch
= null;
287 private JMenuItem jMenuItemProjectInstallPackage
= null;
289 private JMenuItem jMenuItemProjectUpdatePackage
= null;
291 private JMenuItem jMenuItemProjectRemovePackage
= null;
293 //private JToolBar jToolBarFile = null;
295 //private JToolBar jToolBarEdit = null;
297 //private JToolBar jToolBarWindow = null;
300 This method initializes jMenuBar
302 @return javax.swing.JMenuBar Main menu bar for the entire GUI
305 private JMenuBar
getjJMenuBar() {
306 if (jMenuBar
== null) {
307 jMenuBar
= new JMenuBar();
308 jMenuBar
.setPreferredSize(new java
.awt
.Dimension(0, 18));
309 jMenuBar
.add(getJMenuFile());
310 jMenuBar
.add(getJMenuEdit());
311 jMenuBar
.add(getJMenuView());
312 jMenuBar
.add(getJMenuProject());
313 jMenuBar
.add(getJMenuTools());
314 jMenuBar
.add(getJMenuWindow());
315 jMenuBar
.add(getJMenuHelp());
321 This method initializes jSplitPane
323 @return javax.swing.JSplitPane
326 private JSplitPane
getJSplitPane() {
327 if (jSplitPane
== null) {
328 jSplitPane
= new JSplitPane(JSplitPane
.HORIZONTAL_SPLIT
, getJTabbedPaneTree(), getJTabbedPaneEditor());
329 jSplitPane
.setBounds(new java
.awt
.Rectangle(0, 1, DataType
.MAIN_FRAME_SPLIT_PANEL_PREFERRED_SIZE_WIDTH
,
330 DataType
.MAIN_FRAME_SPLIT_PANEL_PREFERRED_SIZE_HEIGHT
));
331 jSplitPane
.addComponentListener(this);
337 This method initializes jTabbedPaneEditor
339 @return javax.swing.JTabbedPane
342 private JTabbedPane
getJTabbedPaneEditor() {
343 if (jTabbedPaneEditor
== null) {
344 jTabbedPaneEditor
= new JTabbedPane();
345 jTabbedPaneEditor
.setBounds(new java
.awt
.Rectangle(DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_X
,
346 DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_Y
,
347 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
348 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
350 .setMinimumSize(new java
.awt
.Dimension(
351 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
352 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
353 //jTabbedPaneEditor.addChangeListener(this);
354 jTabbedPaneEditor
.addTab("Module", null, getJDesktopPaneModule(), null);
355 jTabbedPaneEditor
.addTab("Package", null, getJDesktopPanePackage(), null);
356 jTabbedPaneEditor
.addTab("Platform", null, getJDesktopPanePlatform(), null);
358 return jTabbedPaneEditor
;
362 This method initializes jTabbedPaneTree
364 @return javax.swing.JTabbedPane
367 private JTabbedPane
getJTabbedPaneTree() {
368 if (jTabbedPaneTree
== null) {
369 jTabbedPaneTree
= new JTabbedPane();
371 .setPreferredSize(new java
.awt
.Dimension(
372 DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_WIDTH
,
373 DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_HEIGHT
));
375 .setMinimumSize(new java
.awt
.Dimension(DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_WIDTH
,
376 DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_HEIGHT
));
377 jTabbedPaneTree
.addTab("Workspace Explorer", null, getJScrollPaneTree(), null);
379 return jTabbedPaneTree
;
383 This method initializes jMenuFile
385 @return javax.swing.JMenu jMenuModule
388 private JMenu
getJMenuFile() {
389 if (jMenuFile
== null) {
390 jMenuFile
= new JMenu();
391 jMenuFile
.setText("File");
392 jMenuFile
.setMnemonic('F');
393 jMenuFile
.add(getJMenuItemFileNew());
394 jMenuFile
.add(getJMenuItemFileOpen());
395 jMenuFile
.add(getJMenuItemFileClose());
396 jMenuFile
.add(getJMenuItemFileCloseAll());
397 jMenuFile
.addSeparator();
398 jMenuFile
.add(getJMenuFileRecentFiles());
399 //jMenuFile.addSeparator();
400 jMenuFile
.add(getJMenuItemFileSave());
401 jMenuFile
.add(getJMenuItemFileSaveAs());
402 jMenuFile
.add(getJMenuItemFileSaveAll());
403 jMenuFile
.addSeparator();
404 jMenuFile
.add(getJMenuItemFilePageSetup());
405 jMenuFile
.add(getJMenuItemFilePrint());
406 //jMenuFile.addSeparator();
407 jMenuFile
.add(getJMenuItemFileImport());
408 //jMenuFile.addSeparator();
409 jMenuFile
.add(getJMenuItemFileProperties());
410 //jMenuFile.addSeparator();
411 jMenuFile
.add(getJMenuItemFileExit());
412 jMenuFile
.addMenuListener(this);
418 This method initializes jMenuItemFileSaveAs
420 @return javax.swing.JMenuItem jMenuItemFileSaveAs
423 private JMenuItem
getJMenuItemFileSaveAs() {
424 if (jMenuItemFileSaveAs
== null) {
425 jMenuItemFileSaveAs
= new JMenuItem();
426 jMenuItemFileSaveAs
.setText("Save As...");
427 jMenuItemFileSaveAs
.setMnemonic('a');
428 jMenuItemFileSaveAs
.addActionListener(this);
429 jMenuItemFileSaveAs
.setEnabled(false);
430 jMenuItemFileSaveAs
.setVisible(false);
432 return jMenuItemFileSaveAs
;
436 This method initializes jMenuItemModuleExit
438 @return javax.swing.JMenuItem jMenuItemModuleExit
441 private JMenuItem
getJMenuItemFileExit() {
442 if (jMenuItemFileExit
== null) {
443 jMenuItemFileExit
= new JMenuItem();
444 jMenuItemFileExit
.setText("Exit");
445 jMenuItemFileExit
.setMnemonic('x');
446 jMenuItemFileExit
.addActionListener(this);
448 return jMenuItemFileExit
;
452 This method initializes jMenuEdit
454 @return javax.swing.JMenu jMenuEdit
457 private JMenu
getJMenuEdit() {
458 if (jMenuEdit
== null) {
459 jMenuEdit
= new JMenu();
460 jMenuEdit
.setText("Edit");
461 jMenuEdit
.setMnemonic('E');
462 jMenuEdit
.add(getJMenuItemEditUndo());
463 jMenuEdit
.add(getJMenuItemEditRedo());
464 jMenuEdit
.addSeparator();
465 jMenuEdit
.add(getJMenuItemEditCut());
466 jMenuEdit
.add(getJMenuItemEditCopy());
467 jMenuEdit
.add(getJMenuItemEditPaste());
468 jMenuEdit
.add(getJMenuItemEditDelete());
469 jMenuEdit
.addSeparator();
470 jMenuEdit
.add(getJMenuItemEditSelectAll());
471 jMenuEdit
.add(getJMenuItemEditFind());
472 jMenuEdit
.add(getJMenuItemEditFindNext());
473 jMenuEdit
.addSeparator();
474 jMenuEdit
.setVisible(false);
480 This method initializes jDesktopPane
482 @return javax.swing.JDesktopPane jDesktopPane
485 private JDesktopPane
getJDesktopPaneModule() {
486 if (jDesktopPaneModule
== null) {
487 jDesktopPaneModule
= new JDesktopPane();
489 .setBounds(new java
.awt
.Rectangle(DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_X
,
490 DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_Y
,
491 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
492 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
494 .setMinimumSize(new java
.awt
.Dimension(
495 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
496 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
497 jDesktopPaneModule
.setDesktopManager(iDesktopManager
);
498 jDesktopPaneModule
.addComponentListener(this);
500 return jDesktopPaneModule
;
504 This method initializes jDesktopPane
506 @return javax.swing.JDesktopPane jDesktopPane
509 private JDesktopPane
getJDesktopPanePackage() {
510 if (jDesktopPanePackage
== null) {
511 jDesktopPanePackage
= new JDesktopPane();
513 .setBounds(new java
.awt
.Rectangle(DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_X
,
514 DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_Y
,
515 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
516 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
518 .setMinimumSize(new java
.awt
.Dimension(
519 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
520 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
521 jDesktopPanePackage
.setDesktopManager(iDesktopManager
);
522 jDesktopPanePackage
.addComponentListener(this);
524 return jDesktopPanePackage
;
528 This method initializes jDesktopPane
530 @return javax.swing.JDesktopPane jDesktopPane
533 private JDesktopPane
getJDesktopPanePlatform() {
534 if (jDesktopPanePlatform
== null) {
535 jDesktopPanePlatform
= new JDesktopPane();
537 .setBounds(new java
.awt
.Rectangle(
538 DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_X
,
539 DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_Y
,
540 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
541 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
543 .setMinimumSize(new java
.awt
.Dimension(
544 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
545 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
546 jDesktopPanePlatform
.setDesktopManager(iDesktopManager
);
547 jDesktopPanePlatform
.addComponentListener(this);
549 return jDesktopPanePlatform
;
553 This method initializes jScrollPaneTree
555 @return javax.swing.JScrollPane jScrollPaneTree
558 private JScrollPane
getJScrollPaneTree() {
559 if (jScrollPaneTree
== null) {
560 jScrollPaneTree
= new JScrollPane();
561 //jScrollPaneTree.setBounds(new java.awt.Rectangle(0, 1, 290, 545));
563 .setPreferredSize(new java
.awt
.Dimension(
564 DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_WIDTH
,
565 DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_HEIGHT
));
567 .setMinimumSize(new java
.awt
.Dimension(
568 DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_WIDTH
/ 2,
569 DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_HEIGHT
));
570 jScrollPaneTree
.setViewportView(getITree());
572 return jScrollPaneTree
;
576 This method initializes iTree
578 @return org.tianocore.packaging.common.ui.ITree iTree
581 private ITree
getITree() {
583 //Before open a real module, use an empty root node for the tree
590 This method initializes jMenuHelp
592 @return javax.swing.JMenu jMenuHelp
595 private JMenu
getJMenuHelp() {
596 if (jMenuHelp
== null) {
597 jMenuHelp
= new JMenu();
598 jMenuHelp
.setText("Help");
599 jMenuHelp
.add(getJMenuItemHelpContents());
600 jMenuHelp
.add(getJMenuItemHelpIndex());
601 jMenuHelp
.add(getJMenuItemHelpSearch());
602 //jMenuHelp.addSeparator();
603 jMenuHelp
.add(getJMenuItemHelpAbout());
609 This method initializes jMenuItemHelpAbout
611 @return javax.swing.JMenuItem jMenuItemHelpAbout
614 private JMenuItem
getJMenuItemHelpAbout() {
615 if (jMenuItemHelpAbout
== null) {
616 jMenuItemHelpAbout
= new JMenuItem();
617 jMenuItemHelpAbout
.setText("About...");
618 jMenuItemHelpAbout
.addActionListener(this);
620 return jMenuItemHelpAbout
;
624 This method initializes jMenuItemEditDelete
626 @return javax.swing.JMenuItem jMenuItemEditDelete
629 private JMenuItem
getJMenuItemEditDelete() {
630 if (jMenuItemEditDelete
== null) {
631 jMenuItemEditDelete
= new JMenuItem();
632 jMenuItemEditDelete
.setText("Delete");
633 jMenuItemEditDelete
.setMnemonic('D');
634 jMenuItemEditDelete
.addActionListener(this);
636 //Disabled when no module is open
638 jMenuItemEditDelete
.setEnabled(false);
640 return jMenuItemEditDelete
;
644 // This method initializes jPopupMenu
646 // @return javax.swing.JPopupMenu jPopupMenu
649 // private JPopupMenu getJPopupMenu() {
650 // if (jPopupMenu == null) {
651 // jPopupMenu = new JPopupMenu();
653 // //Add menu items of popup menu
655 // jPopupMenu.add(getJMenuItemPopupAdd());
656 // jPopupMenu.add(getJMenuItemPopupUpdate());
657 // jPopupMenu.add(getJMenuItemPopupDelete());
658 // jPopupMenu.setBorder(new BevelBorder(BevelBorder.RAISED));
659 // jPopupMenu.addMouseListener(this);
661 // return jPopupMenu;
665 // This method initializes jMenuItemPopupAdd
667 // @return javax.swing.JMenuItem jMenuItemPopupAdd
670 // private JMenuItem getJMenuItemPopupAdd() {
671 // if (jMenuItemPopupAdd == null) {
672 // jMenuItemPopupAdd = new JMenuItem();
673 // jMenuItemPopupAdd.setText("Add");
674 // jMenuItemPopupAdd.addActionListener(this);
675 // jMenuItemPopupAdd.setEnabled(false);
677 // return jMenuItemPopupAdd;
681 // This method initializes jMenuItemPopupUpdate
683 // @return javax.swing.JMenuItem jMenuItemPopupUpdate
686 // private JMenuItem getJMenuItemPopupUpdate() {
687 // if (jMenuItemPopupUpdate == null) {
688 // jMenuItemPopupUpdate = new JMenuItem();
689 // jMenuItemPopupUpdate.setText("Update");
690 // jMenuItemPopupUpdate.addActionListener(this);
691 // jMenuItemPopupUpdate.setEnabled(false);
693 // return jMenuItemPopupUpdate;
697 // This method initializes jMenuItemPopupDelete
699 // @return javax.swing.JMenuItem jMenuItemPopupDelete
702 // private JMenuItem getJMenuItemPopupDelete() {
703 // if (jMenuItemPopupDelete == null) {
704 // jMenuItemPopupDelete = new JMenuItem();
705 // jMenuItemPopupDelete.setText("Delete");
706 // jMenuItemPopupDelete.addActionListener(this);
707 // jMenuItemPopupDelete.setEnabled(false);
709 // return jMenuItemPopupDelete;
713 This method initializes jMenuFileNew
715 @return javax.swing.JMenuItem jMenuFileNew
718 private JMenuItem
getJMenuItemFileNew() {
719 if (jMenuItemFileNew
== null) {
720 jMenuItemFileNew
= new JMenuItem();
721 jMenuItemFileNew
.setText("New...");
722 jMenuItemFileNew
.setMnemonic('N');
723 jMenuItemFileNew
.addActionListener(this);
725 return jMenuItemFileNew
;
729 This method initializes jMenuItemFileSave
731 @return javax.swing.JMenuItem jMenuItemModuleSave
734 private JMenuItem
getJMenuItemFileSave() {
735 if (jMenuItemFileSave
== null) {
736 jMenuItemFileSave
= new JMenuItem();
737 jMenuItemFileSave
.setText("Save");
738 jMenuItemFileSave
.setMnemonic('S');
739 jMenuItemFileSave
.addActionListener(this);
740 jMenuItemFileSave
.setEnabled(true);
742 return jMenuItemFileSave
;
746 This method initializes jMenuItemModuleClose
748 @return javax.swing.JMenuItem jMenuItemModuleClose
751 private JMenuItem
getJMenuItemFileClose() {
752 if (jMenuItemFileClose
== null) {
753 jMenuItemFileClose
= new JMenuItem();
754 jMenuItemFileClose
.setText("Close");
755 jMenuItemFileClose
.setMnemonic('C');
756 jMenuItemFileClose
.setEnabled(true);
757 jMenuItemFileClose
.addActionListener(this);
759 return jMenuItemFileClose
;
763 This method initializes jMenuTools
766 @return javax.swing.JMenu jMenuTools
769 private JMenu
getJMenuTools() {
770 if (jMenuTools
== null) {
771 jMenuTools
= new JMenu();
772 jMenuTools
.setText("Tools");
773 jMenuTools
.setMnemonic('T');
774 jMenuTools
.add(getJMenuItemToolsToolChainConfiguration());
775 //jMenuTools.addSeparator();
776 jMenuTools
.add(getJMenuItemToolsClone());
777 //jMenuTools.addSeparator();
778 jMenuTools
.add(getJMenuItemToolsCodeScan());
779 jMenuTools
.addMenuListener(this);
785 This method initializes jMenuWindow
788 @return javax.swing.JMenu jMenuWindow
791 private JMenu
getJMenuWindow() {
792 if (jMenuWindow
== null) {
793 jMenuWindow
= new JMenu();
794 jMenuWindow
.setText("Window");
795 jMenuWindow
.setMnemonic('W');
796 jMenuWindow
.add(getJMenuItemWindowDisplaySide());
797 jMenuWindow
.add(getJMenuItemWindowDisplayTopBottom());
798 jMenuWindow
.addSeparator();
799 jMenuWindow
.add(getJMenuItemWindowTabView());
800 jMenuWindow
.addSeparator();
801 jMenuWindow
.add(getJMenuItemWindowSource());
802 jMenuWindow
.add(getJMenuItemWindowXML());
803 jMenuWindow
.addSeparator();
804 jMenuWindow
.add(getJMenuItemWindowPreferences());
805 jMenuWindow
.setVisible(false);
811 This method initializes jPanelOperation
813 @return javax.swing.JPanel jPanelOperation
816 private JPanel
getJPanelOperation() {
817 if (jPanelOperation
== null) {
818 jPanelOperation
= new JPanel();
819 jPanelOperation
.setLayout(null);
820 jPanelOperation
.setBounds(new java
.awt
.Rectangle(295, 520, 500, 25));
821 jPanelOperation
.add(getJButtonOk(), null);
822 jPanelOperation
.add(getJButtonCancel(), null);
823 jPanelOperation
.setVisible(false);
825 return jPanelOperation
;
829 This method initializes jButtonOk
831 @return javax.swing.JButton jButtonOk
834 private JButton
getJButtonOk() {
835 if (jButtonOk
== null) {
836 jButtonOk
= new JButton();
837 jButtonOk
.setBounds(new java
.awt
.Rectangle(395, 2, 90, 20));
838 jButtonOk
.setText("Ok");
839 jButtonOk
.setEnabled(false);
840 jButtonOk
.addActionListener(this);
846 This method initializes jButtonCancel
848 @return javax.swing.JButton jButtonCancel
851 private JButton
getJButtonCancel() {
852 if (jButtonCancel
== null) {
853 jButtonCancel
= new JButton();
854 jButtonCancel
.setBounds(new java
.awt
.Rectangle(395, 2, 90, 20));
855 jButtonCancel
.setText("Cancel");
856 jButtonCancel
.setEnabled(false);
857 jButtonCancel
.addActionListener(this);
858 jButtonCancel
.setVisible(false);
860 return jButtonCancel
;
864 This method initializes jMenuItemFileOpen
866 @return javax.swing.JMenuItem jMenuItemFileOpen
868 private JMenuItem
getJMenuItemFileOpen() {
869 if (jMenuItemFileOpen
== null) {
870 jMenuItemFileOpen
= new JMenuItem();
871 jMenuItemFileOpen
.setText("Open...");
872 jMenuItemFileOpen
.setMnemonic('O');
873 jMenuItemFileOpen
.addActionListener(this);
875 return jMenuItemFileOpen
;
879 This method initializes jMenuItemFileCloseAll
881 @return javax.swing.JMenuItem jMenuItemFileOpen
883 private JMenuItem
getJMenuItemFileCloseAll() {
884 if (jMenuItemFileCloseAll
== null) {
885 jMenuItemFileCloseAll
= new JMenuItem();
886 jMenuItemFileCloseAll
.setText("Close All");
887 jMenuItemFileCloseAll
.setEnabled(true);
888 jMenuItemFileCloseAll
.addActionListener(this);
890 return jMenuItemFileCloseAll
;
894 This method initializes jMenuItemFileSaveAll
896 @return javax.swing.JMenuItem jMenuItemFileSaveAll
898 private JMenuItem
getJMenuItemFileSaveAll() {
899 if (jMenuItemFileSaveAll
== null) {
900 jMenuItemFileSaveAll
= new JMenuItem();
901 jMenuItemFileSaveAll
.setText("Save All");
902 jMenuItemFileSaveAll
.setMnemonic('v');
903 jMenuItemFileSaveAll
.setEnabled(true);
904 jMenuItemFileSaveAll
.addActionListener(this);
906 return jMenuItemFileSaveAll
;
910 This method initializes jMenuItemFilePageSetup
912 @return javax.swing.JMenuItem
914 private JMenuItem
getJMenuItemFilePageSetup() {
915 if (jMenuItemFilePageSetup
== null) {
916 jMenuItemFilePageSetup
= new JMenuItem();
917 jMenuItemFilePageSetup
.setText("Page Setup");
918 jMenuItemFilePageSetup
.setMnemonic('u');
919 jMenuItemFilePageSetup
.setEnabled(false);
920 jMenuItemFilePageSetup
.addActionListener(this);
921 jMenuItemFilePageSetup
.setVisible(false);
923 return jMenuItemFilePageSetup
;
927 This method initializes jMenuItemFilePrint
929 @return javax.swing.JMenuItem
931 private JMenuItem
getJMenuItemFilePrint() {
932 if (jMenuItemFilePrint
== null) {
933 jMenuItemFilePrint
= new JMenuItem();
934 jMenuItemFilePrint
.setText("Print");
935 jMenuItemFilePrint
.setMnemonic('P');
936 jMenuItemFilePrint
.setEnabled(false);
937 jMenuItemFilePrint
.addActionListener(this);
938 jMenuItemFilePrint
.setVisible(false);
940 return jMenuItemFilePrint
;
944 This method initializes jMenuItemFileImport
946 @return javax.swing.JMenuItem
948 private JMenuItem
getJMenuItemFileImport() {
949 if (jMenuItemFileImport
== null) {
950 jMenuItemFileImport
= new JMenuItem();
951 jMenuItemFileImport
.setText("Import");
952 jMenuItemFileImport
.setMnemonic('I');
953 jMenuItemFileImport
.setEnabled(false);
954 jMenuItemFileImport
.addActionListener(this);
955 jMenuItemFileImport
.setVisible(false);
957 return jMenuItemFileImport
;
961 * This method initializes jMenuItemFileProperties
963 * @return javax.swing.JMenuItem
965 private JMenuItem
getJMenuItemFileProperties() {
966 if (jMenuItemFileProperties
== null) {
967 jMenuItemFileProperties
= new JMenuItem();
968 jMenuItemFileProperties
.setText("Properties");
969 jMenuItemFileProperties
.setMnemonic('t');
970 jMenuItemFileProperties
.setEnabled(false);
971 jMenuItemFileProperties
.addActionListener(this);
972 jMenuItemFileProperties
.setVisible(false);
974 return jMenuItemFileProperties
;
978 * This method initializes jMenuFileRecentFiles
980 * @return javax.swing.JMenu
982 private JMenu
getJMenuFileRecentFiles() {
983 if (jMenuFileRecentFiles
== null) {
984 jMenuFileRecentFiles
= new JMenu();
985 jMenuFileRecentFiles
.setText("Recent Files");
986 jMenuFileRecentFiles
.setMnemonic('F');
987 jMenuFileRecentFiles
.setEnabled(false);
988 jMenuFileRecentFiles
.addActionListener(this);
989 jMenuFileRecentFiles
.setVisible(false);
991 return jMenuFileRecentFiles
;
995 This method initializes jMenuItemEditUndo
997 @return javax.swing.JMenuItem
999 private JMenuItem
getJMenuItemEditUndo() {
1000 if (jMenuItemEditUndo
== null) {
1001 jMenuItemEditUndo
= new JMenuItem();
1002 jMenuItemEditUndo
.setText("Undo");
1003 jMenuItemEditUndo
.setMnemonic('U');
1004 jMenuItemEditUndo
.setEnabled(false);
1005 jMenuItemEditUndo
.addActionListener(this);
1007 return jMenuItemEditUndo
;
1011 This method initializes jMenuItemEditRedo
1013 @return javax.swing.JMenuItem
1015 private JMenuItem
getJMenuItemEditRedo() {
1016 if (jMenuItemEditRedo
== null) {
1017 jMenuItemEditRedo
= new JMenuItem();
1018 jMenuItemEditRedo
.setText("Redo");
1019 jMenuItemEditRedo
.setMnemonic('R');
1020 jMenuItemEditRedo
.setEnabled(false);
1021 jMenuItemEditRedo
.addActionListener(this);
1023 return jMenuItemEditRedo
;
1027 This method initializes jMenuItemEditCut
1029 @return javax.swing.JMenuItem
1031 private JMenuItem
getJMenuItemEditCut() {
1032 if (jMenuItemEditCut
== null) {
1033 jMenuItemEditCut
= new JMenuItem();
1034 jMenuItemEditCut
.setText("Cut");
1035 jMenuItemEditCut
.setMnemonic('t');
1036 jMenuItemEditCut
.setEnabled(false);
1037 jMenuItemEditCut
.addActionListener(this);
1039 return jMenuItemEditCut
;
1043 This method initializes jMenuItemEditCopy
1045 @return javax.swing.JMenuItem
1047 private JMenuItem
getJMenuItemEditCopy() {
1048 if (jMenuItemEditCopy
== null) {
1049 jMenuItemEditCopy
= new JMenuItem();
1050 jMenuItemEditCopy
.setText("Copy");
1051 jMenuItemEditCopy
.setMnemonic('C');
1052 jMenuItemEditCopy
.setEnabled(false);
1053 jMenuItemEditCopy
.addActionListener(this);
1055 return jMenuItemEditCopy
;
1059 This method initializes jMenuItemEditPaste
1061 return javax.swing.JMenuItem
1063 private JMenuItem
getJMenuItemEditPaste() {
1064 if (jMenuItemEditPaste
== null) {
1065 jMenuItemEditPaste
= new JMenuItem();
1066 jMenuItemEditPaste
.setText("Paste");
1067 jMenuItemEditPaste
.setMnemonic('P');
1068 jMenuItemEditPaste
.setEnabled(false);
1069 jMenuItemEditPaste
.addActionListener(this);
1071 return jMenuItemEditPaste
;
1075 This method initializes jMenuItem
1077 @return javax.swing.JMenuItem
1079 private JMenuItem
getJMenuItemEditSelectAll() {
1080 if (jMenuItemEditSelectAll
== null) {
1081 jMenuItemEditSelectAll
= new JMenuItem();
1082 jMenuItemEditSelectAll
.setText("Select All");
1083 jMenuItemEditSelectAll
.setMnemonic('A');
1084 jMenuItemEditSelectAll
.setEnabled(false);
1085 jMenuItemEditSelectAll
.addActionListener(this);
1087 return jMenuItemEditSelectAll
;
1091 This method initializes jMenuItemEditFind
1093 @return javax.swing.JMenuItem
1095 private JMenuItem
getJMenuItemEditFind() {
1096 if (jMenuItemEditFind
== null) {
1097 jMenuItemEditFind
= new JMenuItem();
1098 jMenuItemEditFind
.setText("Find");
1099 jMenuItemEditFind
.setMnemonic('F');
1100 jMenuItemEditFind
.setEnabled(false);
1101 jMenuItemEditFind
.addActionListener(this);
1103 return jMenuItemEditFind
;
1107 This method initializes jMenuItemEditFindNext
1109 @return javax.swing.JMenuItem
1112 private JMenuItem
getJMenuItemEditFindNext() {
1113 if (jMenuItemEditFindNext
== null) {
1114 jMenuItemEditFindNext
= new JMenuItem();
1115 jMenuItemEditFindNext
.setText("Find Next");
1116 jMenuItemEditFindNext
.setMnemonic('n');
1117 jMenuItemEditFindNext
.setEnabled(false);
1118 jMenuItemEditFindNext
.addActionListener(this);
1120 return jMenuItemEditFindNext
;
1124 This method initializes jMenuView
1126 @return javax.swing.JMenu
1129 private JMenu
getJMenuView() {
1130 if (jMenuView
== null) {
1131 jMenuView
= new JMenu();
1132 jMenuView
.setText("View");
1133 jMenuView
.setMnemonic('V');
1134 jMenuView
.add(getJMenuViewToolbars());
1135 jMenuView
.add(getJMenuItemViewAdvanced());
1136 jMenuView
.add(getJMenuItemViewStandard());
1137 jMenuView
.add(getJMenuItemViewXML());
1138 jMenuView
.setVisible(false);
1144 This method initializes jMenuViewToolbars
1146 @return javax.swing.JMenu
1149 private JMenu
getJMenuViewToolbars() {
1150 if (jMenuViewToolbars
== null) {
1151 jMenuViewToolbars
= new JMenu();
1152 jMenuViewToolbars
.setText("Toolbars");
1153 jMenuViewToolbars
.setMnemonic('T');
1154 jMenuViewToolbars
.add(getJCheckBoxMenuItemViewToolbarsFile());
1155 jMenuViewToolbars
.add(getJCheckBoxMenuItemViewToolbarsEdit());
1156 jMenuViewToolbars
.add(getJCheckBoxMenuItemViewToolbarsWindow());
1158 return jMenuViewToolbars
;
1162 This method initializes jCheckBoxMenuItemViewToolbarsFile
1164 @return javax.swing.JCheckBoxMenuItem
1167 private JCheckBoxMenuItem
getJCheckBoxMenuItemViewToolbarsFile() {
1168 if (jCheckBoxMenuItemViewToolbarsFile
== null) {
1169 jCheckBoxMenuItemViewToolbarsFile
= new JCheckBoxMenuItem();
1170 jCheckBoxMenuItemViewToolbarsFile
.setText("File");
1171 jCheckBoxMenuItemViewToolbarsFile
.setEnabled(false);
1172 jCheckBoxMenuItemViewToolbarsFile
.addActionListener(this);
1174 return jCheckBoxMenuItemViewToolbarsFile
;
1178 This method initializes jCheckBoxMenuItemViewToolbarsEdit
1180 @return javax.swing.JCheckBoxMenuItem
1183 private JCheckBoxMenuItem
getJCheckBoxMenuItemViewToolbarsEdit() {
1184 if (jCheckBoxMenuItemViewToolbarsEdit
== null) {
1185 jCheckBoxMenuItemViewToolbarsEdit
= new JCheckBoxMenuItem();
1186 jCheckBoxMenuItemViewToolbarsEdit
.setText("Edit");
1187 jCheckBoxMenuItemViewToolbarsEdit
.setEnabled(false);
1188 jCheckBoxMenuItemViewToolbarsEdit
.addActionListener(this);
1190 return jCheckBoxMenuItemViewToolbarsEdit
;
1194 This method initializes jCheckBoxMenuItemViewToolbarsWindow
1196 @return javax.swing.JCheckBoxMenuItem
1199 private JCheckBoxMenuItem
getJCheckBoxMenuItemViewToolbarsWindow() {
1200 if (jCheckBoxMenuItemViewToolbarsWindow
== null) {
1201 jCheckBoxMenuItemViewToolbarsWindow
= new JCheckBoxMenuItem();
1202 jCheckBoxMenuItemViewToolbarsWindow
.setText("Window");
1203 jCheckBoxMenuItemViewToolbarsWindow
.setEnabled(false);
1204 jCheckBoxMenuItemViewToolbarsWindow
.addActionListener(this);
1206 return jCheckBoxMenuItemViewToolbarsWindow
;
1210 This method initializes jMenuItemStandard
1212 @return javax.swing.JMenuItem
1215 private JMenuItem
getJMenuItemViewStandard() {
1216 if (jMenuItemViewStandard
== null) {
1217 jMenuItemViewStandard
= new JMenuItem();
1218 jMenuItemViewStandard
.setText("Standard");
1219 jMenuItemViewStandard
.setMnemonic('S');
1220 jMenuItemViewStandard
.setEnabled(false);
1221 jMenuItemViewStandard
.addActionListener(this);
1223 return jMenuItemViewStandard
;
1227 This method initializes jMenuItemAdvanced
1229 @return javax.swing.JMenuItem
1232 private JMenuItem
getJMenuItemViewAdvanced() {
1233 if (jMenuItemViewAdvanced
== null) {
1234 jMenuItemViewAdvanced
= new JMenuItem();
1235 jMenuItemViewAdvanced
.setText("Advanced");
1236 jMenuItemViewAdvanced
.setMnemonic('A');
1237 jMenuItemViewAdvanced
.setEnabled(false);
1238 jMenuItemViewAdvanced
.addActionListener(this);
1240 return jMenuItemViewAdvanced
;
1244 This method initializes jMenuProject
1246 @return javax.swing.JMenu
1249 private JMenu
getJMenuProject() {
1250 if (jMenuProject
== null) {
1251 jMenuProject
= new JMenu();
1252 jMenuProject
.setText("Project");
1253 jMenuProject
.setMnemonic('P');
1254 jMenuProject
.add(getJMenuItemProjectAdmin());
1255 //jMenuProject.addSeparator();
1256 jMenuProject
.add(getJMenuItemProjectChangeWorkspace());
1257 jMenuProject
.addSeparator();
1258 jMenuProject
.add(getJMenuItemProjectInstallPackage());
1259 jMenuProject
.add(getJMenuItemProjectUpdatePackage());
1260 jMenuProject
.add(getJMenuItemProjectRemovePackage());
1261 //jMenuProject.addSeparator();
1262 jMenuProject
.add(getJMenuProjectBuildTargets());
1264 return jMenuProject
;
1268 This method initializes jMenuItemProjectAdmin
1270 @return javax.swing.JMenuItem
1273 private JMenuItem
getJMenuItemProjectAdmin() {
1274 if (jMenuItemProjectAdmin
== null) {
1275 jMenuItemProjectAdmin
= new JMenuItem();
1276 jMenuItemProjectAdmin
.setText("Admin...");
1277 jMenuItemProjectAdmin
.setMnemonic('A');
1278 jMenuItemProjectAdmin
.setEnabled(false);
1279 jMenuItemProjectAdmin
.addActionListener(this);
1280 jMenuItemProjectAdmin
.setVisible(false);
1282 return jMenuItemProjectAdmin
;
1286 This method initializes jMenuItemProjectChangeWorkspace
1288 @return javax.swing.JMenuItem
1291 private JMenuItem
getJMenuItemProjectChangeWorkspace() {
1292 if (jMenuItemProjectChangeWorkspace
== null) {
1293 jMenuItemProjectChangeWorkspace
= new JMenuItem();
1294 jMenuItemProjectChangeWorkspace
.setText("Change WORKSPACE...");
1295 jMenuItemProjectChangeWorkspace
.setMnemonic('W');
1296 jMenuItemProjectChangeWorkspace
.setEnabled(true);
1297 jMenuItemProjectChangeWorkspace
.addActionListener(this);
1299 return jMenuItemProjectChangeWorkspace
;
1303 This method initializes jMenuProjectBuildTargets
1305 @return javax.swing.JMenu
1308 private JMenu
getJMenuProjectBuildTargets() {
1309 if (jMenuProjectBuildTargets
== null) {
1310 jMenuProjectBuildTargets
= new JMenu();
1311 jMenuProjectBuildTargets
.setText("Build Targets");
1312 jMenuProjectBuildTargets
.setMnemonic('T');
1313 jMenuProjectBuildTargets
.add(getJCheckBoxMenuItemProjectBuildTargetsDebug());
1314 jMenuProjectBuildTargets
.add(getJCheckBoxMenuItemProjectBuildTargetsRelease());
1315 jMenuProjectBuildTargets
.setVisible(false);
1317 return jMenuProjectBuildTargets
;
1321 This method initializes jCheckBoxMenuItemProjectBuildTargetsDebug
1323 @return javax.swing.JCheckBoxMenuItem
1326 private JCheckBoxMenuItem
getJCheckBoxMenuItemProjectBuildTargetsDebug() {
1327 if (jCheckBoxMenuItemProjectBuildTargetsDebug
== null) {
1328 jCheckBoxMenuItemProjectBuildTargetsDebug
= new JCheckBoxMenuItem();
1329 jCheckBoxMenuItemProjectBuildTargetsDebug
.setText("Debug");
1330 jCheckBoxMenuItemProjectBuildTargetsDebug
.setEnabled(false);
1332 return jCheckBoxMenuItemProjectBuildTargetsDebug
;
1336 This method initializes jCheckBoxMenuItemProjectBuildTargetsRelease
1338 @return javax.swing.JCheckBoxMenuItem
1341 private JCheckBoxMenuItem
getJCheckBoxMenuItemProjectBuildTargetsRelease() {
1342 if (jCheckBoxMenuItemProjectBuildTargetsRelease
== null) {
1343 jCheckBoxMenuItemProjectBuildTargetsRelease
= new JCheckBoxMenuItem();
1344 jCheckBoxMenuItemProjectBuildTargetsRelease
.setText("Release");
1345 jCheckBoxMenuItemProjectBuildTargetsRelease
.setEnabled(false);
1347 return jCheckBoxMenuItemProjectBuildTargetsRelease
;
1351 This method initializes jMenuItemToolsToolChainConfiguration
1353 @return javax.swing.JMenuItem
1356 private JMenuItem
getJMenuItemToolsToolChainConfiguration() {
1357 if (jMenuItemToolsToolChainConfiguration
== null) {
1358 jMenuItemToolsToolChainConfiguration
= new JMenuItem();
1359 jMenuItemToolsToolChainConfiguration
.setText("Tool Chain Configuration...");
1360 jMenuItemToolsToolChainConfiguration
.setMnemonic('C');
1361 jMenuItemToolsToolChainConfiguration
.addActionListener(this);
1362 jMenuItemToolsToolChainConfiguration
.setVisible(false);
1364 return jMenuItemToolsToolChainConfiguration
;
1368 This method initializes jMenuItemToolsClone
1370 @return javax.swing.JMenuItem
1373 private JMenuItem
getJMenuItemToolsClone() {
1374 if (jMenuItemToolsClone
== null) {
1375 jMenuItemToolsClone
= new JMenuItem();
1376 jMenuItemToolsClone
.setText("Clone...");
1377 jMenuItemToolsClone
.setMnemonic('l');
1378 jMenuItemToolsClone
.setEnabled(true);
1379 jMenuItemToolsClone
.addActionListener(this);
1381 return jMenuItemToolsClone
;
1385 This method initializes jMenuItemToolsCodeScan
1387 @return javax.swing.JMenuItem
1390 private JMenuItem
getJMenuItemToolsCodeScan() {
1391 if (jMenuItemToolsCodeScan
== null) {
1392 jMenuItemToolsCodeScan
= new JMenuItem();
1393 jMenuItemToolsCodeScan
.setText("Code Scan...");
1394 jMenuItemToolsCodeScan
.setMnemonic('S');
1395 jMenuItemToolsCodeScan
.setEnabled(false);
1396 jMenuItemToolsCodeScan
.addActionListener(this);
1397 jMenuItemToolsCodeScan
.setVisible(false);
1399 return jMenuItemToolsCodeScan
;
1403 This method initializes jMenuItemWindowSplitVertical
1405 @return javax.swing.JMenuItem
1408 private JMenuItem
getJMenuItemWindowDisplaySide() {
1409 if (jMenuItemWindowDisplaySide
== null) {
1410 jMenuItemWindowDisplaySide
= new JMenuItem();
1411 jMenuItemWindowDisplaySide
.setText("Display Side by Side");
1412 jMenuItemWindowDisplaySide
.setMnemonic('S');
1413 jMenuItemWindowDisplaySide
.setEnabled(false);
1414 jMenuItemWindowDisplaySide
.addActionListener(this);
1416 return jMenuItemWindowDisplaySide
;
1420 This method initializes jMenuItemWindowSplitHorizontal
1422 @return javax.swing.JMenuItem
1425 private JMenuItem
getJMenuItemWindowDisplayTopBottom() {
1426 if (jMenuItemWindowDisplayTopBottom
== null) {
1427 jMenuItemWindowDisplayTopBottom
= new JMenuItem();
1428 jMenuItemWindowDisplayTopBottom
.setText("Display Top and Bottom");
1429 jMenuItemWindowDisplayTopBottom
.setMnemonic('B');
1430 jMenuItemWindowDisplayTopBottom
.setEnabled(false);
1431 jMenuItemWindowDisplayTopBottom
.addActionListener(this);
1433 return jMenuItemWindowDisplayTopBottom
;
1437 This method initializes jMenuItemViewXML
1439 @return javax.swing.JMenuItem
1442 private JMenuItem
getJMenuItemViewXML() {
1443 if (jMenuItemViewXML
== null) {
1444 jMenuItemViewXML
= new JMenuItem();
1445 jMenuItemViewXML
.setText("XML");
1446 jMenuItemViewXML
.setMnemonic('X');
1447 jMenuItemViewXML
.setEnabled(false);
1448 jMenuItemViewXML
.addActionListener(this);
1450 return jMenuItemViewXML
;
1454 This method initializes jMenuItemWindowTabView
1456 @return javax.swing.JMenuItem
1459 private JMenuItem
getJMenuItemWindowTabView() {
1460 if (jMenuItemWindowTabView
== null) {
1461 jMenuItemWindowTabView
= new JMenuItem();
1462 jMenuItemWindowTabView
.setText("Tab View");
1463 jMenuItemWindowTabView
.setMnemonic('T');
1464 jMenuItemWindowTabView
.setEnabled(false);
1465 jMenuItemWindowTabView
.addActionListener(this);
1467 return jMenuItemWindowTabView
;
1471 This method initializes jMenuItemWindowSource
1473 @return javax.swing.JMenuItem
1476 private JMenuItem
getJMenuItemWindowSource() {
1477 if (jMenuItemWindowSource
== null) {
1478 jMenuItemWindowSource
= new JMenuItem();
1479 jMenuItemWindowSource
.setText("Source");
1480 jMenuItemWindowSource
.setMnemonic('S');
1481 jMenuItemWindowSource
.setEnabled(false);
1482 jMenuItemWindowSource
.addActionListener(this);
1484 return jMenuItemWindowSource
;
1488 This method initializes jMenuItemWindowXML
1490 @return javax.swing.JMenuItem
1493 private JMenuItem
getJMenuItemWindowXML() {
1494 if (jMenuItemWindowXML
== null) {
1495 jMenuItemWindowXML
= new JMenuItem();
1496 jMenuItemWindowXML
.setText("XML");
1497 jMenuItemWindowXML
.setMnemonic('X');
1498 jMenuItemWindowXML
.setEnabled(false);
1499 jMenuItemWindowXML
.addActionListener(this);
1501 return jMenuItemWindowXML
;
1505 This method initializes jMenuItemWindowPreferences
1507 @return javax.swing.JMenuItem
1510 private JMenuItem
getJMenuItemWindowPreferences() {
1511 if (jMenuItemWindowPreferences
== null) {
1512 jMenuItemWindowPreferences
= new JMenuItem();
1513 jMenuItemWindowPreferences
.setText("Preferences");
1514 jMenuItemWindowPreferences
.setMnemonic('P');
1515 jMenuItemWindowPreferences
.setEnabled(false);
1516 jMenuItemWindowPreferences
.addActionListener(this);
1518 return jMenuItemWindowPreferences
;
1522 This method initializes jMenuItemHelpContents
1524 @return javax.swing.JMenuItem
1527 private JMenuItem
getJMenuItemHelpContents() {
1528 if (jMenuItemHelpContents
== null) {
1529 jMenuItemHelpContents
= new JMenuItem();
1530 jMenuItemHelpContents
.setText("Contents");
1531 jMenuItemHelpContents
.setMnemonic('C');
1532 jMenuItemHelpContents
.setEnabled(false);
1533 jMenuItemHelpContents
.addActionListener(this);
1534 jMenuItemHelpContents
.setVisible(false);
1536 return jMenuItemHelpContents
;
1540 This method initializes jMenuItemHelpIndex
1542 @return javax.swing.JMenuItem
1545 private JMenuItem
getJMenuItemHelpIndex() {
1546 if (jMenuItemHelpIndex
== null) {
1547 jMenuItemHelpIndex
= new JMenuItem();
1548 jMenuItemHelpIndex
.setText("Index");
1549 jMenuItemHelpIndex
.setMnemonic('I');
1550 jMenuItemHelpIndex
.setEnabled(false);
1551 jMenuItemHelpIndex
.addActionListener(this);
1552 jMenuItemHelpIndex
.setVisible(false);
1554 return jMenuItemHelpIndex
;
1558 This method initializes jMenuItemHelpSearch
1560 @return javax.swing.JMenuItem
1563 private JMenuItem
getJMenuItemHelpSearch() {
1564 if (jMenuItemHelpSearch
== null) {
1565 jMenuItemHelpSearch
= new JMenuItem();
1566 jMenuItemHelpSearch
.setText("Search");
1567 jMenuItemHelpSearch
.setMnemonic('S');
1568 jMenuItemHelpSearch
.setEnabled(false);
1569 jMenuItemHelpSearch
.addActionListener(this);
1570 jMenuItemHelpSearch
.setVisible(false);
1572 return jMenuItemHelpSearch
;
1576 * This method initializes jToolBar
1578 * @return javax.swing.JToolBar
1580 // private JToolBar getJToolBarFile() {
1581 // if (jToolBarFile == null) {
1582 // jToolBarFile = new JToolBar();
1583 // jToolBarFile.setFloatable(false);
1585 // return jToolBarFile;
1588 * This method initializes jToolBarEdit
1590 * @return javax.swing.JToolBar
1592 // private JToolBar getJToolBarEdit() {
1593 // if (jToolBarEdit == null) {
1594 // jToolBarEdit = new JToolBar();
1595 // jToolBarEdit.setFloatable(false);
1597 // return jToolBarEdit;
1600 * This method initializes jMenuItemToolsInstallPackage
1602 * @return javax.swing.JMenuItem
1604 private JMenuItem
getJMenuItemProjectInstallPackage() {
1605 if (jMenuItemProjectInstallPackage
== null) {
1606 jMenuItemProjectInstallPackage
= new JMenuItem();
1607 jMenuItemProjectInstallPackage
.setText("Install Distribution Package");
1608 jMenuItemProjectInstallPackage
.setMnemonic('I');
1609 jMenuItemProjectInstallPackage
.setEnabled(false);
1610 jMenuItemProjectInstallPackage
.addActionListener(this);
1612 return jMenuItemProjectInstallPackage
;
1616 * This method initializes jMenuItemToolsUpdatePackage
1618 * @return javax.swing.JMenuItem
1620 private JMenuItem
getJMenuItemProjectUpdatePackage() {
1621 if (jMenuItemProjectUpdatePackage
== null) {
1622 jMenuItemProjectUpdatePackage
= new JMenuItem();
1623 jMenuItemProjectUpdatePackage
.setText("Update Disstribution Package");
1624 jMenuItemProjectUpdatePackage
.setMnemonic('U');
1625 jMenuItemProjectUpdatePackage
.setEnabled(false);
1626 jMenuItemProjectUpdatePackage
.addActionListener(this);
1628 return jMenuItemProjectUpdatePackage
;
1632 * This method initializes jMenuItemRemovePackage
1634 * @return javax.swing.JMenuItem
1636 private JMenuItem
getJMenuItemProjectRemovePackage() {
1637 if (jMenuItemProjectRemovePackage
== null) {
1638 jMenuItemProjectRemovePackage
= new JMenuItem();
1639 jMenuItemProjectRemovePackage
.setText("Remove Distribution Package");
1640 jMenuItemProjectRemovePackage
.setMnemonic('R');
1641 jMenuItemProjectRemovePackage
.setEnabled(false);
1642 jMenuItemProjectRemovePackage
.addActionListener(this);
1644 return jMenuItemProjectRemovePackage
;
1648 * @see org.tianocore.packaging.common.ui.IFrame#main(java.lang.String[])
1650 * Main class, start the GUI
1653 public static void main(String
[] args
) {
1654 FrameworkWizardUI module
= new FrameworkWizardUI();
1655 module
.setVisible(true);
1659 This is the default constructor
1662 public FrameworkWizardUI() {
1668 This method initializes this
1672 private void init() {
1674 // Set current workspace and check
1675 // Check if exists WORKSPACE
1678 Workspace
.setCurrentWorkspace(System
.getenv("WORKSPACE"));
1679 if (!Workspace
.checkCurrentWorkspace()) {
1680 JOptionPane
.showConfirmDialog(null, "Workspace is not setup correctly. Please setup first.", "Warning",
1681 JOptionPane
.DEFAULT_OPTION
, JOptionPane
.WARNING_MESSAGE
);
1686 this.setSize(DataType
.MAIN_FRAME_PREFERRED_SIZE_WIDTH
, DataType
.MAIN_FRAME_PREFERRED_SIZE_HEIGHT
);
1687 this.setResizable(true);
1688 this.setJMenuBar(getjJMenuBar());
1689 this.addComponentListener(this);
1690 this.getCompontentsFromFrameworkDatabase();
1691 this.setContentPane(getJContentPane());
1692 this.setTitle(windowTitle
+ "- [" + Workspace
.getCurrentWorkspace() + "]");
1693 this.setExitType(1);
1697 this.setExtendedState(JFrame
.MAXIMIZED_BOTH
);
1701 This method initializes jContentPane
1703 @return javax.swing.JPanel jContentPane
1706 private JPanel
getJContentPane() {
1707 if (jContentPane
== null) {
1708 jContentPane
= new JPanel();
1709 jContentPane
.setLayout(null);
1710 jContentPane
.add(getJPanelOperation(), null);
1711 jContentPane
.add(getJSplitPane(), null);
1713 return jContentPane
;
1717 * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
1719 * Override actionPerformed to listen all actions
1722 public void actionPerformed(ActionEvent arg0
) {
1724 // Operations of Menu
1726 if (arg0
.getSource() == jMenuItemFileNew
) {
1730 if (arg0
.getSource() == jMenuItemFileOpen
) {
1734 if (arg0
.getSource() == jMenuItemFileClose
) {
1738 if (arg0
.getSource() == jMenuItemFileCloseAll
) {
1742 if (arg0
.getSource() == jMenuItemFileSave
) {
1746 if (arg0
.getSource() == jMenuItemFileSaveAs
) {
1750 if (arg0
.getSource() == jMenuItemFileSaveAll
) {
1754 if (arg0
.getSource() == jMenuItemFileExit
) {
1758 if (arg0
.getSource() == jMenuItemProjectChangeWorkspace
) {
1762 if (arg0
.getSource() == jMenuItemToolsClone
) {
1766 if (arg0
.getSource() == jMenuItemHelpAbout
) {
1767 About a
= new About(this, true);
1768 int result
= a
.showDialog();
1769 if (result
== DataType
.RETURN_TYPE_OK
) {
1776 Create an empty tree if no file is open
1779 private void makeEmptyTree() {
1781 dmtnRoot
= new IDefaultMutableTreeNode("WORKSPACE", IDefaultMutableTreeNode
.WORKSPACE
, -1);
1783 // Make Module Description
1784 dmtnModuleDescription
= new IDefaultMutableTreeNode("ModuleDescription", IDefaultMutableTreeNode
.MODULE
, -1);
1786 if (this.vModuleList
.size() > 0) {
1787 for (int index
= 0; index
< this.vModuleList
.size(); index
++) {
1788 dmtnModuleDescription
.add(new IDefaultMutableTreeNode(this.vModuleList
.elementAt(index
).getName(),
1789 IDefaultMutableTreeNode
.MSA_HEADER
, false,
1790 this.vModuleList
.elementAt(index
)));
1794 // Make Package Description
1795 dmtnPackageDescription
= new IDefaultMutableTreeNode("PackageDescription", IDefaultMutableTreeNode
.PACKAGE
, -1);
1796 if (this.vPackageList
.size() > 0) {
1797 for (int index
= 0; index
< this.vPackageList
.size(); index
++) {
1798 dmtnPackageDescription
.add(new IDefaultMutableTreeNode(this.vPackageList
.elementAt(index
).getName(),
1799 IDefaultMutableTreeNode
.SPD_HEADER
, false,
1800 this.vPackageList
.elementAt(index
)));
1804 // Make Platform Description
1805 dmtnPlatformDescription
= new IDefaultMutableTreeNode("PlatformDescription", IDefaultMutableTreeNode
.PLATFORM
,
1807 if (this.vPlatformList
.size() > 0) {
1808 for (int index
= 0; index
< this.vPlatformList
.size(); index
++) {
1809 dmtnPlatformDescription
.add(new IDefaultMutableTreeNode(this.vPlatformList
.elementAt(index
).getName(),
1810 IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
,
1811 false, this.vPlatformList
.elementAt(index
)));
1815 dmtnRoot
.add(dmtnModuleDescription
);
1816 dmtnRoot
.add(dmtnPackageDescription
);
1817 dmtnRoot
.add(dmtnPlatformDescription
);
1818 iTree
= new ITree(dmtnRoot
);
1819 iTree
.addMouseListener(this);
1820 jScrollPaneTree
.setViewportView(iTree
);
1824 * @see java.awt.event.WindowListener#windowClosing(java.awt.event.WindowEvent)
1826 * Override windowClosing to popup warning message to confirm quit
1829 public void windowClosing(WindowEvent arg0
) {
1834 * @see java.awt.event.MouseListener#mouseClicked(java.awt.event.MouseEvent)
1836 * Override mouseClicked to check if need display popup menu
1839 public void mouseClicked(MouseEvent arg0
) {
1840 if (arg0
.getButton() == MouseEvent
.BUTTON1
) {
1842 if (arg0
.getButton() == MouseEvent
.BUTTON3
) {
1845 // When double click
1847 if (arg0
.getClickCount() == 2) {
1848 doubleClickModuleTreeNode();
1852 public void mouseEntered(MouseEvent arg0
) {
1853 // TODO Auto-generated method stub
1856 public void mouseExited(MouseEvent arg0
) {
1857 // TODO Auto-generated method stub
1860 public void mousePressed(MouseEvent arg0
) {
1861 // TODO Auto-generated method stub
1864 public void mouseReleased(MouseEvent arg0
) {
1865 // TODO Auto-generated method stub
1869 Remove all Internal Frame of Module Desktop Pane
1872 private void cleanDesktopPaneModule() {
1873 if (jDesktopPaneModule
!= null) {
1874 JInternalFrame
[] iif
= this.jDesktopPaneModule
.getAllFrames();
1875 for (int index
= 0; index
< iif
.length
; index
++) {
1876 iif
[index
].dispose();
1882 Remove all Internal Frame of package Desktop Pane
1885 private void cleanDesktopPanePackage() {
1886 if (jDesktopPanePlatform
!= null) {
1887 JInternalFrame
[] iif
= this.jDesktopPanePackage
.getAllFrames();
1888 for (int index
= 0; index
< iif
.length
; index
++) {
1889 iif
[index
].dispose();
1895 Remove all Internal Frame of platform Desktop Pane
1898 private void cleanDesktopPanePlatform() {
1899 if (jDesktopPanePlatform
!= null) {
1900 JInternalFrame
[] iif
= this.jDesktopPanePlatform
.getAllFrames();
1901 for (int index
= 0; index
< iif
.length
; index
++) {
1902 iif
[index
].dispose();
1908 Remove all Internal Frame of all Desktop Panes
1911 private void cleanDesktopPane() {
1912 cleanDesktopPaneModule();
1913 cleanDesktopPanePackage();
1914 cleanDesktopPanePlatform();
1918 Set file filter as input ext
1924 private int getNewFilePath(String ext
) {
1925 JFileChooser fc
= new JFileChooser(Workspace
.getCurrentWorkspace());
1926 fc
.setAcceptAllFileFilterUsed(false);
1927 fc
.addChoosableFileFilter(new IFileFilter(ext
));
1928 return fc
.showSaveDialog(new JPanel());
1934 @param path input file path
1937 private void openModule(String path
) {
1938 ModuleSurfaceAreaDocument
.ModuleSurfaceArea msa
= null;
1940 msa
= OpenFile
.openMsaFile(path
);
1941 } catch (IOException e
) {
1942 Log
.err("Open Module Surface Area " + path
, e
.getMessage());
1944 } catch (XmlException e
) {
1945 Log
.err("Open Module Surface Area " + path
, e
.getMessage());
1947 } catch (Exception e
) {
1948 Log
.err("Open Module Surface Area " + path
, "Invalid file type");
1951 Identification id
= new Identification(msa
.getMsaHeader().getModuleName(), msa
.getMsaHeader().getGuidValue(),
1952 msa
.getMsaHeader().getVersion(), path
);
1954 // Generate module id
1956 PackageIdentification pid
= wt
.getPackageIdByModuleId(id
);
1959 // To judge if the module existed in vModuleList
1960 // If not, add it to vModuleList
1962 boolean isFind
= false;
1963 for (int index
= 0; index
< vModuleList
.size(); index
++) {
1964 if (vModuleList
.elementAt(index
).equals(id
)) {
1970 vModuleList
.addElement(new ModuleIdentification(id
, pid
));
1972 // Add new MsaHeader node to the tree
1974 IDefaultMutableTreeNode node
= new IDefaultMutableTreeNode(vModuleList
.lastElement().getName(),
1975 IDefaultMutableTreeNode
.MSA_HEADER
, true,
1976 vModuleList
.lastElement());
1977 iTree
.addNode(dmtnModuleDescription
, node
);
1981 // The module is not in existing packages
1983 Log
.err("The module hasn't been added to any package of current workspace!");
1987 // Make the node selected
1989 iTree
.setSelectionPath(iTree
.getPathOfNode(iTree
.getNodeById(this.dmtnModuleDescription
, id
,
1990 IDefaultMutableTreeNode
.MSA_HEADER
)));
1992 // Update opening Module list information
1994 if (!openingModuleList
.existsModule(id
)) {
1996 // Insert sub node of module
1998 insertModuleTreeNode(id
);
1999 iTree
.getSelectNode().setOpening(true);
2002 // Update opening module list
2004 openingModuleList
.insertToOpeningModuleList(id
, msa
);
2005 openingModuleList
.setTreePathById(id
, iTree
.getSelectionPath());
2008 // Show msa header in editor panel
2010 showModuleElement(IDefaultMutableTreeNode
.MSA_HEADER
, openingModuleList
.getOpeningModuleById(id
));
2011 this.currentOpeningModuleIndex
= openingModuleList
.findIndexOfListById(id
);
2017 @param path input file path
2020 private void openPackage(String path
) {
2021 PackageSurfaceAreaDocument
.PackageSurfaceArea spd
= null;
2023 spd
= OpenFile
.openSpdFile(path
);
2024 } catch (IOException e
) {
2025 Log
.err("Open Package Surface Area " + path
, e
.getMessage());
2027 } catch (XmlException e
) {
2028 Log
.err("Open Package Surface Area " + path
, e
.getMessage());
2030 } catch (Exception e
) {
2031 Log
.err("Open Package Surface Area " + path
, "Invalid file type");
2034 Identification id
= new Identification(spd
.getSpdHeader().getPackageName(), spd
.getSpdHeader().getGuidValue(),
2035 spd
.getSpdHeader().getVersion(), path
);
2037 // To judge if the package existed in vPackageList
2038 // If not, add it to vPackageList
2040 boolean isFind
= false;
2041 for (int index
= 0; index
< vPackageList
.size(); index
++) {
2042 if (vPackageList
.elementAt(index
).equals(id
)) {
2049 // The module is not in existing packages
2051 Log
.err("The package hasn't been added to current workspace!");
2056 // Make the node selected
2058 iTree
.setSelectionPath(iTree
.getPathOfNode(iTree
.getNodeById(this.dmtnPackageDescription
, id
,
2059 IDefaultMutableTreeNode
.SPD_HEADER
)));
2061 // Update opening package list information
2063 if (!openingPackageList
.existsPackage(id
)) {
2065 // Insert sub node of module
2067 insertPackageTreeNode(id
);
2068 iTree
.getSelectNode().setOpening(true);
2071 // Update opening module list
2073 openingPackageList
.insertToOpeningPackageList(id
, spd
);
2074 openingPackageList
.setTreePathById(id
, iTree
.getSelectionPath());
2077 // Show spd header in editor panel
2079 showPackageElement(IDefaultMutableTreeNode
.SPD_HEADER
, openingPackageList
.getOpeningPackageById(id
));
2080 this.currentOpeningPackageIndex
= openingPackageList
.findIndexOfListById(id
);
2086 @param path input file path
2089 private void openPlatform(String path
) {
2090 PlatformSurfaceAreaDocument
.PlatformSurfaceArea fpd
= null;
2092 fpd
= OpenFile
.openFpdFile(path
);
2093 } catch (IOException e
) {
2094 Log
.err("Open Platform Surface Area " + path
, e
.getMessage());
2096 } catch (XmlException e
) {
2097 Log
.err("Open Platform Surface Area " + path
, e
.getMessage());
2099 } catch (Exception e
) {
2100 Log
.err("Open Platform Surface Area " + path
, "Invalid file type");
2103 Identification id
= new Identification(fpd
.getPlatformHeader().getPlatformName(), fpd
.getPlatformHeader()
2105 fpd
.getPlatformHeader().getVersion(), path
);
2107 // To judge if the platform existed in vPlatformList
2108 // If not, add it to vPlatformList
2110 boolean isFind
= false;
2111 for (int index
= 0; index
< vPlatformList
.size(); index
++) {
2112 if (vPlatformList
.elementAt(index
).equals(id
)) {
2119 // The module is not in existing packages
2121 Log
.err("The platform hasn't been added to current workspace!");
2126 // Make the node selected
2128 iTree
.setSelectionPath(iTree
.getPathOfNode(iTree
.getNodeById(this.dmtnPlatformDescription
, id
,
2129 IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
)));
2131 // Update opening package list information
2133 if (!openingPlatformList
.existsPlatform(id
)) {
2135 // Insert sub node of module
2137 insertPlatformTreeNode(id
);
2138 iTree
.getSelectNode().setOpening(true);
2141 // Update opening module list
2143 openingPlatformList
.insertToOpeningPlatformList(id
, fpd
);
2144 openingPlatformList
.setTreePathById(id
, iTree
.getSelectionPath());
2147 // Show fpd header in editor panel
2149 showPlatformElement(IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
, openingPlatformList
.getOpeningPlatformById(id
));
2150 this.currentOpeningPlatformIndex
= openingPlatformList
.findIndexOfListById(id
);
2157 private void saveModule(int index
) {
2158 OpeningModuleType omt
= openingModuleList
.getOpeningModuleByIndex(index
);
2160 if (getNewFilePath(DataType
.MODULE_SURFACE_AREA_EXT
) != JFileChooser
.APPROVE_OPTION
) {
2165 SaveFile
.saveMsaFile(omt
.getId().getPath(), omt
.getXmlMsa());
2166 openingModuleList
.setNew(omt
.getId(), false);
2167 openingModuleList
.setModuleSaved(omt
.getId(), true);
2168 } catch (Exception e
) {
2169 Log
.err("Save Module", e
.getMessage());
2177 private void savePackage(int index
) {
2178 OpeningPackageType opt
= openingPackageList
.getOpeningPackageByIndex(index
);
2180 if (getNewFilePath(DataType
.PACKAGE_SURFACE_AREA_EXT
) != JFileChooser
.APPROVE_OPTION
) {
2185 SaveFile
.saveSpdFile(opt
.getId().getPath(), opt
.getXmlSpd());
2186 openingPackageList
.setNew(opt
.getId(), false);
2187 openingPackageList
.setPackageSaved(opt
.getId(), true);
2188 } catch (Exception e
) {
2189 Log
.err("Save Package", e
.getMessage());
2197 private void savePlatform(int index
) {
2198 OpeningPlatformType opt
= openingPlatformList
.getOpeningPlatformByIndex(index
);
2200 if (getNewFilePath(DataType
.PACKAGE_SURFACE_AREA_EXT
) != JFileChooser
.APPROVE_OPTION
) {
2205 SaveFile
.saveFpdFile(opt
.getId().getPath(), opt
.getXmlFpd());
2206 openingPlatformList
.setNew(opt
.getId(), false);
2207 openingPlatformList
.setPlatformSaved(opt
.getId(), true);
2208 } catch (Exception e
) {
2209 Log
.err("Save Package", e
.getMessage());
2213 public void componentHidden(ComponentEvent arg0
) {
2214 // TODO Auto-generated method stub
2218 public void componentMoved(ComponentEvent arg0
) {
2219 // TODO Auto-generated method stub
2223 public void componentResized(ComponentEvent arg0
) {
2224 this.jSplitPane
.setSize(this.getWidth() - DataType
.MAIN_FRAME_WIDTH_SPACING
,
2225 this.getHeight() - DataType
.MAIN_FRAME_HEIGHT_SPACING
);
2226 this.jSplitPane
.validate();
2227 resizeDesktopPanel();
2230 public void componentShown(ComponentEvent arg0
) {
2231 // TODO Auto-generated method stub
2236 Resize JDesktopPanel
2239 private void resizeDesktopPanel() {
2240 resizeDesktopPanel(this.jDesktopPaneModule
);
2241 resizeDesktopPanel(this.jDesktopPanePackage
);
2242 resizeDesktopPanel(this.jDesktopPanePlatform
);
2246 Resize JDesktopPanel
2249 private void resizeDesktopPanel(JDesktopPane jdk
) {
2250 JInternalFrame
[] iif
= jdk
.getAllFrames();
2251 for (int index
= 0; index
< iif
.length
; index
++) {
2252 iif
[index
].setSize(jdk
.getWidth(), jdk
.getHeight());
2256 private void getCompontentsFromFrameworkDatabase() {
2257 this.vModuleList
= wt
.getAllModules();
2258 this.vPackageList
= wt
.getAllPackages();
2259 this.vPlatformList
= wt
.getAllPlatforms();
2262 private void insertModuleTreeNode(Identification id
) {
2263 iTree
.addNode(new IDefaultMutableTreeNode("Module Definitions", IDefaultMutableTreeNode
.MSA_MODULEDEFINITIONS
,
2265 iTree
.addNode(new IDefaultMutableTreeNode("Library Class Definitions",
2266 IDefaultMutableTreeNode
.MSA_LIBRARYCLASSDEFINITIONS
, true, id
));
2267 iTree
.addNode(new IDefaultMutableTreeNode("Source Files", IDefaultMutableTreeNode
.MSA_SOURCEFILES
, true, id
));
2268 iTree
.addNode(new IDefaultMutableTreeNode("Package Dependencies",
2269 IDefaultMutableTreeNode
.MSA_PACKAGEDEPENDENCIES
, true, id
));
2270 iTree
.addNode(new IDefaultMutableTreeNode("Protocols", IDefaultMutableTreeNode
.MSA_PROTOCOLS
, true, id
));
2271 iTree
.addNode(new IDefaultMutableTreeNode("Events", IDefaultMutableTreeNode
.MSA_EVENTS
, true, id
));
2272 iTree
.addNode(new IDefaultMutableTreeNode("Hobs", IDefaultMutableTreeNode
.MSA_HOBS
, true, id
));
2273 iTree
.addNode(new IDefaultMutableTreeNode("Ppis", IDefaultMutableTreeNode
.MSA_PPIS
, true, id
));
2274 iTree
.addNode(new IDefaultMutableTreeNode("Variables", IDefaultMutableTreeNode
.MSA_VARIABLES
, true, id
));
2275 iTree
.addNode(new IDefaultMutableTreeNode("Boot Modes", IDefaultMutableTreeNode
.MSA_BOOTMODES
, true, id
));
2276 iTree
.addNode(new IDefaultMutableTreeNode("System Tables", IDefaultMutableTreeNode
.MSA_SYSTEMTABLES
, true, id
));
2277 iTree
.addNode(new IDefaultMutableTreeNode("Data Hubs", IDefaultMutableTreeNode
.MSA_DATAHUBS
, true, id
));
2278 iTree
.addNode(new IDefaultMutableTreeNode("Hii Packages", IDefaultMutableTreeNode
.MSA_HIIPACKAGES
, true, id
));
2279 iTree
.addNode(new IDefaultMutableTreeNode("Guids", IDefaultMutableTreeNode
.MSA_GUIDS
, true, id
));
2280 iTree
.addNode(new IDefaultMutableTreeNode("Externs", IDefaultMutableTreeNode
.MSA_EXTERNS
, true, id
));
2281 iTree
.addNode(new IDefaultMutableTreeNode("PcdCoded", IDefaultMutableTreeNode
.MSA_PCDS
, true, id
));
2284 private void insertPackageTreeNode(Identification id
) {
2285 iTree
.addNode(new IDefaultMutableTreeNode("Package Definitions",
2286 IDefaultMutableTreeNode
.SPD_PACKAGEDEFINITIONS
, true, id
));
2287 iTree
.addNode(new IDefaultMutableTreeNode("Library Class Declarations",
2288 IDefaultMutableTreeNode
.SPD_LIBRARYCLASSDECLARATIONS
, true, id
));
2289 iTree
.addNode(new IDefaultMutableTreeNode("Msa Files", IDefaultMutableTreeNode
.SPD_MSAFILES
, false, id
));
2290 iTree
.addNode(new IDefaultMutableTreeNode("Package Headers", IDefaultMutableTreeNode
.SPD_PACKAGEHEADERS
, true,
2292 iTree
.addNode(new IDefaultMutableTreeNode("Guid Declarations", IDefaultMutableTreeNode
.SPD_GUIDDECLARATIONS
,
2294 iTree
.addNode(new IDefaultMutableTreeNode("Protocol Declarations",
2295 IDefaultMutableTreeNode
.SPD_PROTOCOLDECLARATIONS
, true, id
));
2296 iTree
.addNode(new IDefaultMutableTreeNode("Ppi Declarations", IDefaultMutableTreeNode
.SPD_PPIDECLARATIONS
,
2298 iTree
.addNode(new IDefaultMutableTreeNode("Pcd Declarations", IDefaultMutableTreeNode
.SPD_PCDDECLARATIONS
,
2302 private void insertPlatformTreeNode(Identification id
) {
2303 iTree
.addNode(new IDefaultMutableTreeNode("Platform Definitions", IDefaultMutableTreeNode
.FPD_PLATFORMDEFINITIONS
, true, id
));
2304 iTree
.addNode(new IDefaultMutableTreeNode("Flash", IDefaultMutableTreeNode
.FPD_FLASH
, true, id
));
2305 iTree
.addNode(new IDefaultMutableTreeNode("Framework Modules", IDefaultMutableTreeNode
.FPD_FRAMEWORKMODULES
,
2307 iTree
.addNode(new IDefaultMutableTreeNode("Pcd Dynamic Build Declarations",
2308 IDefaultMutableTreeNode
.FPD_PCDDYNAMICBUILDDECLARATIONS
, true, id
));
2309 iTree
.addNode(new IDefaultMutableTreeNode("Build Options", IDefaultMutableTreeNode
.FPD_BUILDOPTIONS
, true, id
));
2313 Operate when double click a tree node
2316 private void doubleClickModuleTreeNode() {
2317 Identification id
= iTree
.getSelectNode().getId();
2318 int intCategory
= iTree
.getSelectCategory();
2321 // If the node is not opened yet
2322 // Insert top level elements first
2324 //if (intCategory == IDefaultMutableTreeNode.MSA_HEADER || intCategory == IDefaultMutableTreeNode.SPD_MSAFILES) {
2325 if (intCategory
== IDefaultMutableTreeNode
.MSA_HEADER
) {
2327 if (intCategory
== IDefaultMutableTreeNode
.MSA_HEADER
) {
2328 path
= iTree
.getSelectNode().getId().getPath();
2330 if (intCategory
== IDefaultMutableTreeNode
.SPD_MSAFILES
) {
2331 path
= iTree
.getSelectNode().getId().getPath();
2336 if (intCategory
== IDefaultMutableTreeNode
.SPD_HEADER
) {
2337 path
= iTree
.getSelectNode().getId().getPath();
2341 if (intCategory
== IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
) {
2342 path
= iTree
.getSelectNode().getId().getPath();
2347 // Show editor panel
2349 if (intCategory
>= IDefaultMutableTreeNode
.MSA_HEADER
&& intCategory
< IDefaultMutableTreeNode
.SPD_HEADER
) {
2350 showModuleElement(intCategory
, openingModuleList
.getOpeningModuleById(id
));
2351 this.currentOpeningModuleIndex
= openingModuleList
.findIndexOfListById(id
);
2353 if (intCategory
>= IDefaultMutableTreeNode
.SPD_HEADER
2354 && intCategory
< IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
) {
2355 showPackageElement(intCategory
, openingPackageList
.getOpeningPackageById(id
));
2356 this.currentOpeningPackageIndex
= openingPackageList
.findIndexOfListById(id
);
2358 if (intCategory
>= IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
) {
2359 showPlatformElement(intCategory
, openingPlatformList
.getOpeningPlatformById(id
));
2360 this.currentOpeningPlatformIndex
= openingPlatformList
.findIndexOfListById(id
);
2365 Show content of editor panel via selected element
2371 private void showPlatformElement(int elementType
, OpeningPlatformType fpd
) {
2372 this.cleanDesktopPanePlatform();
2373 fpd
.setSaved(false);
2374 switch (elementType
) {
2375 case IDefaultMutableTreeNode
.FPD_PLATFORMDEFINITIONS
:
2376 FpdPlatformDefs frmFpdPlatformDefs
= new FpdPlatformDefs(fpd
.getXmlFpd());
2377 getJDesktopPanePlatform().add(frmFpdPlatformDefs
, 1);
2379 case IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
:
2380 FpdHeader frmFpdHeader
= new FpdHeader(fpd
.getXmlFpd());
2381 getJDesktopPanePlatform().add(frmFpdHeader
, 1);
2383 case IDefaultMutableTreeNode
.FPD_FLASH
:
2384 FpdFlash frmFpdFlash
= new FpdFlash(fpd
.getXmlFpd());
2385 getJDesktopPanePlatform().add(frmFpdFlash
, 1);
2387 case IDefaultMutableTreeNode
.FPD_FRAMEWORKMODULES
:
2388 FpdFrameworkModules frmFpdFrameworkModules
= new FpdFrameworkModules(fpd
.getXmlFpd());
2389 getJDesktopPanePlatform().add(frmFpdFrameworkModules
, 1);
2391 case IDefaultMutableTreeNode
.FPD_PCDDYNAMICBUILDDECLARATIONS
:
2392 FpdDynamicPcdBuildDefinitions frmFpdDynamicPcdBuildDefinitions
= new FpdDynamicPcdBuildDefinitions(
2395 getJDesktopPanePlatform().add(frmFpdDynamicPcdBuildDefinitions
, 1);
2397 case IDefaultMutableTreeNode
.FPD_BUILDOPTIONS
:
2398 FpdBuildOptions frmFpdBuildOptions
= new FpdBuildOptions(fpd
.getXmlFpd());
2399 getJDesktopPanePlatform().add(frmFpdBuildOptions
, 1);
2402 this.jTabbedPaneEditor
.setSelectedIndex(2);
2403 resizeDesktopPanel();
2407 Show content of editor panel via selected element
2413 private void showPackageElement(int elementType
, OpeningPackageType spd
) {
2414 this.cleanDesktopPanePackage();
2415 Tools
.dirForNewSpd
= spd
.getId().getPath();
2416 spd
.setSaved(false);
2417 switch (elementType
) {
2418 case IDefaultMutableTreeNode
.SPD_HEADER
:
2419 SpdHeader frmSpdHeader
= new SpdHeader(spd
.getXmlSpd());
2420 getJDesktopPanePackage().add(frmSpdHeader
, 1);
2422 case IDefaultMutableTreeNode
.SPD_PACKAGEDEFINITIONS
:
2423 SpdPackageDefinitions frmSpdPackageDefinitions
= new SpdPackageDefinitions(spd
.getXmlSpd());
2424 getJDesktopPanePackage().add(frmSpdPackageDefinitions
, 1);
2426 case IDefaultMutableTreeNode
.SPD_LIBRARYCLASSDECLARATIONS
:
2427 SpdLibClassDecls frmSlcd
= new SpdLibClassDecls(spd
.getXmlSpd());
2428 getJDesktopPanePackage().add(frmSlcd
, 1);
2430 case IDefaultMutableTreeNode
.SPD_MSAFILES
:
2431 SpdMsaFiles frmSmf
= new SpdMsaFiles(spd
.getXmlSpd());
2432 getJDesktopPanePackage().add(frmSmf
, 1);
2434 case IDefaultMutableTreeNode
.SPD_PACKAGEHEADERS
:
2435 SpdPackageHeaders frmSph
= new SpdPackageHeaders(spd
.getXmlSpd());
2436 getJDesktopPanePackage().add(frmSph
, 1);
2438 case IDefaultMutableTreeNode
.SPD_GUIDDECLARATIONS
:
2439 SpdGuidDecls frmSgd
= new SpdGuidDecls(spd
.getXmlSpd());
2440 getJDesktopPanePackage().add(frmSgd
, 1);
2442 case IDefaultMutableTreeNode
.SPD_PROTOCOLDECLARATIONS
:
2443 SpdProtocolDecls frmSprod
= new SpdProtocolDecls(spd
.getXmlSpd());
2444 getJDesktopPanePackage().add(frmSprod
, 1);
2446 case IDefaultMutableTreeNode
.SPD_PPIDECLARATIONS
:
2447 SpdPpiDecls frmSppid
= new SpdPpiDecls(spd
.getXmlSpd());
2448 getJDesktopPanePackage().add(frmSppid
, 1);
2450 case IDefaultMutableTreeNode
.SPD_PCDDECLARATIONS
:
2451 SpdPcdDefs frmSpcdd
= new SpdPcdDefs(spd
.getXmlSpd());
2452 getJDesktopPanePackage().add(frmSpcdd
, 1);
2455 this.jTabbedPaneEditor
.setSelectedIndex(1);
2456 resizeDesktopPanel();
2460 Show content of editor panel via selected element
2466 private void showModuleElement(int elementType
, OpeningModuleType msa
) {
2467 this.cleanDesktopPaneModule();
2468 switch (elementType
) {
2469 case IDefaultMutableTreeNode
.MSA_HEADER
:
2470 MsaHeader frmMsaHeader
= new MsaHeader(msa
);
2471 getJDesktopPaneModule().add(frmMsaHeader
, 1);
2473 case IDefaultMutableTreeNode
.MSA_MODULEDEFINITIONS
:
2474 ModuleDefinitions frmMd
= new ModuleDefinitions(msa
);
2475 getJDesktopPaneModule().add(frmMd
, 1);
2477 case IDefaultMutableTreeNode
.MSA_LIBRARYCLASSDEFINITIONS
:
2478 ModuleLibraryClassDefinitions frmMlcd
= new ModuleLibraryClassDefinitions(msa
);
2479 getJDesktopPaneModule().add(frmMlcd
, 1);
2481 case IDefaultMutableTreeNode
.MSA_PACKAGEDEPENDENCIES
:
2482 ModulePackageDependencies frmMpd
= new ModulePackageDependencies(msa
);
2483 getJDesktopPaneModule().add(frmMpd
, 1);
2485 case IDefaultMutableTreeNode
.MSA_SOURCEFILES
:
2486 ModuleSourceFiles frmMsf
= new ModuleSourceFiles(msa
);
2487 getJDesktopPaneModule().add(frmMsf
, 1);
2489 case IDefaultMutableTreeNode
.MSA_PROTOCOLS
:
2490 ModuleProtocols frmMp
= new ModuleProtocols(msa
);
2491 getJDesktopPaneModule().add(frmMp
, 1);
2493 case IDefaultMutableTreeNode
.MSA_EVENTS
:
2494 ModuleEvents frmMe
= new ModuleEvents(msa
);
2495 getJDesktopPaneModule().add(frmMe
, 1);
2497 case IDefaultMutableTreeNode
.MSA_HOBS
:
2498 ModuleHobs frmMh
= new ModuleHobs(msa
);
2499 getJDesktopPaneModule().add(frmMh
, 1);
2501 case IDefaultMutableTreeNode
.MSA_PPIS
:
2502 ModulePpis frmMpp
= new ModulePpis(msa
);
2503 getJDesktopPaneModule().add(frmMpp
, 1);
2505 case IDefaultMutableTreeNode
.MSA_VARIABLES
:
2506 ModuleVariables frmMv
= new ModuleVariables(msa
);
2507 getJDesktopPaneModule().add(frmMv
, 1);
2509 case IDefaultMutableTreeNode
.MSA_BOOTMODES
:
2510 ModuleBootModes frmMbm
= new ModuleBootModes(msa
);
2511 getJDesktopPaneModule().add(frmMbm
, 1);
2513 case IDefaultMutableTreeNode
.MSA_SYSTEMTABLES
:
2514 ModuleSystemTables frmMst
= new ModuleSystemTables(msa
);
2515 getJDesktopPaneModule().add(frmMst
, 1);
2517 case IDefaultMutableTreeNode
.MSA_DATAHUBS
:
2518 ModuleDataHubs frmMdh
= new ModuleDataHubs(msa
);
2519 getJDesktopPaneModule().add(frmMdh
, 1);
2521 case IDefaultMutableTreeNode
.MSA_HIIPACKAGES
:
2522 ModuleHiiPackages frmMf
= new ModuleHiiPackages(msa
);
2523 getJDesktopPaneModule().add(frmMf
, 1);
2525 case IDefaultMutableTreeNode
.MSA_GUIDS
:
2526 ModuleGuids frmGuid
= new ModuleGuids(msa
);
2527 getJDesktopPaneModule().add(frmGuid
, 1);
2529 case IDefaultMutableTreeNode
.MSA_EXTERNS
:
2530 ModuleExterns frmMex
= new ModuleExterns(msa
);
2531 getJDesktopPaneModule().add(frmMex
, 1);
2533 case IDefaultMutableTreeNode
.MSA_PCDS
:
2534 ModulePCDs frmPcd
= new ModulePCDs(msa
);
2535 getJDesktopPaneModule().add(frmPcd
, 1);
2538 this.jTabbedPaneEditor
.setSelectedIndex(0);
2539 resizeDesktopPanel();
2543 // Define operations of menu
2549 private void fileNew() {
2552 // Selece new file type
2554 NewFileChooser nfc
= new NewFileChooser(this, true);
2555 result
= nfc
.showDialog();
2557 if (result
== DataType
.RETURN_TYPE_CANCEL
) {
2560 } else if (result
== DataType
.RETURN_TYPE_MODULE_SURFACE_AREA
) {
2564 SelectModuleBelong smb
= new SelectModuleBelong(this, true, result
);
2565 result
= smb
.showDialog();
2567 if (result
== DataType
.RETURN_TYPE_CANCEL
) {
2571 } else if (result
== DataType
.RETURN_TYPE_OK
) {
2572 PackageSurfaceAreaDocument
.PackageSurfaceArea psa
= null;
2573 if (this.openingPackageList
.existsPackage(smb
.getMid().getPackageId())) {
2574 psa
= openingPackageList
.getPackageSurfaceAreaFromId(smb
.getMid().getPackageId());
2577 wt
.addModuleToPackage(smb
.getMid(), psa
);
2578 } catch (IOException e
) {
2579 Log
.err("Upddate MsaFiles of Package", e
.getMessage());
2580 e
.printStackTrace();
2582 } catch (XmlException e
) {
2583 Log
.err("Upddate MsaFiles of Package", e
.getMessage());
2584 e
.printStackTrace();
2586 } catch (Exception e
) {
2587 Log
.err("Upddate MsaFiles of Package", e
.getMessage());
2588 e
.printStackTrace();
2591 this.openModule(smb
.getMid().getPath());
2593 } else if (result
== DataType
.RETURN_TYPE_PACKAGE_SURFACE_AREA
) {
2597 SelectModuleBelong smb
= new SelectModuleBelong(this, true, result
);
2598 result
= smb
.showDialog();
2600 if (result
== DataType
.RETURN_TYPE_CANCEL
) {
2604 } else if (result
== DataType
.RETURN_TYPE_OK
) {
2606 wt
.addPackageToDatabase(smb
.getPid());
2607 } catch (Exception e
) {
2608 // TODO Auto-generated catch block
2609 e
.printStackTrace();
2611 vPackageList
.addElement(smb
.getPid());
2613 // Add new SpdHeader node to the tree
2615 IDefaultMutableTreeNode node
= new IDefaultMutableTreeNode(vPackageList
.lastElement().getName(),
2616 IDefaultMutableTreeNode
.SPD_HEADER
, true,
2617 vPackageList
.lastElement());
2618 iTree
.addNode(dmtnPackageDescription
, node
);
2619 this.openPackage(smb
.getPid().getPath());
2621 } else if (result
== DataType
.RETURN_TYPE_PLATFORM_SURFACE_AREA
) {
2623 // To new a platform
2625 SelectModuleBelong smb
= new SelectModuleBelong(this, true, result
);
2626 result
= smb
.showDialog();
2628 if (result
== DataType
.RETURN_TYPE_CANCEL
) {
2632 } else if (result
== DataType
.RETURN_TYPE_OK
) {
2634 wt
.addPlatformToDatabase(smb
.getFid());
2635 } catch (Exception e
) {
2636 // TODO Auto-generated catch block
2637 e
.printStackTrace();
2639 vPlatformList
.addElement(smb
.getFid());
2641 // Add new SpdHeader node to the tree
2643 IDefaultMutableTreeNode node
= new IDefaultMutableTreeNode(vPlatformList
.lastElement().getName(),
2644 IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
,
2645 true, vPlatformList
.lastElement());
2646 iTree
.addNode(dmtnPlatformDescription
, node
);
2647 this.openPlatform(smb
.getFid().getPath());
2656 private void open() {
2657 JFileChooser fc
= new JFileChooser(Workspace
.getCurrentWorkspace());
2658 fc
.setAcceptAllFileFilterUsed(false);
2659 IFileFilter iffM
= new IFileFilter(DataType
.MODULE_SURFACE_AREA_EXT
);
2660 IFileFilter iffP
= new IFileFilter(DataType
.PACKAGE_SURFACE_AREA_EXT
);
2661 IFileFilter iffF
= new IFileFilter(DataType
.PLATFORM_SURFACE_AREA_EXT
);
2662 fc
.addChoosableFileFilter(iffM
);
2663 fc
.addChoosableFileFilter(iffP
);
2664 fc
.addChoosableFileFilter(iffF
);
2665 fc
.setFileFilter(iffM
);
2667 int result
= fc
.showOpenDialog(new JPanel());
2669 if (result
== JFileChooser
.APPROVE_OPTION
) {
2670 String path
= fc
.getSelectedFile().getPath();
2671 String match
= path
.substring(path
.length() - 4);
2672 if (match
.equals(DataType
.FILE_EXT_SEPARATOR
+ DataType
.MODULE_SURFACE_AREA_EXT
)) {
2674 } else if (match
.equals(DataType
.FILE_EXT_SEPARATOR
+ DataType
.PACKAGE_SURFACE_AREA_EXT
)) {
2676 } else if (match
.equals(DataType
.FILE_EXT_SEPARATOR
+ DataType
.PLATFORM_SURFACE_AREA_EXT
)) {
2686 private void close() {
2687 switch (this.jTabbedPaneEditor
.getSelectedIndex()) {
2689 // Current is module
2692 if (this.currentOpeningModuleIndex
> -1) {
2693 if (!openingModuleList
.getModuleSaved(currentOpeningModuleIndex
)) {
2694 int result
= showSaveDialog();
2695 if (result
== JOptionPane
.YES_OPTION
) {
2698 if (result
== JOptionPane
.NO_OPTION
) {
2701 if (result
== JOptionPane
.CANCEL_OPTION
) {
2705 iTree
.removeNodeChildrenByPath(openingModuleList
.getTreePathByIndex(currentOpeningModuleIndex
));
2706 this.openingModuleList
.removeFromOpeningModuleListByIndex(this.currentOpeningModuleIndex
);
2707 this.cleanDesktopPaneModule();
2708 this.currentOpeningModuleIndex
= -1;
2712 // Current is package
2715 if (this.currentOpeningPackageIndex
> -1) {
2716 if (!openingPackageList
.getPackageSaved(currentOpeningPackageIndex
)) {
2717 int result
= showSaveDialog();
2718 if (result
== JOptionPane
.YES_OPTION
) {
2721 if (result
== JOptionPane
.NO_OPTION
) {
2724 if (result
== JOptionPane
.CANCEL_OPTION
) {
2728 iTree
.removeNodeChildrenByPath(openingPackageList
.getTreePathByIndex(currentOpeningPackageIndex
));
2729 this.openingPackageList
.removeFromOpeningPackageListByIndex(this.currentOpeningPackageIndex
);
2730 this.cleanDesktopPanePackage();
2731 this.currentOpeningPackageIndex
= -1;
2735 // Current is platform
2738 if (this.currentOpeningPlatformIndex
> -1) {
2739 if (!openingPlatformList
.getPlatformSaved(currentOpeningPlatformIndex
)) {
2740 int result
= showSaveDialog();
2741 if (result
== JOptionPane
.YES_OPTION
) {
2744 if (result
== JOptionPane
.NO_OPTION
) {
2747 if (result
== JOptionPane
.CANCEL_OPTION
) {
2751 iTree
.removeNodeChildrenByPath(openingPlatformList
.getTreePathByIndex(currentOpeningPlatformIndex
));
2752 this.openingPlatformList
.removeFromOpeningPlatformListByIndex(this.currentOpeningPlatformIndex
);
2753 this.cleanDesktopPanePlatform();
2754 this.currentOpeningPlatformIndex
= -1;
2761 Close all opening files and clean all showing internal frame
2764 private void closeAll() {
2766 if (!openingModuleList
.isSaved() || !openingPackageList
.isSaved() || !openingPlatformList
.isSaved()) {
2767 result
= showSaveDialog();
2769 if (result
== JOptionPane
.YES_OPTION
) {
2772 if (result
== JOptionPane
.NO_OPTION
) {
2775 if (result
== JOptionPane
.CANCEL_OPTION
) {
2778 this.cleanDesktopPane();
2779 this.getCompontentsFromFrameworkDatabase();
2780 openingModuleList
.removeAllFromOpeningModuleList();
2781 openingPackageList
.removeAllFromOpeningPackageList();
2782 openingPlatformList
.removeAllFromOpeningPlatformList();
2783 this.makeEmptyTree();
2787 Save currentModule when press button OK
2790 private void save() {
2791 switch (this.jTabbedPaneEditor
.getSelectedIndex()) {
2793 if (this.currentOpeningModuleIndex
> -1) {
2794 saveModule(this.currentOpeningModuleIndex
);
2798 if (this.currentOpeningPackageIndex
> -1) {
2799 savePackage(this.currentOpeningPackageIndex
);
2803 if (this.currentOpeningPlatformIndex
> -1) {
2804 savePlatform(this.currentOpeningPlatformIndex
);
2810 private void saveAs() {
2814 private void saveAll() {
2818 for (int index
= 0; index
< openingModuleList
.size(); index
++) {
2819 if (!openingModuleList
.getModuleSaved(index
)) {
2825 // Save all packages
2827 for (int index
= 0; index
< openingPackageList
.size(); index
++) {
2828 if (!openingPackageList
.getPackageSaved(index
)) {
2834 // Save all platforms
2836 for (int index
= 0; index
< openingPlatformList
.size(); index
++) {
2837 if (!openingPlatformList
.getPlatformSaved(index
)) {
2838 savePlatform(index
);
2844 To save changed items before exit.
2847 private void exit() {
2849 if (!openingModuleList
.isSaved() || !openingPackageList
.isSaved() || !openingPlatformList
.isSaved()) {
2850 result
= showSaveDialog();
2852 if (result
== JOptionPane
.YES_OPTION
) {
2855 if (result
== JOptionPane
.NO_OPTION
) {
2858 if (result
== JOptionPane
.CANCEL_OPTION
) {
2866 Switch current workspace to others
2869 private void changeWorkspace() {
2870 SwitchWorkspace sw
= new SwitchWorkspace(this, true);
2871 int result
= sw
.showDialog();
2872 if (result
== DataType
.RETURN_TYPE_CANCEL
) {
2874 } else if (result
== DataType
.RETURN_TYPE_OK
) {
2876 // Reinit whole window
2879 this.setTitle(windowTitle
+ "- [" + Workspace
.getCurrentWorkspace() + "]");
2888 private void cloneItem() {
2892 // Check if there is any item can be cloned
2894 if (iTree
.getSelectionPath() == null) {
2895 Log
.err("Please select a target to clone!");
2898 int category
= iTree
.getSelectCategory();
2899 Identification id
= iTree
.getSelectNode().getId();
2900 if (category
== IDefaultMutableTreeNode
.MODULE
|| category
== IDefaultMutableTreeNode
.PACKAGE
2901 || category
== IDefaultMutableTreeNode
.PLATFORM
) {
2902 Log
.err("Please select a target to clone!");
2906 if (category
== IDefaultMutableTreeNode
.WORKSPACE
) {
2907 mode
= DataType
.RETURN_TYPE_WORKSPACE
;
2910 if (category
>= IDefaultMutableTreeNode
.MSA_HEADER
&& category
< IDefaultMutableTreeNode
.SPD_HEADER
) {
2911 mode
= DataType
.RETURN_TYPE_MODULE_SURFACE_AREA
;
2913 if (category
>= IDefaultMutableTreeNode
.SPD_HEADER
&& category
< IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
) {
2914 mode
= DataType
.RETURN_TYPE_PACKAGE_SURFACE_AREA
;
2916 if (category
>= IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
) {
2917 mode
= DataType
.RETURN_TYPE_PLATFORM_SURFACE_AREA
;
2919 Clone c
= new Clone(this, true, mode
, id
);
2920 int result
= c
.showDialog();
2922 if (result
== DataType
.RETURN_TYPE_CANCEL
) {
2925 if (result
== DataType
.RETURN_TYPE_WORKSPACE
) {
2926 Tools
.showInformationMessage("Workspace Clone Finished");
2928 if (result
== DataType
.RETURN_TYPE_MODULE_SURFACE_AREA
) {
2929 Tools
.showInformationMessage("Module Surface Area Clone Finished");
2930 vModuleList
.addElement(c
.getMid());
2932 // Add new MsaHeader node to the tree
2934 IDefaultMutableTreeNode node
= new IDefaultMutableTreeNode(vModuleList
.lastElement().getName(),
2935 IDefaultMutableTreeNode
.MSA_HEADER
, true,
2936 vModuleList
.lastElement());
2937 iTree
.addNode(dmtnModuleDescription
, node
);
2939 if (result
== DataType
.RETURN_TYPE_PACKAGE_SURFACE_AREA
) {
2940 Tools
.showInformationMessage("Package Surface Area Clone Finished");
2941 vPackageList
.addElement(c
.getPid());
2943 // Add new SpdHeader node to the tree
2945 IDefaultMutableTreeNode node
= new IDefaultMutableTreeNode(vPackageList
.lastElement().getName(),
2946 IDefaultMutableTreeNode
.SPD_HEADER
, true,
2947 vPackageList
.lastElement());
2948 iTree
.addNode(dmtnPackageDescription
, node
);
2950 if (result
== DataType
.RETURN_TYPE_PLATFORM_SURFACE_AREA
) {
2951 Tools
.showInformationMessage("Platform Surface Area Clone Finished");
2952 vPlatformList
.addElement(c
.getFid());
2954 // Add new SpdHeader node to the tree
2956 IDefaultMutableTreeNode node
= new IDefaultMutableTreeNode(vPlatformList
.lastElement().getName(),
2957 IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
,
2958 true, vPlatformList
.lastElement());
2959 iTree
.addNode(dmtnPlatformDescription
, node
);
2960 //this.openPlatform(c.getFid().getPath());
2962 if (result
== DataType
.RETURN_TYPE_OK
) {
2967 public void valueChanged(TreeSelectionEvent arg0
) {
2968 // TODO Auto-generated method stub
2972 public void menuCanceled(MenuEvent arg0
) {
2973 // TODO Auto-generated method stub
2977 public void menuDeselected(MenuEvent arg0
) {
2978 // TODO Auto-generated method stub
2982 public void menuSelected(MenuEvent arg0
) {
2983 if (arg0
.getSource() == jMenuFile
) {
2985 // Enable close/close all if some files are opened
2987 jMenuItemFileClose
.setEnabled(openingModuleList
.isOpend() || openingPackageList
.isOpend()
2988 || openingPlatformList
.isOpend());
2989 jMenuItemFileCloseAll
.setEnabled(openingModuleList
.isOpend() || openingPackageList
.isOpend()
2990 || openingPlatformList
.isOpend());
2993 // Enable save/save all if some files are changed
2995 jMenuItemFileSave
.setEnabled(!openingModuleList
.isSaved() || !openingPackageList
.isSaved()
2996 || !openingPlatformList
.isSaved());
2997 jMenuItemFileSaveAll
.setEnabled(!openingModuleList
.isSaved() || !openingPackageList
.isSaved()
2998 || !openingPlatformList
.isSaved());
3001 if (arg0
.getSource() == jMenuTools
) {
3003 // Enable clone when select some items
3005 if (iTree
.getSelectionPath() == null) {
3006 jMenuItemToolsClone
.setEnabled(false);
3008 int category
= iTree
.getSelectCategory();
3009 if (category
== IDefaultMutableTreeNode
.MODULE
|| category
== IDefaultMutableTreeNode
.PACKAGE
3010 || category
== IDefaultMutableTreeNode
.PLATFORM
) {
3011 jMenuItemToolsClone
.setEnabled(false);
3013 jMenuItemToolsClone
.setEnabled(true);