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 switch (elementType
) {
2374 case IDefaultMutableTreeNode
.FPD_PLATFORMDEFINITIONS
:
2375 FpdPlatformDefs frmFpdPlatformDefs
= new FpdPlatformDefs(fpd
.getXmlFpd());
2376 getJDesktopPanePlatform().add(frmFpdPlatformDefs
, 1);
2378 case IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
:
2379 FpdHeader frmFpdHeader
= new FpdHeader(fpd
.getXmlFpd());
2380 getJDesktopPanePlatform().add(frmFpdHeader
, 1);
2382 case IDefaultMutableTreeNode
.FPD_FLASH
:
2383 FpdFlash frmFpdFlash
= new FpdFlash(fpd
.getXmlFpd());
2384 getJDesktopPanePlatform().add(frmFpdFlash
, 1);
2386 case IDefaultMutableTreeNode
.FPD_FRAMEWORKMODULES
:
2387 FpdFrameworkModules frmFpdFrameworkModules
= new FpdFrameworkModules(fpd
.getXmlFpd());
2388 getJDesktopPanePlatform().add(frmFpdFrameworkModules
, 1);
2390 case IDefaultMutableTreeNode
.FPD_PCDDYNAMICBUILDDECLARATIONS
:
2391 FpdDynamicPcdBuildDefinitions frmFpdDynamicPcdBuildDefinitions
= new FpdDynamicPcdBuildDefinitions(
2394 getJDesktopPanePlatform().add(frmFpdDynamicPcdBuildDefinitions
, 1);
2396 case IDefaultMutableTreeNode
.FPD_BUILDOPTIONS
:
2397 FpdBuildOptions frmFpdBuildOptions
= new FpdBuildOptions(fpd
.getXmlFpd());
2398 getJDesktopPanePlatform().add(frmFpdBuildOptions
, 1);
2401 this.jTabbedPaneEditor
.setSelectedIndex(2);
2402 resizeDesktopPanel();
2406 Show content of editor panel via selected element
2412 private void showPackageElement(int elementType
, OpeningPackageType spd
) {
2413 this.cleanDesktopPanePackage();
2414 Tools
.dirForNewSpd
= spd
.getId().getPath();
2415 switch (elementType
) {
2416 case IDefaultMutableTreeNode
.SPD_HEADER
:
2417 SpdHeader frmSpdHeader
= new SpdHeader(spd
.getXmlSpd());
2418 getJDesktopPanePackage().add(frmSpdHeader
, 1);
2420 case IDefaultMutableTreeNode
.SPD_PACKAGEDEFINITIONS
:
2421 SpdPackageDefinitions frmSpdPackageDefinitions
= new SpdPackageDefinitions(spd
.getXmlSpd());
2422 getJDesktopPanePackage().add(frmSpdPackageDefinitions
, 1);
2424 case IDefaultMutableTreeNode
.SPD_LIBRARYCLASSDECLARATIONS
:
2425 SpdLibClassDecls frmSlcd
= new SpdLibClassDecls(spd
.getXmlSpd());
2426 getJDesktopPanePackage().add(frmSlcd
, 1);
2428 case IDefaultMutableTreeNode
.SPD_MSAFILES
:
2429 SpdMsaFiles frmSmf
= new SpdMsaFiles(spd
.getXmlSpd());
2430 getJDesktopPanePackage().add(frmSmf
, 1);
2432 case IDefaultMutableTreeNode
.SPD_PACKAGEHEADERS
:
2433 SpdPackageHeaders frmSph
= new SpdPackageHeaders(spd
.getXmlSpd());
2434 getJDesktopPanePackage().add(frmSph
, 1);
2436 case IDefaultMutableTreeNode
.SPD_GUIDDECLARATIONS
:
2437 SpdGuidDecls frmSgd
= new SpdGuidDecls(spd
.getXmlSpd());
2438 getJDesktopPanePackage().add(frmSgd
, 1);
2440 case IDefaultMutableTreeNode
.SPD_PROTOCOLDECLARATIONS
:
2441 SpdProtocolDecls frmSprod
= new SpdProtocolDecls(spd
.getXmlSpd());
2442 getJDesktopPanePackage().add(frmSprod
, 1);
2444 case IDefaultMutableTreeNode
.SPD_PPIDECLARATIONS
:
2445 SpdPpiDecls frmSppid
= new SpdPpiDecls(spd
.getXmlSpd());
2446 getJDesktopPanePackage().add(frmSppid
, 1);
2448 case IDefaultMutableTreeNode
.SPD_PCDDECLARATIONS
:
2449 SpdPcdDefs frmSpcdd
= new SpdPcdDefs(spd
.getXmlSpd());
2450 getJDesktopPanePackage().add(frmSpcdd
, 1);
2453 this.jTabbedPaneEditor
.setSelectedIndex(1);
2454 resizeDesktopPanel();
2458 Show content of editor panel via selected element
2464 private void showModuleElement(int elementType
, OpeningModuleType msa
) {
2465 this.cleanDesktopPaneModule();
2466 switch (elementType
) {
2467 case IDefaultMutableTreeNode
.MSA_HEADER
:
2468 MsaHeader frmMsaHeader
= new MsaHeader(msa
);
2469 getJDesktopPaneModule().add(frmMsaHeader
, 1);
2471 case IDefaultMutableTreeNode
.MSA_MODULEDEFINITIONS
:
2472 ModuleDefinitions frmMd
= new ModuleDefinitions(msa
);
2473 getJDesktopPaneModule().add(frmMd
, 1);
2475 case IDefaultMutableTreeNode
.MSA_LIBRARYCLASSDEFINITIONS
:
2476 ModuleLibraryClassDefinitions frmMlcd
= new ModuleLibraryClassDefinitions(msa
);
2477 getJDesktopPaneModule().add(frmMlcd
, 1);
2479 case IDefaultMutableTreeNode
.MSA_PACKAGEDEPENDENCIES
:
2480 ModulePackageDependencies frmMpd
= new ModulePackageDependencies(msa
);
2481 getJDesktopPaneModule().add(frmMpd
, 1);
2483 case IDefaultMutableTreeNode
.MSA_SOURCEFILES
:
2484 ModuleSourceFiles frmMsf
= new ModuleSourceFiles(msa
);
2485 getJDesktopPaneModule().add(frmMsf
, 1);
2487 case IDefaultMutableTreeNode
.MSA_PROTOCOLS
:
2488 ModuleProtocols frmMp
= new ModuleProtocols(msa
);
2489 getJDesktopPaneModule().add(frmMp
, 1);
2491 case IDefaultMutableTreeNode
.MSA_EVENTS
:
2492 ModuleEvents frmMe
= new ModuleEvents(msa
);
2493 getJDesktopPaneModule().add(frmMe
, 1);
2495 case IDefaultMutableTreeNode
.MSA_HOBS
:
2496 ModuleHobs frmMh
= new ModuleHobs(msa
);
2497 getJDesktopPaneModule().add(frmMh
, 1);
2499 case IDefaultMutableTreeNode
.MSA_PPIS
:
2500 ModulePpis frmMpp
= new ModulePpis(msa
);
2501 getJDesktopPaneModule().add(frmMpp
, 1);
2503 case IDefaultMutableTreeNode
.MSA_VARIABLES
:
2504 ModuleVariables frmMv
= new ModuleVariables(msa
);
2505 getJDesktopPaneModule().add(frmMv
, 1);
2507 case IDefaultMutableTreeNode
.MSA_BOOTMODES
:
2508 ModuleBootModes frmMbm
= new ModuleBootModes(msa
);
2509 getJDesktopPaneModule().add(frmMbm
, 1);
2511 case IDefaultMutableTreeNode
.MSA_SYSTEMTABLES
:
2512 ModuleSystemTables frmMst
= new ModuleSystemTables(msa
);
2513 getJDesktopPaneModule().add(frmMst
, 1);
2515 case IDefaultMutableTreeNode
.MSA_DATAHUBS
:
2516 ModuleDataHubs frmMdh
= new ModuleDataHubs(msa
);
2517 getJDesktopPaneModule().add(frmMdh
, 1);
2519 case IDefaultMutableTreeNode
.MSA_HIIPACKAGES
:
2520 ModuleHiiPackages frmMf
= new ModuleHiiPackages(msa
);
2521 getJDesktopPaneModule().add(frmMf
, 1);
2523 case IDefaultMutableTreeNode
.MSA_GUIDS
:
2524 ModuleGuids frmGuid
= new ModuleGuids(msa
);
2525 getJDesktopPaneModule().add(frmGuid
, 1);
2527 case IDefaultMutableTreeNode
.MSA_EXTERNS
:
2528 ModuleExterns frmMex
= new ModuleExterns(msa
);
2529 getJDesktopPaneModule().add(frmMex
, 1);
2531 case IDefaultMutableTreeNode
.MSA_PCDS
:
2532 ModulePCDs frmPcd
= new ModulePCDs(msa
);
2533 getJDesktopPaneModule().add(frmPcd
, 1);
2536 this.jTabbedPaneEditor
.setSelectedIndex(0);
2537 resizeDesktopPanel();
2541 // Define operations of menu
2547 private void fileNew() {
2550 // Selece new file type
2552 NewFileChooser nfc
= new NewFileChooser(this, true);
2553 result
= nfc
.showDialog();
2555 if (result
== DataType
.RETURN_TYPE_CANCEL
) {
2558 } else if (result
== DataType
.RETURN_TYPE_MODULE_SURFACE_AREA
) {
2562 SelectModuleBelong smb
= new SelectModuleBelong(this, true, result
);
2563 result
= smb
.showDialog();
2565 if (result
== DataType
.RETURN_TYPE_CANCEL
) {
2569 } else if (result
== DataType
.RETURN_TYPE_OK
) {
2570 PackageSurfaceAreaDocument
.PackageSurfaceArea psa
= null;
2571 if (this.openingPackageList
.existsPackage(smb
.getMid().getPackageId())) {
2572 psa
= openingPackageList
.getPackageSurfaceAreaFromId(smb
.getMid().getPackageId());
2575 wt
.addModuleToPackage(smb
.getMid(), psa
);
2576 } catch (IOException e
) {
2577 Log
.err("Upddate MsaFiles of Package", e
.getMessage());
2578 e
.printStackTrace();
2580 } catch (XmlException e
) {
2581 Log
.err("Upddate MsaFiles of Package", e
.getMessage());
2582 e
.printStackTrace();
2584 } catch (Exception e
) {
2585 Log
.err("Upddate MsaFiles of Package", e
.getMessage());
2586 e
.printStackTrace();
2589 this.openModule(smb
.getMid().getPath());
2591 } else if (result
== DataType
.RETURN_TYPE_PACKAGE_SURFACE_AREA
) {
2595 SelectModuleBelong smb
= new SelectModuleBelong(this, true, result
);
2596 result
= smb
.showDialog();
2598 if (result
== DataType
.RETURN_TYPE_CANCEL
) {
2602 } else if (result
== DataType
.RETURN_TYPE_OK
) {
2604 wt
.addPackageToDatabase(smb
.getPid());
2605 } catch (Exception e
) {
2606 // TODO Auto-generated catch block
2607 e
.printStackTrace();
2609 vPackageList
.addElement(smb
.getPid());
2611 // Add new SpdHeader node to the tree
2613 IDefaultMutableTreeNode node
= new IDefaultMutableTreeNode(vPackageList
.lastElement().getName(),
2614 IDefaultMutableTreeNode
.SPD_HEADER
, true,
2615 vPackageList
.lastElement());
2616 iTree
.addNode(dmtnPackageDescription
, node
);
2617 this.openPackage(smb
.getPid().getPath());
2619 } else if (result
== DataType
.RETURN_TYPE_PLATFORM_SURFACE_AREA
) {
2621 // To new a platform
2623 SelectModuleBelong smb
= new SelectModuleBelong(this, true, result
);
2624 result
= smb
.showDialog();
2626 if (result
== DataType
.RETURN_TYPE_CANCEL
) {
2630 } else if (result
== DataType
.RETURN_TYPE_OK
) {
2632 wt
.addPlatformToDatabase(smb
.getFid());
2633 } catch (Exception e
) {
2634 // TODO Auto-generated catch block
2635 e
.printStackTrace();
2637 vPlatformList
.addElement(smb
.getFid());
2639 // Add new SpdHeader node to the tree
2641 IDefaultMutableTreeNode node
= new IDefaultMutableTreeNode(vPlatformList
.lastElement().getName(),
2642 IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
,
2643 true, vPlatformList
.lastElement());
2644 iTree
.addNode(dmtnPlatformDescription
, node
);
2645 this.openPlatform(smb
.getFid().getPath());
2654 private void open() {
2655 JFileChooser fc
= new JFileChooser(Workspace
.getCurrentWorkspace());
2656 fc
.setAcceptAllFileFilterUsed(false);
2657 IFileFilter iffM
= new IFileFilter(DataType
.MODULE_SURFACE_AREA_EXT
);
2658 IFileFilter iffP
= new IFileFilter(DataType
.PACKAGE_SURFACE_AREA_EXT
);
2659 IFileFilter iffF
= new IFileFilter(DataType
.PLATFORM_SURFACE_AREA_EXT
);
2660 fc
.addChoosableFileFilter(iffM
);
2661 fc
.addChoosableFileFilter(iffP
);
2662 fc
.addChoosableFileFilter(iffF
);
2663 fc
.setFileFilter(iffM
);
2665 int result
= fc
.showOpenDialog(new JPanel());
2667 if (result
== JFileChooser
.APPROVE_OPTION
) {
2668 String path
= fc
.getSelectedFile().getPath();
2669 String match
= path
.substring(path
.length() - 4);
2670 if (match
.equals(DataType
.FILE_EXT_SEPARATOR
+ DataType
.MODULE_SURFACE_AREA_EXT
)) {
2672 } else if (match
.equals(DataType
.FILE_EXT_SEPARATOR
+ DataType
.PACKAGE_SURFACE_AREA_EXT
)) {
2674 } else if (match
.equals(DataType
.FILE_EXT_SEPARATOR
+ DataType
.PLATFORM_SURFACE_AREA_EXT
)) {
2684 private void close() {
2685 switch (this.jTabbedPaneEditor
.getSelectedIndex()) {
2687 // Current is module
2690 if (this.currentOpeningModuleIndex
> -1) {
2691 if (!openingModuleList
.getModuleSaved(currentOpeningModuleIndex
)) {
2692 int result
= showSaveDialog();
2693 if (result
== JOptionPane
.YES_OPTION
) {
2696 if (result
== JOptionPane
.NO_OPTION
) {
2699 if (result
== JOptionPane
.CANCEL_OPTION
) {
2703 iTree
.removeNodeChildrenByPath(openingModuleList
.getTreePathByIndex(currentOpeningModuleIndex
));
2704 this.openingModuleList
.removeFromOpeningModuleListByIndex(this.currentOpeningModuleIndex
);
2705 this.cleanDesktopPaneModule();
2706 this.currentOpeningModuleIndex
= -1;
2710 // Current is package
2713 if (this.currentOpeningPackageIndex
> -1) {
2714 if (!openingPackageList
.getPackageSaved(currentOpeningPackageIndex
)) {
2715 int result
= showSaveDialog();
2716 if (result
== JOptionPane
.YES_OPTION
) {
2719 if (result
== JOptionPane
.NO_OPTION
) {
2722 if (result
== JOptionPane
.CANCEL_OPTION
) {
2726 iTree
.removeNodeChildrenByPath(openingPackageList
.getTreePathByIndex(currentOpeningPackageIndex
));
2727 this.openingPackageList
.removeFromOpeningPackageListByIndex(this.currentOpeningPackageIndex
);
2728 this.cleanDesktopPanePackage();
2729 this.currentOpeningPackageIndex
= -1;
2733 // Current is platform
2736 if (this.currentOpeningPlatformIndex
> -1) {
2737 if (!openingPlatformList
.getPlatformSaved(currentOpeningPlatformIndex
)) {
2738 int result
= showSaveDialog();
2739 if (result
== JOptionPane
.YES_OPTION
) {
2742 if (result
== JOptionPane
.NO_OPTION
) {
2745 if (result
== JOptionPane
.CANCEL_OPTION
) {
2749 iTree
.removeNodeChildrenByPath(openingPlatformList
.getTreePathByIndex(currentOpeningPlatformIndex
));
2750 this.openingPlatformList
.removeFromOpeningPlatformListByIndex(this.currentOpeningPlatformIndex
);
2751 this.cleanDesktopPanePlatform();
2752 this.currentOpeningPlatformIndex
= -1;
2759 Close all opening files and clean all showing internal frame
2762 private void closeAll() {
2764 if (!openingModuleList
.isSaved() || !openingPackageList
.isSaved() || !openingPlatformList
.isSaved()) {
2765 result
= showSaveDialog();
2767 if (result
== JOptionPane
.YES_OPTION
) {
2770 if (result
== JOptionPane
.NO_OPTION
) {
2773 if (result
== JOptionPane
.CANCEL_OPTION
) {
2776 this.cleanDesktopPane();
2777 this.getCompontentsFromFrameworkDatabase();
2778 openingModuleList
.removeAllFromOpeningModuleList();
2779 openingPackageList
.removeAllFromOpeningPackageList();
2780 openingPlatformList
.removeAllFromOpeningPlatformList();
2781 this.makeEmptyTree();
2785 Save currentModule when press button OK
2788 private void save() {
2789 switch (this.jTabbedPaneEditor
.getSelectedIndex()) {
2791 if (this.currentOpeningModuleIndex
> -1) {
2792 saveModule(this.currentOpeningModuleIndex
);
2796 if (this.currentOpeningPackageIndex
> -1) {
2797 savePackage(this.currentOpeningPackageIndex
);
2801 if (this.currentOpeningPlatformIndex
> -1) {
2802 savePlatform(this.currentOpeningPlatformIndex
);
2808 private void saveAs() {
2812 private void saveAll() {
2816 for (int index
= 0; index
< openingModuleList
.size(); index
++) {
2817 if (!openingModuleList
.getModuleSaved(index
)) {
2823 // Save all packages
2825 for (int index
= 0; index
< openingPackageList
.size(); index
++) {
2826 if (!openingPackageList
.getPackageSaved(index
)) {
2832 // Save all platforms
2834 for (int index
= 0; index
< openingPlatformList
.size(); index
++) {
2835 if (!openingPlatformList
.getPlatformSaved(index
)) {
2836 savePlatform(index
);
2842 To save changed items before exit.
2845 private void exit() {
2847 if (!openingModuleList
.isSaved() || !openingPackageList
.isSaved() || !openingPlatformList
.isSaved()) {
2848 result
= showSaveDialog();
2850 if (result
== JOptionPane
.YES_OPTION
) {
2853 if (result
== JOptionPane
.NO_OPTION
) {
2856 if (result
== JOptionPane
.CANCEL_OPTION
) {
2864 Switch current workspace to others
2867 private void changeWorkspace() {
2868 SwitchWorkspace sw
= new SwitchWorkspace(this, true);
2869 int result
= sw
.showDialog();
2870 if (result
== DataType
.RETURN_TYPE_CANCEL
) {
2872 } else if (result
== DataType
.RETURN_TYPE_OK
) {
2874 // Reinit whole window
2877 this.setTitle(windowTitle
+ "- [" + Workspace
.getCurrentWorkspace() + "]");
2886 private void cloneItem() {
2890 // Check if there is any item can be cloned
2892 if (iTree
.getSelectionPath() == null) {
2893 Log
.err("Please select a target to clone!");
2896 int category
= iTree
.getSelectCategory();
2897 Identification id
= iTree
.getSelectNode().getId();
2898 if (category
== IDefaultMutableTreeNode
.MODULE
|| category
== IDefaultMutableTreeNode
.PACKAGE
2899 || category
== IDefaultMutableTreeNode
.PLATFORM
) {
2900 Log
.err("Please select a target to clone!");
2904 if (category
== IDefaultMutableTreeNode
.WORKSPACE
) {
2905 mode
= DataType
.RETURN_TYPE_WORKSPACE
;
2908 if (category
>= IDefaultMutableTreeNode
.MSA_HEADER
&& category
< IDefaultMutableTreeNode
.SPD_HEADER
) {
2909 mode
= DataType
.RETURN_TYPE_MODULE_SURFACE_AREA
;
2911 if (category
>= IDefaultMutableTreeNode
.SPD_HEADER
&& category
< IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
) {
2912 mode
= DataType
.RETURN_TYPE_PACKAGE_SURFACE_AREA
;
2914 if (category
>= IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
) {
2915 mode
= DataType
.RETURN_TYPE_PLATFORM_SURFACE_AREA
;
2917 Clone c
= new Clone(this, true, mode
, id
);
2918 int result
= c
.showDialog();
2920 if (result
== DataType
.RETURN_TYPE_CANCEL
) {
2923 if (result
== DataType
.RETURN_TYPE_WORKSPACE
) {
2924 Tools
.showInformationMessage("Workspace Clone Finished");
2926 if (result
== DataType
.RETURN_TYPE_MODULE_SURFACE_AREA
) {
2927 Tools
.showInformationMessage("Module Surface Area Clone Finished");
2928 vModuleList
.addElement(c
.getMid());
2930 // Add new MsaHeader node to the tree
2932 IDefaultMutableTreeNode node
= new IDefaultMutableTreeNode(vModuleList
.lastElement().getName(),
2933 IDefaultMutableTreeNode
.MSA_HEADER
, true,
2934 vModuleList
.lastElement());
2935 iTree
.addNode(dmtnModuleDescription
, node
);
2937 if (result
== DataType
.RETURN_TYPE_PACKAGE_SURFACE_AREA
) {
2938 Tools
.showInformationMessage("Package Surface Area Clone Finished");
2939 vPackageList
.addElement(c
.getPid());
2941 // Add new SpdHeader node to the tree
2943 IDefaultMutableTreeNode node
= new IDefaultMutableTreeNode(vPackageList
.lastElement().getName(),
2944 IDefaultMutableTreeNode
.SPD_HEADER
, true,
2945 vPackageList
.lastElement());
2946 iTree
.addNode(dmtnPackageDescription
, node
);
2948 if (result
== DataType
.RETURN_TYPE_PLATFORM_SURFACE_AREA
) {
2949 Tools
.showInformationMessage("Platform Surface Area Clone Finished");
2950 vPlatformList
.addElement(c
.getFid());
2952 // Add new SpdHeader node to the tree
2954 IDefaultMutableTreeNode node
= new IDefaultMutableTreeNode(vPlatformList
.lastElement().getName(),
2955 IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
,
2956 true, vPlatformList
.lastElement());
2957 iTree
.addNode(dmtnPlatformDescription
, node
);
2958 //this.openPlatform(c.getFid().getPath());
2960 if (result
== DataType
.RETURN_TYPE_OK
) {
2965 public void valueChanged(TreeSelectionEvent arg0
) {
2966 // TODO Auto-generated method stub
2970 public void menuCanceled(MenuEvent arg0
) {
2971 // TODO Auto-generated method stub
2975 public void menuDeselected(MenuEvent arg0
) {
2976 // TODO Auto-generated method stub
2980 public void menuSelected(MenuEvent arg0
) {
2981 if (arg0
.getSource() == jMenuFile
) {
2983 // Enable close/close all if some files are opened
2985 jMenuItemFileClose
.setEnabled(openingModuleList
.isOpend() || openingPackageList
.isOpend()
2986 || openingPlatformList
.isOpend());
2987 jMenuItemFileCloseAll
.setEnabled(openingModuleList
.isOpend() || openingPackageList
.isOpend()
2988 || openingPlatformList
.isOpend());
2991 // Enable save/save all if some files are changed
2993 jMenuItemFileSave
.setEnabled(!openingModuleList
.isSaved() || !openingPackageList
.isSaved()
2994 || !openingPlatformList
.isSaved());
2995 jMenuItemFileSaveAll
.setEnabled(!openingModuleList
.isSaved() || !openingPackageList
.isSaved()
2996 || !openingPlatformList
.isSaved());
2999 if (arg0
.getSource() == jMenuTools
) {
3001 // Enable clone when select some items
3003 if (iTree
.getSelectionPath() == null) {
3004 jMenuItemToolsClone
.setEnabled(false);
3006 int category
= iTree
.getSelectCategory();
3007 if (category
== IDefaultMutableTreeNode
.MODULE
|| category
== IDefaultMutableTreeNode
.PACKAGE
3008 || category
== IDefaultMutableTreeNode
.PLATFORM
) {
3009 jMenuItemToolsClone
.setEnabled(false);
3011 jMenuItemToolsClone
.setEnabled(true);