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 // Show splash screen
1813 SplashScreen ss
= new SplashScreen();
1814 ss
.setVisible(true);
1817 // Set current workspace and check
1818 // Check if exists WORKSPACE
1821 Workspace
.setCurrentWorkspace(System
.getenv("WORKSPACE"));
1822 if (!Workspace
.checkCurrentWorkspace()) {
1823 JOptionPane
.showConfirmDialog(null, "Workspace is not setup correctly. Please setup first.", "Warning",
1824 JOptionPane
.DEFAULT_OPTION
, JOptionPane
.WARNING_MESSAGE
);
1835 // Close splash screen
1842 this.setSize(DataType
.MAIN_FRAME_PREFERRED_SIZE_WIDTH
, DataType
.MAIN_FRAME_PREFERRED_SIZE_HEIGHT
);
1843 this.setResizable(true);
1844 this.setJMenuBar(getjJMenuBar());
1845 this.setContentPane(getJContentPane());
1846 this.setTitle(DataType
.PROJECT_NAME
+ " " + DataType
.PROJECT_VERSION
+ " " + "- ["
1847 + Workspace
.getCurrentWorkspace() + "]");
1848 this.setExitType(1);
1853 this.setExtendedState(JFrame
.MAXIMIZED_BOTH
);
1857 This method initializes jContentPane
1859 @return javax.swing.JPanel jContentPane
1862 private JPanel
getJContentPane() {
1863 if (jContentPane
== null) {
1864 jContentPane
= new JPanel();
1865 jContentPane
.setLayout(null);
1866 jContentPane
.add(getJPanelOperation(), null);
1867 jContentPane
.add(getJSplitPane(), null);
1869 return jContentPane
;
1873 * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
1875 * Override actionPerformed to listen all actions
1878 public void actionPerformed(ActionEvent arg0
) {
1880 // Operations of Menu
1882 if (arg0
.getSource() == this.jMenuItemFileNew
) {
1886 if (arg0
.getSource() == this.jMenuItemFileOpen
) {
1890 if (arg0
.getSource() == this.jMenuItemFileClose
) {
1894 if (arg0
.getSource() == this.jMenuItemFileCloseAll
) {
1896 this.makeEmptyTree();
1899 if (arg0
.getSource() == this.jMenuItemFileSave
) {
1903 if (arg0
.getSource() == this.jMenuItemFileSaveAs
) {
1907 if (arg0
.getSource() == this.jMenuItemFileSaveAll
) {
1911 if (arg0
.getSource() == this.jMenuItemFileRefresh
) {
1914 this.makeEmptyTree();
1917 if (arg0
.getSource() == this.jMenuItemFileExit
) {
1921 if (arg0
.getSource() == this.jMenuItemEditFindPpi
) {
1925 if (arg0
.getSource() == this.jMenuItemEditFindProtocol
) {
1926 this.findProtocol();
1929 if (arg0
.getSource() == this.jMenuItemEditFindGuid
) {
1933 if (arg0
.getSource() == this.jMenuItemEditFindPcd
) {
1937 if (arg0
.getSource() == this.jMenuItemEditFindLibraryClass
) {
1938 this.findLibraryClass();
1941 if (arg0
.getSource() == this.jMenuItemEditFindLibraryInstance
) {
1942 this.findLibraryInstance();
1945 if (arg0
.getSource() == jMenuItemToolsBuildPreferences
) {
1946 configBuildPreferences();
1949 if (arg0
.getSource() == this.jMenuItemProjectChangeWorkspace
) {
1950 this.changeWorkspace();
1953 if (arg0
.getSource() == this.jMenuItemProjectCreateFar
) {
1957 if (arg0
.getSource() == this.jMenuItemProjectInstallFar
) {
1961 if (arg0
.getSource() == this.jMenuItemProjectRemoveFar
) {
1965 if (arg0
.getSource() == this.jMenuItemProjectUpdateFar
) {
1969 if (arg0
.getSource() == this.jMenuItemToolsClone
) {
1973 if (arg0
.getSource() == this.jMenuItemToolsToolChainConfiguration
) {
1974 this.setupToolChainConfiguration();
1977 if (arg0
.getSource() == this.jMenuItemToolsGenerateGuidsXref
) {
1978 this.generateGuidsXref();
1981 if (arg0
.getSource() == this.jMenuItemHelpAbout
) {
1982 About a
= new About(this, true);
1983 int result
= a
.showDialog();
1984 if (result
== DataType
.RETURN_TYPE_OK
) {
1991 Create an empty tree if no file is open
1994 private void makeEmptyTree() {
1998 dmtnRoot
= new IDefaultMutableTreeNode("WORKSPACE", IDefaultMutableTreeNode
.WORKSPACE
, false, null, null);
2001 // Make Module Description
2003 dmtnModuleDescription
= new IDefaultMutableTreeNode("Modules", IDefaultMutableTreeNode
.MODULE_DESCRIPTION
,
2004 false, null, dmtnRoot
);
2007 // First add package
2009 if (GlobalData
.vPackageList
.size() > 0) {
2010 for (int index
= 0; index
< GlobalData
.vPackageList
.size(); index
++) {
2011 IDefaultMutableTreeNode dmtnModulePackage
= null;
2012 IDefaultMutableTreeNode dmtnModulePackageLibrary
= null;
2013 IDefaultMutableTreeNode dmtnModulePackageModule
= null;
2015 dmtnModulePackage
= new IDefaultMutableTreeNode(GlobalData
.vPackageList
.elementAt(index
).getName(),
2016 IDefaultMutableTreeNode
.MODULE_PACKAGE
, false,
2017 GlobalData
.vPackageList
.elementAt(index
),
2018 this.dmtnModuleDescription
);
2019 dmtnModulePackageLibrary
= new IDefaultMutableTreeNode("Library",
2020 IDefaultMutableTreeNode
.MODULE_PACKAGE_LIBRARY
,
2021 false, GlobalData
.vPackageList
.elementAt(index
),
2022 this.dmtnModuleDescription
);
2023 dmtnModulePackageModule
= new IDefaultMutableTreeNode("Module",
2024 IDefaultMutableTreeNode
.MODULE_PACKAGE_MODULE
,
2025 false, GlobalData
.vPackageList
.elementAt(index
),
2026 this.dmtnModuleDescription
);
2028 // And then add each module in its package
2030 Vector
<ModuleIdentification
> vModule
= wt
.getAllModules(GlobalData
.vPackageList
.elementAt(index
));
2031 for (int indexJ
= 0; indexJ
< vModule
.size(); indexJ
++) {
2032 if (vModule
.get(indexJ
).isLibrary()) {
2033 dmtnModulePackageLibrary
.add(new IDefaultMutableTreeNode(vModule
.get(indexJ
).getName(),
2034 IDefaultMutableTreeNode
.MODULE
, false,
2035 vModule
.get(indexJ
),
2036 this.dmtnModuleDescription
));
2038 dmtnModulePackageModule
.add(new IDefaultMutableTreeNode(vModule
.get(indexJ
).getName(),
2039 IDefaultMutableTreeNode
.MODULE
, false,
2040 vModule
.get(indexJ
),
2041 this.dmtnModuleDescription
));
2044 if (dmtnModulePackageModule
.getChildCount() > 0) {
2045 dmtnModulePackage
.add(dmtnModulePackageModule
);
2047 if (dmtnModulePackageLibrary
.getChildCount() > 0) {
2048 dmtnModulePackage
.add(dmtnModulePackageLibrary
);
2051 dmtnModuleDescription
.add(dmtnModulePackage
);
2056 // Make Package Description
2058 dmtnPackageDescription
= new IDefaultMutableTreeNode("Packages", IDefaultMutableTreeNode
.PACKAGE_DESCRIPTION
,
2059 false, null, this.dmtnRoot
);
2060 if (GlobalData
.vPackageList
.size() > 0) {
2061 for (int index
= 0; index
< GlobalData
.vPackageList
.size(); index
++) {
2062 dmtnPackageDescription
.add(new IDefaultMutableTreeNode(GlobalData
.vPackageList
.elementAt(index
)
2064 IDefaultMutableTreeNode
.PACKAGE
, false,
2065 GlobalData
.vPackageList
.elementAt(index
),
2066 this.dmtnPackageDescription
));
2071 // Make Platform Description
2073 dmtnPlatformDescription
= new IDefaultMutableTreeNode("Platforms",
2074 IDefaultMutableTreeNode
.PLATFORM_DESCRIPTION
, false,
2075 null, this.dmtnRoot
);
2076 if (GlobalData
.vPlatformList
.size() > 0) {
2077 for (int index
= 0; index
< GlobalData
.vPlatformList
.size(); index
++) {
2078 dmtnPlatformDescription
.add(new IDefaultMutableTreeNode(GlobalData
.vPlatformList
.elementAt(index
)
2080 IDefaultMutableTreeNode
.PLATFORM
, false,
2081 GlobalData
.vPlatformList
.elementAt(index
),
2082 this.dmtnPlatformDescription
));
2087 // Add sub nodes to root node
2089 dmtnRoot
.add(dmtnModuleDescription
);
2090 dmtnRoot
.add(dmtnPackageDescription
);
2091 dmtnRoot
.add(dmtnPlatformDescription
);
2092 iTree
= new ITree(dmtnRoot
);
2093 iTree
.addMouseListener(this);
2094 iTree
.addKeyListener(this);
2095 jScrollPaneTree
.setViewportView(iTree
);
2099 * @see java.awt.event.WindowListener#windowClosing(java.awt.event.WindowEvent)
2101 * Override windowClosing to popup warning message to confirm quit
2104 public void windowClosing(WindowEvent arg0
) {
2109 * @see java.awt.event.MouseListener#mouseClicked(java.awt.event.MouseEvent)
2111 * Override mouseClicked to check if need display popup menu
2114 public void mouseClicked(MouseEvent arg0
) {
2116 // When double click
2118 if (arg0
.getClickCount() == 2) {
2119 doubleClickModuleTreeNode();
2123 public void mouseEntered(MouseEvent arg0
) {
2124 // TODO Auto-generated method stub
2127 public void mouseExited(MouseEvent arg0
) {
2128 // TODO Auto-generated method stub
2131 public void mousePressed(MouseEvent arg0
) {
2132 // TODO Auto-generated method stub
2135 public void mouseReleased(MouseEvent arg0
) {
2136 // TODO Auto-generated method stub
2140 Remove all Internal Frame of Module Desktop Pane
2143 private void cleanDesktopPaneModule() {
2144 if (jDesktopPaneModule
!= null) {
2145 JInternalFrame
[] iif
= this.jDesktopPaneModule
.getAllFrames();
2146 for (int index
= 0; index
< iif
.length
; index
++) {
2147 iif
[index
].dispose();
2153 Remove all Internal Frame of package Desktop Pane
2156 private void cleanDesktopPanePackage() {
2157 if (jDesktopPanePlatform
!= null) {
2158 JInternalFrame
[] iif
= this.jDesktopPanePackage
.getAllFrames();
2159 for (int index
= 0; index
< iif
.length
; index
++) {
2160 iif
[index
].dispose();
2166 Remove all Internal Frame of platform Desktop Pane
2169 private void cleanDesktopPanePlatform() {
2170 if (jDesktopPanePlatform
!= null) {
2171 JInternalFrame
[] iif
= this.jDesktopPanePlatform
.getAllFrames();
2172 for (int index
= 0; index
< iif
.length
; index
++) {
2173 iif
[index
].dispose();
2179 Remove all Internal Frame of all Desktop Panes
2182 private void cleanDesktopPane() {
2183 cleanDesktopPaneModule();
2184 cleanDesktopPanePackage();
2185 cleanDesktopPanePlatform();
2189 Set file filter as input ext
2195 private int getNewFilePath(String ext
) {
2196 JFileChooser fc
= new JFileChooser(Workspace
.getCurrentWorkspace());
2197 fc
.setAcceptAllFileFilterUsed(false);
2198 fc
.addChoosableFileFilter(new IFileFilter(ext
));
2199 return fc
.showSaveDialog(new JPanel());
2203 Add a module to tree
2205 @param mid The module node to be added
2208 private void addModuleToTree(ModuleIdentification mid
) {
2210 // Add new MsaHeader node to the tree
2212 IDefaultMutableTreeNode node
= new IDefaultMutableTreeNode(mid
.getName(), IDefaultMutableTreeNode
.MODULE
,
2213 false, mid
, this.dmtnModuleDescription
);
2215 // First find the module belongs to which package
2217 IDefaultMutableTreeNode packageNode
= iTree
.getNodeById(dmtnModuleDescription
, mid
.getPackageId(),
2218 IDefaultMutableTreeNode
.MODULE_PACKAGE
);
2220 // To check if has module node or library node
2222 IDefaultMutableTreeNode parentModuleNode
= null;
2223 IDefaultMutableTreeNode parentLibraryNode
= null;
2224 boolean hasModule
= false;
2225 boolean hasLibrary
= false;
2226 for (int index
= 0; index
< packageNode
.getChildCount(); index
++) {
2227 IDefaultMutableTreeNode iNode
= (IDefaultMutableTreeNode
) packageNode
.getChildAt(index
);
2228 if (iNode
.getCategory() == IDefaultMutableTreeNode
.MODULE_PACKAGE_LIBRARY
) {
2230 parentLibraryNode
= iNode
;
2232 if (iNode
.getCategory() == IDefaultMutableTreeNode
.MODULE_PACKAGE_MODULE
) {
2234 parentModuleNode
= iNode
;
2241 if (!mid
.isLibrary()) {
2243 // Create parent node first if has no parent node
2246 parentModuleNode
= new IDefaultMutableTreeNode("Module", IDefaultMutableTreeNode
.MODULE_PACKAGE_MODULE
,
2247 false, mid
.getPackageId(), this.dmtnModuleDescription
);
2248 iTree
.addNode(packageNode
, parentModuleNode
);
2251 iTree
.addNode(parentModuleNode
, node
);
2257 if (mid
.isLibrary()) {
2259 // Create parent node first if has no parent node
2262 parentLibraryNode
= new IDefaultMutableTreeNode("Library",
2263 IDefaultMutableTreeNode
.MODULE_PACKAGE_LIBRARY
, false,
2264 mid
.getPackageId(), this.dmtnModuleDescription
);
2265 iTree
.addNode(packageNode
, parentLibraryNode
);
2268 iTree
.addNode(parentLibraryNode
, node
);
2275 @param path input file path
2278 private void openModule(String path
, IDefaultMutableTreeNode belongNode
) {
2279 ModuleIdentification id
= GlobalData
.openingModuleList
.getIdByPath(path
);
2282 // The module is not in existing packages
2284 Log
.wrn("Open Module", "The module does not belong to any package in the current workspace!");
2289 // Make the node selected
2291 iTree
.setSelectionPath(iTree
.getPathOfNode(iTree
.getNodeById(belongNode
, id
, IDefaultMutableTreeNode
.MODULE
)));
2294 // Update opening Module list information
2296 if (!iTree
.getSelectNode().isOpening()) {
2298 // Insert sub node of module
2300 insertModuleTreeNode(id
, belongNode
);
2301 iTree
.getSelectNode().setOpening(true);
2304 // Update opening module list
2306 GlobalData
.openingModuleList
.setModuleOpen(id
, true);
2307 Set
<TreePath
> temp
= GlobalData
.openingModuleList
.getTreePathById(id
);
2308 temp
.add(iTree
.getSelectionPath());
2309 GlobalData
.openingModuleList
.setTreePathById(id
, temp
);
2312 // Select msa header node and show it in editor panel
2315 .setSelectionPath(iTree
2316 .getPathOfNode(iTree
2317 .getNodeById(belongNode
, id
, IDefaultMutableTreeNode
.MSA_HEADER
)));
2318 showModuleElement(IDefaultMutableTreeNode
.MSA_HEADER
, GlobalData
.openingModuleList
.getOpeningModuleById(id
));
2319 this.currentOpeningModuleIndex
= GlobalData
.openingModuleList
.findIndexOfListById(id
);
2325 @param path input file path
2328 private void openPackage(String path
) {
2329 PackageIdentification id
= GlobalData
.openingPackageList
.getIdByPath(path
);
2332 // The package is not in current workspace
2334 Log
.wrn("Open Package", "The package has not been installed in the current workspace!");
2339 // Make the node selected
2341 iTree
.setSelectionPath(iTree
.getPathOfNode(iTree
.getNodeById(this.dmtnPackageDescription
, id
,
2342 IDefaultMutableTreeNode
.PACKAGE
)));
2344 // Update opening package list information
2346 if (!GlobalData
.openingPackageList
.getPackageOpen(id
)) {
2348 // Insert sub node of module
2350 insertPackageTreeNode(id
);
2351 iTree
.getSelectNode().setOpening(true);
2354 // Update opening module list
2356 GlobalData
.openingPackageList
.setPackageOpen(id
, true);
2357 Set
<TreePath
> temp
= GlobalData
.openingPackageList
.getTreePathById(id
);
2358 temp
.add(iTree
.getSelectionPath());
2359 GlobalData
.openingPackageList
.setTreePathById(id
, temp
);
2362 // Show spd header in editor panel
2364 iTree
.setSelectionPath(iTree
.getPathOfNode(iTree
.getNodeById(this.dmtnPackageDescription
, id
,
2365 IDefaultMutableTreeNode
.SPD_HEADER
)));
2366 showPackageElement(IDefaultMutableTreeNode
.SPD_HEADER
, GlobalData
.openingPackageList
.getOpeningPackageById(id
));
2367 this.currentOpeningPackageIndex
= GlobalData
.openingPackageList
.findIndexOfListById(id
);
2373 @param path input file path
2376 private void openPlatform(String path
) {
2377 PlatformIdentification id
= GlobalData
.openingPlatformList
.getIdByPath(path
);
2380 // The platform is not in current workspace
2382 Log
.wrn("Open Platform", "The platform has not been installed in the current workspace!");
2387 // Make the node selected
2389 iTree
.setSelectionPath(iTree
.getPathOfNode(iTree
.getNodeById(this.dmtnPlatformDescription
, id
,
2390 IDefaultMutableTreeNode
.PLATFORM
)));
2392 // Update opening package list information
2394 if (!GlobalData
.openingPlatformList
.getPlatformOpen(id
)) {
2396 // Insert sub node of module
2398 insertPlatformTreeNode(id
);
2399 iTree
.getSelectNode().setOpening(true);
2402 // Update opening module list
2404 GlobalData
.openingPlatformList
.setPlatformOpen(id
, true);
2405 Set
<TreePath
> temp
= GlobalData
.openingPlatformList
.getTreePathById(id
);
2406 temp
.add(iTree
.getSelectionPath());
2407 GlobalData
.openingPlatformList
.setTreePathById(id
, temp
);
2410 // Show fpd header in editor panel
2412 iTree
.setSelectionPath(iTree
.getPathOfNode(iTree
.getNodeById(this.dmtnPlatformDescription
, id
,
2413 IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
)));
2414 showPlatformElement(IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
,
2415 GlobalData
.openingPlatformList
.getOpeningPlatformById(id
));
2416 this.currentOpeningPlatformIndex
= GlobalData
.openingPlatformList
.findIndexOfListById(id
);
2423 private void saveModule(int index
) {
2424 OpeningModuleType omt
= GlobalData
.openingModuleList
.getOpeningModuleByIndex(index
);
2426 if (getNewFilePath(DataType
.MODULE_SURFACE_AREA_EXT
) != JFileChooser
.APPROVE_OPTION
) {
2431 SaveFile
.saveMsaFile(omt
.getId().getPath(), omt
.getXmlMsa());
2432 GlobalData
.openingModuleList
.setNew(omt
.getId(), false);
2433 GlobalData
.openingModuleList
.setModuleSaved(omt
.getId(), true);
2434 } catch (Exception e
) {
2435 Log
.wrn("Save Module", e
.getMessage());
2436 Log
.err("Save Module", e
.getMessage());
2444 private void savePackage(int index
) {
2445 OpeningPackageType opt
= GlobalData
.openingPackageList
.getOpeningPackageByIndex(index
);
2447 if (getNewFilePath(DataType
.PACKAGE_SURFACE_AREA_EXT
) != JFileChooser
.APPROVE_OPTION
) {
2452 SaveFile
.saveSpdFile(opt
.getId().getPath(), opt
.getXmlSpd());
2453 GlobalData
.openingPackageList
.setNew(opt
.getId(), false);
2454 GlobalData
.openingPackageList
.setPackageSaved(opt
.getId(), true);
2455 } catch (Exception e
) {
2456 Log
.wrn("Save Package", e
.getMessage());
2457 Log
.err("Save Package", e
.getMessage());
2465 private void savePlatform(int index
) {
2466 OpeningPlatformType opt
= GlobalData
.openingPlatformList
.getOpeningPlatformByIndex(index
);
2468 if (getNewFilePath(DataType
.PACKAGE_SURFACE_AREA_EXT
) != JFileChooser
.APPROVE_OPTION
) {
2473 SaveFile
.saveFpdFile(opt
.getId().getPath(), opt
.getXmlFpd());
2474 GlobalData
.openingPlatformList
.setNew(opt
.getId(), false);
2475 GlobalData
.openingPlatformList
.setPlatformSaved(opt
.getId(), true);
2476 } catch (Exception e
) {
2477 Log
.wrn("Save Package", e
.getMessage());
2478 Log
.err("Save Package", e
.getMessage());
2482 public void componentResized(ComponentEvent arg0
) {
2483 if (this.jSplitPane
!= null) {
2484 this.jSplitPane
.setSize(this.getWidth() - DataType
.MAIN_FRAME_WIDTH_SPACING
,
2485 this.getHeight() - DataType
.MAIN_FRAME_HEIGHT_SPACING
);
2486 this.jSplitPane
.validate();
2487 resizeDesktopPanel();
2492 Resize JDesktopPanel
2495 private void resizeDesktopPanel() {
2496 resizeDesktopPanel(this.jDesktopPaneModule
);
2497 resizeDesktopPanel(this.jDesktopPanePackage
);
2498 resizeDesktopPanel(this.jDesktopPanePlatform
);
2502 Resize JDesktopPanel
2505 private void resizeDesktopPanel(JDesktopPane jdk
) {
2506 JInternalFrame
[] iif
= jdk
.getAllFrames();
2507 for (int index
= 0; index
< iif
.length
; index
++) {
2508 iif
[index
].setSize(jdk
.getWidth(), jdk
.getHeight());
2512 private void insertModuleTreeNode(Identification id
, IDefaultMutableTreeNode belongNode
) {
2513 iTree
.addNode(new IDefaultMutableTreeNode("Module Header", IDefaultMutableTreeNode
.MSA_HEADER
, true, id
,
2515 iTree
.addNode(new IDefaultMutableTreeNode("Source Files", IDefaultMutableTreeNode
.MSA_SOURCEFILES
, true, id
,
2517 iTree
.addNode(new IDefaultMutableTreeNode("Library Class Definitions",
2518 IDefaultMutableTreeNode
.MSA_LIBRARYCLASSDEFINITIONS
, true, id
,
2521 .addNode(new IDefaultMutableTreeNode("Package Dependencies",
2522 IDefaultMutableTreeNode
.MSA_PACKAGEDEPENDENCIES
, true, id
, belongNode
));
2523 iTree
.addNode(new IDefaultMutableTreeNode("Protocols", IDefaultMutableTreeNode
.MSA_PROTOCOLS
, true, id
,
2525 iTree
.addNode(new IDefaultMutableTreeNode("Events", IDefaultMutableTreeNode
.MSA_EVENTS
, true, id
, belongNode
));
2526 iTree
.addNode(new IDefaultMutableTreeNode("Hobs", IDefaultMutableTreeNode
.MSA_HOBS
, true, id
, belongNode
));
2527 iTree
.addNode(new IDefaultMutableTreeNode("Ppis", IDefaultMutableTreeNode
.MSA_PPIS
, true, id
, belongNode
));
2528 iTree
.addNode(new IDefaultMutableTreeNode("Variables", IDefaultMutableTreeNode
.MSA_VARIABLES
, true, id
,
2530 iTree
.addNode(new IDefaultMutableTreeNode("Boot Modes", IDefaultMutableTreeNode
.MSA_BOOTMODES
, true, id
,
2532 iTree
.addNode(new IDefaultMutableTreeNode("System Tables", IDefaultMutableTreeNode
.MSA_SYSTEMTABLES
, true, id
,
2534 iTree
.addNode(new IDefaultMutableTreeNode("Data Hubs", IDefaultMutableTreeNode
.MSA_DATAHUBS
, true, id
,
2536 iTree
.addNode(new IDefaultMutableTreeNode("Hii Packages", IDefaultMutableTreeNode
.MSA_HIIPACKAGES
, true, id
,
2538 iTree
.addNode(new IDefaultMutableTreeNode("Guids", IDefaultMutableTreeNode
.MSA_GUIDS
, true, id
, belongNode
));
2539 iTree
.addNode(new IDefaultMutableTreeNode("External Defintions", IDefaultMutableTreeNode
.MSA_EXTERNS
, true, id
,
2541 iTree
.addNode(new IDefaultMutableTreeNode("Pcd Coded", IDefaultMutableTreeNode
.MSA_PCDS
, true, id
, belongNode
));
2544 private void insertPackageTreeNode(Identification id
) {
2545 IDefaultMutableTreeNode idmtTemp
= this.dmtnPackageDescription
;
2546 iTree
.addNode(new IDefaultMutableTreeNode("Package Header", IDefaultMutableTreeNode
.SPD_HEADER
, true, id
,
2548 iTree
.addNode(new IDefaultMutableTreeNode("Library Class Declarations",
2549 IDefaultMutableTreeNode
.SPD_LIBRARYCLASSDECLARATIONS
, true, id
,
2551 iTree
.addNode(new IDefaultMutableTreeNode("Msa Files", IDefaultMutableTreeNode
.SPD_MSAFILES
, false, id
,
2553 iTree
.addNode(new IDefaultMutableTreeNode("Package Includes", IDefaultMutableTreeNode
.SPD_PACKAGEHEADERS
, true,
2555 iTree
.addNode(new IDefaultMutableTreeNode("Guid Declarations", IDefaultMutableTreeNode
.SPD_GUIDDECLARATIONS
,
2556 true, id
, idmtTemp
));
2558 .addNode(new IDefaultMutableTreeNode("Protocol Declarations",
2559 IDefaultMutableTreeNode
.SPD_PROTOCOLDECLARATIONS
, true, id
, idmtTemp
));
2560 iTree
.addNode(new IDefaultMutableTreeNode("Ppi Declarations", IDefaultMutableTreeNode
.SPD_PPIDECLARATIONS
,
2561 true, id
, idmtTemp
));
2562 iTree
.addNode(new IDefaultMutableTreeNode("Pcd Declarations", IDefaultMutableTreeNode
.SPD_PCDDECLARATIONS
,
2563 true, id
, idmtTemp
));
2565 // Add modules in this package
2567 IDefaultMutableTreeNode dmtnModulePackageLibrary
= null;
2568 IDefaultMutableTreeNode dmtnModulePackageModule
= null;
2570 dmtnModulePackageLibrary
= new IDefaultMutableTreeNode("Library",
2571 IDefaultMutableTreeNode
.MODULE_PACKAGE_LIBRARY
, false,
2573 dmtnModulePackageModule
= new IDefaultMutableTreeNode("Module", IDefaultMutableTreeNode
.MODULE_PACKAGE_MODULE
,
2574 false, id
, idmtTemp
);
2576 Vector
<ModuleIdentification
> vModule
= wt
.getAllModules(new PackageIdentification(id
));
2577 for (int indexJ
= 0; indexJ
< vModule
.size(); indexJ
++) {
2578 if (vModule
.get(indexJ
).isLibrary()) {
2579 dmtnModulePackageLibrary
.add(new IDefaultMutableTreeNode(vModule
.get(indexJ
).getName(),
2580 IDefaultMutableTreeNode
.MODULE
, false,
2581 vModule
.get(indexJ
), idmtTemp
));
2583 dmtnModulePackageModule
.add(new IDefaultMutableTreeNode(vModule
.get(indexJ
).getName(),
2584 IDefaultMutableTreeNode
.MODULE
, false,
2585 vModule
.get(indexJ
), idmtTemp
));
2588 if (dmtnModulePackageModule
.getChildCount() > 0) {
2589 iTree
.addNode(dmtnModulePackageModule
);
2591 if (dmtnModulePackageLibrary
.getChildCount() > 0) {
2592 iTree
.addNode(dmtnModulePackageLibrary
);
2596 private void insertPlatformTreeNode(Identification id
) {
2597 IDefaultMutableTreeNode idmtTemp
= this.dmtnPlatformDescription
;
2598 iTree
.addNode(new IDefaultMutableTreeNode("Platform Header", IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
, true,
2600 iTree
.addNode(new IDefaultMutableTreeNode("Platform Definitions",
2601 IDefaultMutableTreeNode
.FPD_PLATFORMDEFINITIONS
, true, id
, idmtTemp
));
2602 iTree
.addNode(new IDefaultMutableTreeNode("Flash Information", IDefaultMutableTreeNode
.FPD_FLASH
, true, id
,
2604 iTree
.addNode(new IDefaultMutableTreeNode("Framework Modules", IDefaultMutableTreeNode
.FPD_FRAMEWORKMODULES
,
2605 true, id
, idmtTemp
));
2606 iTree
.addNode(new IDefaultMutableTreeNode("Dynamic PCD Build Declarations",
2607 IDefaultMutableTreeNode
.FPD_PCDDYNAMICBUILDDECLARATIONS
, true, id
,
2609 iTree
.addNode(new IDefaultMutableTreeNode("Build Options", IDefaultMutableTreeNode
.FPD_BUILDOPTIONS
, true, id
,
2613 // Add modules in this platform
2615 IDefaultMutableTreeNode dmtnModulePackageLibrary
= null;
2616 IDefaultMutableTreeNode dmtnModulePackageModule
= null;
2618 dmtnModulePackageLibrary
= new IDefaultMutableTreeNode("Library",
2619 IDefaultMutableTreeNode
.MODULE_PACKAGE_LIBRARY
, false,
2621 dmtnModulePackageModule
= new IDefaultMutableTreeNode("Module", IDefaultMutableTreeNode
.MODULE_PACKAGE_MODULE
,
2622 false, id
, idmtTemp
);
2624 Vector
<ModuleIdentification
> vModule
= wt
.getAllModules(new PlatformIdentification(id
));
2625 for (int indexJ
= 0; indexJ
< vModule
.size(); indexJ
++) {
2626 if (vModule
.get(indexJ
).isLibrary()) {
2627 dmtnModulePackageLibrary
.add(new IDefaultMutableTreeNode(vModule
.get(indexJ
).getName(),
2628 IDefaultMutableTreeNode
.MODULE
, false,
2629 vModule
.get(indexJ
), idmtTemp
));
2631 dmtnModulePackageModule
.add(new IDefaultMutableTreeNode(vModule
.get(indexJ
).getName(),
2632 IDefaultMutableTreeNode
.MODULE
, false,
2633 vModule
.get(indexJ
), idmtTemp
));
2636 if (dmtnModulePackageModule
.getChildCount() > 0) {
2637 iTree
.addNode(dmtnModulePackageModule
);
2639 if (dmtnModulePackageLibrary
.getChildCount() > 0) {
2640 iTree
.addNode(dmtnModulePackageLibrary
);
2645 Operate when double click a tree node
2648 private void doubleClickModuleTreeNode() {
2649 Identification id
= null;
2650 int intCategory
= -1;
2652 IDefaultMutableTreeNode belongNode
= null;
2656 // Get selected tree node
2658 if (iTree
.getSelectNode() != null) {
2659 id
= iTree
.getSelectNode().getId();
2663 // If id is null, return directly
2669 intCategory
= iTree
.getSelectCategory();
2670 belongNode
= iTree
.getSelectNode().getBelongNode();
2673 // If the node is not opened yet
2674 // Insert top level elements first
2676 if (intCategory
== IDefaultMutableTreeNode
.MODULE
) {
2677 path
= iTree
.getSelectNode().getId().getPath();
2678 openModule(path
, belongNode
);
2681 if (intCategory
== IDefaultMutableTreeNode
.PACKAGE
) {
2682 path
= iTree
.getSelectNode().getId().getPath();
2686 if (intCategory
== IDefaultMutableTreeNode
.PLATFORM
) {
2687 path
= iTree
.getSelectNode().getId().getPath();
2693 // Show editor panel
2695 if (intCategory
>= IDefaultMutableTreeNode
.MSA_HEADER
&& intCategory
< IDefaultMutableTreeNode
.SPD_HEADER
) {
2696 showModuleElement(intCategory
,
2697 GlobalData
.openingModuleList
.getOpeningModuleById(new ModuleIdentification(id
)));
2698 this.currentOpeningModuleIndex
= GlobalData
.openingModuleList
2699 .findIndexOfListById(new ModuleIdentification(
2702 if (intCategory
>= IDefaultMutableTreeNode
.SPD_HEADER
2703 && intCategory
< IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
) {
2704 showPackageElement(intCategory
,
2705 GlobalData
.openingPackageList
.getOpeningPackageById(new PackageIdentification(id
)));
2706 this.currentOpeningPackageIndex
= GlobalData
.openingPackageList
2707 .findIndexOfListById(new PackageIdentification(
2710 if (intCategory
>= IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
) {
2711 showPlatformElement(
2713 GlobalData
.openingPlatformList
2714 .getOpeningPlatformById(new PlatformIdentification(id
)));
2715 this.currentOpeningPlatformIndex
= GlobalData
.openingPlatformList
2716 .findIndexOfListById(new PlatformIdentification(
2719 } catch (Exception e
) {
2720 Log
.err("double click category: " + intCategory
);
2721 Log
.err("double click belong node: " + belongNode
.toString());
2722 Log
.err("double click id path: " + id
);
2723 Log
.err("double click exception: " + e
.getMessage());
2728 Show content of editor panel via selected element
2734 private void showPlatformElement(int elementType
, OpeningPlatformType fpd
) {
2735 this.cleanDesktopPanePlatform();
2737 switch (elementType
) {
2738 case IDefaultMutableTreeNode
.FPD_PLATFORMDEFINITIONS
:
2739 FpdPlatformDefs frmFpdPlatformDefs
= new FpdPlatformDefs(fpd
);
2740 getJDesktopPanePlatform().add(frmFpdPlatformDefs
, 1);
2742 case IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
:
2743 FpdHeader frmFpdHeader
= new FpdHeader(fpd
);
2744 getJDesktopPanePlatform().add(frmFpdHeader
, 1);
2746 case IDefaultMutableTreeNode
.FPD_FLASH
:
2747 FpdFlash frmFpdFlash
= new FpdFlash(fpd
);
2748 getJDesktopPanePlatform().add(frmFpdFlash
, 1);
2750 case IDefaultMutableTreeNode
.FPD_FRAMEWORKMODULES
:
2751 FpdFrameworkModules frmFpdFrameworkModules
= new FpdFrameworkModules(fpd
);
2752 getJDesktopPanePlatform().add(frmFpdFrameworkModules
, 1);
2754 case IDefaultMutableTreeNode
.FPD_PCDDYNAMICBUILDDECLARATIONS
:
2755 FpdDynamicPcdBuildDefinitions frmFpdDynamicPcdBuildDefinitions
= new FpdDynamicPcdBuildDefinitions(fpd
);
2756 getJDesktopPanePlatform().add(frmFpdDynamicPcdBuildDefinitions
, 1);
2758 case IDefaultMutableTreeNode
.FPD_BUILDOPTIONS
:
2759 FpdBuildOptions frmFpdBuildOptions
= new FpdBuildOptions(fpd
);
2760 getJDesktopPanePlatform().add(frmFpdBuildOptions
, 1);
2763 this.jTabbedPaneEditor
.setSelectedIndex(2);
2764 resizeDesktopPanel();
2768 Show content of editor panel via selected element
2774 private void showPackageElement(int elementType
, OpeningPackageType spd
) {
2775 this.cleanDesktopPanePackage();
2776 Tools
.dirForNewSpd
= spd
.getId().getPath();
2777 switch (elementType
) {
2778 case IDefaultMutableTreeNode
.SPD_HEADER
:
2779 SpdHeader frmSpdHeader
= new SpdHeader(spd
);
2780 getJDesktopPanePackage().add(frmSpdHeader
, 1);
2782 case IDefaultMutableTreeNode
.SPD_LIBRARYCLASSDECLARATIONS
:
2783 SpdLibClassDecls frmSlcd
= new SpdLibClassDecls(spd
);
2784 getJDesktopPanePackage().add(frmSlcd
, 1);
2786 case IDefaultMutableTreeNode
.SPD_MSAFILES
:
2787 SpdMsaFiles frmSmf
= new SpdMsaFiles(spd
);
2788 getJDesktopPanePackage().add(frmSmf
, 1);
2790 case IDefaultMutableTreeNode
.SPD_PACKAGEHEADERS
:
2791 SpdPackageHeaders frmSph
= new SpdPackageHeaders(spd
);
2792 getJDesktopPanePackage().add(frmSph
, 1);
2794 case IDefaultMutableTreeNode
.SPD_GUIDDECLARATIONS
:
2795 SpdGuidDecls frmSgd
= new SpdGuidDecls(spd
);
2796 getJDesktopPanePackage().add(frmSgd
, 1);
2798 case IDefaultMutableTreeNode
.SPD_PROTOCOLDECLARATIONS
:
2799 SpdProtocolDecls frmSprod
= new SpdProtocolDecls(spd
);
2800 getJDesktopPanePackage().add(frmSprod
, 1);
2802 case IDefaultMutableTreeNode
.SPD_PPIDECLARATIONS
:
2803 SpdPpiDecls frmSppid
= new SpdPpiDecls(spd
);
2804 getJDesktopPanePackage().add(frmSppid
, 1);
2806 case IDefaultMutableTreeNode
.SPD_PCDDECLARATIONS
:
2807 SpdPcdDefs frmSpcdd
= new SpdPcdDefs(spd
);
2808 getJDesktopPanePackage().add(frmSpcdd
, 1);
2811 this.jTabbedPaneEditor
.setSelectedIndex(1);
2812 resizeDesktopPanel();
2816 Show content of editor panel via selected element
2822 private void showModuleElement(int elementType
, OpeningModuleType msa
) {
2823 this.cleanDesktopPaneModule();
2824 switch (elementType
) {
2825 case IDefaultMutableTreeNode
.MSA_HEADER
:
2826 MsaHeader frmMsaHeader
= new MsaHeader(msa
);
2827 getJDesktopPaneModule().add(frmMsaHeader
, 1);
2829 case IDefaultMutableTreeNode
.MSA_LIBRARYCLASSDEFINITIONS
:
2830 ModuleLibraryClassDefinitions frmMlcd
= new ModuleLibraryClassDefinitions(msa
);
2831 getJDesktopPaneModule().add(frmMlcd
, 1);
2833 case IDefaultMutableTreeNode
.MSA_PACKAGEDEPENDENCIES
:
2834 ModulePackageDependencies frmMpd
= new ModulePackageDependencies(msa
);
2835 getJDesktopPaneModule().add(frmMpd
, 1);
2837 case IDefaultMutableTreeNode
.MSA_SOURCEFILES
:
2838 ModuleSourceFiles frmMsf
= new ModuleSourceFiles(msa
);
2839 getJDesktopPaneModule().add(frmMsf
, 1);
2841 case IDefaultMutableTreeNode
.MSA_PROTOCOLS
:
2842 ModuleProtocols frmMp
= new ModuleProtocols(msa
);
2843 getJDesktopPaneModule().add(frmMp
, 1);
2845 case IDefaultMutableTreeNode
.MSA_EVENTS
:
2846 ModuleEvents frmMe
= new ModuleEvents(msa
);
2847 getJDesktopPaneModule().add(frmMe
, 1);
2849 case IDefaultMutableTreeNode
.MSA_HOBS
:
2850 ModuleHobs frmMh
= new ModuleHobs(msa
);
2851 getJDesktopPaneModule().add(frmMh
, 1);
2853 case IDefaultMutableTreeNode
.MSA_PPIS
:
2854 ModulePpis frmMpp
= new ModulePpis(msa
);
2855 getJDesktopPaneModule().add(frmMpp
, 1);
2857 case IDefaultMutableTreeNode
.MSA_VARIABLES
:
2858 ModuleVariables frmMv
= new ModuleVariables(msa
);
2859 getJDesktopPaneModule().add(frmMv
, 1);
2861 case IDefaultMutableTreeNode
.MSA_BOOTMODES
:
2862 ModuleBootModes frmMbm
= new ModuleBootModes(msa
);
2863 getJDesktopPaneModule().add(frmMbm
, 1);
2865 case IDefaultMutableTreeNode
.MSA_SYSTEMTABLES
:
2866 ModuleSystemTables frmMst
= new ModuleSystemTables(msa
);
2867 getJDesktopPaneModule().add(frmMst
, 1);
2869 case IDefaultMutableTreeNode
.MSA_DATAHUBS
:
2870 ModuleDataHubs frmMdh
= new ModuleDataHubs(msa
);
2871 getJDesktopPaneModule().add(frmMdh
, 1);
2873 case IDefaultMutableTreeNode
.MSA_HIIPACKAGES
:
2874 ModuleHiiPackages frmMf
= new ModuleHiiPackages(msa
);
2875 getJDesktopPaneModule().add(frmMf
, 1);
2877 case IDefaultMutableTreeNode
.MSA_GUIDS
:
2878 ModuleGuids frmGuid
= new ModuleGuids(msa
);
2879 getJDesktopPaneModule().add(frmGuid
, 1);
2881 case IDefaultMutableTreeNode
.MSA_EXTERNS
:
2882 ModuleExterns frmMex
= new ModuleExterns(msa
);
2883 getJDesktopPaneModule().add(frmMex
, 1);
2885 case IDefaultMutableTreeNode
.MSA_PCDS
:
2886 ModulePCDs frmPcd
= new ModulePCDs(msa
);
2887 getJDesktopPaneModule().add(frmPcd
, 1);
2890 this.jTabbedPaneEditor
.setSelectedIndex(0);
2891 resizeDesktopPanel();
2895 // Define operations of menu
2901 private void fileNew() {
2904 // Selece new file type
2906 NewFileChooser nfc
= new NewFileChooser(this, true);
2907 result
= nfc
.showDialog();
2909 if (result
== DataType
.RETURN_TYPE_CANCEL
) {
2912 } else if (result
== DataType
.RETURN_TYPE_MODULE_SURFACE_AREA
) {
2916 SelectModuleBelong smb
= new SelectModuleBelong(this, true, result
);
2917 result
= smb
.showDialog();
2919 if (result
== DataType
.RETURN_TYPE_CANCEL
) {
2923 } else if (result
== DataType
.RETURN_TYPE_OK
) {
2924 ModuleIdentification mid
= smb
.getMid();
2927 // Update package of workspace first
2929 PackageSurfaceAreaDocument
.PackageSurfaceArea psa
= null;
2930 if (GlobalData
.openingPackageList
.existsPackage(mid
.getPackageId())) {
2931 psa
= GlobalData
.openingPackageList
.getPackageSurfaceAreaFromId(mid
.getPackageId());
2934 wt
.addModuleToPackage(mid
, psa
);
2935 } catch (IOException e
) {
2936 Log
.wrn("Update MsaFiles in Package", e
.getMessage());
2937 Log
.err("Update MsaFiles in Package", e
.getMessage());
2939 } catch (XmlException e
) {
2940 Log
.wrn("Update MsaFiles in Package", e
.getMessage());
2941 Log
.err("Update MsaFiles in Package", e
.getMessage());
2943 } catch (Exception e
) {
2944 Log
.wrn("Update MsaFiles in Package", e
.getMessage());
2945 Log
.err("Update MsaFiles in Package", e
.getMessage());
2950 // Update Global Data
2952 GlobalData
.openingModuleList
.insertToOpeningModuleList(mid
, smb
.getMsa());
2953 GlobalData
.vModuleList
.addElement(mid
);
2956 // Create new node on the tree
2958 addModuleToTree(mid
);
2963 this.openModule(mid
.getPath(), this.dmtnModuleDescription
);
2966 } else if (result
== DataType
.RETURN_TYPE_PACKAGE_SURFACE_AREA
) {
2970 SelectModuleBelong smb
= new SelectModuleBelong(this, true, result
);
2971 result
= smb
.showDialog();
2973 if (result
== DataType
.RETURN_TYPE_CANCEL
) {
2977 } else if (result
== DataType
.RETURN_TYPE_OK
) {
2978 PackageIdentification pid
= smb
.getPid();
2981 wt
.addPackageToDatabase(smb
.getPid());
2982 } catch (Exception e
) {
2983 Log
.err("addPackageToDatabase", e
.getMessage());
2987 // Update Global Data
2989 GlobalData
.openingPackageList
.insertToOpeningPackageList(pid
, smb
.getSpd());
2990 GlobalData
.vPackageList
.addElement(pid
);
2993 // Add to Module Description node
2995 IDefaultMutableTreeNode node
= new IDefaultMutableTreeNode(pid
.getName(),
2996 IDefaultMutableTreeNode
.MODULE_PACKAGE
,
2997 false, pid
, this.dmtnModuleDescription
);
2999 iTree
.addNode(dmtnModuleDescription
, node
);
3002 // Add new SpdHeader node to the tree
3004 node
= new IDefaultMutableTreeNode(pid
.getName(), IDefaultMutableTreeNode
.PACKAGE
, true, pid
,
3005 this.dmtnPackageDescription
);
3006 iTree
.addNode(dmtnPackageDescription
, node
);
3008 this.openPackage(pid
.getPath());
3011 } else if (result
== DataType
.RETURN_TYPE_PLATFORM_SURFACE_AREA
) {
3013 // To new a platform
3015 SelectModuleBelong smb
= new SelectModuleBelong(this, true, result
);
3016 result
= smb
.showDialog();
3018 if (result
== DataType
.RETURN_TYPE_CANCEL
) {
3022 } else if (result
== DataType
.RETURN_TYPE_OK
) {
3023 PlatformIdentification fid
= smb
.getFid();
3026 wt
.addPlatformToDatabase(fid
);
3027 } catch (Exception e
) {
3028 Log
.err("addPlatformToDatabase", e
.getMessage());
3032 // Update global data
3034 GlobalData
.openingPlatformList
.insertToOpeningPlatformList(fid
, smb
.getFpd());
3035 GlobalData
.vPlatformList
.addElement(fid
);
3037 // Add new SpdHeader node to the tree
3039 IDefaultMutableTreeNode node
= new IDefaultMutableTreeNode(fid
.getName(),
3040 IDefaultMutableTreeNode
.PLATFORM
, true,
3041 fid
, this.dmtnPlatformDescription
);
3042 iTree
.addNode(dmtnPlatformDescription
, node
);
3043 this.openPlatform(fid
.getPath());
3053 private void open() {
3054 JFileChooser fc
= new JFileChooser(Workspace
.getCurrentWorkspace());
3055 fc
.setAcceptAllFileFilterUsed(false);
3056 IFileFilter iffM
= new IFileFilter(DataType
.MODULE_SURFACE_AREA_EXT
);
3057 IFileFilter iffP
= new IFileFilter(DataType
.PACKAGE_SURFACE_AREA_EXT
);
3058 IFileFilter iffF
= new IFileFilter(DataType
.PLATFORM_SURFACE_AREA_EXT
);
3059 fc
.addChoosableFileFilter(iffM
);
3060 fc
.addChoosableFileFilter(iffP
);
3061 fc
.addChoosableFileFilter(iffF
);
3062 fc
.setFileFilter(iffM
);
3064 int result
= fc
.showOpenDialog(new JPanel());
3066 if (result
== JFileChooser
.APPROVE_OPTION
) {
3067 String path
= fc
.getSelectedFile().getPath();
3068 String match
= path
.substring(path
.length() - 4);
3069 if (match
.equals(DataType
.FILE_EXT_SEPARATOR
+ DataType
.MODULE_SURFACE_AREA_EXT
)) {
3070 openModule(path
, this.dmtnModuleDescription
);
3071 } else if (match
.equals(DataType
.FILE_EXT_SEPARATOR
+ DataType
.PACKAGE_SURFACE_AREA_EXT
)) {
3073 } else if (match
.equals(DataType
.FILE_EXT_SEPARATOR
+ DataType
.PLATFORM_SURFACE_AREA_EXT
)) {
3083 private void close() {
3084 TreePath item
= null;
3085 switch (this.jTabbedPaneEditor
.getSelectedIndex()) {
3087 // Current is module
3090 if (this.currentOpeningModuleIndex
> -1) {
3091 if (!GlobalData
.openingModuleList
.getModuleSaved(currentOpeningModuleIndex
)) {
3092 int result
= showSaveDialog();
3093 if (result
== JOptionPane
.YES_OPTION
) {
3096 if (result
== JOptionPane
.NO_OPTION
) {
3099 if (result
== JOptionPane
.CANCEL_OPTION
) {
3105 // Remove all tree paths for the module
3107 Set
<TreePath
> openingTreePaths
= GlobalData
.openingModuleList
3108 .getTreePathByIndex(currentOpeningModuleIndex
);
3109 Iterator
<TreePath
> openingTreePathsIter
= openingTreePaths
.iterator();
3110 while (openingTreePathsIter
.hasNext()) {
3111 item
= openingTreePathsIter
.next();
3112 iTree
.getNodeByPath(item
).setOpening(false);
3113 iTree
.removeNodeChildrenByPath(item
);
3116 GlobalData
.openingModuleList
.setModuleOpen(this.currentOpeningModuleIndex
, false);
3117 this.cleanDesktopPaneModule();
3118 this.currentOpeningModuleIndex
= -1;
3122 // Current is package
3125 if (this.currentOpeningPackageIndex
> -1) {
3126 if (!GlobalData
.openingPackageList
.getPackageSaved(currentOpeningPackageIndex
)) {
3127 int result
= showSaveDialog();
3128 if (result
== JOptionPane
.YES_OPTION
) {
3131 if (result
== JOptionPane
.NO_OPTION
) {
3134 if (result
== JOptionPane
.CANCEL_OPTION
) {
3140 // Remove all tree paths for the module
3142 Set
<TreePath
> openingTreePaths
= GlobalData
.openingPackageList
3143 .getTreePathByIndex(currentOpeningPackageIndex
);
3144 Iterator
<TreePath
> openingTreePathsIter
= openingTreePaths
.iterator();
3145 while (openingTreePathsIter
.hasNext()) {
3146 item
= openingTreePathsIter
.next();
3147 iTree
.getNodeByPath(item
).setOpening(false);
3148 iTree
.removeNodeChildrenByPath(item
);
3151 GlobalData
.openingPackageList
.setPackageOpen(this.currentOpeningPackageIndex
, false);
3152 this.cleanDesktopPanePackage();
3153 this.currentOpeningPackageIndex
= -1;
3157 // Current is platform
3160 if (this.currentOpeningPlatformIndex
> -1) {
3161 if (!GlobalData
.openingPlatformList
.getPlatformSaved(currentOpeningPlatformIndex
)) {
3162 int result
= showSaveDialog();
3163 if (result
== JOptionPane
.YES_OPTION
) {
3166 if (result
== JOptionPane
.NO_OPTION
) {
3169 if (result
== JOptionPane
.CANCEL_OPTION
) {
3175 // Remove all tree paths for the module
3177 Set
<TreePath
> openingTreePaths
= GlobalData
.openingPlatformList
3178 .getTreePathByIndex(currentOpeningPlatformIndex
);
3179 Iterator
<TreePath
> openingTreePathsIter
= openingTreePaths
.iterator();
3180 while (openingTreePathsIter
.hasNext()) {
3181 item
= openingTreePathsIter
.next();
3182 iTree
.getNodeByPath(item
).setOpening(false);
3183 iTree
.removeNodeChildrenByPath(item
);
3186 GlobalData
.openingPlatformList
.setPlatformOpen(this.currentOpeningPlatformIndex
, false);
3187 this.cleanDesktopPanePlatform();
3188 this.currentOpeningPlatformIndex
= -1;
3195 Close all opening files and clean all showing internal frame
3198 private void closeAll() {
3200 if (!GlobalData
.openingModuleList
.isSaved() || !GlobalData
.openingPackageList
.isSaved()
3201 || !GlobalData
.openingPlatformList
.isSaved()) {
3202 result
= showSaveDialog();
3204 if (result
== JOptionPane
.YES_OPTION
) {
3207 if (result
== JOptionPane
.NO_OPTION
) {
3212 if (result
== JOptionPane
.CANCEL_OPTION
) {
3215 this.cleanDesktopPane();
3216 GlobalData
.openingModuleList
.closeAll();
3217 GlobalData
.openingPackageList
.closeAll();
3218 GlobalData
.openingPlatformList
.closeAll();
3222 Refresh all global data from disk to memory
3225 private void refresh() {
3230 Save currentModule when press button OK
3233 private void save() {
3234 switch (this.jTabbedPaneEditor
.getSelectedIndex()) {
3236 if (this.currentOpeningModuleIndex
> -1) {
3237 saveModule(this.currentOpeningModuleIndex
);
3241 if (this.currentOpeningPackageIndex
> -1) {
3242 savePackage(this.currentOpeningPackageIndex
);
3246 if (this.currentOpeningPlatformIndex
> -1) {
3247 savePlatform(this.currentOpeningPlatformIndex
);
3253 private void saveAs() {
3257 private void saveAll() {
3261 for (int index
= 0; index
< GlobalData
.openingModuleList
.size(); index
++) {
3262 if (!GlobalData
.openingModuleList
.getModuleSaved(index
)) {
3268 // Save all packages
3270 for (int index
= 0; index
< GlobalData
.openingPackageList
.size(); index
++) {
3271 if (!GlobalData
.openingPackageList
.getPackageSaved(index
)) {
3277 // Save all platforms
3279 for (int index
= 0; index
< GlobalData
.openingPlatformList
.size(); index
++) {
3280 if (!GlobalData
.openingPlatformList
.getPlatformSaved(index
)) {
3281 savePlatform(index
);
3287 To save changed items before exit.
3290 private void exit() {
3292 if (!GlobalData
.openingModuleList
.isSaved() || !GlobalData
.openingPackageList
.isSaved()
3293 || !GlobalData
.openingPlatformList
.isSaved()) {
3294 result
= showSaveDialog();
3296 if (result
== JOptionPane
.YES_OPTION
) {
3299 if (result
== JOptionPane
.NO_OPTION
) {
3302 if (result
== JOptionPane
.CANCEL_OPTION
) {
3310 To find all defined PPIs in workspace
3313 private void findPpi() {
3314 FindResult fr
= FindResult
.getInstance("PPI");
3315 fr
.setVisible(true);
3319 To find all defined PROTOCOLs in workspace
3322 private void findProtocol() {
3323 FindResult fr
= FindResult
.getInstance("PROTOCOL");
3324 fr
.setVisible(true);
3328 To find all defined PROTOCOLs in workspace
3331 private void findGuid() {
3332 FindResult fr
= FindResult
.getInstance("GUID");
3333 fr
.setVisible(true);
3337 To find all defined PROTOCOLs in workspace
3340 private void findPcd() {
3341 FindResult fr
= FindResult
.getInstance("PCD");
3342 fr
.setVisible(true);
3346 To find all defined Library Classes in workspace
3349 private void findLibraryClass() {
3350 FindResult fr
= FindResult
.getInstance("LIBRARY_CLASS");
3351 fr
.setVisible(true);
3355 To find all defined Library Instances in workspace
3358 private void findLibraryInstance() {
3359 FindResult fr
= FindResult
.getInstance("LIBRARY_INSTANCE");
3360 fr
.setVisible(true);
3364 Switch current workspace to others
3367 private void changeWorkspace() {
3368 SwitchWorkspace sw
= new SwitchWorkspace(this, true);
3369 int result
= sw
.showDialog();
3370 if (result
== DataType
.RETURN_TYPE_CANCEL
) {
3372 } else if (result
== DataType
.RETURN_TYPE_OK
) {
3374 // Reinit whole window
3377 this.setTitle(DataType
.PROJECT_NAME
+ " " + DataType
.PROJECT_VERSION
+ " " + "- ["
3378 + Workspace
.getCurrentWorkspace() + "]");
3388 To create a Far file from current workspace
3391 private void createFar() {
3392 CreateStepOne cso
= new CreateStepOne(this, true);
3393 int result
= cso
.showDialog();
3394 if (result
== DataType
.RETURN_TYPE_OK
) {
3395 String strReturn
= "Far Creation Completed!";
3396 JOptionPane
.showConfirmDialog(null, strReturn
, "Done", JOptionPane
.DEFAULT_OPTION
,
3397 JOptionPane
.INFORMATION_MESSAGE
);
3403 To install a Far file to current workspace
3406 private void installFar() {
3407 InstallStepOne iso
= new InstallStepOne(this, true);
3408 int result
= iso
.showDialog();
3409 if (result
== DataType
.RETURN_TYPE_OK
) {
3410 String strReturn
= "<html>Far Installalation completed!<br>Refreshing the WORKSPACE!</html>";
3411 JOptionPane
.showConfirmDialog(null, strReturn
, "Done", JOptionPane
.DEFAULT_OPTION
,
3412 JOptionPane
.INFORMATION_MESSAGE
);
3415 this.makeEmptyTree();
3421 To remove a Far's items from current workspace
3424 private void removeFar() {
3425 DeleteStepOne dso
= new DeleteStepOne(this, true);
3426 int result
= dso
.showDialog();
3427 if (result
== DataType
.RETURN_TYPE_OK
) {
3428 String strReturn
= "<html>Far Deletion completed!<br>Refreshing the WORKSPACE!</html>";
3429 JOptionPane
.showConfirmDialog(null, strReturn
, "Done", JOptionPane
.DEFAULT_OPTION
,
3430 JOptionPane
.INFORMATION_MESSAGE
);
3433 this.makeEmptyTree();
3439 To update an existing Far file
3442 private void updateFar() {
3443 UpdateStepOne uso
= new UpdateStepOne(this, true);
3444 int result
= uso
.showDialog();
3445 if (result
== DataType
.RETURN_TYPE_OK
) {
3446 String strReturn
= "<html>Far Update completed!<br>Refreshing the WORKSPACE!</html>";
3447 JOptionPane
.showConfirmDialog(null, strReturn
, "Done", JOptionPane
.DEFAULT_OPTION
,
3448 JOptionPane
.INFORMATION_MESSAGE
);
3451 this.makeEmptyTree();
3457 Show Tool Chain Configuration Dialog to setup Tool Chain
3460 private void setupToolChainConfiguration() {
3461 ToolChainConfig tcc
= ToolChainConfig
.getInstance();
3465 private void configBuildPreferences() {
3466 Preferences bt
= Preferences
.getInstance();
3474 private void cloneItem() {
3478 // Check if there is any item can be cloned
3480 if (iTree
.getSelectionPath() == null) {
3481 Log
.wrn("Clone", "Please select a target to clone!");
3484 int category
= iTree
.getSelectCategory();
3485 Identification id
= iTree
.getSelectNode().getId();
3487 if (category
== IDefaultMutableTreeNode
.WORKSPACE
) {
3488 mode
= DataType
.RETURN_TYPE_WORKSPACE
;
3491 if ((category
== IDefaultMutableTreeNode
.MODULE
)
3492 || (category
>= IDefaultMutableTreeNode
.MSA_HEADER
&& category
< IDefaultMutableTreeNode
.SPD_HEADER
)) {
3493 mode
= DataType
.RETURN_TYPE_MODULE_SURFACE_AREA
;
3495 if ((category
== IDefaultMutableTreeNode
.PACKAGE
)
3496 || (category
>= IDefaultMutableTreeNode
.SPD_HEADER
&& category
< IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
)) {
3497 mode
= DataType
.RETURN_TYPE_PACKAGE_SURFACE_AREA
;
3499 if ((category
== IDefaultMutableTreeNode
.PLATFORM
) || (category
>= IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
)) {
3500 mode
= DataType
.RETURN_TYPE_PLATFORM_SURFACE_AREA
;
3503 Clone c
= new Clone(this, true, mode
, id
);
3504 int result
= c
.showDialog();
3506 if (result
== DataType
.RETURN_TYPE_CANCEL
) {
3509 if (result
== DataType
.RETURN_TYPE_WORKSPACE
) {
3510 Tools
.showInformationMessage("Workspace Clone Completed!");
3512 if (result
== DataType
.RETURN_TYPE_MODULE_SURFACE_AREA
) {
3513 Tools
.showInformationMessage("Module Clone Completed!");
3514 addModuleToTree(c
.getMid());
3516 if (result
== DataType
.RETURN_TYPE_PACKAGE_SURFACE_AREA
) {
3517 Tools
.showInformationMessage("Package Clone Completed!");
3519 // Add new SpdHeader node to the tree
3521 IDefaultMutableTreeNode node
= new IDefaultMutableTreeNode(GlobalData
.vPackageList
.lastElement().getName(),
3522 IDefaultMutableTreeNode
.PACKAGE
, false,
3523 GlobalData
.vPackageList
.lastElement(),
3524 this.dmtnPackageDescription
);
3525 iTree
.addNode(this.dmtnPackageDescription
, node
);
3527 if (result
== DataType
.RETURN_TYPE_PLATFORM_SURFACE_AREA
) {
3528 Tools
.showInformationMessage("Platform Surface Area Clone Finished");
3530 // Add new SpdHeader node to the tree
3532 IDefaultMutableTreeNode node
= new IDefaultMutableTreeNode(
3533 GlobalData
.vPlatformList
.lastElement().getName(),
3534 IDefaultMutableTreeNode
.PLATFORM
, false,
3535 GlobalData
.vPlatformList
.lastElement(),
3536 this.dmtnPlatformDescription
);
3537 iTree
.addNode(this.dmtnPlatformDescription
, node
);
3539 if (result
== DataType
.RETURN_TYPE_OK
) {
3544 public void valueChanged(TreeSelectionEvent arg0
) {
3545 // TODO Auto-generated method stub
3549 public void menuCanceled(MenuEvent arg0
) {
3550 // TODO Auto-generated method stub
3554 public void menuDeselected(MenuEvent arg0
) {
3555 // TODO Auto-generated method stub
3559 public void menuSelected(MenuEvent arg0
) {
3560 if (arg0
.getSource() == jMenuFile
) {
3562 // Enable close/close all if some files are opened
3564 jMenuItemFileClose
.setEnabled(GlobalData
.openingModuleList
.isOpen()
3565 || GlobalData
.openingPackageList
.isOpen()
3566 || GlobalData
.openingPlatformList
.isOpen());
3567 jMenuItemFileCloseAll
.setEnabled(GlobalData
.openingModuleList
.isOpen()
3568 || GlobalData
.openingPackageList
.isOpen()
3569 || GlobalData
.openingPlatformList
.isOpen());
3572 // Enable save/save all if some files are changed
3574 jMenuItemFileSave
.setEnabled(!GlobalData
.openingModuleList
.isSaved()
3575 || !GlobalData
.openingPackageList
.isSaved()
3576 || !GlobalData
.openingPlatformList
.isSaved());
3577 jMenuItemFileSaveAll
.setEnabled(!GlobalData
.openingModuleList
.isSaved()
3578 || !GlobalData
.openingPackageList
.isSaved()
3579 || !GlobalData
.openingPlatformList
.isSaved());
3582 if (arg0
.getSource() == jMenuTools
) {
3584 // Enable clone when select some items
3586 if (iTree
.getSelectionPath() == null) {
3587 jMenuItemToolsClone
.setEnabled(false);
3589 int category
= iTree
.getSelectCategory();
3590 if (category
== IDefaultMutableTreeNode
.MODULE_DESCRIPTION
3591 || category
== IDefaultMutableTreeNode
.PACKAGE_DESCRIPTION
3592 || category
== IDefaultMutableTreeNode
.PLATFORM_DESCRIPTION
3593 || category
== IDefaultMutableTreeNode
.MODULE_PACKAGE
3594 || category
== IDefaultMutableTreeNode
.MODULE_PACKAGE_LIBRARY
3595 || category
== IDefaultMutableTreeNode
.MODULE_PACKAGE_MODULE
) {
3596 jMenuItemToolsClone
.setEnabled(false);
3598 jMenuItemToolsClone
.setEnabled(true);
3604 public void keyTyped(KeyEvent arg0
) {
3605 // TODO Auto-generated method stub
3609 public void keyPressed(KeyEvent arg0
) {
3610 // TODO Auto-generated method stub
3614 public void keyReleased(KeyEvent arg0
) {
3615 if (arg0
.getSource() == this.iTree
) {
3616 if (arg0
.getKeyCode() == KeyEvent
.VK_ENTER
) {
3617 this.doubleClickModuleTreeNode();
3623 Search whole workspace and find all module's name and guid, and save them to a file
3626 private void generateGuidsXref() {
3628 // Init File Chooser
3630 JFileChooser fc
= new JFileChooser();
3631 fc
.setCurrentDirectory(new File(Workspace
.getCurrentWorkspace()));
3632 fc
.setSelectedFile(new File(Workspace
.getCurrentWorkspace() + DataType
.FILE_SEPARATOR
3633 + DataType
.GUIDS_XREF_FILE_NAME
));
3634 fc
.setMultiSelectionEnabled(false);
3637 // Get guids xref and save to file
3639 int result
= fc
.showSaveDialog(new JPanel());
3640 if (result
== JFileChooser
.APPROVE_OPTION
) {
3641 Vector
<String
> v
= wt
.getAllModuleGuidXref();
3643 Log
.wrn("No guids found!!!");
3646 File f
= fc
.getSelectedFile();
3650 } catch (IOException e
) {
3651 Log
.wrn("Fail to create file", e
.getMessage());
3652 Log
.err("Fail to create file when generating guids.xref", e
.getMessage());
3655 FileWriter fw
= null;
3656 BufferedWriter bw
= null;
3658 fw
= new FileWriter(f
);
3659 bw
= new BufferedWriter(fw
);
3660 for (int index
= 0; index
< v
.size(); index
++) {
3661 bw
.write(v
.get(index
));
3668 } catch (IOException e
) {
3669 Log
.wrn("Fail to write file", e
.getMessage());
3670 Log
.err("Fail to write file when generating guids.xref", e
.getMessage());
3674 JOptionPane
.showConfirmDialog(null, "File is created", "Generate guids.xref", JOptionPane
.DEFAULT_OPTION
,
3675 JOptionPane
.INFORMATION_MESSAGE
);