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
.KeyEvent
;
21 import java
.awt
.event
.KeyListener
;
22 import java
.awt
.event
.MouseEvent
;
23 import java
.awt
.event
.MouseListener
;
24 import java
.awt
.event
.WindowEvent
;
25 import java
.io
.BufferedWriter
;
27 import java
.io
.FileWriter
;
28 import java
.io
.IOException
;
29 import java
.util
.Iterator
;
31 import java
.util
.Vector
;
33 import javax
.swing
.JButton
;
34 import javax
.swing
.JCheckBoxMenuItem
;
35 import javax
.swing
.JDesktopPane
;
36 import javax
.swing
.JFileChooser
;
37 import javax
.swing
.JFrame
;
38 import javax
.swing
.JInternalFrame
;
39 import javax
.swing
.JMenu
;
40 import javax
.swing
.JMenuBar
;
41 import javax
.swing
.JMenuItem
;
42 import javax
.swing
.JOptionPane
;
43 import javax
.swing
.JPanel
;
44 import javax
.swing
.JScrollPane
;
45 import javax
.swing
.JSplitPane
;
46 import javax
.swing
.JTabbedPane
;
47 import javax
.swing
.event
.MenuEvent
;
48 import javax
.swing
.event
.MenuListener
;
49 import javax
.swing
.event
.TreeSelectionEvent
;
50 import javax
.swing
.event
.TreeSelectionListener
;
51 import javax
.swing
.tree
.TreePath
;
53 import org
.apache
.xmlbeans
.XmlException
;
54 import org
.tianocore
.PackageSurfaceAreaDocument
;
55 import org
.tianocore
.frameworkwizard
.common
.DataType
;
56 import org
.tianocore
.frameworkwizard
.common
.GlobalData
;
57 import org
.tianocore
.frameworkwizard
.common
.IFileFilter
;
58 import org
.tianocore
.frameworkwizard
.common
.Log
;
59 import org
.tianocore
.frameworkwizard
.common
.SaveFile
;
60 import org
.tianocore
.frameworkwizard
.common
.Tools
;
61 import org
.tianocore
.frameworkwizard
.common
.Identifications
.Identification
;
62 import org
.tianocore
.frameworkwizard
.common
.Identifications
.OpeningModuleType
;
63 import org
.tianocore
.frameworkwizard
.common
.Identifications
.OpeningPackageType
;
64 import org
.tianocore
.frameworkwizard
.common
.Identifications
.OpeningPlatformType
;
65 import org
.tianocore
.frameworkwizard
.common
.find
.FindResult
;
66 import org
.tianocore
.frameworkwizard
.common
.ui
.IDefaultMutableTreeNode
;
67 import org
.tianocore
.frameworkwizard
.common
.ui
.IDesktopManager
;
68 import org
.tianocore
.frameworkwizard
.common
.ui
.IFrame
;
69 import org
.tianocore
.frameworkwizard
.common
.ui
.ITree
;
70 import org
.tianocore
.frameworkwizard
.far
.createui
.CreateStepOne
;
71 import org
.tianocore
.frameworkwizard
.far
.deleteui
.DeleteStepOne
;
72 import org
.tianocore
.frameworkwizard
.far
.installui
.InstallStepOne
;
73 import org
.tianocore
.frameworkwizard
.far
.updateui
.UpdateStepOne
;
74 import org
.tianocore
.frameworkwizard
.module
.Identifications
.ModuleIdentification
;
75 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleBootModes
;
76 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleDataHubs
;
77 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleEvents
;
78 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleExterns
;
79 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleGuids
;
80 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleHiiPackages
;
81 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleHobs
;
82 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleLibraryClassDefinitions
;
83 import org
.tianocore
.frameworkwizard
.module
.ui
.ModulePCDs
;
84 import org
.tianocore
.frameworkwizard
.module
.ui
.ModulePackageDependencies
;
85 import org
.tianocore
.frameworkwizard
.module
.ui
.ModulePpis
;
86 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleProtocols
;
87 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleSourceFiles
;
88 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleSystemTables
;
89 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleVariables
;
90 import org
.tianocore
.frameworkwizard
.module
.ui
.MsaHeader
;
91 import org
.tianocore
.frameworkwizard
.packaging
.PackageIdentification
;
92 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdGuidDecls
;
93 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdHeader
;
94 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdLibClassDecls
;
95 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdMsaFiles
;
96 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdPackageHeaders
;
97 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdPcdDefs
;
98 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdPpiDecls
;
99 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdProtocolDecls
;
100 import org
.tianocore
.frameworkwizard
.platform
.PlatformIdentification
;
101 import org
.tianocore
.frameworkwizard
.platform
.ui
.FpdBuildOptions
;
102 import org
.tianocore
.frameworkwizard
.platform
.ui
.FpdDynamicPcdBuildDefinitions
;
103 import org
.tianocore
.frameworkwizard
.platform
.ui
.FpdFlash
;
104 import org
.tianocore
.frameworkwizard
.platform
.ui
.FpdFrameworkModules
;
105 import org
.tianocore
.frameworkwizard
.platform
.ui
.FpdHeader
;
106 import org
.tianocore
.frameworkwizard
.platform
.ui
.FpdPlatformDefs
;
107 import org
.tianocore
.frameworkwizard
.workspace
.Workspace
;
108 import org
.tianocore
.frameworkwizard
.workspace
.WorkspaceTools
;
109 import org
.tianocore
.frameworkwizard
.workspace
.ui
.SwitchWorkspace
;
110 import org
.tianocore
.frameworkwizard
.toolchain
.Preferences
;
113 The class is used to show main GUI of FrameworkWizard
114 It extends IFrame implements MouseListener, TreeSelectionListener, ComponentListener and MenuListener
117 public class FrameworkWizardUI
extends IFrame
implements KeyListener
, MouseListener
, TreeSelectionListener
,
120 /// Define class Serial Version UID
122 private static final long serialVersionUID
= -7103240960573031772L;
125 /// Used to record current operation target
127 private int currentOpeningModuleIndex
= -1;
129 private int currentOpeningPackageIndex
= -1;
131 private int currentOpeningPlatformIndex
= -1;
134 /// Used to generate tree structure
136 private IDefaultMutableTreeNode dmtnRoot
= null;
138 private IDefaultMutableTreeNode dmtnModuleDescription
= null;
140 private IDefaultMutableTreeNode dmtnPackageDescription
= null;
142 private IDefaultMutableTreeNode dmtnPlatformDescription
= null;
147 private JPanel jContentPane
= null;
149 private JMenuBar jMenuBar
= null;
151 private JMenu jMenuFile
= null;
153 private JMenuItem jMenuItemFileNew
= null;
155 private JMenuItem jMenuItemFileRefresh
= 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 jMenuItemEditFindNext
= null;
233 private JMenu jMenuView
= null;
235 private JMenu jMenuViewToolbars
= null;
237 private JCheckBoxMenuItem jCheckBoxMenuItemViewToolbarsFile
= null;
239 private JCheckBoxMenuItem jCheckBoxMenuItemViewToolbarsEdit
= null;
241 private JCheckBoxMenuItem jCheckBoxMenuItemViewToolbarsWindow
= null;
243 private JMenuItem jMenuItemViewStandard
= null;
245 private JMenuItem jMenuItemViewAdvanced
= null;
247 private JMenu jMenuProject
= null;
249 private JMenuItem jMenuItemProjectAdmin
= null;
251 private JMenuItem jMenuItemProjectChangeWorkspace
= null;
253 private JMenuItem jMenuItemToolsBuildPreferences
= null;
255 // private JCheckBoxMenuItem jCheckBoxMenuItemProjectBuildTargetsDebug = null;
257 // private JCheckBoxMenuItem jCheckBoxMenuItemProjectBuildTargetsRelease = null;
259 private JMenuItem jMenuItemToolsToolChainConfiguration
= null;
261 private JMenuItem jMenuItemToolsClone
= null;
263 private JMenuItem jMenuItemToolsCodeScan
= null;
265 private JMenuItem jMenuItemWindowDisplaySide
= null;
267 private JMenuItem jMenuItemWindowDisplayTopBottom
= null;
269 private JMenuItem jMenuItemViewXML
= null;
271 private JMenuItem jMenuItemWindowTabView
= null;
273 private JMenuItem jMenuItemWindowSource
= null;
275 private JMenuItem jMenuItemWindowXML
= null;
277 private JMenuItem jMenuItemWindowPreferences
= null;
279 private JMenuItem jMenuItemHelpContents
= null;
281 private JMenuItem jMenuItemHelpIndex
= null;
283 private JMenuItem jMenuItemHelpSearch
= null;
285 private JMenuItem jMenuItemProjectInstallFar
= null;
287 private JMenuItem jMenuItemProjectUpdateFar
= null;
289 private JMenuItem jMenuItemProjectRemoveFar
= null;
291 private JMenuItem jMenuItemProjectCreateFar
= null;
293 private JMenu jMenuEditFind
= null;
295 private JMenuItem jMenuItemEditFindPcd
= null;
297 private JMenuItem jMenuItemEditFindLibraryClass
= null;
299 private JMenuItem jMenuItemEditFindPpi
= null;
301 private JMenuItem jMenuItemEditFindProtocol
= null;
303 private JMenuItem jMenuItemEditFindGuid
= null;
305 private JMenuItem jMenuItemEditFindLibraryInstance
= null;
308 /// A static definition for this class itself
310 private static FrameworkWizardUI fwui
= null;
312 private JMenuItem jMenuItemToolsGenerateGuidsXref
= null;
315 If the class hasn't an instnace, new one.
317 @return FrameworkWizardUI The instance of this class
320 public static FrameworkWizardUI
getInstance() {
322 fwui
= new FrameworkWizardUI();
328 This method initializes jMenuBar
330 @return javax.swing.JMenuBar Main menu bar for the entire GUI
333 private JMenuBar
getjJMenuBar() {
334 if (jMenuBar
== null) {
335 jMenuBar
= new JMenuBar();
336 jMenuBar
.setPreferredSize(new java
.awt
.Dimension(0, 18));
337 jMenuBar
.add(getJMenuFile());
338 jMenuBar
.add(getJMenuEdit());
339 jMenuBar
.add(getJMenuView());
340 jMenuBar
.add(getJMenuProject());
341 jMenuBar
.add(getJMenuTools());
342 jMenuBar
.add(getJMenuWindow());
343 jMenuBar
.add(getJMenuHelp());
349 This method initializes jSplitPane
351 @return javax.swing.JSplitPane
354 private JSplitPane
getJSplitPane() {
355 if (jSplitPane
== null) {
356 jSplitPane
= new JSplitPane(JSplitPane
.HORIZONTAL_SPLIT
, getJTabbedPaneTree(), getJTabbedPaneEditor());
357 jSplitPane
.setBounds(new java
.awt
.Rectangle(0, 1, DataType
.MAIN_FRAME_SPLIT_PANEL_PREFERRED_SIZE_WIDTH
,
358 DataType
.MAIN_FRAME_SPLIT_PANEL_PREFERRED_SIZE_HEIGHT
));
359 jSplitPane
.addComponentListener(this);
365 This method initializes jTabbedPaneEditor
367 @return javax.swing.JTabbedPane
370 private JTabbedPane
getJTabbedPaneEditor() {
371 if (jTabbedPaneEditor
== null) {
372 jTabbedPaneEditor
= new JTabbedPane();
373 jTabbedPaneEditor
.setBounds(new java
.awt
.Rectangle(DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_X
,
374 DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_Y
,
375 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
376 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
378 .setMinimumSize(new java
.awt
.Dimension(
379 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
380 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
381 jTabbedPaneEditor
.addTab("Module", null, getJDesktopPaneModule(), null);
382 jTabbedPaneEditor
.addTab("Package", null, getJDesktopPanePackage(), null);
383 jTabbedPaneEditor
.addTab("Platform", null, getJDesktopPanePlatform(), null);
385 return jTabbedPaneEditor
;
389 This method initializes jTabbedPaneTree
391 @return javax.swing.JTabbedPane
394 private JTabbedPane
getJTabbedPaneTree() {
395 if (jTabbedPaneTree
== null) {
396 jTabbedPaneTree
= new JTabbedPane();
398 .setPreferredSize(new java
.awt
.Dimension(
399 DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_WIDTH
,
400 DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_HEIGHT
));
402 .setMinimumSize(new java
.awt
.Dimension(DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_WIDTH
,
403 DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_HEIGHT
));
404 jTabbedPaneTree
.addTab("Workspace Explorer", null, getJScrollPaneTree(), null);
406 return jTabbedPaneTree
;
410 This method initializes jMenuFile
412 @return javax.swing.JMenu jMenuModule
415 private JMenu
getJMenuFile() {
416 if (jMenuFile
== null) {
418 // Set jMenuFile's attributes
420 jMenuFile
= new JMenu();
421 jMenuFile
.setText("File");
422 jMenuFile
.setMnemonic('F');
423 jMenuFile
.addMenuListener(this);
426 // Add sub menu items
428 jMenuFile
.add(getJMenuItemFileNew());
429 jMenuFile
.add(getJMenuItemFileOpen());
430 jMenuFile
.add(getJMenuItemFileClose());
431 jMenuFile
.add(getJMenuItemFileCloseAll());
432 jMenuFile
.addSeparator();
434 jMenuFile
.add(getJMenuFileRecentFiles());
435 jMenuFile
.add(getJMenuItemFileSave());
436 jMenuFile
.add(getJMenuItemFileSaveAs());
437 jMenuFile
.add(getJMenuItemFileSaveAll());
438 jMenuFile
.addSeparator();
440 jMenuFile
.add(getJMenuItemFileRefresh());
441 jMenuFile
.addSeparator();
443 jMenuFile
.add(getJMenuItemFilePageSetup());
444 jMenuFile
.add(getJMenuItemFilePrint());
445 jMenuFile
.add(getJMenuItemFileImport());
446 jMenuFile
.add(getJMenuItemFileProperties());
448 jMenuFile
.add(getJMenuItemFileExit());
454 This method initializes jMenuItemFileSaveAs
456 @return javax.swing.JMenuItem jMenuItemFileSaveAs
459 private JMenuItem
getJMenuItemFileSaveAs() {
460 if (jMenuItemFileSaveAs
== null) {
461 jMenuItemFileSaveAs
= new JMenuItem();
462 jMenuItemFileSaveAs
.setText("Save As...");
463 jMenuItemFileSaveAs
.setMnemonic('a');
464 jMenuItemFileSaveAs
.addActionListener(this);
465 jMenuItemFileSaveAs
.setEnabled(false);
466 jMenuItemFileSaveAs
.setVisible(false);
468 return jMenuItemFileSaveAs
;
472 This method initializes jMenuItemFileRefresh
474 @return javax.swing.JMenuItem jMenuItemFileRefresh
477 private JMenuItem
getJMenuItemFileRefresh() {
478 if (jMenuItemFileRefresh
== null) {
479 jMenuItemFileRefresh
= new JMenuItem();
480 jMenuItemFileRefresh
.setText("Refresh");
481 jMenuItemFileRefresh
.setMnemonic('R');
482 jMenuItemFileRefresh
.addActionListener(this);
483 jMenuItemFileRefresh
.setVisible(true);
485 return jMenuItemFileRefresh
;
489 This method initializes jMenuItemModuleExit
491 @return javax.swing.JMenuItem jMenuItemModuleExit
494 private JMenuItem
getJMenuItemFileExit() {
495 if (jMenuItemFileExit
== null) {
496 jMenuItemFileExit
= new JMenuItem();
497 jMenuItemFileExit
.setText("Exit");
498 jMenuItemFileExit
.setMnemonic('x');
499 jMenuItemFileExit
.addActionListener(this);
501 return jMenuItemFileExit
;
505 This method initializes jMenuEdit
507 @return javax.swing.JMenu jMenuEdit
510 private JMenu
getJMenuEdit() {
511 if (jMenuEdit
== null) {
513 // Set jMenuEdit's attributes
515 jMenuEdit
= new JMenu();
516 jMenuEdit
.setText("Edit");
517 jMenuEdit
.setMnemonic('E');
518 jMenuEdit
.setVisible(true);
521 // Add sub menu items
523 jMenuEdit
.add(getJMenuItemEditUndo());
524 jMenuEdit
.add(getJMenuItemEditRedo());
525 //jMenuEdit.addSeparator();
527 jMenuEdit
.add(getJMenuItemEditCut());
528 jMenuEdit
.add(getJMenuItemEditCopy());
529 jMenuEdit
.add(getJMenuItemEditPaste());
530 jMenuEdit
.add(getJMenuItemEditDelete());
531 //jMenuEdit.addSeparator();
533 jMenuEdit
.add(getJMenuItemEditSelectAll());
534 jMenuEdit
.add(getJMenuEditFind());
535 jMenuEdit
.add(getJMenuItemEditFindNext());
536 //jMenuEdit.addSeparator();
542 This method initializes jDesktopPane
544 @return javax.swing.JDesktopPane jDesktopPane
547 private JDesktopPane
getJDesktopPaneModule() {
548 if (jDesktopPaneModule
== null) {
549 jDesktopPaneModule
= new JDesktopPane();
551 .setBounds(new java
.awt
.Rectangle(DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_X
,
552 DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_Y
,
553 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
554 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
556 .setMinimumSize(new java
.awt
.Dimension(
557 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
558 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
559 jDesktopPaneModule
.setDesktopManager(iDesktopManager
);
560 jDesktopPaneModule
.addComponentListener(this);
562 return jDesktopPaneModule
;
566 This method initializes jDesktopPane
568 @return javax.swing.JDesktopPane jDesktopPane
571 private JDesktopPane
getJDesktopPanePackage() {
572 if (jDesktopPanePackage
== null) {
573 jDesktopPanePackage
= new JDesktopPane();
575 .setBounds(new java
.awt
.Rectangle(DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_X
,
576 DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_Y
,
577 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
578 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
580 .setMinimumSize(new java
.awt
.Dimension(
581 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
582 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
583 jDesktopPanePackage
.setDesktopManager(iDesktopManager
);
584 jDesktopPanePackage
.addComponentListener(this);
586 return jDesktopPanePackage
;
590 This method initializes jDesktopPane
592 @return javax.swing.JDesktopPane jDesktopPane
595 private JDesktopPane
getJDesktopPanePlatform() {
596 if (jDesktopPanePlatform
== null) {
597 jDesktopPanePlatform
= new JDesktopPane();
599 .setBounds(new java
.awt
.Rectangle(
600 DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_X
,
601 DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_Y
,
602 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
603 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
605 .setMinimumSize(new java
.awt
.Dimension(
606 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
607 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
608 jDesktopPanePlatform
.setDesktopManager(iDesktopManager
);
609 jDesktopPanePlatform
.addComponentListener(this);
611 return jDesktopPanePlatform
;
615 This method initializes jScrollPaneTree
617 @return javax.swing.JScrollPane jScrollPaneTree
620 private JScrollPane
getJScrollPaneTree() {
621 if (jScrollPaneTree
== null) {
622 jScrollPaneTree
= new JScrollPane();
624 .setPreferredSize(new java
.awt
.Dimension(
625 DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_WIDTH
,
626 DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_HEIGHT
));
628 .setMinimumSize(new java
.awt
.Dimension(
629 DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_WIDTH
/ 2,
630 DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_HEIGHT
));
631 jScrollPaneTree
.setViewportView(getITree());
633 return jScrollPaneTree
;
637 This method initializes iTree
639 @return org.tianocore.packaging.common.ui.ITree iTree
642 private ITree
getITree() {
644 //Before open a real module, use an empty root node for the tree
651 This method initializes jMenuHelp
653 @return javax.swing.JMenu jMenuHelp
656 private JMenu
getJMenuHelp() {
657 if (jMenuHelp
== null) {
659 // Set jMenuHelp's attributes
661 jMenuHelp
= new JMenu();
662 jMenuHelp
.setText("Help");
663 jMenuHelp
.setMnemonic('H');
666 // Add sub menu items
668 jMenuHelp
.add(getJMenuItemHelpContents());
669 jMenuHelp
.add(getJMenuItemHelpIndex());
670 jMenuHelp
.add(getJMenuItemHelpSearch());
672 jMenuHelp
.add(getJMenuItemHelpAbout());
678 This method initializes jMenuItemHelpAbout
680 @return javax.swing.JMenuItem jMenuItemHelpAbout
683 private JMenuItem
getJMenuItemHelpAbout() {
684 if (jMenuItemHelpAbout
== null) {
685 jMenuItemHelpAbout
= new JMenuItem();
686 jMenuItemHelpAbout
.setText("About");
687 jMenuItemHelpAbout
.setMnemonic('A');
688 jMenuItemHelpAbout
.addActionListener(this);
690 return jMenuItemHelpAbout
;
694 This method initializes jMenuItemEditDelete
696 @return javax.swing.JMenuItem jMenuItemEditDelete
699 private JMenuItem
getJMenuItemEditDelete() {
700 if (jMenuItemEditDelete
== null) {
701 jMenuItemEditDelete
= new JMenuItem();
702 jMenuItemEditDelete
.setText("Delete");
703 jMenuItemEditDelete
.setMnemonic('D');
704 jMenuItemEditDelete
.setVisible(false);
705 jMenuItemEditDelete
.setEnabled(false);
706 jMenuItemEditDelete
.addActionListener(this);
708 //Disabled first when no module is open
710 jMenuItemEditDelete
.setEnabled(false);
712 return jMenuItemEditDelete
;
716 This method initializes jMenuFileNew
718 @return javax.swing.JMenuItem jMenuFileNew
721 private JMenuItem
getJMenuItemFileNew() {
722 if (jMenuItemFileNew
== null) {
723 jMenuItemFileNew
= new JMenuItem();
724 jMenuItemFileNew
.setText("New...");
725 jMenuItemFileNew
.setMnemonic('N');
726 jMenuItemFileNew
.addActionListener(this);
728 return jMenuItemFileNew
;
732 This method initializes jMenuItemFileSave
734 @return javax.swing.JMenuItem jMenuItemModuleSave
737 private JMenuItem
getJMenuItemFileSave() {
738 if (jMenuItemFileSave
== null) {
739 jMenuItemFileSave
= new JMenuItem();
740 jMenuItemFileSave
.setText("Save");
741 jMenuItemFileSave
.setMnemonic('S');
742 jMenuItemFileSave
.addActionListener(this);
743 jMenuItemFileSave
.setEnabled(true);
745 return jMenuItemFileSave
;
749 This method initializes jMenuItemModuleClose
751 @return javax.swing.JMenuItem jMenuItemModuleClose
754 private JMenuItem
getJMenuItemFileClose() {
755 if (jMenuItemFileClose
== null) {
756 jMenuItemFileClose
= new JMenuItem();
757 jMenuItemFileClose
.setText("Close");
758 jMenuItemFileClose
.setMnemonic('C');
759 jMenuItemFileClose
.setEnabled(true);
760 jMenuItemFileClose
.addActionListener(this);
762 return jMenuItemFileClose
;
766 This method initializes jMenuTools
769 @return javax.swing.JMenu jMenuTools
772 private JMenu
getJMenuTools() {
773 if (jMenuTools
== null) {
775 // Set jMenuTools's attributes
777 jMenuTools
= new JMenu();
778 jMenuTools
.setText("Tools");
779 jMenuTools
.setMnemonic('T');
780 jMenuTools
.addMenuListener(this);
783 // Add sub menu items
786 jMenuTools
.add(getJMenuItemToolsClone());
787 jMenuTools
.add(getJMenuItemToolsCodeScan());
788 jMenuTools
.addSeparator();
790 jMenuTools
.add(getJMenuItemToolsToolChainConfiguration());
791 jMenuTools
.add(getJMenuItemToolsBuildPreferences());
792 jMenuTools
.addSeparator();
794 jMenuTools
.add(getJMenuItemToolsGenerateGuidsXref());
800 This method initializes jMenuWindow
803 @return javax.swing.JMenu jMenuWindow
806 private JMenu
getJMenuWindow() {
807 if (jMenuWindow
== null) {
809 // Set jMenuWindow's attribute
811 jMenuWindow
= new JMenu();
812 jMenuWindow
.setText("Window");
813 jMenuWindow
.setMnemonic('W');
814 jMenuWindow
.setVisible(false);
817 // Add sub menu items
819 jMenuWindow
.add(getJMenuItemWindowDisplaySide());
820 jMenuWindow
.add(getJMenuItemWindowDisplayTopBottom());
821 jMenuWindow
.addSeparator();
823 jMenuWindow
.add(getJMenuItemWindowTabView());
824 jMenuWindow
.addSeparator();
826 jMenuWindow
.add(getJMenuItemWindowSource());
827 jMenuWindow
.add(getJMenuItemWindowXML());
828 jMenuWindow
.addSeparator();
830 jMenuWindow
.add(getJMenuItemWindowPreferences());
836 This method initializes jPanelOperation
839 @return javax.swing.JPanel jPanelOperation
842 private JPanel
getJPanelOperation() {
843 if (jPanelOperation
== null) {
844 jPanelOperation
= new JPanel();
845 jPanelOperation
.setLayout(null);
846 jPanelOperation
.setBounds(new java
.awt
.Rectangle(295, 520, 500, 25));
847 jPanelOperation
.add(getJButtonOk(), null);
848 jPanelOperation
.add(getJButtonCancel(), null);
849 jPanelOperation
.setVisible(false);
851 return jPanelOperation
;
855 This method initializes jButtonOk
858 @return javax.swing.JButton jButtonOk
861 private JButton
getJButtonOk() {
862 if (jButtonOk
== null) {
863 jButtonOk
= new JButton();
864 jButtonOk
.setBounds(new java
.awt
.Rectangle(395, 2, 90, 20));
865 jButtonOk
.setText("Ok");
866 jButtonOk
.setEnabled(false);
867 jButtonOk
.addActionListener(this);
873 This method initializes jButtonCancel
876 @return javax.swing.JButton jButtonCancel
879 private JButton
getJButtonCancel() {
880 if (jButtonCancel
== null) {
881 jButtonCancel
= new JButton();
882 jButtonCancel
.setBounds(new java
.awt
.Rectangle(395, 2, 90, 20));
883 jButtonCancel
.setText("Cancel");
884 jButtonCancel
.setEnabled(false);
885 jButtonCancel
.addActionListener(this);
886 jButtonCancel
.setVisible(false);
888 return jButtonCancel
;
892 This method initializes jMenuItemFileOpen
894 @return javax.swing.JMenuItem jMenuItemFileOpen
897 private JMenuItem
getJMenuItemFileOpen() {
898 if (jMenuItemFileOpen
== null) {
899 jMenuItemFileOpen
= new JMenuItem();
900 jMenuItemFileOpen
.setText("Open...");
901 jMenuItemFileOpen
.setMnemonic('O');
902 jMenuItemFileOpen
.addActionListener(this);
904 return jMenuItemFileOpen
;
908 This method initializes jMenuItemFileCloseAll
910 @return javax.swing.JMenuItem jMenuItemFileOpen
913 private JMenuItem
getJMenuItemFileCloseAll() {
914 if (jMenuItemFileCloseAll
== null) {
915 jMenuItemFileCloseAll
= new JMenuItem();
916 jMenuItemFileCloseAll
.setText("Close All");
917 jMenuItemFileCloseAll
.setMnemonic('A');
918 jMenuItemFileCloseAll
.setEnabled(true);
919 jMenuItemFileCloseAll
.addActionListener(this);
921 return jMenuItemFileCloseAll
;
925 This method initializes jMenuItemFileSaveAll
927 @return javax.swing.JMenuItem jMenuItemFileSaveAll
930 private JMenuItem
getJMenuItemFileSaveAll() {
931 if (jMenuItemFileSaveAll
== null) {
932 jMenuItemFileSaveAll
= new JMenuItem();
933 jMenuItemFileSaveAll
.setText("Save All");
934 jMenuItemFileSaveAll
.setMnemonic('v');
935 jMenuItemFileSaveAll
.setEnabled(true);
936 jMenuItemFileSaveAll
.addActionListener(this);
938 return jMenuItemFileSaveAll
;
942 This method initializes jMenuItemFilePageSetup
944 @return javax.swing.JMenuItem
947 private JMenuItem
getJMenuItemFilePageSetup() {
948 if (jMenuItemFilePageSetup
== null) {
949 jMenuItemFilePageSetup
= new JMenuItem();
950 jMenuItemFilePageSetup
.setText("Page Setup");
951 jMenuItemFilePageSetup
.setMnemonic('u');
952 jMenuItemFilePageSetup
.setEnabled(false);
953 jMenuItemFilePageSetup
.addActionListener(this);
954 jMenuItemFilePageSetup
.setVisible(false);
956 return jMenuItemFilePageSetup
;
960 This method initializes jMenuItemFilePrint
962 @return javax.swing.JMenuItem
965 private JMenuItem
getJMenuItemFilePrint() {
966 if (jMenuItemFilePrint
== null) {
967 jMenuItemFilePrint
= new JMenuItem();
968 jMenuItemFilePrint
.setText("Print");
969 jMenuItemFilePrint
.setMnemonic('P');
970 jMenuItemFilePrint
.setEnabled(false);
971 jMenuItemFilePrint
.addActionListener(this);
972 jMenuItemFilePrint
.setVisible(false);
974 return jMenuItemFilePrint
;
978 This method initializes jMenuItemFileImport
980 @return javax.swing.JMenuItem
983 private JMenuItem
getJMenuItemFileImport() {
984 if (jMenuItemFileImport
== null) {
985 jMenuItemFileImport
= new JMenuItem();
986 jMenuItemFileImport
.setText("Import");
987 jMenuItemFileImport
.setMnemonic('I');
988 jMenuItemFileImport
.setEnabled(false);
989 jMenuItemFileImport
.addActionListener(this);
990 jMenuItemFileImport
.setVisible(false);
992 return jMenuItemFileImport
;
996 This method initializes jMenuItemFileProperties
998 @return javax.swing.JMenuItem
1001 private JMenuItem
getJMenuItemFileProperties() {
1002 if (jMenuItemFileProperties
== null) {
1003 jMenuItemFileProperties
= new JMenuItem();
1004 jMenuItemFileProperties
.setText("Properties");
1005 jMenuItemFileProperties
.setMnemonic('t');
1006 jMenuItemFileProperties
.setEnabled(false);
1007 jMenuItemFileProperties
.addActionListener(this);
1008 jMenuItemFileProperties
.setVisible(false);
1010 return jMenuItemFileProperties
;
1014 This method initializes jMenuFileRecentFiles
1016 @return javax.swing.JMenu
1019 private JMenu
getJMenuFileRecentFiles() {
1020 if (jMenuFileRecentFiles
== null) {
1021 jMenuFileRecentFiles
= new JMenu();
1022 jMenuFileRecentFiles
.setText("Recent Files");
1023 jMenuFileRecentFiles
.setMnemonic('F');
1024 jMenuFileRecentFiles
.setEnabled(false);
1025 jMenuFileRecentFiles
.addActionListener(this);
1026 jMenuFileRecentFiles
.setVisible(false);
1028 return jMenuFileRecentFiles
;
1032 This method initializes jMenuItemEditUndo
1034 @return javax.swing.JMenuItem
1037 private JMenuItem
getJMenuItemEditUndo() {
1038 if (jMenuItemEditUndo
== null) {
1039 jMenuItemEditUndo
= new JMenuItem();
1040 jMenuItemEditUndo
.setText("Undo");
1041 jMenuItemEditUndo
.setMnemonic('U');
1042 jMenuItemEditUndo
.setEnabled(false);
1043 jMenuItemEditUndo
.setVisible(false);
1044 jMenuItemEditUndo
.addActionListener(this);
1046 return jMenuItemEditUndo
;
1050 This method initializes jMenuItemEditRedo
1052 @return javax.swing.JMenuItem
1055 private JMenuItem
getJMenuItemEditRedo() {
1056 if (jMenuItemEditRedo
== null) {
1057 jMenuItemEditRedo
= new JMenuItem();
1058 jMenuItemEditRedo
.setText("Redo");
1059 jMenuItemEditRedo
.setMnemonic('R');
1060 jMenuItemEditRedo
.setEnabled(false);
1061 jMenuItemEditRedo
.setVisible(false);
1062 jMenuItemEditRedo
.addActionListener(this);
1064 return jMenuItemEditRedo
;
1068 This method initializes jMenuItemEditCut
1070 @return javax.swing.JMenuItem
1073 private JMenuItem
getJMenuItemEditCut() {
1074 if (jMenuItemEditCut
== null) {
1075 jMenuItemEditCut
= new JMenuItem();
1076 jMenuItemEditCut
.setText("Cut");
1077 jMenuItemEditCut
.setMnemonic('t');
1078 jMenuItemEditCut
.setEnabled(false);
1079 jMenuItemEditCut
.setVisible(false);
1080 jMenuItemEditCut
.addActionListener(this);
1082 return jMenuItemEditCut
;
1086 This method initializes jMenuItemEditCopy
1088 @return javax.swing.JMenuItem
1091 private JMenuItem
getJMenuItemEditCopy() {
1092 if (jMenuItemEditCopy
== null) {
1093 jMenuItemEditCopy
= new JMenuItem();
1094 jMenuItemEditCopy
.setText("Copy");
1095 jMenuItemEditCopy
.setMnemonic('C');
1096 jMenuItemEditCopy
.setEnabled(false);
1097 jMenuItemEditCopy
.setVisible(false);
1098 jMenuItemEditCopy
.addActionListener(this);
1100 return jMenuItemEditCopy
;
1104 This method initializes jMenuItemEditPaste
1106 return javax.swing.JMenuItem
1109 private JMenuItem
getJMenuItemEditPaste() {
1110 if (jMenuItemEditPaste
== null) {
1111 jMenuItemEditPaste
= new JMenuItem();
1112 jMenuItemEditPaste
.setText("Paste");
1113 jMenuItemEditPaste
.setMnemonic('P');
1114 jMenuItemEditPaste
.setEnabled(false);
1115 jMenuItemEditPaste
.setVisible(false);
1116 jMenuItemEditPaste
.addActionListener(this);
1118 return jMenuItemEditPaste
;
1122 This method initializes jMenuItem
1124 @return javax.swing.JMenuItem
1127 private JMenuItem
getJMenuItemEditSelectAll() {
1128 if (jMenuItemEditSelectAll
== null) {
1129 jMenuItemEditSelectAll
= new JMenuItem();
1130 jMenuItemEditSelectAll
.setText("Select All");
1131 jMenuItemEditSelectAll
.setMnemonic('A');
1132 jMenuItemEditSelectAll
.setEnabled(false);
1133 jMenuItemEditSelectAll
.setVisible(false);
1134 jMenuItemEditSelectAll
.addActionListener(this);
1136 return jMenuItemEditSelectAll
;
1140 This method initializes jMenuItemEditFindNext
1142 @return javax.swing.JMenuItem
1145 private JMenuItem
getJMenuItemEditFindNext() {
1146 if (jMenuItemEditFindNext
== null) {
1147 jMenuItemEditFindNext
= new JMenuItem();
1148 jMenuItemEditFindNext
.setText("Find Next");
1149 jMenuItemEditFindNext
.setMnemonic('n');
1150 jMenuItemEditFindNext
.setEnabled(false);
1151 jMenuItemEditFindNext
.setVisible(false);
1152 jMenuItemEditFindNext
.addActionListener(this);
1154 return jMenuItemEditFindNext
;
1158 This method initializes jMenuView
1160 @return javax.swing.JMenu
1163 private JMenu
getJMenuView() {
1164 if (jMenuView
== null) {
1166 // Set jMenuView's attributes
1168 jMenuView
= new JMenu();
1169 jMenuView
.setText("View");
1170 jMenuView
.setMnemonic('V');
1171 jMenuView
.setVisible(false);
1174 // Add sub menu items
1176 jMenuView
.add(getJMenuViewToolbars());
1177 jMenuView
.add(getJMenuItemViewAdvanced());
1178 jMenuView
.add(getJMenuItemViewStandard());
1179 jMenuView
.add(getJMenuItemViewXML());
1185 This method initializes jMenuViewToolbars
1187 @return javax.swing.JMenu
1190 private JMenu
getJMenuViewToolbars() {
1191 if (jMenuViewToolbars
== null) {
1192 jMenuViewToolbars
= new JMenu();
1193 jMenuViewToolbars
.setText("Toolbars");
1194 jMenuViewToolbars
.setMnemonic('T');
1196 jMenuViewToolbars
.add(getJCheckBoxMenuItemViewToolbarsFile());
1197 jMenuViewToolbars
.add(getJCheckBoxMenuItemViewToolbarsEdit());
1198 jMenuViewToolbars
.add(getJCheckBoxMenuItemViewToolbarsWindow());
1200 return jMenuViewToolbars
;
1204 This method initializes jCheckBoxMenuItemViewToolbarsFile
1206 @return javax.swing.JCheckBoxMenuItem
1209 private JCheckBoxMenuItem
getJCheckBoxMenuItemViewToolbarsFile() {
1210 if (jCheckBoxMenuItemViewToolbarsFile
== null) {
1211 jCheckBoxMenuItemViewToolbarsFile
= new JCheckBoxMenuItem();
1212 jCheckBoxMenuItemViewToolbarsFile
.setText("File");
1213 jCheckBoxMenuItemViewToolbarsFile
.setEnabled(false);
1214 jCheckBoxMenuItemViewToolbarsFile
.addActionListener(this);
1216 return jCheckBoxMenuItemViewToolbarsFile
;
1220 This method initializes jCheckBoxMenuItemViewToolbarsEdit
1222 @return javax.swing.JCheckBoxMenuItem
1225 private JCheckBoxMenuItem
getJCheckBoxMenuItemViewToolbarsEdit() {
1226 if (jCheckBoxMenuItemViewToolbarsEdit
== null) {
1227 jCheckBoxMenuItemViewToolbarsEdit
= new JCheckBoxMenuItem();
1228 jCheckBoxMenuItemViewToolbarsEdit
.setText("Edit");
1229 jCheckBoxMenuItemViewToolbarsEdit
.setEnabled(false);
1230 jCheckBoxMenuItemViewToolbarsEdit
.addActionListener(this);
1232 return jCheckBoxMenuItemViewToolbarsEdit
;
1236 This method initializes jCheckBoxMenuItemViewToolbarsWindow
1238 @return javax.swing.JCheckBoxMenuItem
1241 private JCheckBoxMenuItem
getJCheckBoxMenuItemViewToolbarsWindow() {
1242 if (jCheckBoxMenuItemViewToolbarsWindow
== null) {
1243 jCheckBoxMenuItemViewToolbarsWindow
= new JCheckBoxMenuItem();
1244 jCheckBoxMenuItemViewToolbarsWindow
.setText("Window");
1245 jCheckBoxMenuItemViewToolbarsWindow
.setEnabled(false);
1246 jCheckBoxMenuItemViewToolbarsWindow
.addActionListener(this);
1248 return jCheckBoxMenuItemViewToolbarsWindow
;
1252 This method initializes jMenuItemStandard
1254 @return javax.swing.JMenuItem
1257 private JMenuItem
getJMenuItemViewStandard() {
1258 if (jMenuItemViewStandard
== null) {
1259 jMenuItemViewStandard
= new JMenuItem();
1260 jMenuItemViewStandard
.setText("Standard");
1261 jMenuItemViewStandard
.setMnemonic('S');
1262 jMenuItemViewStandard
.setEnabled(false);
1263 jMenuItemViewStandard
.addActionListener(this);
1265 return jMenuItemViewStandard
;
1269 This method initializes jMenuItemAdvanced
1271 @return javax.swing.JMenuItem
1274 private JMenuItem
getJMenuItemViewAdvanced() {
1275 if (jMenuItemViewAdvanced
== null) {
1276 jMenuItemViewAdvanced
= new JMenuItem();
1277 jMenuItemViewAdvanced
.setText("Advanced");
1278 jMenuItemViewAdvanced
.setMnemonic('A');
1279 jMenuItemViewAdvanced
.setEnabled(false);
1280 jMenuItemViewAdvanced
.addActionListener(this);
1282 return jMenuItemViewAdvanced
;
1286 This method initializes jMenuProject
1288 @return javax.swing.JMenu
1291 private JMenu
getJMenuProject() {
1292 if (jMenuProject
== null) {
1294 // Set jMenuProject's attributes
1296 jMenuProject
= new JMenu();
1297 jMenuProject
.setText("Project");
1298 jMenuProject
.setMnemonic('P');
1301 // Add sub menu items
1303 jMenuProject
.add(getJMenuItemProjectAdmin());
1305 jMenuProject
.add(getJMenuItemProjectChangeWorkspace());
1306 jMenuProject
.addSeparator();
1308 jMenuProject
.add(getJMenuItemProjectCreateFar());
1309 jMenuProject
.add(getJMenuItemProjectInstallFar());
1310 jMenuProject
.add(getJMenuItemProjectUpdateFar());
1311 jMenuProject
.add(getJMenuItemProjectRemoveFar());
1314 return jMenuProject
;
1318 This method initializes jMenuItemProjectAdmin
1320 @return javax.swing.JMenuItem
1323 private JMenuItem
getJMenuItemProjectAdmin() {
1324 if (jMenuItemProjectAdmin
== null) {
1325 jMenuItemProjectAdmin
= new JMenuItem();
1326 jMenuItemProjectAdmin
.setText("Admin...");
1327 jMenuItemProjectAdmin
.setMnemonic('A');
1328 jMenuItemProjectAdmin
.setEnabled(false);
1329 jMenuItemProjectAdmin
.addActionListener(this);
1330 jMenuItemProjectAdmin
.setVisible(false);
1332 return jMenuItemProjectAdmin
;
1336 This method initializes jMenuItemProjectChangeWorkspace
1338 @return javax.swing.JMenuItem
1341 private JMenuItem
getJMenuItemProjectChangeWorkspace() {
1342 if (jMenuItemProjectChangeWorkspace
== null) {
1343 jMenuItemProjectChangeWorkspace
= new JMenuItem();
1344 jMenuItemProjectChangeWorkspace
.setText("Change WORKSPACE...");
1345 jMenuItemProjectChangeWorkspace
.setMnemonic('W');
1346 jMenuItemProjectChangeWorkspace
.setEnabled(true);
1347 jMenuItemProjectChangeWorkspace
.addActionListener(this);
1349 return jMenuItemProjectChangeWorkspace
;
1353 This method initializes jMenuProjectBuildPreferences
1355 @return javax.swing.JMenu
1358 private JMenuItem
getJMenuItemToolsBuildPreferences() {
1359 if (jMenuItemToolsBuildPreferences
== null) {
1360 jMenuItemToolsBuildPreferences
= new JMenuItem();
1361 jMenuItemToolsBuildPreferences
.setText("Build Preferences...");
1362 jMenuItemToolsBuildPreferences
.setMnemonic('P');
1363 jMenuItemToolsBuildPreferences
.setEnabled(true);
1364 jMenuItemToolsBuildPreferences
.addActionListener(this);
1366 return jMenuItemToolsBuildPreferences
;
1370 This method initializes jMenuItemToolsToolChainConfiguration
1372 @return javax.swing.JMenuItem
1375 private JMenuItem
getJMenuItemToolsToolChainConfiguration() {
1376 if (jMenuItemToolsToolChainConfiguration
== null) {
1377 jMenuItemToolsToolChainConfiguration
= new JMenuItem();
1378 jMenuItemToolsToolChainConfiguration
.setText("Tool Chain Configuration...");
1379 jMenuItemToolsToolChainConfiguration
.setMnemonic('C');
1380 jMenuItemToolsToolChainConfiguration
.addActionListener(this);
1382 return jMenuItemToolsToolChainConfiguration
;
1386 This method initializes jMenuItemToolsClone
1388 @return javax.swing.JMenuItem
1391 private JMenuItem
getJMenuItemToolsClone() {
1392 if (jMenuItemToolsClone
== null) {
1393 jMenuItemToolsClone
= new JMenuItem();
1394 jMenuItemToolsClone
.setText("Clone...");
1395 jMenuItemToolsClone
.setMnemonic('l');
1396 jMenuItemToolsClone
.setEnabled(true);
1397 jMenuItemToolsClone
.addActionListener(this);
1399 return jMenuItemToolsClone
;
1403 This method initializes jMenuItemToolsCodeScan
1405 @return javax.swing.JMenuItem
1408 private JMenuItem
getJMenuItemToolsCodeScan() {
1409 if (jMenuItemToolsCodeScan
== null) {
1410 jMenuItemToolsCodeScan
= new JMenuItem();
1411 jMenuItemToolsCodeScan
.setText("Code Scan...");
1412 jMenuItemToolsCodeScan
.setMnemonic('S');
1413 jMenuItemToolsCodeScan
.setEnabled(false);
1414 jMenuItemToolsCodeScan
.addActionListener(this);
1415 jMenuItemToolsCodeScan
.setVisible(false);
1417 return jMenuItemToolsCodeScan
;
1421 This method initializes jMenuItemWindowSplitVertical
1423 @return javax.swing.JMenuItem
1426 private JMenuItem
getJMenuItemWindowDisplaySide() {
1427 if (jMenuItemWindowDisplaySide
== null) {
1428 jMenuItemWindowDisplaySide
= new JMenuItem();
1429 jMenuItemWindowDisplaySide
.setText("Display Side by Side");
1430 jMenuItemWindowDisplaySide
.setMnemonic('S');
1431 jMenuItemWindowDisplaySide
.setEnabled(false);
1432 jMenuItemWindowDisplaySide
.addActionListener(this);
1434 return jMenuItemWindowDisplaySide
;
1438 This method initializes jMenuItemWindowSplitHorizontal
1440 @return javax.swing.JMenuItem
1443 private JMenuItem
getJMenuItemWindowDisplayTopBottom() {
1444 if (jMenuItemWindowDisplayTopBottom
== null) {
1445 jMenuItemWindowDisplayTopBottom
= new JMenuItem();
1446 jMenuItemWindowDisplayTopBottom
.setText("Display Top and Bottom");
1447 jMenuItemWindowDisplayTopBottom
.setMnemonic('B');
1448 jMenuItemWindowDisplayTopBottom
.setEnabled(false);
1449 jMenuItemWindowDisplayTopBottom
.addActionListener(this);
1451 return jMenuItemWindowDisplayTopBottom
;
1455 This method initializes jMenuItemViewXML
1457 @return javax.swing.JMenuItem
1460 private JMenuItem
getJMenuItemViewXML() {
1461 if (jMenuItemViewXML
== null) {
1462 jMenuItemViewXML
= new JMenuItem();
1463 jMenuItemViewXML
.setText("XML");
1464 jMenuItemViewXML
.setMnemonic('X');
1465 jMenuItemViewXML
.setEnabled(false);
1466 jMenuItemViewXML
.addActionListener(this);
1468 return jMenuItemViewXML
;
1472 This method initializes jMenuItemWindowTabView
1474 @return javax.swing.JMenuItem
1477 private JMenuItem
getJMenuItemWindowTabView() {
1478 if (jMenuItemWindowTabView
== null) {
1479 jMenuItemWindowTabView
= new JMenuItem();
1480 jMenuItemWindowTabView
.setText("Tab View");
1481 jMenuItemWindowTabView
.setMnemonic('T');
1482 jMenuItemWindowTabView
.setEnabled(false);
1483 jMenuItemWindowTabView
.addActionListener(this);
1485 return jMenuItemWindowTabView
;
1489 This method initializes jMenuItemWindowSource
1491 @return javax.swing.JMenuItem
1494 private JMenuItem
getJMenuItemWindowSource() {
1495 if (jMenuItemWindowSource
== null) {
1496 jMenuItemWindowSource
= new JMenuItem();
1497 jMenuItemWindowSource
.setText("Source");
1498 jMenuItemWindowSource
.setMnemonic('S');
1499 jMenuItemWindowSource
.setEnabled(false);
1500 jMenuItemWindowSource
.addActionListener(this);
1502 return jMenuItemWindowSource
;
1506 This method initializes jMenuItemWindowXML
1508 @return javax.swing.JMenuItem
1511 private JMenuItem
getJMenuItemWindowXML() {
1512 if (jMenuItemWindowXML
== null) {
1513 jMenuItemWindowXML
= new JMenuItem();
1514 jMenuItemWindowXML
.setText("XML");
1515 jMenuItemWindowXML
.setMnemonic('X');
1516 jMenuItemWindowXML
.setEnabled(false);
1517 jMenuItemWindowXML
.addActionListener(this);
1519 return jMenuItemWindowXML
;
1523 This method initializes jMenuItemWindowPreferences
1525 @return javax.swing.JMenuItem
1528 private JMenuItem
getJMenuItemWindowPreferences() {
1529 if (jMenuItemWindowPreferences
== null) {
1530 jMenuItemWindowPreferences
= new JMenuItem();
1531 jMenuItemWindowPreferences
.setText("Preferences");
1532 jMenuItemWindowPreferences
.setMnemonic('P');
1533 jMenuItemWindowPreferences
.setEnabled(false);
1534 jMenuItemWindowPreferences
.addActionListener(this);
1536 return jMenuItemWindowPreferences
;
1540 This method initializes jMenuItemHelpContents
1542 @return javax.swing.JMenuItem
1545 private JMenuItem
getJMenuItemHelpContents() {
1546 if (jMenuItemHelpContents
== null) {
1547 jMenuItemHelpContents
= new JMenuItem();
1548 jMenuItemHelpContents
.setText("Contents");
1549 jMenuItemHelpContents
.setMnemonic('C');
1550 jMenuItemHelpContents
.setEnabled(false);
1551 jMenuItemHelpContents
.addActionListener(this);
1552 jMenuItemHelpContents
.setVisible(false);
1554 return jMenuItemHelpContents
;
1558 This method initializes jMenuItemHelpIndex
1560 @return javax.swing.JMenuItem
1563 private JMenuItem
getJMenuItemHelpIndex() {
1564 if (jMenuItemHelpIndex
== null) {
1565 jMenuItemHelpIndex
= new JMenuItem();
1566 jMenuItemHelpIndex
.setText("Index");
1567 jMenuItemHelpIndex
.setMnemonic('I');
1568 jMenuItemHelpIndex
.setEnabled(false);
1569 jMenuItemHelpIndex
.addActionListener(this);
1570 jMenuItemHelpIndex
.setVisible(false);
1572 return jMenuItemHelpIndex
;
1576 This method initializes jMenuItemHelpSearch
1578 @return javax.swing.JMenuItem
1581 private JMenuItem
getJMenuItemHelpSearch() {
1582 if (jMenuItemHelpSearch
== null) {
1583 jMenuItemHelpSearch
= new JMenuItem();
1584 jMenuItemHelpSearch
.setText("Search");
1585 jMenuItemHelpSearch
.setMnemonic('S');
1586 jMenuItemHelpSearch
.setEnabled(false);
1587 jMenuItemHelpSearch
.addActionListener(this);
1588 jMenuItemHelpSearch
.setVisible(false);
1590 return jMenuItemHelpSearch
;
1594 * This method initializes jMenuItemToolsInstallPackage
1596 * @return javax.swing.JMenuItem
1598 private JMenuItem
getJMenuItemProjectInstallFar() {
1599 if (jMenuItemProjectInstallFar
== null) {
1600 jMenuItemProjectInstallFar
= new JMenuItem();
1601 jMenuItemProjectInstallFar
.setText("Install FAR...");
1602 jMenuItemProjectInstallFar
.setMnemonic('I');
1603 jMenuItemProjectInstallFar
.setEnabled(true);
1604 jMenuItemProjectInstallFar
.addActionListener(this);
1606 return jMenuItemProjectInstallFar
;
1610 * This method initializes jMenuItemToolsUpdatePackage
1612 * @return javax.swing.JMenuItem
1614 private JMenuItem
getJMenuItemProjectUpdateFar() {
1615 if (jMenuItemProjectUpdateFar
== null) {
1616 jMenuItemProjectUpdateFar
= new JMenuItem();
1617 jMenuItemProjectUpdateFar
.setText("Update FAR...");
1618 jMenuItemProjectUpdateFar
.setMnemonic('U');
1619 jMenuItemProjectUpdateFar
.setEnabled(true);
1620 jMenuItemProjectUpdateFar
.addActionListener(this);
1621 jMenuItemProjectUpdateFar
.setVisible(true);
1623 return jMenuItemProjectUpdateFar
;
1627 * This method initializes jMenuItemRemovePackage
1629 * @return javax.swing.JMenuItem
1631 private JMenuItem
getJMenuItemProjectRemoveFar() {
1632 if (jMenuItemProjectRemoveFar
== null) {
1633 jMenuItemProjectRemoveFar
= new JMenuItem();
1634 jMenuItemProjectRemoveFar
.setText("Remove FAR...");
1635 jMenuItemProjectRemoveFar
.setMnemonic('R');
1636 jMenuItemProjectRemoveFar
.setEnabled(true);
1637 jMenuItemProjectRemoveFar
.addActionListener(this);
1639 return jMenuItemProjectRemoveFar
;
1643 * This method initializes jMenuItemProjectCreateFar
1645 * @return javax.swing.JMenuItem
1647 private JMenuItem
getJMenuItemProjectCreateFar() {
1648 if (jMenuItemProjectCreateFar
== null) {
1649 jMenuItemProjectCreateFar
= new JMenuItem();
1650 jMenuItemProjectCreateFar
.setText("Create FAR...");
1651 jMenuItemProjectCreateFar
.setMnemonic('C');
1652 jMenuItemProjectCreateFar
.addActionListener(this);
1654 return jMenuItemProjectCreateFar
;
1658 * This method initializes jMenuEditFind
1660 * @return javax.swing.JMenu
1662 private JMenu
getJMenuEditFind() {
1663 if (jMenuEditFind
== null) {
1664 jMenuEditFind
= new JMenu();
1665 jMenuEditFind
.setText("Find");
1666 jMenuEditFind
.setMnemonic('F');
1668 jMenuEditFind
.add(getJMenuItemEditFindPpi());
1669 jMenuEditFind
.add(getJMenuItemEditFindProtocol());
1670 jMenuEditFind
.add(getJMenuItemEditFindGuid());
1671 jMenuEditFind
.add(getJMenuItemEditFindPcd());
1672 jMenuEditFind
.add(getJMenuItemEditFindLibraryClass());
1673 jMenuEditFind
.add(getJMenuItemEditFindLibraryInstance());
1675 return jMenuEditFind
;
1679 * This method initializes jMenuItemEditFindPcd
1681 * @return javax.swing.JMenuItem
1683 private JMenuItem
getJMenuItemEditFindPcd() {
1684 if (jMenuItemEditFindPcd
== null) {
1685 jMenuItemEditFindPcd
= new JMenuItem();
1686 jMenuItemEditFindPcd
.setText("All PCD entries");
1687 jMenuItemEditFindPcd
.setMnemonic('P');
1688 jMenuItemEditFindPcd
.addActionListener(this);
1690 return jMenuItemEditFindPcd
;
1694 * This method initializes jMenuItemEditFindLibraryClass
1696 * @return javax.swing.JMenuItem
1698 private JMenuItem
getJMenuItemEditFindLibraryClass() {
1699 if (jMenuItemEditFindLibraryClass
== null) {
1700 jMenuItemEditFindLibraryClass
= new JMenuItem();
1701 jMenuItemEditFindLibraryClass
.setText("All Library Classes");
1702 jMenuItemEditFindLibraryClass
.setMnemonic('C');
1703 jMenuItemEditFindLibraryClass
.addActionListener(this);
1705 return jMenuItemEditFindLibraryClass
;
1709 * This method initializes jMenuItemEditFindPpi
1711 * @return javax.swing.JMenuItem
1713 private JMenuItem
getJMenuItemEditFindPpi() {
1714 if (jMenuItemEditFindPpi
== null) {
1715 jMenuItemEditFindPpi
= new JMenuItem();
1716 jMenuItemEditFindPpi
.setText("All PPIs");
1717 jMenuItemEditFindPpi
.setMnemonic('I');
1718 jMenuItemEditFindPpi
.addActionListener(this);
1720 return jMenuItemEditFindPpi
;
1724 * This method initializes jMenuItemEditFindProtocol
1726 * @return javax.swing.JMenuItem
1728 private JMenuItem
getJMenuItemEditFindProtocol() {
1729 if (jMenuItemEditFindProtocol
== null) {
1730 jMenuItemEditFindProtocol
= new JMenuItem();
1731 jMenuItemEditFindProtocol
.setText("All Protocols");
1732 jMenuItemEditFindProtocol
.setMnemonic('r');
1733 jMenuItemEditFindProtocol
.addActionListener(this);
1735 return jMenuItemEditFindProtocol
;
1739 * This method initializes jMenuItemEditFindGuid
1741 * @return javax.swing.JMenuItem
1743 private JMenuItem
getJMenuItemEditFindGuid() {
1744 if (jMenuItemEditFindGuid
== null) {
1745 jMenuItemEditFindGuid
= new JMenuItem();
1746 jMenuItemEditFindGuid
.setText("All GUIDs");
1747 jMenuItemEditFindGuid
.setMnemonic('G');
1748 jMenuItemEditFindGuid
.addActionListener(this);
1750 return jMenuItemEditFindGuid
;
1754 * This method initializes jMenuItemEditFindLibraryInstance
1756 * @return javax.swing.JMenuItem
1758 private JMenuItem
getJMenuItemEditFindLibraryInstance() {
1759 if (jMenuItemEditFindLibraryInstance
== null) {
1760 jMenuItemEditFindLibraryInstance
= new JMenuItem();
1761 jMenuItemEditFindLibraryInstance
.setText("All Library Instances");
1762 jMenuItemEditFindLibraryInstance
.setMnemonic('n');
1763 jMenuItemEditFindLibraryInstance
.addActionListener(this);
1764 jMenuItemEditFindLibraryInstance
.setVisible(false);
1766 return jMenuItemEditFindLibraryInstance
;
1770 * This method initializes jMenuItemProjectGenerateGuidsXref
1772 * @return javax.swing.JMenuItem
1774 private JMenuItem
getJMenuItemToolsGenerateGuidsXref() {
1775 if (jMenuItemToolsGenerateGuidsXref
== null) {
1776 jMenuItemToolsGenerateGuidsXref
= new JMenuItem();
1777 jMenuItemToolsGenerateGuidsXref
.setText("Generate guids.xref...");
1778 jMenuItemToolsGenerateGuidsXref
.setMnemonic('G');
1779 jMenuItemToolsGenerateGuidsXref
.addActionListener(this);
1781 return jMenuItemToolsGenerateGuidsXref
;
1785 * @see org.tianocore.packaging.common.ui.IFrame#main(java.lang.String[])
1787 * Main class, start the GUI
1790 public static void main(String
[] args
) {
1791 FrameworkWizardUI module
= FrameworkWizardUI
.getInstance();
1792 module
.setVisible(true);
1796 This is the default constructor
1799 public FrameworkWizardUI() {
1805 This method initializes this
1809 private void init() {
1811 // Set current workspace and check
1812 // Check if exists WORKSPACE
1814 Workspace
.setCurrentWorkspace(System
.getenv("WORKSPACE"));
1815 this.checkWorkspace();
1818 // Show splash screen
1820 SplashScreen ss
= new SplashScreen();
1821 ss
.setVisible(true);
1829 // Close splash screen
1836 this.setSize(DataType
.MAIN_FRAME_PREFERRED_SIZE_WIDTH
, DataType
.MAIN_FRAME_PREFERRED_SIZE_HEIGHT
);
1837 this.setResizable(true);
1838 this.setJMenuBar(getjJMenuBar());
1839 this.setContentPane(getJContentPane());
1840 this.setTitle(DataType
.PROJECT_NAME
+ " " + DataType
.PROJECT_VERSION
+ " " + "- ["
1841 + Workspace
.getCurrentWorkspace() + "]");
1842 this.setExitType(1);
1847 this.setExtendedState(JFrame
.MAXIMIZED_BOTH
);
1851 This method initializes jContentPane
1853 @return javax.swing.JPanel jContentPane
1856 private JPanel
getJContentPane() {
1857 if (jContentPane
== null) {
1858 jContentPane
= new JPanel();
1859 jContentPane
.setLayout(null);
1860 jContentPane
.add(getJPanelOperation(), null);
1861 jContentPane
.add(getJSplitPane(), null);
1863 return jContentPane
;
1867 * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
1869 * Override actionPerformed to listen all actions
1872 public void actionPerformed(ActionEvent arg0
) {
1874 // Operations of Menu
1876 if (arg0
.getSource() == this.jMenuItemFileNew
) {
1880 if (arg0
.getSource() == this.jMenuItemFileOpen
) {
1884 if (arg0
.getSource() == this.jMenuItemFileClose
) {
1888 if (arg0
.getSource() == this.jMenuItemFileCloseAll
) {
1890 this.makeEmptyTree();
1893 if (arg0
.getSource() == this.jMenuItemFileSave
) {
1897 if (arg0
.getSource() == this.jMenuItemFileSaveAs
) {
1901 if (arg0
.getSource() == this.jMenuItemFileSaveAll
) {
1905 if (arg0
.getSource() == this.jMenuItemFileRefresh
) {
1906 if (this.closeAll() == 0) {
1908 this.makeEmptyTree();
1912 if (arg0
.getSource() == this.jMenuItemFileExit
) {
1916 if (arg0
.getSource() == this.jMenuItemEditFindPpi
) {
1920 if (arg0
.getSource() == this.jMenuItemEditFindProtocol
) {
1921 this.findProtocol();
1924 if (arg0
.getSource() == this.jMenuItemEditFindGuid
) {
1928 if (arg0
.getSource() == this.jMenuItemEditFindPcd
) {
1932 if (arg0
.getSource() == this.jMenuItemEditFindLibraryClass
) {
1933 this.findLibraryClass();
1936 if (arg0
.getSource() == this.jMenuItemEditFindLibraryInstance
) {
1937 this.findLibraryInstance();
1940 if (arg0
.getSource() == jMenuItemToolsBuildPreferences
) {
1941 configBuildPreferences();
1944 if (arg0
.getSource() == this.jMenuItemProjectChangeWorkspace
) {
1945 this.changeWorkspace();
1948 if (arg0
.getSource() == this.jMenuItemProjectCreateFar
) {
1952 if (arg0
.getSource() == this.jMenuItemProjectInstallFar
) {
1956 if (arg0
.getSource() == this.jMenuItemProjectRemoveFar
) {
1960 if (arg0
.getSource() == this.jMenuItemProjectUpdateFar
) {
1964 if (arg0
.getSource() == this.jMenuItemToolsClone
) {
1968 if (arg0
.getSource() == this.jMenuItemToolsToolChainConfiguration
) {
1969 this.setupToolChainConfiguration();
1972 if (arg0
.getSource() == this.jMenuItemToolsGenerateGuidsXref
) {
1973 this.generateGuidsXref();
1976 if (arg0
.getSource() == this.jMenuItemHelpAbout
) {
1977 About a
= new About(this, true);
1978 int result
= a
.showDialog();
1979 if (result
== DataType
.RETURN_TYPE_OK
) {
1986 Create an empty tree if no file is open
1989 private void makeEmptyTree() {
1993 dmtnRoot
= new IDefaultMutableTreeNode("WORKSPACE", IDefaultMutableTreeNode
.WORKSPACE
, false, null, null);
1996 // Make Module Description
1998 dmtnModuleDescription
= new IDefaultMutableTreeNode("Modules", IDefaultMutableTreeNode
.MODULE_DESCRIPTION
,
1999 false, null, dmtnRoot
);
2002 // First add package
2004 if (GlobalData
.vPackageList
.size() > 0) {
2005 for (int index
= 0; index
< GlobalData
.vPackageList
.size(); index
++) {
2006 IDefaultMutableTreeNode dmtnModulePackage
= null;
2007 IDefaultMutableTreeNode dmtnModulePackageLibrary
= null;
2008 IDefaultMutableTreeNode dmtnModulePackageModule
= null;
2010 dmtnModulePackage
= new IDefaultMutableTreeNode(GlobalData
.vPackageList
.elementAt(index
).getName(),
2011 IDefaultMutableTreeNode
.MODULE_PACKAGE
, false,
2012 GlobalData
.vPackageList
.elementAt(index
),
2013 this.dmtnModuleDescription
);
2014 dmtnModulePackageLibrary
= new IDefaultMutableTreeNode("Library",
2015 IDefaultMutableTreeNode
.MODULE_PACKAGE_LIBRARY
,
2016 false, GlobalData
.vPackageList
.elementAt(index
),
2017 this.dmtnModuleDescription
);
2018 dmtnModulePackageModule
= new IDefaultMutableTreeNode("Module",
2019 IDefaultMutableTreeNode
.MODULE_PACKAGE_MODULE
,
2020 false, GlobalData
.vPackageList
.elementAt(index
),
2021 this.dmtnModuleDescription
);
2023 // And then add each module in its package
2025 Vector
<ModuleIdentification
> vModule
= wt
.getAllModules(GlobalData
.vPackageList
.elementAt(index
));
2026 for (int indexJ
= 0; indexJ
< vModule
.size(); indexJ
++) {
2027 if (vModule
.get(indexJ
).isLibrary()) {
2028 dmtnModulePackageLibrary
.add(new IDefaultMutableTreeNode(vModule
.get(indexJ
).getName(),
2029 IDefaultMutableTreeNode
.MODULE
, false,
2030 vModule
.get(indexJ
),
2031 this.dmtnModuleDescription
));
2033 dmtnModulePackageModule
.add(new IDefaultMutableTreeNode(vModule
.get(indexJ
).getName(),
2034 IDefaultMutableTreeNode
.MODULE
, false,
2035 vModule
.get(indexJ
),
2036 this.dmtnModuleDescription
));
2039 if (dmtnModulePackageModule
.getChildCount() > 0) {
2040 dmtnModulePackage
.add(dmtnModulePackageModule
);
2042 if (dmtnModulePackageLibrary
.getChildCount() > 0) {
2043 dmtnModulePackage
.add(dmtnModulePackageLibrary
);
2046 dmtnModuleDescription
.add(dmtnModulePackage
);
2051 // Make Package Description
2053 dmtnPackageDescription
= new IDefaultMutableTreeNode("Packages", IDefaultMutableTreeNode
.PACKAGE_DESCRIPTION
,
2054 false, null, this.dmtnRoot
);
2055 if (GlobalData
.vPackageList
.size() > 0) {
2056 for (int index
= 0; index
< GlobalData
.vPackageList
.size(); index
++) {
2057 dmtnPackageDescription
.add(new IDefaultMutableTreeNode(GlobalData
.vPackageList
.elementAt(index
)
2059 IDefaultMutableTreeNode
.PACKAGE
, false,
2060 GlobalData
.vPackageList
.elementAt(index
),
2061 this.dmtnPackageDescription
));
2066 // Make Platform Description
2068 dmtnPlatformDescription
= new IDefaultMutableTreeNode("Platforms",
2069 IDefaultMutableTreeNode
.PLATFORM_DESCRIPTION
, false,
2070 null, this.dmtnRoot
);
2071 if (GlobalData
.vPlatformList
.size() > 0) {
2072 for (int index
= 0; index
< GlobalData
.vPlatformList
.size(); index
++) {
2073 dmtnPlatformDescription
.add(new IDefaultMutableTreeNode(GlobalData
.vPlatformList
.elementAt(index
)
2075 IDefaultMutableTreeNode
.PLATFORM
, false,
2076 GlobalData
.vPlatformList
.elementAt(index
),
2077 this.dmtnPlatformDescription
));
2082 // Add sub nodes to root node
2084 dmtnRoot
.add(dmtnModuleDescription
);
2085 dmtnRoot
.add(dmtnPackageDescription
);
2086 dmtnRoot
.add(dmtnPlatformDescription
);
2087 iTree
= new ITree(dmtnRoot
);
2088 iTree
.addMouseListener(this);
2089 iTree
.addKeyListener(this);
2090 jScrollPaneTree
.setViewportView(iTree
);
2094 * @see java.awt.event.WindowListener#windowClosing(java.awt.event.WindowEvent)
2096 * Override windowClosing to popup warning message to confirm quit
2099 public void windowClosing(WindowEvent arg0
) {
2104 * @see java.awt.event.MouseListener#mouseClicked(java.awt.event.MouseEvent)
2106 * Override mouseClicked to check if need display popup menu
2109 public void mouseClicked(MouseEvent arg0
) {
2111 // When double click
2113 if (arg0
.getClickCount() == 2) {
2114 doubleClickModuleTreeNode();
2118 public void mouseEntered(MouseEvent arg0
) {
2119 // TODO Auto-generated method stub
2122 public void mouseExited(MouseEvent arg0
) {
2123 // TODO Auto-generated method stub
2126 public void mousePressed(MouseEvent arg0
) {
2127 // TODO Auto-generated method stub
2130 public void mouseReleased(MouseEvent arg0
) {
2131 // TODO Auto-generated method stub
2135 Remove all Internal Frame of Module Desktop Pane
2138 private void cleanDesktopPaneModule() {
2139 if (jDesktopPaneModule
!= null) {
2140 JInternalFrame
[] iif
= this.jDesktopPaneModule
.getAllFrames();
2141 for (int index
= 0; index
< iif
.length
; index
++) {
2142 iif
[index
].dispose();
2148 Remove all Internal Frame of package Desktop Pane
2151 private void cleanDesktopPanePackage() {
2152 if (jDesktopPanePlatform
!= null) {
2153 JInternalFrame
[] iif
= this.jDesktopPanePackage
.getAllFrames();
2154 for (int index
= 0; index
< iif
.length
; index
++) {
2155 iif
[index
].dispose();
2161 Remove all Internal Frame of platform Desktop Pane
2164 private void cleanDesktopPanePlatform() {
2165 if (jDesktopPanePlatform
!= null) {
2166 JInternalFrame
[] iif
= this.jDesktopPanePlatform
.getAllFrames();
2167 for (int index
= 0; index
< iif
.length
; index
++) {
2168 iif
[index
].dispose();
2174 Remove all Internal Frame of all Desktop Panes
2177 private void cleanDesktopPane() {
2178 cleanDesktopPaneModule();
2179 cleanDesktopPanePackage();
2180 cleanDesktopPanePlatform();
2184 Set file filter as input ext
2190 private int getNewFilePath(String ext
) {
2191 JFileChooser fc
= new JFileChooser(Workspace
.getCurrentWorkspace());
2192 fc
.setAcceptAllFileFilterUsed(false);
2193 fc
.addChoosableFileFilter(new IFileFilter(ext
));
2194 return fc
.showSaveDialog(new JPanel());
2198 Add a module to tree
2200 @param mid The module node to be added
2203 private void addModuleToTree(ModuleIdentification mid
) {
2205 // Add new MsaHeader node to the tree
2207 IDefaultMutableTreeNode node
= new IDefaultMutableTreeNode(mid
.getName(), IDefaultMutableTreeNode
.MODULE
,
2208 false, mid
, this.dmtnModuleDescription
);
2210 // First find the module belongs to which package
2212 IDefaultMutableTreeNode packageNode
= iTree
.getNodeById(dmtnModuleDescription
, mid
.getPackageId(),
2213 IDefaultMutableTreeNode
.MODULE_PACKAGE
);
2215 // To check if has module node or library node
2217 IDefaultMutableTreeNode parentModuleNode
= null;
2218 IDefaultMutableTreeNode parentLibraryNode
= null;
2219 boolean hasModule
= false;
2220 boolean hasLibrary
= false;
2221 for (int index
= 0; index
< packageNode
.getChildCount(); index
++) {
2222 IDefaultMutableTreeNode iNode
= (IDefaultMutableTreeNode
) packageNode
.getChildAt(index
);
2223 if (iNode
.getCategory() == IDefaultMutableTreeNode
.MODULE_PACKAGE_LIBRARY
) {
2225 parentLibraryNode
= iNode
;
2227 if (iNode
.getCategory() == IDefaultMutableTreeNode
.MODULE_PACKAGE_MODULE
) {
2229 parentModuleNode
= iNode
;
2236 if (!mid
.isLibrary()) {
2238 // Create parent node first if has no parent node
2241 parentModuleNode
= new IDefaultMutableTreeNode("Module", IDefaultMutableTreeNode
.MODULE_PACKAGE_MODULE
,
2242 false, mid
.getPackageId(), this.dmtnModuleDescription
);
2243 iTree
.addNode(packageNode
, parentModuleNode
);
2246 iTree
.addNode(parentModuleNode
, node
);
2252 if (mid
.isLibrary()) {
2254 // Create parent node first if has no parent node
2257 parentLibraryNode
= new IDefaultMutableTreeNode("Library",
2258 IDefaultMutableTreeNode
.MODULE_PACKAGE_LIBRARY
, false,
2259 mid
.getPackageId(), this.dmtnModuleDescription
);
2260 iTree
.addNode(packageNode
, parentLibraryNode
);
2263 iTree
.addNode(parentLibraryNode
, node
);
2270 @param path input file path
2273 private void openModule(String path
, IDefaultMutableTreeNode belongNode
) {
2274 ModuleIdentification id
= GlobalData
.openingModuleList
.getIdByPath(path
);
2277 // The module is not in existing packages
2279 Log
.wrn("Open Module", "The module does not belong to any package in the current workspace!");
2284 // Make the node selected
2286 iTree
.setSelectionPath(iTree
.getPathOfNode(iTree
.getNodeById(belongNode
, id
, IDefaultMutableTreeNode
.MODULE
)));
2289 // Update opening Module list information
2291 if (!iTree
.getSelectNode().isOpening()) {
2293 // Insert sub node of module
2295 insertModuleTreeNode(id
, belongNode
);
2296 iTree
.getSelectNode().setOpening(true);
2299 // Update opening module list
2301 GlobalData
.openingModuleList
.setModuleOpen(id
, true);
2302 Set
<TreePath
> temp
= GlobalData
.openingModuleList
.getTreePathById(id
);
2303 temp
.add(iTree
.getSelectionPath());
2304 GlobalData
.openingModuleList
.setTreePathById(id
, temp
);
2307 // Select msa header node and show it in editor panel
2310 .setSelectionPath(iTree
2311 .getPathOfNode(iTree
2312 .getNodeById(belongNode
, id
, IDefaultMutableTreeNode
.MSA_HEADER
)));
2313 showModuleElement(IDefaultMutableTreeNode
.MSA_HEADER
, GlobalData
.openingModuleList
.getOpeningModuleById(id
));
2314 this.currentOpeningModuleIndex
= GlobalData
.openingModuleList
.findIndexOfListById(id
);
2320 @param path input file path
2323 private void openPackage(String path
) {
2324 PackageIdentification id
= GlobalData
.openingPackageList
.getIdByPath(path
);
2327 // The package is not in current workspace
2329 Log
.wrn("Open Package", "The package has not been installed in the current workspace!");
2334 // Make the node selected
2336 iTree
.setSelectionPath(iTree
.getPathOfNode(iTree
.getNodeById(this.dmtnPackageDescription
, id
,
2337 IDefaultMutableTreeNode
.PACKAGE
)));
2339 // Update opening package list information
2341 if (!GlobalData
.openingPackageList
.getPackageOpen(id
)) {
2343 // Insert sub node of module
2345 insertPackageTreeNode(id
);
2346 iTree
.getSelectNode().setOpening(true);
2349 // Update opening module list
2351 GlobalData
.openingPackageList
.setPackageOpen(id
, true);
2352 Set
<TreePath
> temp
= GlobalData
.openingPackageList
.getTreePathById(id
);
2353 temp
.add(iTree
.getSelectionPath());
2354 GlobalData
.openingPackageList
.setTreePathById(id
, temp
);
2357 // Show spd header in editor panel
2359 iTree
.setSelectionPath(iTree
.getPathOfNode(iTree
.getNodeById(this.dmtnPackageDescription
, id
,
2360 IDefaultMutableTreeNode
.SPD_HEADER
)));
2361 showPackageElement(IDefaultMutableTreeNode
.SPD_HEADER
, GlobalData
.openingPackageList
.getOpeningPackageById(id
));
2362 this.currentOpeningPackageIndex
= GlobalData
.openingPackageList
.findIndexOfListById(id
);
2368 @param path input file path
2371 private void openPlatform(String path
) {
2372 PlatformIdentification id
= GlobalData
.openingPlatformList
.getIdByPath(path
);
2375 // The platform is not in current workspace
2377 Log
.wrn("Open Platform", "The platform has not been installed in the current workspace!");
2382 // Make the node selected
2384 iTree
.setSelectionPath(iTree
.getPathOfNode(iTree
.getNodeById(this.dmtnPlatformDescription
, id
,
2385 IDefaultMutableTreeNode
.PLATFORM
)));
2387 // Update opening package list information
2389 if (!GlobalData
.openingPlatformList
.getPlatformOpen(id
)) {
2391 // Insert sub node of module
2393 insertPlatformTreeNode(id
);
2394 iTree
.getSelectNode().setOpening(true);
2397 // Update opening module list
2399 GlobalData
.openingPlatformList
.setPlatformOpen(id
, true);
2400 Set
<TreePath
> temp
= GlobalData
.openingPlatformList
.getTreePathById(id
);
2401 temp
.add(iTree
.getSelectionPath());
2402 GlobalData
.openingPlatformList
.setTreePathById(id
, temp
);
2405 // Show fpd header in editor panel
2407 iTree
.setSelectionPath(iTree
.getPathOfNode(iTree
.getNodeById(this.dmtnPlatformDescription
, id
,
2408 IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
)));
2409 showPlatformElement(IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
,
2410 GlobalData
.openingPlatformList
.getOpeningPlatformById(id
));
2411 this.currentOpeningPlatformIndex
= GlobalData
.openingPlatformList
.findIndexOfListById(id
);
2418 private void saveModule(int index
) {
2419 OpeningModuleType omt
= GlobalData
.openingModuleList
.getOpeningModuleByIndex(index
);
2421 if (getNewFilePath(DataType
.MODULE_SURFACE_AREA_EXT
) != JFileChooser
.APPROVE_OPTION
) {
2426 SaveFile
.saveMsaFile(omt
.getId().getPath(), omt
.getXmlMsa());
2427 GlobalData
.openingModuleList
.setNew(omt
.getId(), false);
2428 GlobalData
.openingModuleList
.setModuleSaved(omt
.getId(), true);
2429 } catch (Exception e
) {
2430 Log
.wrn("Save Module", e
.getMessage());
2431 Log
.err("Save Module", e
.getMessage());
2439 private void savePackage(int index
) {
2440 OpeningPackageType opt
= GlobalData
.openingPackageList
.getOpeningPackageByIndex(index
);
2442 if (getNewFilePath(DataType
.PACKAGE_SURFACE_AREA_EXT
) != JFileChooser
.APPROVE_OPTION
) {
2447 SaveFile
.saveSpdFile(opt
.getId().getPath(), opt
.getXmlSpd());
2448 GlobalData
.openingPackageList
.setNew(opt
.getId(), false);
2449 GlobalData
.openingPackageList
.setPackageSaved(opt
.getId(), true);
2450 } catch (Exception e
) {
2451 Log
.wrn("Save Package", e
.getMessage());
2452 Log
.err("Save Package", e
.getMessage());
2460 private void savePlatform(int index
) {
2461 OpeningPlatformType opt
= GlobalData
.openingPlatformList
.getOpeningPlatformByIndex(index
);
2463 if (getNewFilePath(DataType
.PACKAGE_SURFACE_AREA_EXT
) != JFileChooser
.APPROVE_OPTION
) {
2468 SaveFile
.saveFpdFile(opt
.getId().getPath(), opt
.getXmlFpd());
2469 GlobalData
.openingPlatformList
.setNew(opt
.getId(), false);
2470 GlobalData
.openingPlatformList
.setPlatformSaved(opt
.getId(), true);
2471 } catch (Exception e
) {
2472 Log
.wrn("Save Package", e
.getMessage());
2473 Log
.err("Save Package", e
.getMessage());
2477 public void componentResized(ComponentEvent arg0
) {
2478 if (this.jSplitPane
!= null) {
2479 this.jSplitPane
.setSize(this.getWidth() - DataType
.MAIN_FRAME_WIDTH_SPACING
,
2480 this.getHeight() - DataType
.MAIN_FRAME_HEIGHT_SPACING
);
2481 this.jSplitPane
.validate();
2482 resizeDesktopPanel();
2487 Resize JDesktopPanel
2490 private void resizeDesktopPanel() {
2491 resizeDesktopPanel(this.jDesktopPaneModule
);
2492 resizeDesktopPanel(this.jDesktopPanePackage
);
2493 resizeDesktopPanel(this.jDesktopPanePlatform
);
2497 Resize JDesktopPanel
2500 private void resizeDesktopPanel(JDesktopPane jdk
) {
2501 JInternalFrame
[] iif
= jdk
.getAllFrames();
2502 for (int index
= 0; index
< iif
.length
; index
++) {
2503 iif
[index
].setSize(jdk
.getWidth(), jdk
.getHeight());
2507 private void insertModuleTreeNode(Identification id
, IDefaultMutableTreeNode belongNode
) {
2508 iTree
.addNode(new IDefaultMutableTreeNode("Module Header", IDefaultMutableTreeNode
.MSA_HEADER
, true, id
,
2510 iTree
.addNode(new IDefaultMutableTreeNode("Source Files", IDefaultMutableTreeNode
.MSA_SOURCEFILES
, true, id
,
2512 iTree
.addNode(new IDefaultMutableTreeNode("Library Class Definitions",
2513 IDefaultMutableTreeNode
.MSA_LIBRARYCLASSDEFINITIONS
, true, id
,
2516 .addNode(new IDefaultMutableTreeNode("Package Dependencies",
2517 IDefaultMutableTreeNode
.MSA_PACKAGEDEPENDENCIES
, true, id
, belongNode
));
2518 iTree
.addNode(new IDefaultMutableTreeNode("Protocols", IDefaultMutableTreeNode
.MSA_PROTOCOLS
, true, id
,
2520 iTree
.addNode(new IDefaultMutableTreeNode("Events", IDefaultMutableTreeNode
.MSA_EVENTS
, true, id
, belongNode
));
2521 iTree
.addNode(new IDefaultMutableTreeNode("Hobs", IDefaultMutableTreeNode
.MSA_HOBS
, true, id
, belongNode
));
2522 iTree
.addNode(new IDefaultMutableTreeNode("Ppis", IDefaultMutableTreeNode
.MSA_PPIS
, true, id
, belongNode
));
2523 iTree
.addNode(new IDefaultMutableTreeNode("Variables", IDefaultMutableTreeNode
.MSA_VARIABLES
, true, id
,
2525 iTree
.addNode(new IDefaultMutableTreeNode("Boot Modes", IDefaultMutableTreeNode
.MSA_BOOTMODES
, true, id
,
2527 iTree
.addNode(new IDefaultMutableTreeNode("System Tables", IDefaultMutableTreeNode
.MSA_SYSTEMTABLES
, true, id
,
2529 iTree
.addNode(new IDefaultMutableTreeNode("Data Hubs", IDefaultMutableTreeNode
.MSA_DATAHUBS
, true, id
,
2531 iTree
.addNode(new IDefaultMutableTreeNode("Hii Packages", IDefaultMutableTreeNode
.MSA_HIIPACKAGES
, true, id
,
2533 iTree
.addNode(new IDefaultMutableTreeNode("Guids", IDefaultMutableTreeNode
.MSA_GUIDS
, true, id
, belongNode
));
2534 iTree
.addNode(new IDefaultMutableTreeNode("External Defintions", IDefaultMutableTreeNode
.MSA_EXTERNS
, true, id
,
2536 iTree
.addNode(new IDefaultMutableTreeNode("Pcd Coded", IDefaultMutableTreeNode
.MSA_PCDS
, true, id
, belongNode
));
2539 private void insertPackageTreeNode(Identification id
) {
2540 IDefaultMutableTreeNode idmtTemp
= this.dmtnPackageDescription
;
2541 iTree
.addNode(new IDefaultMutableTreeNode("Package Header", IDefaultMutableTreeNode
.SPD_HEADER
, true, id
,
2543 iTree
.addNode(new IDefaultMutableTreeNode("Library Class Declarations",
2544 IDefaultMutableTreeNode
.SPD_LIBRARYCLASSDECLARATIONS
, true, id
,
2546 iTree
.addNode(new IDefaultMutableTreeNode("Msa Files", IDefaultMutableTreeNode
.SPD_MSAFILES
, false, id
,
2548 iTree
.addNode(new IDefaultMutableTreeNode("Package Includes", IDefaultMutableTreeNode
.SPD_PACKAGEHEADERS
, true,
2550 iTree
.addNode(new IDefaultMutableTreeNode("Guid Declarations", IDefaultMutableTreeNode
.SPD_GUIDDECLARATIONS
,
2551 true, id
, idmtTemp
));
2553 .addNode(new IDefaultMutableTreeNode("Protocol Declarations",
2554 IDefaultMutableTreeNode
.SPD_PROTOCOLDECLARATIONS
, true, id
, idmtTemp
));
2555 iTree
.addNode(new IDefaultMutableTreeNode("Ppi Declarations", IDefaultMutableTreeNode
.SPD_PPIDECLARATIONS
,
2556 true, id
, idmtTemp
));
2557 iTree
.addNode(new IDefaultMutableTreeNode("Pcd Declarations", IDefaultMutableTreeNode
.SPD_PCDDECLARATIONS
,
2558 true, id
, idmtTemp
));
2560 // Add modules in this package
2562 IDefaultMutableTreeNode dmtnModulePackageLibrary
= null;
2563 IDefaultMutableTreeNode dmtnModulePackageModule
= null;
2565 dmtnModulePackageLibrary
= new IDefaultMutableTreeNode("Library",
2566 IDefaultMutableTreeNode
.MODULE_PACKAGE_LIBRARY
, false,
2568 dmtnModulePackageModule
= new IDefaultMutableTreeNode("Module", IDefaultMutableTreeNode
.MODULE_PACKAGE_MODULE
,
2569 false, id
, idmtTemp
);
2571 Vector
<ModuleIdentification
> vModule
= wt
.getAllModules(new PackageIdentification(id
));
2572 for (int indexJ
= 0; indexJ
< vModule
.size(); indexJ
++) {
2573 if (vModule
.get(indexJ
).isLibrary()) {
2574 dmtnModulePackageLibrary
.add(new IDefaultMutableTreeNode(vModule
.get(indexJ
).getName(),
2575 IDefaultMutableTreeNode
.MODULE
, false,
2576 vModule
.get(indexJ
), idmtTemp
));
2578 dmtnModulePackageModule
.add(new IDefaultMutableTreeNode(vModule
.get(indexJ
).getName(),
2579 IDefaultMutableTreeNode
.MODULE
, false,
2580 vModule
.get(indexJ
), idmtTemp
));
2583 if (dmtnModulePackageModule
.getChildCount() > 0) {
2584 iTree
.addNode(dmtnModulePackageModule
);
2586 if (dmtnModulePackageLibrary
.getChildCount() > 0) {
2587 iTree
.addNode(dmtnModulePackageLibrary
);
2591 private void insertPlatformTreeNode(Identification id
) {
2592 IDefaultMutableTreeNode idmtTemp
= this.dmtnPlatformDescription
;
2593 iTree
.addNode(new IDefaultMutableTreeNode("Platform Header", IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
, true,
2595 iTree
.addNode(new IDefaultMutableTreeNode("Platform Definitions",
2596 IDefaultMutableTreeNode
.FPD_PLATFORMDEFINITIONS
, true, id
, idmtTemp
));
2597 iTree
.addNode(new IDefaultMutableTreeNode("Flash Information", IDefaultMutableTreeNode
.FPD_FLASH
, true, id
,
2599 iTree
.addNode(new IDefaultMutableTreeNode("Framework Modules", IDefaultMutableTreeNode
.FPD_FRAMEWORKMODULES
,
2600 true, id
, idmtTemp
));
2601 iTree
.addNode(new IDefaultMutableTreeNode("Dynamic PCD Build Declarations",
2602 IDefaultMutableTreeNode
.FPD_PCDDYNAMICBUILDDECLARATIONS
, true, id
,
2604 iTree
.addNode(new IDefaultMutableTreeNode("Build Options", IDefaultMutableTreeNode
.FPD_BUILDOPTIONS
, true, id
,
2608 // Add modules in this platform
2610 IDefaultMutableTreeNode dmtnModulePackageLibrary
= null;
2611 IDefaultMutableTreeNode dmtnModulePackageModule
= null;
2613 dmtnModulePackageLibrary
= new IDefaultMutableTreeNode("Library",
2614 IDefaultMutableTreeNode
.MODULE_PACKAGE_LIBRARY
, false,
2616 dmtnModulePackageModule
= new IDefaultMutableTreeNode("Module", IDefaultMutableTreeNode
.MODULE_PACKAGE_MODULE
,
2617 false, id
, idmtTemp
);
2619 Vector
<ModuleIdentification
> vModule
= wt
.getAllModules(new PlatformIdentification(id
));
2620 for (int indexJ
= 0; indexJ
< vModule
.size(); indexJ
++) {
2621 if (vModule
.get(indexJ
).isLibrary()) {
2622 dmtnModulePackageLibrary
.add(new IDefaultMutableTreeNode(vModule
.get(indexJ
).getName(),
2623 IDefaultMutableTreeNode
.MODULE
, false,