3 The main GUI for module editor.
5 Copyright (c) 2006, Intel Corporation
6 All rights reserved. This program and the accompanying materials
7 are licensed and made available under the terms and conditions of the BSD License
8 which accompanies this distribution. The full text of the license may be found at
9 http://opensource.org/licenses/bsd-license.php
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
16 package org
.tianocore
.frameworkwizard
;
18 import java
.awt
.event
.ActionEvent
;
19 import java
.awt
.event
.ComponentEvent
;
20 import java
.awt
.event
.ComponentListener
;
21 import java
.awt
.event
.MouseEvent
;
22 import java
.awt
.event
.MouseListener
;
23 import java
.awt
.event
.WindowEvent
;
24 import java
.io
.IOException
;
25 import java
.util
.Vector
;
27 import javax
.swing
.JButton
;
28 import javax
.swing
.JCheckBoxMenuItem
;
29 import javax
.swing
.JDesktopPane
;
30 import javax
.swing
.JFileChooser
;
31 import javax
.swing
.JFrame
;
32 import javax
.swing
.JInternalFrame
;
33 import javax
.swing
.JMenu
;
34 import javax
.swing
.JMenuBar
;
35 import javax
.swing
.JMenuItem
;
36 import javax
.swing
.JOptionPane
;
37 import javax
.swing
.JPanel
;
38 import javax
.swing
.JScrollPane
;
39 import javax
.swing
.JSplitPane
;
40 import javax
.swing
.JTabbedPane
;
41 import javax
.swing
.event
.MenuEvent
;
42 import javax
.swing
.event
.MenuListener
;
43 import javax
.swing
.event
.TreeSelectionEvent
;
44 import javax
.swing
.event
.TreeSelectionListener
;
46 import org
.apache
.xmlbeans
.XmlException
;
47 import org
.tianocore
.ModuleSurfaceAreaDocument
;
48 import org
.tianocore
.PackageSurfaceAreaDocument
;
49 import org
.tianocore
.PlatformSurfaceAreaDocument
;
50 import org
.tianocore
.frameworkwizard
.common
.DataType
;
51 import org
.tianocore
.frameworkwizard
.common
.IFileFilter
;
52 import org
.tianocore
.frameworkwizard
.common
.Log
;
53 import org
.tianocore
.frameworkwizard
.common
.SaveFile
;
54 import org
.tianocore
.frameworkwizard
.common
.Tools
;
55 import org
.tianocore
.frameworkwizard
.common
.Identifications
.Identification
;
56 import org
.tianocore
.frameworkwizard
.common
.Identifications
.OpenFile
;
57 import org
.tianocore
.frameworkwizard
.common
.Identifications
.OpeningModuleList
;
58 import org
.tianocore
.frameworkwizard
.common
.Identifications
.OpeningModuleType
;
59 import org
.tianocore
.frameworkwizard
.common
.Identifications
.OpeningPackageList
;
60 import org
.tianocore
.frameworkwizard
.common
.Identifications
.OpeningPackageType
;
61 import org
.tianocore
.frameworkwizard
.common
.Identifications
.OpeningPlatformList
;
62 import org
.tianocore
.frameworkwizard
.common
.Identifications
.OpeningPlatformType
;
63 import org
.tianocore
.frameworkwizard
.common
.ui
.IDefaultMutableTreeNode
;
64 import org
.tianocore
.frameworkwizard
.common
.ui
.IDesktopManager
;
65 import org
.tianocore
.frameworkwizard
.common
.ui
.IFrame
;
66 import org
.tianocore
.frameworkwizard
.common
.ui
.ITree
;
67 import org
.tianocore
.frameworkwizard
.far
.createui
.CreateStepOne
;
68 import org
.tianocore
.frameworkwizard
.far
.deleteui
.DeleteStepOne
;
69 import org
.tianocore
.frameworkwizard
.far
.installui
.InstallStepOne
;
70 import org
.tianocore
.frameworkwizard
.far
.updateui
.UpdateStepOne
;
71 import org
.tianocore
.frameworkwizard
.module
.Identifications
.ModuleIdentification
;
72 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleBootModes
;
73 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleDataHubs
;
74 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleDefinitions
;
75 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleEvents
;
76 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleExterns
;
77 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleGuids
;
78 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleHiiPackages
;
79 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleHobs
;
80 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleLibraryClassDefinitions
;
81 import org
.tianocore
.frameworkwizard
.module
.ui
.ModulePCDs
;
82 import org
.tianocore
.frameworkwizard
.module
.ui
.ModulePackageDependencies
;
83 import org
.tianocore
.frameworkwizard
.module
.ui
.ModulePpis
;
84 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleProtocols
;
85 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleSourceFiles
;
86 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleSystemTables
;
87 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleVariables
;
88 import org
.tianocore
.frameworkwizard
.module
.ui
.MsaHeader
;
89 import org
.tianocore
.frameworkwizard
.packaging
.PackageIdentification
;
90 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdGuidDecls
;
91 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdHeader
;
92 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdLibClassDecls
;
93 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdMsaFiles
;
94 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdPackageDefinitions
;
95 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdPackageHeaders
;
96 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdPcdDefs
;
97 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdPpiDecls
;
98 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdProtocolDecls
;
99 import org
.tianocore
.frameworkwizard
.platform
.PlatformIdentification
;
100 import org
.tianocore
.frameworkwizard
.platform
.ui
.FpdBuildOptions
;
101 import org
.tianocore
.frameworkwizard
.platform
.ui
.FpdDynamicPcdBuildDefinitions
;
102 import org
.tianocore
.frameworkwizard
.platform
.ui
.FpdFlash
;
103 import org
.tianocore
.frameworkwizard
.platform
.ui
.FpdFrameworkModules
;
104 import org
.tianocore
.frameworkwizard
.platform
.ui
.FpdHeader
;
105 import org
.tianocore
.frameworkwizard
.platform
.ui
.FpdPlatformDefs
;
106 import org
.tianocore
.frameworkwizard
.workspace
.Workspace
;
107 import org
.tianocore
.frameworkwizard
.workspace
.WorkspaceTools
;
108 import org
.tianocore
.frameworkwizard
.workspace
.ui
.SwitchWorkspace
;
111 The class is used to show main GUI of ModuleEditor
112 It extends IFrame implements MouseListener, TreeSelectionListener
115 public class FrameworkWizardUI
extends IFrame
implements MouseListener
, TreeSelectionListener
, ComponentListener
,
118 /// Define class Serial Version UID
120 private static final long serialVersionUID
= -7103240960573031772L;
123 // To save information of all files
125 private Vector
<ModuleIdentification
> vModuleList
= new Vector
<ModuleIdentification
>();
127 private Vector
<PackageIdentification
> vPackageList
= new Vector
<PackageIdentification
>();
129 private Vector
<PlatformIdentification
> vPlatformList
= new Vector
<PlatformIdentification
>();
131 private OpeningModuleList openingModuleList
= new OpeningModuleList();
133 private OpeningPackageList openingPackageList
= new OpeningPackageList();
135 private OpeningPlatformList openingPlatformList
= new OpeningPlatformList();
137 private int currentOpeningModuleIndex
= -1;
139 private int currentOpeningPackageIndex
= -1;
141 private int currentOpeningPlatformIndex
= -1;
143 private IDefaultMutableTreeNode dmtnRoot
= null;
145 private IDefaultMutableTreeNode dmtnModuleDescription
= null;
147 private IDefaultMutableTreeNode dmtnPackageDescription
= null;
149 private IDefaultMutableTreeNode dmtnPlatformDescription
= null;
151 private JPanel jContentPane
= null;
153 private JMenuBar jMenuBar
= null;
155 private JMenu jMenuFile
= null;
157 private JMenuItem jMenuItemFileNew
= null;
159 private JMenuItem jMenuItemFileSaveAs
= null;
161 private JMenuItem jMenuItemFileExit
= null;
163 private JMenu jMenuEdit
= null;
165 private JDesktopPane jDesktopPaneModule
= null;
167 private JDesktopPane jDesktopPanePackage
= null;
169 private JDesktopPane jDesktopPanePlatform
= null;
171 private JTabbedPane jTabbedPaneTree
= null;
173 private JTabbedPane jTabbedPaneEditor
= null;
175 private IDesktopManager iDesktopManager
= new IDesktopManager();
177 private JScrollPane jScrollPaneTree
= null;
179 private ITree iTree
= null;
181 private JMenu jMenuHelp
= null;
183 private JMenuItem jMenuItemHelpAbout
= null;
185 private JMenuItem jMenuItemEditDelete
= null;
187 private WorkspaceTools wt
= new WorkspaceTools();
189 private JMenuItem jMenuItemFileSave
= null;
191 private JMenuItem jMenuItemFileClose
= null;
193 private JMenu jMenuTools
= null;
195 private JMenu jMenuWindow
= null;
197 private JPanel jPanelOperation
= null;
199 private JButton jButtonOk
= null;
201 private JButton jButtonCancel
= null;
203 private JMenuItem jMenuItemFileOpen
= null;
205 private JMenuItem jMenuItemFileCloseAll
= null;
207 private JMenuItem jMenuItemFileSaveAll
= null;
209 private JMenuItem jMenuItemFilePageSetup
= null;
211 private JMenuItem jMenuItemFilePrint
= null;
213 private JMenuItem jMenuItemFileImport
= null;
215 private JMenuItem jMenuItemFileProperties
= null;
217 private JMenu jMenuFileRecentFiles
= null;
219 private JSplitPane jSplitPane
= null;
221 private JMenuItem jMenuItemEditUndo
= null;
223 private JMenuItem jMenuItemEditRedo
= null;
225 private JMenuItem jMenuItemEditCut
= null;
227 private JMenuItem jMenuItemEditCopy
= null;
229 private JMenuItem jMenuItemEditPaste
= null;
231 private JMenuItem jMenuItemEditSelectAll
= null;
233 private JMenuItem jMenuItemEditFind
= null;
235 private JMenuItem jMenuItemEditFindNext
= null;
237 private JMenu jMenuView
= null;
239 private JMenu jMenuViewToolbars
= null;
241 private JCheckBoxMenuItem jCheckBoxMenuItemViewToolbarsFile
= null;
243 private JCheckBoxMenuItem jCheckBoxMenuItemViewToolbarsEdit
= null;
245 private JCheckBoxMenuItem jCheckBoxMenuItemViewToolbarsWindow
= null;
247 private JMenuItem jMenuItemViewStandard
= null;
249 private JMenuItem jMenuItemViewAdvanced
= null;
251 private JMenu jMenuProject
= null;
253 private JMenuItem jMenuItemProjectAdmin
= null;
255 private JMenuItem jMenuItemProjectChangeWorkspace
= null;
257 private JMenu jMenuProjectBuildTargets
= null;
259 private JCheckBoxMenuItem jCheckBoxMenuItemProjectBuildTargetsDebug
= null;
261 private JCheckBoxMenuItem jCheckBoxMenuItemProjectBuildTargetsRelease
= null;
263 private JMenuItem jMenuItemToolsToolChainConfiguration
= null;
265 private JMenuItem jMenuItemToolsClone
= null;
267 private JMenuItem jMenuItemToolsCodeScan
= null;
269 private JMenuItem jMenuItemWindowDisplaySide
= null;
271 private JMenuItem jMenuItemWindowDisplayTopBottom
= null;
273 private JMenuItem jMenuItemViewXML
= null;
275 private JMenuItem jMenuItemWindowTabView
= null;
277 private JMenuItem jMenuItemWindowSource
= null;
279 private JMenuItem jMenuItemWindowXML
= null;
281 private JMenuItem jMenuItemWindowPreferences
= null;
283 private JMenuItem jMenuItemHelpContents
= null;
285 private JMenuItem jMenuItemHelpIndex
= null;
287 private JMenuItem jMenuItemHelpSearch
= null;
289 private JMenuItem jMenuItemProjectInstallFar
= null;
291 private JMenuItem jMenuItemProjectUpdateFar
= null;
293 private JMenuItem jMenuItemProjectRemoveFar
= null;
295 //private JToolBar jToolBarFile = null;
297 //private JToolBar jToolBarEdit = null;
299 //private JToolBar jToolBarWindow = null;
301 private static FrameworkWizardUI fwui
= null;
303 private JMenuItem jMenuItemProjectCreateFar
= null;
305 public static FrameworkWizardUI
getInstance() {
307 fwui
= new FrameworkWizardUI();
313 This method initializes jMenuBar
315 @return javax.swing.JMenuBar Main menu bar for the entire GUI
318 private JMenuBar
getjJMenuBar() {
319 if (jMenuBar
== null) {
320 jMenuBar
= new JMenuBar();
321 jMenuBar
.setPreferredSize(new java
.awt
.Dimension(0, 18));
322 jMenuBar
.add(getJMenuFile());
323 jMenuBar
.add(getJMenuEdit());
324 jMenuBar
.add(getJMenuView());
325 jMenuBar
.add(getJMenuProject());
326 jMenuBar
.add(getJMenuTools());
327 jMenuBar
.add(getJMenuWindow());
328 jMenuBar
.add(getJMenuHelp());
334 This method initializes jSplitPane
336 @return javax.swing.JSplitPane
339 private JSplitPane
getJSplitPane() {
340 if (jSplitPane
== null) {
341 jSplitPane
= new JSplitPane(JSplitPane
.HORIZONTAL_SPLIT
, getJTabbedPaneTree(), getJTabbedPaneEditor());
342 jSplitPane
.setBounds(new java
.awt
.Rectangle(0, 1, DataType
.MAIN_FRAME_SPLIT_PANEL_PREFERRED_SIZE_WIDTH
,
343 DataType
.MAIN_FRAME_SPLIT_PANEL_PREFERRED_SIZE_HEIGHT
));
344 jSplitPane
.addComponentListener(this);
350 This method initializes jTabbedPaneEditor
352 @return javax.swing.JTabbedPane
355 private JTabbedPane
getJTabbedPaneEditor() {
356 if (jTabbedPaneEditor
== null) {
357 jTabbedPaneEditor
= new JTabbedPane();
358 jTabbedPaneEditor
.setBounds(new java
.awt
.Rectangle(DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_X
,
359 DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_Y
,
360 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
361 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
363 .setMinimumSize(new java
.awt
.Dimension(
364 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
365 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
366 //jTabbedPaneEditor.addChangeListener(this);
367 jTabbedPaneEditor
.addTab("Module", null, getJDesktopPaneModule(), null);
368 jTabbedPaneEditor
.addTab("Package", null, getJDesktopPanePackage(), null);
369 jTabbedPaneEditor
.addTab("Platform", null, getJDesktopPanePlatform(), null);
371 return jTabbedPaneEditor
;
375 This method initializes jTabbedPaneTree
377 @return javax.swing.JTabbedPane
380 private JTabbedPane
getJTabbedPaneTree() {
381 if (jTabbedPaneTree
== null) {
382 jTabbedPaneTree
= new JTabbedPane();
384 .setPreferredSize(new java
.awt
.Dimension(
385 DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_WIDTH
,
386 DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_HEIGHT
));
388 .setMinimumSize(new java
.awt
.Dimension(DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_WIDTH
,
389 DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_HEIGHT
));
390 jTabbedPaneTree
.addTab("Workspace Explorer", null, getJScrollPaneTree(), null);
392 return jTabbedPaneTree
;
396 This method initializes jMenuFile
398 @return javax.swing.JMenu jMenuModule
401 private JMenu
getJMenuFile() {
402 if (jMenuFile
== null) {
403 jMenuFile
= new JMenu();
404 jMenuFile
.setText("File");
405 jMenuFile
.setMnemonic('F');
406 jMenuFile
.add(getJMenuItemFileNew());
407 jMenuFile
.add(getJMenuItemFileOpen());
408 jMenuFile
.add(getJMenuItemFileClose());
409 jMenuFile
.add(getJMenuItemFileCloseAll());
410 jMenuFile
.addSeparator();
411 jMenuFile
.add(getJMenuFileRecentFiles());
412 //jMenuFile.addSeparator();
413 jMenuFile
.add(getJMenuItemFileSave());
414 jMenuFile
.add(getJMenuItemFileSaveAs());
415 jMenuFile
.add(getJMenuItemFileSaveAll());
416 jMenuFile
.addSeparator();
417 jMenuFile
.add(getJMenuItemFilePageSetup());
418 jMenuFile
.add(getJMenuItemFilePrint());
419 //jMenuFile.addSeparator();
420 jMenuFile
.add(getJMenuItemFileImport());
421 //jMenuFile.addSeparator();
422 jMenuFile
.add(getJMenuItemFileProperties());
423 //jMenuFile.addSeparator();
424 jMenuFile
.add(getJMenuItemFileExit());
425 jMenuFile
.addMenuListener(this);
431 This method initializes jMenuItemFileSaveAs
433 @return javax.swing.JMenuItem jMenuItemFileSaveAs
436 private JMenuItem
getJMenuItemFileSaveAs() {
437 if (jMenuItemFileSaveAs
== null) {
438 jMenuItemFileSaveAs
= new JMenuItem();
439 jMenuItemFileSaveAs
.setText("Save As...");
440 jMenuItemFileSaveAs
.setMnemonic('a');
441 jMenuItemFileSaveAs
.addActionListener(this);
442 jMenuItemFileSaveAs
.setEnabled(false);
443 jMenuItemFileSaveAs
.setVisible(false);
445 return jMenuItemFileSaveAs
;
449 This method initializes jMenuItemModuleExit
451 @return javax.swing.JMenuItem jMenuItemModuleExit
454 private JMenuItem
getJMenuItemFileExit() {
455 if (jMenuItemFileExit
== null) {
456 jMenuItemFileExit
= new JMenuItem();
457 jMenuItemFileExit
.setText("Exit");
458 jMenuItemFileExit
.setMnemonic('x');
459 jMenuItemFileExit
.addActionListener(this);
461 return jMenuItemFileExit
;
465 This method initializes jMenuEdit
467 @return javax.swing.JMenu jMenuEdit
470 private JMenu
getJMenuEdit() {
471 if (jMenuEdit
== null) {
472 jMenuEdit
= new JMenu();
473 jMenuEdit
.setText("Edit");
474 jMenuEdit
.setMnemonic('E');
475 jMenuEdit
.add(getJMenuItemEditUndo());
476 jMenuEdit
.add(getJMenuItemEditRedo());
477 jMenuEdit
.addSeparator();
478 jMenuEdit
.add(getJMenuItemEditCut());
479 jMenuEdit
.add(getJMenuItemEditCopy());
480 jMenuEdit
.add(getJMenuItemEditPaste());
481 jMenuEdit
.add(getJMenuItemEditDelete());
482 jMenuEdit
.addSeparator();
483 jMenuEdit
.add(getJMenuItemEditSelectAll());
484 jMenuEdit
.add(getJMenuItemEditFind());
485 jMenuEdit
.add(getJMenuItemEditFindNext());
486 jMenuEdit
.addSeparator();
487 jMenuEdit
.setVisible(false);
493 This method initializes jDesktopPane
495 @return javax.swing.JDesktopPane jDesktopPane
498 private JDesktopPane
getJDesktopPaneModule() {
499 if (jDesktopPaneModule
== null) {
500 jDesktopPaneModule
= new JDesktopPane();
502 .setBounds(new java
.awt
.Rectangle(DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_X
,
503 DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_Y
,
504 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
505 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
507 .setMinimumSize(new java
.awt
.Dimension(
508 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
509 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
510 jDesktopPaneModule
.setDesktopManager(iDesktopManager
);
511 jDesktopPaneModule
.addComponentListener(this);
513 return jDesktopPaneModule
;
517 This method initializes jDesktopPane
519 @return javax.swing.JDesktopPane jDesktopPane
522 private JDesktopPane
getJDesktopPanePackage() {
523 if (jDesktopPanePackage
== null) {
524 jDesktopPanePackage
= new JDesktopPane();
526 .setBounds(new java
.awt
.Rectangle(DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_X
,
527 DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_Y
,
528 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
529 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
531 .setMinimumSize(new java
.awt
.Dimension(
532 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
533 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
534 jDesktopPanePackage
.setDesktopManager(iDesktopManager
);
535 jDesktopPanePackage
.addComponentListener(this);
537 return jDesktopPanePackage
;
541 This method initializes jDesktopPane
543 @return javax.swing.JDesktopPane jDesktopPane
546 private JDesktopPane
getJDesktopPanePlatform() {
547 if (jDesktopPanePlatform
== null) {
548 jDesktopPanePlatform
= new JDesktopPane();
550 .setBounds(new java
.awt
.Rectangle(
551 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 jDesktopPanePlatform
.setDesktopManager(iDesktopManager
);
560 jDesktopPanePlatform
.addComponentListener(this);
562 return jDesktopPanePlatform
;
566 This method initializes jScrollPaneTree
568 @return javax.swing.JScrollPane jScrollPaneTree
571 private JScrollPane
getJScrollPaneTree() {
572 if (jScrollPaneTree
== null) {
573 jScrollPaneTree
= new JScrollPane();
574 //jScrollPaneTree.setBounds(new java.awt.Rectangle(0, 1, 290, 545));
576 .setPreferredSize(new java
.awt
.Dimension(
577 DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_WIDTH
,
578 DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_HEIGHT
));
580 .setMinimumSize(new java
.awt
.Dimension(
581 DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_WIDTH
/ 2,
582 DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_HEIGHT
));
583 jScrollPaneTree
.setViewportView(getITree());
585 return jScrollPaneTree
;
589 This method initializes iTree
591 @return org.tianocore.packaging.common.ui.ITree iTree
594 private ITree
getITree() {
596 //Before open a real module, use an empty root node for the tree
603 This method initializes jMenuHelp
605 @return javax.swing.JMenu jMenuHelp
608 private JMenu
getJMenuHelp() {
609 if (jMenuHelp
== null) {
610 jMenuHelp
= new JMenu();
611 jMenuHelp
.setText("Help");
612 jMenuHelp
.add(getJMenuItemHelpContents());
613 jMenuHelp
.add(getJMenuItemHelpIndex());
614 jMenuHelp
.add(getJMenuItemHelpSearch());
615 //jMenuHelp.addSeparator();
616 jMenuHelp
.add(getJMenuItemHelpAbout());
622 This method initializes jMenuItemHelpAbout
624 @return javax.swing.JMenuItem jMenuItemHelpAbout
627 private JMenuItem
getJMenuItemHelpAbout() {
628 if (jMenuItemHelpAbout
== null) {
629 jMenuItemHelpAbout
= new JMenuItem();
630 jMenuItemHelpAbout
.setText("About...");
631 jMenuItemHelpAbout
.addActionListener(this);
633 return jMenuItemHelpAbout
;
637 This method initializes jMenuItemEditDelete
639 @return javax.swing.JMenuItem jMenuItemEditDelete
642 private JMenuItem
getJMenuItemEditDelete() {
643 if (jMenuItemEditDelete
== null) {
644 jMenuItemEditDelete
= new JMenuItem();
645 jMenuItemEditDelete
.setText("Delete");
646 jMenuItemEditDelete
.setMnemonic('D');
647 jMenuItemEditDelete
.addActionListener(this);
649 //Disabled when no module is open
651 jMenuItemEditDelete
.setEnabled(false);
653 return jMenuItemEditDelete
;
657 // This method initializes jPopupMenu
659 // @return javax.swing.JPopupMenu jPopupMenu
662 // private JPopupMenu getJPopupMenu() {
663 // if (jPopupMenu == null) {
664 // jPopupMenu = new JPopupMenu();
666 // //Add menu items of popup menu
668 // jPopupMenu.add(getJMenuItemPopupAdd());
669 // jPopupMenu.add(getJMenuItemPopupUpdate());
670 // jPopupMenu.add(getJMenuItemPopupDelete());
671 // jPopupMenu.setBorder(new BevelBorder(BevelBorder.RAISED));
672 // jPopupMenu.addMouseListener(this);
674 // return jPopupMenu;
678 // This method initializes jMenuItemPopupAdd
680 // @return javax.swing.JMenuItem jMenuItemPopupAdd
683 // private JMenuItem getJMenuItemPopupAdd() {
684 // if (jMenuItemPopupAdd == null) {
685 // jMenuItemPopupAdd = new JMenuItem();
686 // jMenuItemPopupAdd.setText("Add");
687 // jMenuItemPopupAdd.addActionListener(this);
688 // jMenuItemPopupAdd.setEnabled(false);
690 // return jMenuItemPopupAdd;
694 // This method initializes jMenuItemPopupUpdate
696 // @return javax.swing.JMenuItem jMenuItemPopupUpdate
699 // private JMenuItem getJMenuItemPopupUpdate() {
700 // if (jMenuItemPopupUpdate == null) {
701 // jMenuItemPopupUpdate = new JMenuItem();
702 // jMenuItemPopupUpdate.setText("Update");
703 // jMenuItemPopupUpdate.addActionListener(this);
704 // jMenuItemPopupUpdate.setEnabled(false);
706 // return jMenuItemPopupUpdate;
710 // This method initializes jMenuItemPopupDelete
712 // @return javax.swing.JMenuItem jMenuItemPopupDelete
715 // private JMenuItem getJMenuItemPopupDelete() {
716 // if (jMenuItemPopupDelete == null) {
717 // jMenuItemPopupDelete = new JMenuItem();
718 // jMenuItemPopupDelete.setText("Delete");
719 // jMenuItemPopupDelete.addActionListener(this);
720 // jMenuItemPopupDelete.setEnabled(false);
722 // return jMenuItemPopupDelete;
726 This method initializes jMenuFileNew
728 @return javax.swing.JMenuItem jMenuFileNew
731 private JMenuItem
getJMenuItemFileNew() {
732 if (jMenuItemFileNew
== null) {
733 jMenuItemFileNew
= new JMenuItem();
734 jMenuItemFileNew
.setText("New...");
735 jMenuItemFileNew
.setMnemonic('N');
736 jMenuItemFileNew
.addActionListener(this);
738 return jMenuItemFileNew
;
742 This method initializes jMenuItemFileSave
744 @return javax.swing.JMenuItem jMenuItemModuleSave
747 private JMenuItem
getJMenuItemFileSave() {
748 if (jMenuItemFileSave
== null) {
749 jMenuItemFileSave
= new JMenuItem();
750 jMenuItemFileSave
.setText("Save");
751 jMenuItemFileSave
.setMnemonic('S');
752 jMenuItemFileSave
.addActionListener(this);
753 jMenuItemFileSave
.setEnabled(true);
755 return jMenuItemFileSave
;
759 This method initializes jMenuItemModuleClose
761 @return javax.swing.JMenuItem jMenuItemModuleClose
764 private JMenuItem
getJMenuItemFileClose() {
765 if (jMenuItemFileClose
== null) {
766 jMenuItemFileClose
= new JMenuItem();
767 jMenuItemFileClose
.setText("Close");
768 jMenuItemFileClose
.setMnemonic('C');
769 jMenuItemFileClose
.setEnabled(true);
770 jMenuItemFileClose
.addActionListener(this);
772 return jMenuItemFileClose
;
776 This method initializes jMenuTools
779 @return javax.swing.JMenu jMenuTools
782 private JMenu
getJMenuTools() {
783 if (jMenuTools
== null) {
784 jMenuTools
= new JMenu();
785 jMenuTools
.setText("Tools");
786 jMenuTools
.setMnemonic('T');
787 jMenuTools
.add(getJMenuItemToolsToolChainConfiguration());
788 jMenuTools
.addSeparator();
789 jMenuTools
.add(getJMenuItemToolsClone());
790 //jMenuTools.addSeparator();
791 jMenuTools
.add(getJMenuItemToolsCodeScan());
792 jMenuTools
.addMenuListener(this);
798 This method initializes jMenuWindow
801 @return javax.swing.JMenu jMenuWindow
804 private JMenu
getJMenuWindow() {
805 if (jMenuWindow
== null) {
806 jMenuWindow
= new JMenu();
807 jMenuWindow
.setText("Window");
808 jMenuWindow
.setMnemonic('W');
809 jMenuWindow
.add(getJMenuItemWindowDisplaySide());
810 jMenuWindow
.add(getJMenuItemWindowDisplayTopBottom());
811 jMenuWindow
.addSeparator();
812 jMenuWindow
.add(getJMenuItemWindowTabView());
813 jMenuWindow
.addSeparator();
814 jMenuWindow
.add(getJMenuItemWindowSource());
815 jMenuWindow
.add(getJMenuItemWindowXML());
816 jMenuWindow
.addSeparator();
817 jMenuWindow
.add(getJMenuItemWindowPreferences());
818 jMenuWindow
.setVisible(false);
824 This method initializes jPanelOperation
826 @return javax.swing.JPanel jPanelOperation
829 private JPanel
getJPanelOperation() {
830 if (jPanelOperation
== null) {
831 jPanelOperation
= new JPanel();
832 jPanelOperation
.setLayout(null);
833 jPanelOperation
.setBounds(new java
.awt
.Rectangle(295, 520, 500, 25));
834 jPanelOperation
.add(getJButtonOk(), null);
835 jPanelOperation
.add(getJButtonCancel(), null);
836 jPanelOperation
.setVisible(false);
838 return jPanelOperation
;
842 This method initializes jButtonOk
844 @return javax.swing.JButton jButtonOk
847 private JButton
getJButtonOk() {
848 if (jButtonOk
== null) {
849 jButtonOk
= new JButton();
850 jButtonOk
.setBounds(new java
.awt
.Rectangle(395, 2, 90, 20));
851 jButtonOk
.setText("Ok");
852 jButtonOk
.setEnabled(false);
853 jButtonOk
.addActionListener(this);
859 This method initializes jButtonCancel
861 @return javax.swing.JButton jButtonCancel
864 private JButton
getJButtonCancel() {
865 if (jButtonCancel
== null) {
866 jButtonCancel
= new JButton();
867 jButtonCancel
.setBounds(new java
.awt
.Rectangle(395, 2, 90, 20));
868 jButtonCancel
.setText("Cancel");
869 jButtonCancel
.setEnabled(false);
870 jButtonCancel
.addActionListener(this);
871 jButtonCancel
.setVisible(false);
873 return jButtonCancel
;
877 This method initializes jMenuItemFileOpen
879 @return javax.swing.JMenuItem jMenuItemFileOpen
881 private JMenuItem
getJMenuItemFileOpen() {
882 if (jMenuItemFileOpen
== null) {
883 jMenuItemFileOpen
= new JMenuItem();
884 jMenuItemFileOpen
.setText("Open...");
885 jMenuItemFileOpen
.setMnemonic('O');
886 jMenuItemFileOpen
.addActionListener(this);
888 return jMenuItemFileOpen
;
892 This method initializes jMenuItemFileCloseAll
894 @return javax.swing.JMenuItem jMenuItemFileOpen
896 private JMenuItem
getJMenuItemFileCloseAll() {
897 if (jMenuItemFileCloseAll
== null) {
898 jMenuItemFileCloseAll
= new JMenuItem();
899 jMenuItemFileCloseAll
.setText("Close All");
900 jMenuItemFileCloseAll
.setEnabled(true);
901 jMenuItemFileCloseAll
.addActionListener(this);
903 return jMenuItemFileCloseAll
;
907 This method initializes jMenuItemFileSaveAll
909 @return javax.swing.JMenuItem jMenuItemFileSaveAll
911 private JMenuItem
getJMenuItemFileSaveAll() {
912 if (jMenuItemFileSaveAll
== null) {
913 jMenuItemFileSaveAll
= new JMenuItem();
914 jMenuItemFileSaveAll
.setText("Save All");
915 jMenuItemFileSaveAll
.setMnemonic('v');
916 jMenuItemFileSaveAll
.setEnabled(true);
917 jMenuItemFileSaveAll
.addActionListener(this);
919 return jMenuItemFileSaveAll
;
923 This method initializes jMenuItemFilePageSetup
925 @return javax.swing.JMenuItem
927 private JMenuItem
getJMenuItemFilePageSetup() {
928 if (jMenuItemFilePageSetup
== null) {
929 jMenuItemFilePageSetup
= new JMenuItem();
930 jMenuItemFilePageSetup
.setText("Page Setup");
931 jMenuItemFilePageSetup
.setMnemonic('u');
932 jMenuItemFilePageSetup
.setEnabled(false);
933 jMenuItemFilePageSetup
.addActionListener(this);
934 jMenuItemFilePageSetup
.setVisible(false);
936 return jMenuItemFilePageSetup
;
940 This method initializes jMenuItemFilePrint
942 @return javax.swing.JMenuItem
944 private JMenuItem
getJMenuItemFilePrint() {
945 if (jMenuItemFilePrint
== null) {
946 jMenuItemFilePrint
= new JMenuItem();
947 jMenuItemFilePrint
.setText("Print");
948 jMenuItemFilePrint
.setMnemonic('P');
949 jMenuItemFilePrint
.setEnabled(false);
950 jMenuItemFilePrint
.addActionListener(this);
951 jMenuItemFilePrint
.setVisible(false);
953 return jMenuItemFilePrint
;
957 This method initializes jMenuItemFileImport
959 @return javax.swing.JMenuItem
961 private JMenuItem
getJMenuItemFileImport() {
962 if (jMenuItemFileImport
== null) {
963 jMenuItemFileImport
= new JMenuItem();
964 jMenuItemFileImport
.setText("Import");
965 jMenuItemFileImport
.setMnemonic('I');
966 jMenuItemFileImport
.setEnabled(false);
967 jMenuItemFileImport
.addActionListener(this);
968 jMenuItemFileImport
.setVisible(false);
970 return jMenuItemFileImport
;
974 * This method initializes jMenuItemFileProperties
976 * @return javax.swing.JMenuItem
978 private JMenuItem
getJMenuItemFileProperties() {
979 if (jMenuItemFileProperties
== null) {
980 jMenuItemFileProperties
= new JMenuItem();
981 jMenuItemFileProperties
.setText("Properties");
982 jMenuItemFileProperties
.setMnemonic('t');
983 jMenuItemFileProperties
.setEnabled(false);
984 jMenuItemFileProperties
.addActionListener(this);
985 jMenuItemFileProperties
.setVisible(false);
987 return jMenuItemFileProperties
;
991 * This method initializes jMenuFileRecentFiles
993 * @return javax.swing.JMenu
995 private JMenu
getJMenuFileRecentFiles() {
996 if (jMenuFileRecentFiles
== null) {
997 jMenuFileRecentFiles
= new JMenu();
998 jMenuFileRecentFiles
.setText("Recent Files");
999 jMenuFileRecentFiles
.setMnemonic('F');
1000 jMenuFileRecentFiles
.setEnabled(false);
1001 jMenuFileRecentFiles
.addActionListener(this);
1002 jMenuFileRecentFiles
.setVisible(false);
1004 return jMenuFileRecentFiles
;
1008 This method initializes jMenuItemEditUndo
1010 @return javax.swing.JMenuItem
1012 private JMenuItem
getJMenuItemEditUndo() {
1013 if (jMenuItemEditUndo
== null) {
1014 jMenuItemEditUndo
= new JMenuItem();
1015 jMenuItemEditUndo
.setText("Undo");
1016 jMenuItemEditUndo
.setMnemonic('U');
1017 jMenuItemEditUndo
.setEnabled(false);
1018 jMenuItemEditUndo
.addActionListener(this);
1020 return jMenuItemEditUndo
;
1024 This method initializes jMenuItemEditRedo
1026 @return javax.swing.JMenuItem
1028 private JMenuItem
getJMenuItemEditRedo() {
1029 if (jMenuItemEditRedo
== null) {
1030 jMenuItemEditRedo
= new JMenuItem();
1031 jMenuItemEditRedo
.setText("Redo");
1032 jMenuItemEditRedo
.setMnemonic('R');
1033 jMenuItemEditRedo
.setEnabled(false);
1034 jMenuItemEditRedo
.addActionListener(this);
1036 return jMenuItemEditRedo
;
1040 This method initializes jMenuItemEditCut
1042 @return javax.swing.JMenuItem
1044 private JMenuItem
getJMenuItemEditCut() {
1045 if (jMenuItemEditCut
== null) {
1046 jMenuItemEditCut
= new JMenuItem();
1047 jMenuItemEditCut
.setText("Cut");
1048 jMenuItemEditCut
.setMnemonic('t');
1049 jMenuItemEditCut
.setEnabled(false);
1050 jMenuItemEditCut
.addActionListener(this);
1052 return jMenuItemEditCut
;
1056 This method initializes jMenuItemEditCopy
1058 @return javax.swing.JMenuItem
1060 private JMenuItem
getJMenuItemEditCopy() {
1061 if (jMenuItemEditCopy
== null) {
1062 jMenuItemEditCopy
= new JMenuItem();
1063 jMenuItemEditCopy
.setText("Copy");
1064 jMenuItemEditCopy
.setMnemonic('C');
1065 jMenuItemEditCopy
.setEnabled(false);
1066 jMenuItemEditCopy
.addActionListener(this);
1068 return jMenuItemEditCopy
;
1072 This method initializes jMenuItemEditPaste
1074 return javax.swing.JMenuItem
1076 private JMenuItem
getJMenuItemEditPaste() {
1077 if (jMenuItemEditPaste
== null) {
1078 jMenuItemEditPaste
= new JMenuItem();
1079 jMenuItemEditPaste
.setText("Paste");
1080 jMenuItemEditPaste
.setMnemonic('P');
1081 jMenuItemEditPaste
.setEnabled(false);
1082 jMenuItemEditPaste
.addActionListener(this);
1084 return jMenuItemEditPaste
;
1088 This method initializes jMenuItem
1090 @return javax.swing.JMenuItem
1092 private JMenuItem
getJMenuItemEditSelectAll() {
1093 if (jMenuItemEditSelectAll
== null) {
1094 jMenuItemEditSelectAll
= new JMenuItem();
1095 jMenuItemEditSelectAll
.setText("Select All");
1096 jMenuItemEditSelectAll
.setMnemonic('A');
1097 jMenuItemEditSelectAll
.setEnabled(false);
1098 jMenuItemEditSelectAll
.addActionListener(this);
1100 return jMenuItemEditSelectAll
;
1104 This method initializes jMenuItemEditFind
1106 @return javax.swing.JMenuItem
1108 private JMenuItem
getJMenuItemEditFind() {
1109 if (jMenuItemEditFind
== null) {
1110 jMenuItemEditFind
= new JMenuItem();
1111 jMenuItemEditFind
.setText("Find");
1112 jMenuItemEditFind
.setMnemonic('F');
1113 jMenuItemEditFind
.setEnabled(false);
1114 jMenuItemEditFind
.addActionListener(this);
1116 return jMenuItemEditFind
;
1120 This method initializes jMenuItemEditFindNext
1122 @return javax.swing.JMenuItem
1125 private JMenuItem
getJMenuItemEditFindNext() {
1126 if (jMenuItemEditFindNext
== null) {
1127 jMenuItemEditFindNext
= new JMenuItem();
1128 jMenuItemEditFindNext
.setText("Find Next");
1129 jMenuItemEditFindNext
.setMnemonic('n');
1130 jMenuItemEditFindNext
.setEnabled(false);
1131 jMenuItemEditFindNext
.addActionListener(this);
1133 return jMenuItemEditFindNext
;
1137 This method initializes jMenuView
1139 @return javax.swing.JMenu
1142 private JMenu
getJMenuView() {
1143 if (jMenuView
== null) {
1144 jMenuView
= new JMenu();
1145 jMenuView
.setText("View");
1146 jMenuView
.setMnemonic('V');
1147 jMenuView
.add(getJMenuViewToolbars());
1148 jMenuView
.add(getJMenuItemViewAdvanced());
1149 jMenuView
.add(getJMenuItemViewStandard());
1150 jMenuView
.add(getJMenuItemViewXML());
1151 jMenuView
.setVisible(false);
1157 This method initializes jMenuViewToolbars
1159 @return javax.swing.JMenu
1162 private JMenu
getJMenuViewToolbars() {
1163 if (jMenuViewToolbars
== null) {
1164 jMenuViewToolbars
= new JMenu();
1165 jMenuViewToolbars
.setText("Toolbars");
1166 jMenuViewToolbars
.setMnemonic('T');
1167 jMenuViewToolbars
.add(getJCheckBoxMenuItemViewToolbarsFile());
1168 jMenuViewToolbars
.add(getJCheckBoxMenuItemViewToolbarsEdit());
1169 jMenuViewToolbars
.add(getJCheckBoxMenuItemViewToolbarsWindow());
1171 return jMenuViewToolbars
;
1175 This method initializes jCheckBoxMenuItemViewToolbarsFile
1177 @return javax.swing.JCheckBoxMenuItem
1180 private JCheckBoxMenuItem
getJCheckBoxMenuItemViewToolbarsFile() {
1181 if (jCheckBoxMenuItemViewToolbarsFile
== null) {
1182 jCheckBoxMenuItemViewToolbarsFile
= new JCheckBoxMenuItem();
1183 jCheckBoxMenuItemViewToolbarsFile
.setText("File");
1184 jCheckBoxMenuItemViewToolbarsFile
.setEnabled(false);
1185 jCheckBoxMenuItemViewToolbarsFile
.addActionListener(this);
1187 return jCheckBoxMenuItemViewToolbarsFile
;
1191 This method initializes jCheckBoxMenuItemViewToolbarsEdit
1193 @return javax.swing.JCheckBoxMenuItem
1196 private JCheckBoxMenuItem
getJCheckBoxMenuItemViewToolbarsEdit() {
1197 if (jCheckBoxMenuItemViewToolbarsEdit
== null) {
1198 jCheckBoxMenuItemViewToolbarsEdit
= new JCheckBoxMenuItem();
1199 jCheckBoxMenuItemViewToolbarsEdit
.setText("Edit");
1200 jCheckBoxMenuItemViewToolbarsEdit
.setEnabled(false);
1201 jCheckBoxMenuItemViewToolbarsEdit
.addActionListener(this);
1203 return jCheckBoxMenuItemViewToolbarsEdit
;
1207 This method initializes jCheckBoxMenuItemViewToolbarsWindow
1209 @return javax.swing.JCheckBoxMenuItem
1212 private JCheckBoxMenuItem
getJCheckBoxMenuItemViewToolbarsWindow() {
1213 if (jCheckBoxMenuItemViewToolbarsWindow
== null) {
1214 jCheckBoxMenuItemViewToolbarsWindow
= new JCheckBoxMenuItem();
1215 jCheckBoxMenuItemViewToolbarsWindow
.setText("Window");
1216 jCheckBoxMenuItemViewToolbarsWindow
.setEnabled(false);
1217 jCheckBoxMenuItemViewToolbarsWindow
.addActionListener(this);
1219 return jCheckBoxMenuItemViewToolbarsWindow
;
1223 This method initializes jMenuItemStandard
1225 @return javax.swing.JMenuItem
1228 private JMenuItem
getJMenuItemViewStandard() {
1229 if (jMenuItemViewStandard
== null) {
1230 jMenuItemViewStandard
= new JMenuItem();
1231 jMenuItemViewStandard
.setText("Standard");
1232 jMenuItemViewStandard
.setMnemonic('S');
1233 jMenuItemViewStandard
.setEnabled(false);
1234 jMenuItemViewStandard
.addActionListener(this);
1236 return jMenuItemViewStandard
;
1240 This method initializes jMenuItemAdvanced
1242 @return javax.swing.JMenuItem
1245 private JMenuItem
getJMenuItemViewAdvanced() {
1246 if (jMenuItemViewAdvanced
== null) {
1247 jMenuItemViewAdvanced
= new JMenuItem();
1248 jMenuItemViewAdvanced
.setText("Advanced");
1249 jMenuItemViewAdvanced
.setMnemonic('A');
1250 jMenuItemViewAdvanced
.setEnabled(false);
1251 jMenuItemViewAdvanced
.addActionListener(this);
1253 return jMenuItemViewAdvanced
;
1257 This method initializes jMenuProject
1259 @return javax.swing.JMenu
1262 private JMenu
getJMenuProject() {
1263 if (jMenuProject
== null) {
1264 jMenuProject
= new JMenu();
1265 jMenuProject
.setText("Project");
1266 jMenuProject
.setMnemonic('P');
1267 jMenuProject
.add(getJMenuItemProjectAdmin());
1268 //jMenuProject.addSeparator();
1269 jMenuProject
.add(getJMenuItemProjectChangeWorkspace());
1270 jMenuProject
.addSeparator();
1271 jMenuProject
.add(getJMenuItemProjectCreateFar());
1272 jMenuProject
.add(getJMenuItemProjectInstallFar());
1273 jMenuProject
.add(getJMenuItemProjectUpdateFar());
1274 jMenuProject
.add(getJMenuItemProjectRemoveFar());
1275 //jMenuProject.addSeparator();
1276 jMenuProject
.add(getJMenuProjectBuildTargets());
1278 return jMenuProject
;
1282 This method initializes jMenuItemProjectAdmin
1284 @return javax.swing.JMenuItem
1287 private JMenuItem
getJMenuItemProjectAdmin() {
1288 if (jMenuItemProjectAdmin
== null) {
1289 jMenuItemProjectAdmin
= new JMenuItem();
1290 jMenuItemProjectAdmin
.setText("Admin...");
1291 jMenuItemProjectAdmin
.setMnemonic('A');
1292 jMenuItemProjectAdmin
.setEnabled(false);
1293 jMenuItemProjectAdmin
.addActionListener(this);
1294 jMenuItemProjectAdmin
.setVisible(false);
1296 return jMenuItemProjectAdmin
;
1300 This method initializes jMenuItemProjectChangeWorkspace
1302 @return javax.swing.JMenuItem
1305 private JMenuItem
getJMenuItemProjectChangeWorkspace() {
1306 if (jMenuItemProjectChangeWorkspace
== null) {
1307 jMenuItemProjectChangeWorkspace
= new JMenuItem();
1308 jMenuItemProjectChangeWorkspace
.setText("Change WORKSPACE...");
1309 jMenuItemProjectChangeWorkspace
.setMnemonic('W');
1310 jMenuItemProjectChangeWorkspace
.setEnabled(true);
1311 jMenuItemProjectChangeWorkspace
.addActionListener(this);
1313 return jMenuItemProjectChangeWorkspace
;
1317 This method initializes jMenuProjectBuildTargets
1319 @return javax.swing.JMenu
1322 private JMenu
getJMenuProjectBuildTargets() {
1323 if (jMenuProjectBuildTargets
== null) {
1324 jMenuProjectBuildTargets
= new JMenu();
1325 jMenuProjectBuildTargets
.setText("Build Targets");
1326 jMenuProjectBuildTargets
.setMnemonic('T');
1327 jMenuProjectBuildTargets
.add(getJCheckBoxMenuItemProjectBuildTargetsDebug());
1328 jMenuProjectBuildTargets
.add(getJCheckBoxMenuItemProjectBuildTargetsRelease());
1329 jMenuProjectBuildTargets
.setVisible(false);
1331 return jMenuProjectBuildTargets
;
1335 This method initializes jCheckBoxMenuItemProjectBuildTargetsDebug
1337 @return javax.swing.JCheckBoxMenuItem
1340 private JCheckBoxMenuItem
getJCheckBoxMenuItemProjectBuildTargetsDebug() {
1341 if (jCheckBoxMenuItemProjectBuildTargetsDebug
== null) {
1342 jCheckBoxMenuItemProjectBuildTargetsDebug
= new JCheckBoxMenuItem();
1343 jCheckBoxMenuItemProjectBuildTargetsDebug
.setText("Debug");
1344 jCheckBoxMenuItemProjectBuildTargetsDebug
.setEnabled(false);
1346 return jCheckBoxMenuItemProjectBuildTargetsDebug
;
1350 This method initializes jCheckBoxMenuItemProjectBuildTargetsRelease
1352 @return javax.swing.JCheckBoxMenuItem
1355 private JCheckBoxMenuItem
getJCheckBoxMenuItemProjectBuildTargetsRelease() {
1356 if (jCheckBoxMenuItemProjectBuildTargetsRelease
== null) {
1357 jCheckBoxMenuItemProjectBuildTargetsRelease
= new JCheckBoxMenuItem();
1358 jCheckBoxMenuItemProjectBuildTargetsRelease
.setText("Release");
1359 jCheckBoxMenuItemProjectBuildTargetsRelease
.setEnabled(false);
1361 return jCheckBoxMenuItemProjectBuildTargetsRelease
;
1365 This method initializes jMenuItemToolsToolChainConfiguration
1367 @return javax.swing.JMenuItem
1370 private JMenuItem
getJMenuItemToolsToolChainConfiguration() {
1371 if (jMenuItemToolsToolChainConfiguration
== null) {
1372 jMenuItemToolsToolChainConfiguration
= new JMenuItem();
1373 jMenuItemToolsToolChainConfiguration
.setText("Tool Chain Configuration...");
1374 jMenuItemToolsToolChainConfiguration
.setMnemonic('C');
1375 jMenuItemToolsToolChainConfiguration
.addActionListener(this);
1377 return jMenuItemToolsToolChainConfiguration
;
1381 This method initializes jMenuItemToolsClone
1383 @return javax.swing.JMenuItem
1386 private JMenuItem
getJMenuItemToolsClone() {
1387 if (jMenuItemToolsClone
== null) {
1388 jMenuItemToolsClone
= new JMenuItem();
1389 jMenuItemToolsClone
.setText("Clone...");
1390 jMenuItemToolsClone
.setMnemonic('l');
1391 jMenuItemToolsClone
.setEnabled(true);
1392 jMenuItemToolsClone
.addActionListener(this);
1394 return jMenuItemToolsClone
;
1398 This method initializes jMenuItemToolsCodeScan
1400 @return javax.swing.JMenuItem
1403 private JMenuItem
getJMenuItemToolsCodeScan() {
1404 if (jMenuItemToolsCodeScan
== null) {
1405 jMenuItemToolsCodeScan
= new JMenuItem();
1406 jMenuItemToolsCodeScan
.setText("Code Scan...");
1407 jMenuItemToolsCodeScan
.setMnemonic('S');
1408 jMenuItemToolsCodeScan
.setEnabled(false);
1409 jMenuItemToolsCodeScan
.addActionListener(this);
1410 jMenuItemToolsCodeScan
.setVisible(false);
1412 return jMenuItemToolsCodeScan
;
1416 This method initializes jMenuItemWindowSplitVertical
1418 @return javax.swing.JMenuItem
1421 private JMenuItem
getJMenuItemWindowDisplaySide() {
1422 if (jMenuItemWindowDisplaySide
== null) {
1423 jMenuItemWindowDisplaySide
= new JMenuItem();
1424 jMenuItemWindowDisplaySide
.setText("Display Side by Side");
1425 jMenuItemWindowDisplaySide
.setMnemonic('S');
1426 jMenuItemWindowDisplaySide
.setEnabled(false);
1427 jMenuItemWindowDisplaySide
.addActionListener(this);
1429 return jMenuItemWindowDisplaySide
;
1433 This method initializes jMenuItemWindowSplitHorizontal
1435 @return javax.swing.JMenuItem
1438 private JMenuItem
getJMenuItemWindowDisplayTopBottom() {
1439 if (jMenuItemWindowDisplayTopBottom
== null) {
1440 jMenuItemWindowDisplayTopBottom
= new JMenuItem();
1441 jMenuItemWindowDisplayTopBottom
.setText("Display Top and Bottom");
1442 jMenuItemWindowDisplayTopBottom
.setMnemonic('B');
1443 jMenuItemWindowDisplayTopBottom
.setEnabled(false);
1444 jMenuItemWindowDisplayTopBottom
.addActionListener(this);
1446 return jMenuItemWindowDisplayTopBottom
;
1450 This method initializes jMenuItemViewXML
1452 @return javax.swing.JMenuItem
1455 private JMenuItem
getJMenuItemViewXML() {
1456 if (jMenuItemViewXML
== null) {
1457 jMenuItemViewXML
= new JMenuItem();
1458 jMenuItemViewXML
.setText("XML");
1459 jMenuItemViewXML
.setMnemonic('X');
1460 jMenuItemViewXML
.setEnabled(false);
1461 jMenuItemViewXML
.addActionListener(this);
1463 return jMenuItemViewXML
;
1467 This method initializes jMenuItemWindowTabView
1469 @return javax.swing.JMenuItem
1472 private JMenuItem
getJMenuItemWindowTabView() {
1473 if (jMenuItemWindowTabView
== null) {
1474 jMenuItemWindowTabView
= new JMenuItem();
1475 jMenuItemWindowTabView
.setText("Tab View");
1476 jMenuItemWindowTabView
.setMnemonic('T');
1477 jMenuItemWindowTabView
.setEnabled(false);
1478 jMenuItemWindowTabView
.addActionListener(this);
1480 return jMenuItemWindowTabView
;
1484 This method initializes jMenuItemWindowSource
1486 @return javax.swing.JMenuItem
1489 private JMenuItem
getJMenuItemWindowSource() {
1490 if (jMenuItemWindowSource
== null) {
1491 jMenuItemWindowSource
= new JMenuItem();
1492 jMenuItemWindowSource
.setText("Source");
1493 jMenuItemWindowSource
.setMnemonic('S');
1494 jMenuItemWindowSource
.setEnabled(false);
1495 jMenuItemWindowSource
.addActionListener(this);
1497 return jMenuItemWindowSource
;
1501 This method initializes jMenuItemWindowXML
1503 @return javax.swing.JMenuItem
1506 private JMenuItem
getJMenuItemWindowXML() {
1507 if (jMenuItemWindowXML
== null) {
1508 jMenuItemWindowXML
= new JMenuItem();
1509 jMenuItemWindowXML
.setText("XML");
1510 jMenuItemWindowXML
.setMnemonic('X');
1511 jMenuItemWindowXML
.setEnabled(false);
1512 jMenuItemWindowXML
.addActionListener(this);
1514 return jMenuItemWindowXML
;
1518 This method initializes jMenuItemWindowPreferences
1520 @return javax.swing.JMenuItem
1523 private JMenuItem
getJMenuItemWindowPreferences() {
1524 if (jMenuItemWindowPreferences
== null) {
1525 jMenuItemWindowPreferences
= new JMenuItem();
1526 jMenuItemWindowPreferences
.setText("Preferences");
1527 jMenuItemWindowPreferences
.setMnemonic('P');
1528 jMenuItemWindowPreferences
.setEnabled(false);
1529 jMenuItemWindowPreferences
.addActionListener(this);
1531 return jMenuItemWindowPreferences
;
1535 This method initializes jMenuItemHelpContents
1537 @return javax.swing.JMenuItem
1540 private JMenuItem
getJMenuItemHelpContents() {
1541 if (jMenuItemHelpContents
== null) {
1542 jMenuItemHelpContents
= new JMenuItem();
1543 jMenuItemHelpContents
.setText("Contents");
1544 jMenuItemHelpContents
.setMnemonic('C');
1545 jMenuItemHelpContents
.setEnabled(false);
1546 jMenuItemHelpContents
.addActionListener(this);
1547 jMenuItemHelpContents
.setVisible(false);
1549 return jMenuItemHelpContents
;
1553 This method initializes jMenuItemHelpIndex
1555 @return javax.swing.JMenuItem
1558 private JMenuItem
getJMenuItemHelpIndex() {
1559 if (jMenuItemHelpIndex
== null) {
1560 jMenuItemHelpIndex
= new JMenuItem();
1561 jMenuItemHelpIndex
.setText("Index");
1562 jMenuItemHelpIndex
.setMnemonic('I');
1563 jMenuItemHelpIndex
.setEnabled(false);
1564 jMenuItemHelpIndex
.addActionListener(this);
1565 jMenuItemHelpIndex
.setVisible(false);
1567 return jMenuItemHelpIndex
;
1571 This method initializes jMenuItemHelpSearch
1573 @return javax.swing.JMenuItem
1576 private JMenuItem
getJMenuItemHelpSearch() {
1577 if (jMenuItemHelpSearch
== null) {
1578 jMenuItemHelpSearch
= new JMenuItem();
1579 jMenuItemHelpSearch
.setText("Search");
1580 jMenuItemHelpSearch
.setMnemonic('S');
1581 jMenuItemHelpSearch
.setEnabled(false);
1582 jMenuItemHelpSearch
.addActionListener(this);
1583 jMenuItemHelpSearch
.setVisible(false);
1585 return jMenuItemHelpSearch
;
1589 * This method initializes jToolBar
1591 * @return javax.swing.JToolBar
1593 // private JToolBar getJToolBarFile() {
1594 // if (jToolBarFile == null) {
1595 // jToolBarFile = new JToolBar();
1596 // jToolBarFile.setFloatable(false);
1598 // return jToolBarFile;
1601 * This method initializes jToolBarEdit
1603 * @return javax.swing.JToolBar
1605 // private JToolBar getJToolBarEdit() {
1606 // if (jToolBarEdit == null) {
1607 // jToolBarEdit = new JToolBar();
1608 // jToolBarEdit.setFloatable(false);
1610 // return jToolBarEdit;
1613 * This method initializes jMenuItemToolsInstallPackage
1615 * @return javax.swing.JMenuItem
1617 private JMenuItem
getJMenuItemProjectInstallFar() {
1618 if (jMenuItemProjectInstallFar
== null) {
1619 jMenuItemProjectInstallFar
= new JMenuItem();
1620 jMenuItemProjectInstallFar
.setText("Install FAR");
1621 jMenuItemProjectInstallFar
.setMnemonic('I');
1622 jMenuItemProjectInstallFar
.setEnabled(true);
1623 jMenuItemProjectInstallFar
.addActionListener(this);
1625 return jMenuItemProjectInstallFar
;
1629 * This method initializes jMenuItemToolsUpdatePackage
1631 * @return javax.swing.JMenuItem
1633 private JMenuItem
getJMenuItemProjectUpdateFar() {
1634 if (jMenuItemProjectUpdateFar
== null) {
1635 jMenuItemProjectUpdateFar
= new JMenuItem();
1636 jMenuItemProjectUpdateFar
.setText("Update FAR");
1637 jMenuItemProjectUpdateFar
.setMnemonic('U');
1638 jMenuItemProjectUpdateFar
.setEnabled(true);
1639 jMenuItemProjectUpdateFar
.addActionListener(this);
1640 jMenuItemProjectUpdateFar
.setVisible(false);
1642 return jMenuItemProjectUpdateFar
;
1646 * This method initializes jMenuItemRemovePackage
1648 * @return javax.swing.JMenuItem
1650 private JMenuItem
getJMenuItemProjectRemoveFar() {
1651 if (jMenuItemProjectRemoveFar
== null) {
1652 jMenuItemProjectRemoveFar
= new JMenuItem();
1653 jMenuItemProjectRemoveFar
.setText("Remove FAR");
1654 jMenuItemProjectRemoveFar
.setMnemonic('R');
1655 jMenuItemProjectRemoveFar
.setEnabled(true);
1656 jMenuItemProjectRemoveFar
.addActionListener(this);
1658 return jMenuItemProjectRemoveFar
;
1662 * This method initializes jMenuItemProjectCreateFar
1664 * @return javax.swing.JMenuItem
1666 private JMenuItem
getJMenuItemProjectCreateFar() {
1667 if (jMenuItemProjectCreateFar
== null) {
1668 jMenuItemProjectCreateFar
= new JMenuItem();
1669 jMenuItemProjectCreateFar
.setText("Create FAR");
1670 jMenuItemProjectCreateFar
.setMnemonic('C');
1671 jMenuItemProjectCreateFar
.addActionListener(this);
1673 return jMenuItemProjectCreateFar
;
1677 * @see org.tianocore.packaging.common.ui.IFrame#main(java.lang.String[])
1679 * Main class, start the GUI
1682 public static void main(String
[] args
) {
1683 FrameworkWizardUI module
= FrameworkWizardUI
.getInstance();
1684 module
.setVisible(true);
1688 This is the default constructor
1691 public FrameworkWizardUI() {
1697 This method initializes this
1701 private void init() {
1703 // Set current workspace and check
1704 // Check if exists WORKSPACE
1707 Workspace
.setCurrentWorkspace(System
.getenv("WORKSPACE"));
1708 if (!Workspace
.checkCurrentWorkspace()) {
1709 JOptionPane
.showConfirmDialog(null, "Workspace is not setup correctly. Please setup first.", "Warning",
1710 JOptionPane
.DEFAULT_OPTION
, JOptionPane
.WARNING_MESSAGE
);
1715 this.setSize(DataType
.MAIN_FRAME_PREFERRED_SIZE_WIDTH
, DataType
.MAIN_FRAME_PREFERRED_SIZE_HEIGHT
);
1716 this.setResizable(true);
1717 this.setJMenuBar(getjJMenuBar());
1718 this.addComponentListener(this);
1719 this.getCompontentsFromFrameworkDatabase();
1720 this.setContentPane(getJContentPane());
1721 this.setTitle(DataType
.PROJECT_NAME
+ " " + DataType
.PROJECT_VERSION
+ " " + "- ["
1722 + Workspace
.getCurrentWorkspace() + "]");
1723 this.setExitType(1);
1728 this.setExtendedState(JFrame
.MAXIMIZED_BOTH
);
1732 This method initializes jContentPane
1734 @return javax.swing.JPanel jContentPane
1737 private JPanel
getJContentPane() {
1738 if (jContentPane
== null) {
1739 jContentPane
= new JPanel();
1740 jContentPane
.setLayout(null);
1741 jContentPane
.add(getJPanelOperation(), null);
1742 jContentPane
.add(getJSplitPane(), null);
1744 return jContentPane
;
1748 * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
1750 * Override actionPerformed to listen all actions
1753 public void actionPerformed(ActionEvent arg0
) {
1755 // Operations of Menu
1757 if (arg0
.getSource() == jMenuItemFileNew
) {
1761 if (arg0
.getSource() == jMenuItemFileOpen
) {
1765 if (arg0
.getSource() == jMenuItemFileClose
) {
1769 if (arg0
.getSource() == jMenuItemFileCloseAll
) {
1773 if (arg0
.getSource() == jMenuItemFileSave
) {
1777 if (arg0
.getSource() == jMenuItemFileSaveAs
) {
1781 if (arg0
.getSource() == jMenuItemFileSaveAll
) {
1785 if (arg0
.getSource() == jMenuItemFileExit
) {
1789 if (arg0
.getSource() == jMenuItemProjectChangeWorkspace
) {
1793 if (arg0
.getSource() == jMenuItemProjectCreateFar
) {
1794 CreateStepOne cso
= new CreateStepOne(this, true);
1795 int result
= cso
.showDialog();
1796 if (result
== DataType
.RETURN_TYPE_OK
) {
1797 String strReturn
= "Create Far Done!";
1798 JOptionPane
.showConfirmDialog(null, strReturn
, "Done", JOptionPane
.DEFAULT_OPTION
, JOptionPane
.INFORMATION_MESSAGE
);
1803 if (arg0
.getSource() == jMenuItemProjectInstallFar
) {
1804 InstallStepOne iso
= new InstallStepOne(this, true);
1805 int result
= iso
.showDialog();
1806 if (result
== DataType
.RETURN_TYPE_OK
) {
1807 String strReturn
= "<html>Install Far Done! <br>The WORKSPACE will be refreshed!</html>";
1808 JOptionPane
.showConfirmDialog(null, strReturn
, "Done", JOptionPane
.DEFAULT_OPTION
, JOptionPane
.INFORMATION_MESSAGE
);
1814 if (arg0
.getSource() == jMenuItemProjectRemoveFar
) {
1815 DeleteStepOne dso
= new DeleteStepOne(this, true);
1816 int result
= dso
.showDialog();
1817 if (result
== DataType
.RETURN_TYPE_OK
) {
1818 String strReturn
= "<html>Delete Far Done! <br>The WORKSPACE will be refreshed!</html>";
1819 JOptionPane
.showConfirmDialog(null, strReturn
, "Done", JOptionPane
.DEFAULT_OPTION
, JOptionPane
.INFORMATION_MESSAGE
);
1825 if (arg0
.getSource() == jMenuItemProjectUpdateFar
) {
1826 UpdateStepOne uso
= new UpdateStepOne(this, true);
1827 int result
= uso
.showDialog();
1828 if (result
== DataType
.RETURN_TYPE_OK
) {
1829 String strReturn
= "<html>Update Far Done! <br>The WORKSPACE will be refreshed!</html>";
1830 JOptionPane
.showConfirmDialog(null, strReturn
, "Done", JOptionPane
.DEFAULT_OPTION
, JOptionPane
.INFORMATION_MESSAGE
);
1836 if (arg0
.getSource() == jMenuItemToolsClone
) {
1840 if (arg0
.getSource() == jMenuItemToolsToolChainConfiguration
) {
1841 setupToolChainConfiguration();
1844 if (arg0
.getSource() == jMenuItemHelpAbout
) {
1845 About a
= new About(this, true);
1846 int result
= a
.showDialog();
1847 if (result
== DataType
.RETURN_TYPE_OK
) {
1854 Create an empty tree if no file is open
1857 private void makeEmptyTree() {
1859 dmtnRoot
= new IDefaultMutableTreeNode("WORKSPACE", IDefaultMutableTreeNode
.WORKSPACE
, -1);
1861 // Make Module Description
1862 dmtnModuleDescription
= new IDefaultMutableTreeNode("ModuleDescription", IDefaultMutableTreeNode
.MODULE
, -1);
1865 // First add package
1867 if (this.vPackageList
.size() > 0) {
1868 for (int index
= 0; index
< this.vPackageList
.size(); index
++) {
1869 IDefaultMutableTreeNode dmtnModulePackage
= null;
1870 IDefaultMutableTreeNode dmtnModulePackageLibrary
= null;
1871 IDefaultMutableTreeNode dmtnModulePackageModule
= null;
1873 dmtnModulePackage
= new IDefaultMutableTreeNode(this.vPackageList
.elementAt(index
).getName(),
1874 IDefaultMutableTreeNode
.MODULE_PACKAGE
, false,
1875 this.vPackageList
.elementAt(index
));
1876 dmtnModulePackageLibrary
= new IDefaultMutableTreeNode("Library",
1877 IDefaultMutableTreeNode
.MODULE_PACKAGE_LIBRARY
,
1878 false, this.vPackageList
.elementAt(index
));
1879 dmtnModulePackageModule
= new IDefaultMutableTreeNode("Module",
1880 IDefaultMutableTreeNode
.MODULE_PACKAGE_MODULE
,
1881 false, this.vPackageList
.elementAt(index
));
1883 Vector
<ModuleIdentification
> vModule
= wt
.getAllModules(this.vPackageList
.elementAt(index
));
1884 for (int indexJ
= 0; indexJ
< vModule
.size(); indexJ
++) {
1885 if (vModule
.get(indexJ
).isLibrary()) {
1886 dmtnModulePackageLibrary
.add(new IDefaultMutableTreeNode(vModule
.get(indexJ
).getName(),
1887 IDefaultMutableTreeNode
.MSA_HEADER
,
1888 false, vModule
.get(indexJ
)));
1890 dmtnModulePackageModule
.add(new IDefaultMutableTreeNode(vModule
.get(indexJ
).getName(),
1891 IDefaultMutableTreeNode
.MSA_HEADER
,
1892 false, vModule
.get(indexJ
)));
1895 if (dmtnModulePackageModule
.getChildCount() > 0) {
1896 dmtnModulePackage
.add(dmtnModulePackageModule
);
1898 if (dmtnModulePackageLibrary
.getChildCount() > 0) {
1899 dmtnModulePackage
.add(dmtnModulePackageLibrary
);
1902 dmtnModuleDescription
.add(dmtnModulePackage
);
1906 // if (this.vModuleList.size() > 0) {
1907 // for (int index = 0; index < this.vModuleList.size(); index++) {
1908 // dmtnModuleDescription.add(new IDefaultMutableTreeNode(this.vModuleList.elementAt(index).getName(),
1909 // IDefaultMutableTreeNode.MSA_HEADER, false,
1910 // this.vModuleList.elementAt(index)));
1914 // Make Package Description
1915 dmtnPackageDescription
= new IDefaultMutableTreeNode("PackageDescription", IDefaultMutableTreeNode
.PACKAGE
, -1);
1916 if (this.vPackageList
.size() > 0) {
1917 for (int index
= 0; index
< this.vPackageList
.size(); index
++) {
1918 dmtnPackageDescription
.add(new IDefaultMutableTreeNode(this.vPackageList
.elementAt(index
).getName(),
1919 IDefaultMutableTreeNode
.SPD_HEADER
, false,
1920 this.vPackageList
.elementAt(index
)));
1924 // Make Platform Description
1925 dmtnPlatformDescription
= new IDefaultMutableTreeNode("PlatformDescription", IDefaultMutableTreeNode
.PLATFORM
,
1927 if (this.vPlatformList
.size() > 0) {
1928 for (int index
= 0; index
< this.vPlatformList
.size(); index
++) {
1929 dmtnPlatformDescription
.add(new IDefaultMutableTreeNode(this.vPlatformList
.elementAt(index
).getName(),
1930 IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
,
1931 false, this.vPlatformList
.elementAt(index
)));
1935 dmtnRoot
.add(dmtnModuleDescription
);
1936 dmtnRoot
.add(dmtnPackageDescription
);
1937 dmtnRoot
.add(dmtnPlatformDescription
);
1938 iTree
= new ITree(dmtnRoot
);
1939 iTree
.addMouseListener(this);
1940 jScrollPaneTree
.setViewportView(iTree
);
1944 * @see java.awt.event.WindowListener#windowClosing(java.awt.event.WindowEvent)
1946 * Override windowClosing to popup warning message to confirm quit
1949 public void windowClosing(WindowEvent arg0
) {
1954 * @see java.awt.event.MouseListener#mouseClicked(java.awt.event.MouseEvent)
1956 * Override mouseClicked to check if need display popup menu
1959 public void mouseClicked(MouseEvent arg0
) {
1960 if (arg0
.getButton() == MouseEvent
.BUTTON1
) {
1962 if (arg0
.getButton() == MouseEvent
.BUTTON3
) {
1965 // When double click
1967 if (arg0
.getClickCount() == 2) {
1968 doubleClickModuleTreeNode();
1972 public void mouseEntered(MouseEvent arg0
) {
1973 // TODO Auto-generated method stub
1976 public void mouseExited(MouseEvent arg0
) {
1977 // TODO Auto-generated method stub
1980 public void mousePressed(MouseEvent arg0
) {
1981 // TODO Auto-generated method stub
1984 public void mouseReleased(MouseEvent arg0
) {
1985 // TODO Auto-generated method stub
1989 Remove all Internal Frame of Module Desktop Pane
1992 private void cleanDesktopPaneModule() {
1993 if (jDesktopPaneModule
!= null) {
1994 JInternalFrame
[] iif
= this.jDesktopPaneModule
.getAllFrames();
1995 for (int index
= 0; index
< iif
.length
; index
++) {
1996 iif
[index
].dispose();
2002 Remove all Internal Frame of package Desktop Pane
2005 private void cleanDesktopPanePackage() {
2006 if (jDesktopPanePlatform
!= null) {
2007 JInternalFrame
[] iif
= this.jDesktopPanePackage
.getAllFrames();
2008 for (int index
= 0; index
< iif
.length
; index
++) {
2009 iif
[index
].dispose();
2015 Remove all Internal Frame of platform Desktop Pane
2018 private void cleanDesktopPanePlatform() {
2019 if (jDesktopPanePlatform
!= null) {
2020 JInternalFrame
[] iif
= this.jDesktopPanePlatform
.getAllFrames();
2021 for (int index
= 0; index
< iif
.length
; index
++) {
2022 iif
[index
].dispose();
2028 Remove all Internal Frame of all Desktop Panes
2031 private void cleanDesktopPane() {
2032 cleanDesktopPaneModule();
2033 cleanDesktopPanePackage();
2034 cleanDesktopPanePlatform();
2038 Set file filter as input ext
2044 private int getNewFilePath(String ext
) {
2045 JFileChooser fc
= new JFileChooser(Workspace
.getCurrentWorkspace());
2046 fc
.setAcceptAllFileFilterUsed(false);
2047 fc
.addChoosableFileFilter(new IFileFilter(ext
));
2048 return fc
.showSaveDialog(new JPanel());
2052 Add a module to tree
2054 @param mid The module node to be added
2057 private void addModuleToTree(ModuleIdentification mid
) {
2059 // Add new MsaHeader node to the tree
2061 IDefaultMutableTreeNode node
= new IDefaultMutableTreeNode(mid
.getName(), IDefaultMutableTreeNode
.MSA_HEADER
,
2064 // First find the module belongs to which package
2066 IDefaultMutableTreeNode packageNode
= iTree
.getNodeById(dmtnModuleDescription
, mid
.getPackageId(),
2067 IDefaultMutableTreeNode
.MODULE_PACKAGE
);
2069 // To check if has module node or library node
2071 IDefaultMutableTreeNode parentModuleNode
= null;
2072 IDefaultMutableTreeNode parentLibraryNode
= null;
2073 boolean hasModule
= false;
2074 boolean hasLibrary
= false;
2075 for (int index
= 0; index
< packageNode
.getChildCount(); index
++) {
2076 IDefaultMutableTreeNode iNode
= (IDefaultMutableTreeNode
) packageNode
.getChildAt(index
);
2077 if (iNode
.getCategory() == IDefaultMutableTreeNode
.MODULE_PACKAGE_LIBRARY
) {
2079 parentLibraryNode
= iNode
;
2081 if (iNode
.getCategory() == IDefaultMutableTreeNode
.MODULE_PACKAGE_MODULE
) {
2083 parentModuleNode
= iNode
;
2090 if (!mid
.isLibrary()) {
2092 // Create parent node first if has no parent node
2095 parentModuleNode
= new IDefaultMutableTreeNode("Module", IDefaultMutableTreeNode
.MODULE_PACKAGE_MODULE
,
2096 false, mid
.getPackageId());
2097 iTree
.addNode(packageNode
, parentModuleNode
);
2100 iTree
.addNode(parentModuleNode
, node
);
2106 if (mid
.isLibrary()) {
2108 // Create parent node first if has no parent node
2111 parentLibraryNode
= new IDefaultMutableTreeNode("Library",
2112 IDefaultMutableTreeNode
.MODULE_PACKAGE_LIBRARY
, false,
2113 mid
.getPackageId());
2114 iTree
.addNode(packageNode
, parentLibraryNode
);
2117 iTree
.addNode(parentLibraryNode
, node
);
2124 @param path input file path
2127 private void openModule(String path
, ModuleIdentification moduleId
) {
2128 ModuleSurfaceAreaDocument
.ModuleSurfaceArea msa
= null;
2130 msa
= OpenFile
.openMsaFile(path
);
2131 } catch (IOException e
) {
2132 Log
.err("Open Module Surface Area " + path
, e
.getMessage());
2134 } catch (XmlException e
) {
2135 Log
.err("Open Module Surface Area " + path
, e
.getMessage());
2137 } catch (Exception e
) {
2138 Log
.err("Open Module Surface Area " + path
, "Invalid file type");
2141 Identification id
= new Identification(msa
.getMsaHeader().getModuleName(), msa
.getMsaHeader().getGuidValue(),
2142 msa
.getMsaHeader().getVersion(), path
);
2144 // Generate module id
2146 PackageIdentification pid
= wt
.getPackageIdByModuleId(id
);
2149 // To judge if the module existed in vModuleList
2150 // If not, add it to vModuleList
2152 boolean isFind
= false;
2153 for (int index
= 0; index
< vModuleList
.size(); index
++) {
2154 if (vModuleList
.elementAt(index
).equals(id
)) {
2160 ModuleIdentification mid
= new ModuleIdentification(id
, pid
, moduleId
.isLibrary());
2161 vModuleList
.addElement(mid
);
2162 addModuleToTree(mid
);
2166 // The module is not in existing packages
2168 Log
.err("The module hasn't been added to any package of current workspace!");
2173 // Make the node selected
2175 iTree
.setSelectionPath(iTree
.getPathOfNode(iTree
.getNodeById(this.dmtnModuleDescription
, id
,
2176 IDefaultMutableTreeNode
.MSA_HEADER
)));
2178 // Update opening Module list information
2180 if (!openingModuleList
.existsModule(id
)) {
2182 // Insert sub node of module
2184 insertModuleTreeNode(id
);
2185 iTree
.getSelectNode().setOpening(true);
2188 // Update opening module list
2190 openingModuleList
.insertToOpeningModuleList(id
, msa
);
2191 openingModuleList
.setTreePathById(id
, iTree
.getSelectionPath());
2194 // Show msa header in editor panel
2196 showModuleElement(IDefaultMutableTreeNode
.MSA_HEADER
, openingModuleList
.getOpeningModuleById(id
));
2197 this.currentOpeningModuleIndex
= openingModuleList
.findIndexOfListById(id
);
2203 @param path input file path
2206 private void openModule(String path
) {
2207 ModuleSurfaceAreaDocument
.ModuleSurfaceArea msa
= null;
2209 msa
= OpenFile
.openMsaFile(path
);
2210 } catch (IOException e
) {
2211 Log
.err("Open Module Surface Area " + path
, e
.getMessage());
2213 } catch (XmlException e
) {
2214 Log
.err("Open Module Surface Area " + path
, e
.getMessage());
2216 } catch (Exception e
) {
2217 Log
.err("Open Module Surface Area " + path
, "Invalid file type");
2220 Identification id
= new Identification(msa
.getMsaHeader().getModuleName(), msa
.getMsaHeader().getGuidValue(),
2221 msa
.getMsaHeader().getVersion(), path
);
2223 // Generate module id
2225 PackageIdentification pid
= wt
.getPackageIdByModuleId(id
);
2228 // To judge if the module existed in vModuleList
2229 // If not, add it to vModuleList
2231 boolean isFind
= false;
2232 for (int index
= 0; index
< vModuleList
.size(); index
++) {
2233 if (vModuleList
.elementAt(index
).equals(id
)) {
2239 ModuleIdentification mid
= new ModuleIdentification(id
, pid
);
2240 vModuleList
.addElement(mid
);
2241 addModuleToTree(mid
);
2245 // The module is not in existing packages
2247 Log
.err("The module hasn't been added to any package of current workspace!");
2252 // Make the node selected
2254 iTree
.setSelectionPath(iTree
.getPathOfNode(iTree
.getNodeById(this.dmtnModuleDescription
, id
,
2255 IDefaultMutableTreeNode
.MSA_HEADER
)));
2257 // Update opening Module list information
2259 if (!openingModuleList
.existsModule(id
)) {
2261 // Insert sub node of module
2263 insertModuleTreeNode(id
);
2264 iTree
.getSelectNode().setOpening(true);
2267 // Update opening module list
2269 openingModuleList
.insertToOpeningModuleList(id
, msa
);
2270 openingModuleList
.setTreePathById(id
, iTree
.getSelectionPath());
2273 // Show msa header in editor panel
2275 showModuleElement(IDefaultMutableTreeNode
.MSA_HEADER
, openingModuleList
.getOpeningModuleById(id
));
2276 this.currentOpeningModuleIndex
= openingModuleList
.findIndexOfListById(id
);
2282 @param path input file path
2285 private void openPackage(String path
) {
2286 PackageSurfaceAreaDocument
.PackageSurfaceArea spd
= null;
2288 spd
= OpenFile
.openSpdFile(path
);
2289 } catch (IOException e
) {
2290 Log
.err("Open Package Surface Area " + path
, e
.getMessage());
2292 } catch (XmlException e
) {
2293 Log
.err("Open Package Surface Area " + path
, e
.getMessage());
2295 } catch (Exception e
) {
2296 Log
.err("Open Package Surface Area " + path
, "Invalid file type");
2299 Identification id
= new Identification(spd
.getSpdHeader().getPackageName(), spd
.getSpdHeader().getGuidValue(),
2300 spd
.getSpdHeader().getVersion(), path
);
2302 // To judge if the package existed in vPackageList
2303 // If not, add it to vPackageList
2305 boolean isFind
= false;
2306 for (int index
= 0; index
< vPackageList
.size(); index
++) {
2307 if (vPackageList
.elementAt(index
).equals(id
)) {
2314 // The module is not in existing packages
2316 Log
.err("The package hasn't been added to current workspace!");
2321 // Make the node selected
2323 iTree
.setSelectionPath(iTree
.getPathOfNode(iTree
.getNodeById(this.dmtnPackageDescription
, id
,
2324 IDefaultMutableTreeNode
.SPD_HEADER
)));
2326 // Update opening package list information
2328 if (!openingPackageList
.existsPackage(id
)) {
2330 // Insert sub node of module
2332 insertPackageTreeNode(id
);
2333 iTree
.getSelectNode().setOpening(true);
2336 // Update opening module list
2338 openingPackageList
.insertToOpeningPackageList(id
, spd
);
2339 openingPackageList
.setTreePathById(id
, iTree
.getSelectionPath());
2342 // Show spd header in editor panel
2344 showPackageElement(IDefaultMutableTreeNode
.SPD_HEADER
, openingPackageList
.getOpeningPackageById(id
));
2345 this.currentOpeningPackageIndex
= openingPackageList
.findIndexOfListById(id
);
2351 @param path input file path
2354 private void openPlatform(String path
) {
2355 PlatformSurfaceAreaDocument
.PlatformSurfaceArea fpd
= null;
2357 fpd
= OpenFile
.openFpdFile(path
);
2358 } catch (IOException e
) {
2359 Log
.err("Open Platform Surface Area " + path
, e
.getMessage());
2361 } catch (XmlException e
) {
2362 Log
.err("Open Platform Surface Area " + path
, e
.getMessage());
2364 } catch (Exception e
) {
2365 Log
.err("Open Platform Surface Area " + path
, "Invalid file type");
2368 Identification id
= new Identification(fpd
.getPlatformHeader().getPlatformName(), fpd
.getPlatformHeader()
2370 fpd
.getPlatformHeader().getVersion(), path
);
2372 // To judge if the platform existed in vPlatformList
2373 // If not, add it to vPlatformList
2375 boolean isFind
= false;
2376 for (int index
= 0; index
< vPlatformList
.size(); index
++) {
2377 if (vPlatformList
.elementAt(index
).equals(id
)) {
2384 // The module is not in existing packages
2386 Log
.err("The platform hasn't been added to current workspace!");
2391 // Make the node selected
2393 iTree
.setSelectionPath(iTree
.getPathOfNode(iTree
.getNodeById(this.dmtnPlatformDescription
, id
,
2394 IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
)));
2396 // Update opening package list information
2398 if (!openingPlatformList
.existsPlatform(id
)) {
2400 // Insert sub node of module
2402 insertPlatformTreeNode(id
);
2403 iTree
.getSelectNode().setOpening(true);
2406 // Update opening module list
2408 openingPlatformList
.insertToOpeningPlatformList(id
, fpd
);
2409 openingPlatformList
.setTreePathById(id
, iTree
.getSelectionPath());
2412 // Show fpd header in editor panel
2414 showPlatformElement(IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
, openingPlatformList
.getOpeningPlatformById(id
));
2415 this.currentOpeningPlatformIndex
= openingPlatformList
.findIndexOfListById(id
);
2422 private void saveModule(int index
) {
2423 OpeningModuleType omt
= openingModuleList
.getOpeningModuleByIndex(index
);
2425 if (getNewFilePath(DataType
.MODULE_SURFACE_AREA_EXT
) != JFileChooser
.APPROVE_OPTION
) {
2430 SaveFile
.saveMsaFile(omt
.getId().getPath(), omt
.getXmlMsa());
2431 openingModuleList
.setNew(omt
.getId(), false);
2432 openingModuleList
.setModuleSaved(omt
.getId(), true);
2433 } catch (Exception e
) {
2434 Log
.err("Save Module", e
.getMessage());
2442 private void savePackage(int index
) {
2443 OpeningPackageType opt
= openingPackageList
.getOpeningPackageByIndex(index
);
2445 if (getNewFilePath(DataType
.PACKAGE_SURFACE_AREA_EXT
) != JFileChooser
.APPROVE_OPTION
) {
2450 SaveFile
.saveSpdFile(opt
.getId().getPath(), opt
.getXmlSpd());
2451 openingPackageList
.setNew(opt
.getId(), false);
2452 openingPackageList
.setPackageSaved(opt
.getId(), true);
2453 } catch (Exception e
) {
2454 Log
.err("Save Package", e
.getMessage());
2462 private void savePlatform(int index
) {
2463 OpeningPlatformType opt
= openingPlatformList
.getOpeningPlatformByIndex(index
);
2465 if (getNewFilePath(DataType
.PACKAGE_SURFACE_AREA_EXT
) != JFileChooser
.APPROVE_OPTION
) {
2470 SaveFile
.saveFpdFile(opt
.getId().getPath(), opt
.getXmlFpd());
2471 openingPlatformList
.setNew(opt
.getId(), false);
2472 openingPlatformList
.setPlatformSaved(opt
.getId(), true);
2473 } catch (Exception e
) {
2474 Log
.err("Save Package", e
.getMessage());
2478 public void componentHidden(ComponentEvent arg0
) {
2479 // TODO Auto-generated method stub
2483 public void componentMoved(ComponentEvent arg0
) {
2484 // TODO Auto-generated method stub
2488 public void componentResized(ComponentEvent arg0
) {
2489 this.jSplitPane
.setSize(this.getWidth() - DataType
.MAIN_FRAME_WIDTH_SPACING
,
2490 this.getHeight() - DataType
.MAIN_FRAME_HEIGHT_SPACING
);
2491 this.jSplitPane
.validate();
2492 resizeDesktopPanel();
2495 public void componentShown(ComponentEvent arg0
) {
2496 // TODO Auto-generated method stub
2501 Resize JDesktopPanel
2504 private void resizeDesktopPanel() {
2505 resizeDesktopPanel(this.jDesktopPaneModule
);
2506 resizeDesktopPanel(this.jDesktopPanePackage
);
2507 resizeDesktopPanel(this.jDesktopPanePlatform
);
2511 Resize JDesktopPanel
2514 private void resizeDesktopPanel(JDesktopPane jdk
) {
2515 JInternalFrame
[] iif
= jdk
.getAllFrames();
2516 for (int index
= 0; index
< iif
.length
; index
++) {
2517 iif
[index
].setSize(jdk
.getWidth(), jdk
.getHeight());
2521 private void getCompontentsFromFrameworkDatabase() {
2522 this.vModuleList
= wt
.getAllModules();
2523 this.vPackageList
= wt
.getAllPackages();
2524 this.vPlatformList
= wt
.getAllPlatforms();
2527 private void insertModuleTreeNode(Identification id
) {
2528 iTree
.addNode(new IDefaultMutableTreeNode("Module Definitions", IDefaultMutableTreeNode
.MSA_MODULEDEFINITIONS
,
2530 iTree
.addNode(new IDefaultMutableTreeNode("Library Class Definitions",
2531 IDefaultMutableTreeNode
.MSA_LIBRARYCLASSDEFINITIONS
, true, id
));
2532 iTree
.addNode(new IDefaultMutableTreeNode("Source Files", IDefaultMutableTreeNode
.MSA_SOURCEFILES
, true, id
));
2533 iTree
.addNode(new IDefaultMutableTreeNode("Package Dependencies",
2534 IDefaultMutableTreeNode
.MSA_PACKAGEDEPENDENCIES
, true, id
));
2535 iTree
.addNode(new IDefaultMutableTreeNode("Protocols", IDefaultMutableTreeNode
.MSA_PROTOCOLS
, true, id
));
2536 iTree
.addNode(new IDefaultMutableTreeNode("Events", IDefaultMutableTreeNode
.MSA_EVENTS
, true, id
));
2537 iTree
.addNode(new IDefaultMutableTreeNode("Hobs", IDefaultMutableTreeNode
.MSA_HOBS
, true, id
));
2538 iTree
.addNode(new IDefaultMutableTreeNode("Ppis", IDefaultMutableTreeNode
.MSA_PPIS
, true, id
));
2539 iTree
.addNode(new IDefaultMutableTreeNode("Variables", IDefaultMutableTreeNode
.MSA_VARIABLES
, true, id
));
2540 iTree
.addNode(new IDefaultMutableTreeNode("Boot Modes", IDefaultMutableTreeNode
.MSA_BOOTMODES
, true, id
));
2541 iTree
.addNode(new IDefaultMutableTreeNode("System Tables", IDefaultMutableTreeNode
.MSA_SYSTEMTABLES
, true, id
));
2542 iTree
.addNode(new IDefaultMutableTreeNode("Data Hubs", IDefaultMutableTreeNode
.MSA_DATAHUBS
, true, id
));
2543 iTree
.addNode(new IDefaultMutableTreeNode("Hii Packages", IDefaultMutableTreeNode
.MSA_HIIPACKAGES
, true, id
));
2544 iTree
.addNode(new IDefaultMutableTreeNode("Guids", IDefaultMutableTreeNode
.MSA_GUIDS
, true, id
));
2545 iTree
.addNode(new IDefaultMutableTreeNode("Externs", IDefaultMutableTreeNode
.MSA_EXTERNS
, true, id
));
2546 iTree
.addNode(new IDefaultMutableTreeNode("PcdCoded", IDefaultMutableTreeNode
.MSA_PCDS
, true, id
));
2549 private void insertPackageTreeNode(Identification id
) {
2550 iTree
.addNode(new IDefaultMutableTreeNode("Package Definitions",
2551 IDefaultMutableTreeNode
.SPD_PACKAGEDEFINITIONS
, true, id
));
2552 iTree
.addNode(new IDefaultMutableTreeNode("Library Class Declarations",
2553 IDefaultMutableTreeNode
.SPD_LIBRARYCLASSDECLARATIONS
, true, id
));
2554 iTree
.addNode(new IDefaultMutableTreeNode("Msa Files", IDefaultMutableTreeNode
.SPD_MSAFILES
, false, id
));
2555 iTree
.addNode(new IDefaultMutableTreeNode("Package Headers", IDefaultMutableTreeNode
.SPD_PACKAGEHEADERS
, true,
2557 iTree
.addNode(new IDefaultMutableTreeNode("Guid Declarations", IDefaultMutableTreeNode
.SPD_GUIDDECLARATIONS
,
2559 iTree
.addNode(new IDefaultMutableTreeNode("Protocol Declarations",
2560 IDefaultMutableTreeNode
.SPD_PROTOCOLDECLARATIONS
, true, id
));
2561 iTree
.addNode(new IDefaultMutableTreeNode("Ppi Declarations", IDefaultMutableTreeNode
.SPD_PPIDECLARATIONS
,
2563 iTree
.addNode(new IDefaultMutableTreeNode("Pcd Declarations", IDefaultMutableTreeNode
.SPD_PCDDECLARATIONS
,
2567 private void insertPlatformTreeNode(Identification id
) {
2568 iTree
.addNode(new IDefaultMutableTreeNode("Platform Definitions",
2569 IDefaultMutableTreeNode
.FPD_PLATFORMDEFINITIONS
, true, id
));
2570 iTree
.addNode(new IDefaultMutableTreeNode("Flash", IDefaultMutableTreeNode
.FPD_FLASH
, true, id
));
2571 iTree
.addNode(new IDefaultMutableTreeNode("Framework Modules", IDefaultMutableTreeNode
.FPD_FRAMEWORKMODULES
,
2573 iTree
.addNode(new IDefaultMutableTreeNode("Pcd Dynamic Build Declarations",
2574 IDefaultMutableTreeNode
.FPD_PCDDYNAMICBUILDDECLARATIONS
, true, id
));
2575 iTree
.addNode(new IDefaultMutableTreeNode("Build Options", IDefaultMutableTreeNode
.FPD_BUILDOPTIONS
, true, id
));
2579 Operate when double click a tree node
2582 private void doubleClickModuleTreeNode() {
2583 Identification id
= iTree
.getSelectNode().getId();
2584 int intCategory
= iTree
.getSelectCategory();
2587 // If the node is not opened yet
2588 // Insert top level elements first
2590 //if (intCategory == IDefaultMutableTreeNode.MSA_HEADER || intCategory == IDefaultMutableTreeNode.SPD_MSAFILES) {
2591 if (intCategory
== IDefaultMutableTreeNode
.MSA_HEADER
) {
2593 if (intCategory
== IDefaultMutableTreeNode
.MSA_HEADER
) {
2594 path
= iTree
.getSelectNode().getId().getPath();
2596 if (intCategory
== IDefaultMutableTreeNode
.SPD_MSAFILES
) {
2597 path
= iTree
.getSelectNode().getId().getPath();
2602 if (intCategory
== IDefaultMutableTreeNode
.SPD_HEADER
) {
2603 path
= iTree
.getSelectNode().getId().getPath();
2607 if (intCategory
== IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
) {
2608 path
= iTree
.getSelectNode().getId().getPath();
2613 // Show editor panel
2615 if (intCategory
>= IDefaultMutableTreeNode
.MSA_HEADER
&& intCategory
< IDefaultMutableTreeNode
.SPD_HEADER
) {
2616 showModuleElement(intCategory
, openingModuleList
.getOpeningModuleById(id
));
2617 this.currentOpeningModuleIndex
= openingModuleList
.findIndexOfListById(id
);
2619 if (intCategory
>= IDefaultMutableTreeNode
.SPD_HEADER
2620 && intCategory
< IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
) {
2621 showPackageElement(intCategory
, openingPackageList
.getOpeningPackageById(id
));
2622 this.currentOpeningPackageIndex
= openingPackageList
.findIndexOfListById(id
);
2624 if (intCategory
>= IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
) {
2625 showPlatformElement(intCategory
, openingPlatformList
.getOpeningPlatformById(id
));
2626 this.currentOpeningPlatformIndex
= openingPlatformList
.findIndexOfListById(id
);
2631 Show content of editor panel via selected element
2637 private void showPlatformElement(int elementType
, OpeningPlatformType fpd
) {
2638 this.cleanDesktopPanePlatform();
2640 switch (elementType
) {
2641 case IDefaultMutableTreeNode
.FPD_PLATFORMDEFINITIONS
:
2642 FpdPlatformDefs frmFpdPlatformDefs
= new FpdPlatformDefs(fpd
);
2643 getJDesktopPanePlatform().add(frmFpdPlatformDefs
, 1);
2645 case IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
:
2646 FpdHeader frmFpdHeader
= new FpdHeader(fpd
);
2647 getJDesktopPanePlatform().add(frmFpdHeader
, 1);
2649 case IDefaultMutableTreeNode
.FPD_FLASH
:
2650 FpdFlash frmFpdFlash
= new FpdFlash(fpd
);
2651 getJDesktopPanePlatform().add(frmFpdFlash
, 1);
2653 case IDefaultMutableTreeNode
.FPD_FRAMEWORKMODULES
:
2654 FpdFrameworkModules frmFpdFrameworkModules
= new FpdFrameworkModules(fpd
);
2655 getJDesktopPanePlatform().add(frmFpdFrameworkModules
, 1);
2657 case IDefaultMutableTreeNode
.FPD_PCDDYNAMICBUILDDECLARATIONS
:
2658 FpdDynamicPcdBuildDefinitions frmFpdDynamicPcdBuildDefinitions
= new FpdDynamicPcdBuildDefinitions(fpd
);
2659 getJDesktopPanePlatform().add(frmFpdDynamicPcdBuildDefinitions
, 1);
2661 case IDefaultMutableTreeNode
.FPD_BUILDOPTIONS
:
2662 FpdBuildOptions frmFpdBuildOptions
= new FpdBuildOptions(fpd
);
2663 getJDesktopPanePlatform().add(frmFpdBuildOptions
, 1);
2666 this.jTabbedPaneEditor
.setSelectedIndex(2);
2667 resizeDesktopPanel();
2671 Show content of editor panel via selected element
2677 private void showPackageElement(int elementType
, OpeningPackageType spd
) {
2678 this.cleanDesktopPanePackage();
2679 Tools
.dirForNewSpd
= spd
.getId().getPath();
2680 switch (elementType
) {
2681 case IDefaultMutableTreeNode
.SPD_HEADER
:
2682 SpdHeader frmSpdHeader
= new SpdHeader(spd
);
2683 getJDesktopPanePackage().add(frmSpdHeader
, 1);
2685 case IDefaultMutableTreeNode
.SPD_PACKAGEDEFINITIONS
:
2686 SpdPackageDefinitions frmSpdPackageDefinitions
= new SpdPackageDefinitions(spd
);
2687 getJDesktopPanePackage().add(frmSpdPackageDefinitions
, 1);
2689 case IDefaultMutableTreeNode
.SPD_LIBRARYCLASSDECLARATIONS
:
2690 SpdLibClassDecls frmSlcd
= new SpdLibClassDecls(spd
);
2691 getJDesktopPanePackage().add(frmSlcd
, 1);
2693 case IDefaultMutableTreeNode
.SPD_MSAFILES
:
2694 SpdMsaFiles frmSmf
= new SpdMsaFiles(spd
);
2695 getJDesktopPanePackage().add(frmSmf
, 1);
2697 case IDefaultMutableTreeNode
.SPD_PACKAGEHEADERS
:
2698 SpdPackageHeaders frmSph
= new SpdPackageHeaders(spd
);
2699 getJDesktopPanePackage().add(frmSph
, 1);
2701 case IDefaultMutableTreeNode
.SPD_GUIDDECLARATIONS
:
2702 SpdGuidDecls frmSgd
= new SpdGuidDecls(spd
);
2703 getJDesktopPanePackage().add(frmSgd
, 1);
2705 case IDefaultMutableTreeNode
.SPD_PROTOCOLDECLARATIONS
:
2706 SpdProtocolDecls frmSprod
= new SpdProtocolDecls(spd
);
2707 getJDesktopPanePackage().add(frmSprod
, 1);
2709 case IDefaultMutableTreeNode
.SPD_PPIDECLARATIONS
:
2710 SpdPpiDecls frmSppid
= new SpdPpiDecls(spd
);
2711 getJDesktopPanePackage().add(frmSppid
, 1);
2713 case IDefaultMutableTreeNode
.SPD_PCDDECLARATIONS
:
2714 SpdPcdDefs frmSpcdd
= new SpdPcdDefs(spd
);
2715 getJDesktopPanePackage().add(frmSpcdd
, 1);
2718 this.jTabbedPaneEditor
.setSelectedIndex(1);
2719 resizeDesktopPanel();
2723 Show content of editor panel via selected element
2729 private void showModuleElement(int elementType
, OpeningModuleType msa
) {
2730 this.cleanDesktopPaneModule();
2731 switch (elementType
) {
2732 case IDefaultMutableTreeNode
.MSA_HEADER
:
2733 MsaHeader frmMsaHeader
= new MsaHeader(msa
);
2734 getJDesktopPaneModule().add(frmMsaHeader
, 1);
2736 case IDefaultMutableTreeNode
.MSA_MODULEDEFINITIONS
:
2737 ModuleDefinitions frmMd
= new ModuleDefinitions(msa
);
2738 getJDesktopPaneModule().add(frmMd
, 1);
2740 case IDefaultMutableTreeNode
.MSA_LIBRARYCLASSDEFINITIONS
:
2741 ModuleLibraryClassDefinitions frmMlcd
= new ModuleLibraryClassDefinitions(msa
);
2742 getJDesktopPaneModule().add(frmMlcd
, 1);
2744 case IDefaultMutableTreeNode
.MSA_PACKAGEDEPENDENCIES
:
2745 ModulePackageDependencies frmMpd
= new ModulePackageDependencies(msa
);
2746 getJDesktopPaneModule().add(frmMpd
, 1);
2748 case IDefaultMutableTreeNode
.MSA_SOURCEFILES
:
2749 ModuleSourceFiles frmMsf
= new ModuleSourceFiles(msa
);
2750 getJDesktopPaneModule().add(frmMsf
, 1);
2752 case IDefaultMutableTreeNode
.MSA_PROTOCOLS
:
2753 ModuleProtocols frmMp
= new ModuleProtocols(msa
);
2754 getJDesktopPaneModule().add(frmMp
, 1);
2756 case IDefaultMutableTreeNode
.MSA_EVENTS
:
2757 ModuleEvents frmMe
= new ModuleEvents(msa
);
2758 getJDesktopPaneModule().add(frmMe
, 1);
2760 case IDefaultMutableTreeNode
.MSA_HOBS
:
2761 ModuleHobs frmMh
= new ModuleHobs(msa
);
2762 getJDesktopPaneModule().add(frmMh
, 1);
2764 case IDefaultMutableTreeNode
.MSA_PPIS
:
2765 ModulePpis frmMpp
= new ModulePpis(msa
);
2766 getJDesktopPaneModule().add(frmMpp
, 1);
2768 case IDefaultMutableTreeNode
.MSA_VARIABLES
:
2769 ModuleVariables frmMv
= new ModuleVariables(msa
);
2770 getJDesktopPaneModule().add(frmMv
, 1);
2772 case IDefaultMutableTreeNode
.MSA_BOOTMODES
:
2773 ModuleBootModes frmMbm
= new ModuleBootModes(msa
);
2774 getJDesktopPaneModule().add(frmMbm
, 1);
2776 case IDefaultMutableTreeNode
.MSA_SYSTEMTABLES
:
2777 ModuleSystemTables frmMst
= new ModuleSystemTables(msa
);
2778 getJDesktopPaneModule().add(frmMst
, 1);
2780 case IDefaultMutableTreeNode
.MSA_DATAHUBS
:
2781 ModuleDataHubs frmMdh
= new ModuleDataHubs(msa
);
2782 getJDesktopPaneModule().add(frmMdh
, 1);
2784 case IDefaultMutableTreeNode
.MSA_HIIPACKAGES
:
2785 ModuleHiiPackages frmMf
= new ModuleHiiPackages(msa
);
2786 getJDesktopPaneModule().add(frmMf
, 1);
2788 case IDefaultMutableTreeNode
.MSA_GUIDS
:
2789 ModuleGuids frmGuid
= new ModuleGuids(msa
);
2790 getJDesktopPaneModule().add(frmGuid
, 1);
2792 case IDefaultMutableTreeNode
.MSA_EXTERNS
:
2793 ModuleExterns frmMex
= new ModuleExterns(msa
);
2794 getJDesktopPaneModule().add(frmMex
, 1);
2796 case IDefaultMutableTreeNode
.MSA_PCDS
:
2797 ModulePCDs frmPcd
= new ModulePCDs(msa
);
2798 getJDesktopPaneModule().add(frmPcd
, 1);
2801 this.jTabbedPaneEditor
.setSelectedIndex(0);
2802 resizeDesktopPanel();
2806 // Define operations of menu
2812 private void fileNew() {
2815 // Selece new file type
2817 NewFileChooser nfc
= new NewFileChooser(this, true);
2818 result
= nfc
.showDialog();
2820 if (result
== DataType
.RETURN_TYPE_CANCEL
) {
2823 } else if (result
== DataType
.RETURN_TYPE_MODULE_SURFACE_AREA
) {
2827 SelectModuleBelong smb
= new SelectModuleBelong(this, true, result
);
2828 result
= smb
.showDialog();
2830 if (result
== DataType
.RETURN_TYPE_CANCEL
) {
2834 } else if (result
== DataType
.RETURN_TYPE_OK
) {
2835 PackageSurfaceAreaDocument
.PackageSurfaceArea psa
= null;
2836 if (this.openingPackageList
.existsPackage(smb
.getMid().getPackageId())) {
2837 psa
= openingPackageList
.getPackageSurfaceAreaFromId(smb
.getMid().getPackageId());
2840 wt
.addModuleToPackage(smb
.getMid(), psa
);
2841 } catch (IOException e
) {
2842 Log
.err("Upddate MsaFiles of Package", e
.getMessage());
2843 e
.printStackTrace();
2845 } catch (XmlException e
) {
2846 Log
.err("Upddate MsaFiles of Package", e
.getMessage());
2847 e
.printStackTrace();
2849 } catch (Exception e
) {
2850 Log
.err("Upddate MsaFiles of Package", e
.getMessage());
2851 e
.printStackTrace();
2854 this.openModule(smb
.getMid().getPath(), smb
.getMid());
2856 } else if (result
== DataType
.RETURN_TYPE_PACKAGE_SURFACE_AREA
) {
2860 SelectModuleBelong smb
= new SelectModuleBelong(this, true, result
);
2861 result
= smb
.showDialog();
2863 if (result
== DataType
.RETURN_TYPE_CANCEL
) {
2867 } else if (result
== DataType
.RETURN_TYPE_OK
) {
2869 wt
.addPackageToDatabase(smb
.getPid());
2870 } catch (Exception e
) {
2871 // TODO Auto-generated catch block
2872 e
.printStackTrace();
2874 vPackageList
.addElement(smb
.getPid());
2876 // Add new SpdHeader node to the tree
2878 IDefaultMutableTreeNode node
= new IDefaultMutableTreeNode(vPackageList
.lastElement().getName(),
2879 IDefaultMutableTreeNode
.SPD_HEADER
, true,
2880 vPackageList
.lastElement());
2881 iTree
.addNode(dmtnPackageDescription
, node
);
2882 this.openPackage(smb
.getPid().getPath());
2884 } else if (result
== DataType
.RETURN_TYPE_PLATFORM_SURFACE_AREA
) {
2886 // To new a platform
2888 SelectModuleBelong smb
= new SelectModuleBelong(this, true, result
);
2889 result
= smb
.showDialog();
2891 if (result
== DataType
.RETURN_TYPE_CANCEL
) {
2895 } else if (result
== DataType
.RETURN_TYPE_OK
) {
2897 wt
.addPlatformToDatabase(smb
.getFid());
2898 } catch (Exception e
) {
2899 // TODO Auto-generated catch block
2900 e
.printStackTrace();
2902 vPlatformList
.addElement(smb
.getFid());
2904 // Add new SpdHeader node to the tree
2906 IDefaultMutableTreeNode node
= new IDefaultMutableTreeNode(vPlatformList
.lastElement().getName(),
2907 IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
,
2908 true, vPlatformList
.lastElement());
2909 iTree
.addNode(dmtnPlatformDescription
, node
);
2910 this.openPlatform(smb
.getFid().getPath());
2919 private void open() {
2920 JFileChooser fc
= new JFileChooser(Workspace
.getCurrentWorkspace());
2921 fc
.setAcceptAllFileFilterUsed(false);
2922 IFileFilter iffM
= new IFileFilter(DataType
.MODULE_SURFACE_AREA_EXT
);
2923 IFileFilter iffP
= new IFileFilter(DataType
.PACKAGE_SURFACE_AREA_EXT
);
2924 IFileFilter iffF
= new IFileFilter(DataType
.PLATFORM_SURFACE_AREA_EXT
);
2925 fc
.addChoosableFileFilter(iffM
);
2926 fc
.addChoosableFileFilter(iffP
);
2927 fc
.addChoosableFileFilter(iffF
);
2928 fc
.setFileFilter(iffM
);
2930 int result
= fc
.showOpenDialog(new JPanel());
2932 if (result
== JFileChooser
.APPROVE_OPTION
) {
2933 String path
= fc
.getSelectedFile().getPath();
2934 String match
= path
.substring(path
.length() - 4);
2935 if (match
.equals(DataType
.FILE_EXT_SEPARATOR
+ DataType
.MODULE_SURFACE_AREA_EXT
)) {
2937 } else if (match
.equals(DataType
.FILE_EXT_SEPARATOR
+ DataType
.PACKAGE_SURFACE_AREA_EXT
)) {
2939 } else if (match
.equals(DataType
.FILE_EXT_SEPARATOR
+ DataType
.PLATFORM_SURFACE_AREA_EXT
)) {
2949 private void close() {
2950 switch (this.jTabbedPaneEditor
.getSelectedIndex()) {
2952 // Current is module
2955 if (this.currentOpeningModuleIndex
> -1) {
2956 if (!openingModuleList
.getModuleSaved(currentOpeningModuleIndex
)) {
2957 int result
= showSaveDialog();
2958 if (result
== JOptionPane
.YES_OPTION
) {
2961 if (result
== JOptionPane
.NO_OPTION
) {
2964 if (result
== JOptionPane
.CANCEL_OPTION
) {
2968 iTree
.removeNodeChildrenByPath(openingModuleList
.getTreePathByIndex(currentOpeningModuleIndex
));
2969 this.openingModuleList
.removeFromOpeningModuleListByIndex(this.currentOpeningModuleIndex
);
2970 this.cleanDesktopPaneModule();
2971 this.currentOpeningModuleIndex
= -1;
2975 // Current is package
2978 if (this.currentOpeningPackageIndex
> -1) {
2979 if (!openingPackageList
.getPackageSaved(currentOpeningPackageIndex
)) {
2980 int result
= showSaveDialog();
2981 if (result
== JOptionPane
.YES_OPTION
) {
2984 if (result
== JOptionPane
.NO_OPTION
) {
2987 if (result
== JOptionPane
.CANCEL_OPTION
) {
2991 iTree
.removeNodeChildrenByPath(openingPackageList
.getTreePathByIndex(currentOpeningPackageIndex
));
2992 this.openingPackageList
.removeFromOpeningPackageListByIndex(this.currentOpeningPackageIndex
);
2993 this.cleanDesktopPanePackage();
2994 this.currentOpeningPackageIndex
= -1;
2998 // Current is platform
3001 if (this.currentOpeningPlatformIndex
> -1) {
3002 if (!openingPlatformList
.getPlatformSaved(currentOpeningPlatformIndex
)) {
3003 int result
= showSaveDialog();
3004 if (result
== JOptionPane
.YES_OPTION
) {
3007 if (result
== JOptionPane
.NO_OPTION
) {
3010 if (result
== JOptionPane
.CANCEL_OPTION
) {
3014 iTree
.removeNodeChildrenByPath(openingPlatformList
.getTreePathByIndex(currentOpeningPlatformIndex
));
3015 this.openingPlatformList
.removeFromOpeningPlatformListByIndex(this.currentOpeningPlatformIndex
);
3016 this.cleanDesktopPanePlatform();
3017 this.currentOpeningPlatformIndex
= -1;
3024 Close all opening files and clean all showing internal frame
3027 private void closeAll() {
3029 if (!openingModuleList
.isSaved() || !openingPackageList
.isSaved() || !openingPlatformList
.isSaved()) {
3030 result
= showSaveDialog();
3032 if (result
== JOptionPane
.YES_OPTION
) {
3035 if (result
== JOptionPane
.NO_OPTION
) {
3038 if (result
== JOptionPane
.CANCEL_OPTION
) {
3041 this.cleanDesktopPane();
3042 this.getCompontentsFromFrameworkDatabase();
3043 openingModuleList
.removeAllFromOpeningModuleList();
3044 openingPackageList
.removeAllFromOpeningPackageList();
3045 openingPlatformList
.removeAllFromOpeningPlatformList();
3046 this.makeEmptyTree();
3050 Save currentModule when press button OK
3053 private void save() {
3054 switch (this.jTabbedPaneEditor
.getSelectedIndex()) {
3056 if (this.currentOpeningModuleIndex
> -1) {
3057 saveModule(this.currentOpeningModuleIndex
);
3061 if (this.currentOpeningPackageIndex
> -1) {
3062 savePackage(this.currentOpeningPackageIndex
);
3066 if (this.currentOpeningPlatformIndex
> -1) {
3067 savePlatform(this.currentOpeningPlatformIndex
);
3073 private void saveAs() {
3077 private void saveAll() {
3081 for (int index
= 0; index
< openingModuleList
.size(); index
++) {
3082 if (!openingModuleList
.getModuleSaved(index
)) {
3088 // Save all packages
3090 for (int index
= 0; index
< openingPackageList
.size(); index
++) {
3091 if (!openingPackageList
.getPackageSaved(index
)) {
3097 // Save all platforms
3099 for (int index
= 0; index
< openingPlatformList
.size(); index
++) {
3100 if (!openingPlatformList
.getPlatformSaved(index
)) {
3101 savePlatform(index
);
3107 To save changed items before exit.
3110 private void exit() {
3112 if (!openingModuleList
.isSaved() || !openingPackageList
.isSaved() || !openingPlatformList
.isSaved()) {
3113 result
= showSaveDialog();
3115 if (result
== JOptionPane
.YES_OPTION
) {
3118 if (result
== JOptionPane
.NO_OPTION
) {
3121 if (result
== JOptionPane
.CANCEL_OPTION
) {
3129 Switch current workspace to others
3132 private void changeWorkspace() {
3133 SwitchWorkspace sw
= new SwitchWorkspace(this, true);
3134 int result
= sw
.showDialog();
3135 if (result
== DataType
.RETURN_TYPE_CANCEL
) {
3137 } else if (result
== DataType
.RETURN_TYPE_OK
) {
3139 // Reinit whole window
3142 this.setTitle(DataType
.PROJECT_NAME
+ " " + DataType
.PROJECT_VERSION
+ " " + "- ["
3143 + Workspace
.getCurrentWorkspace() + "]");
3149 Show Tool Chain Configuration Dialog to setup Tool Chain
3152 private void setupToolChainConfiguration() {
3153 ToolChainConfig tcc
= ToolChainConfig
.getInstance();
3161 private void cloneItem() {
3165 // Check if there is any item can be cloned
3167 if (iTree
.getSelectionPath() == null) {
3168 Log
.err("Please select a target to clone!");
3171 int category
= iTree
.getSelectCategory();
3172 Identification id
= iTree
.getSelectNode().getId();
3173 if (category
== IDefaultMutableTreeNode
.MODULE
|| category
== IDefaultMutableTreeNode
.PACKAGE
3174 || category
== IDefaultMutableTreeNode
.PLATFORM
) {
3175 Log
.err("Please select a target to clone!");
3179 if (category
== IDefaultMutableTreeNode
.WORKSPACE
) {
3180 mode
= DataType
.RETURN_TYPE_WORKSPACE
;
3183 if (category
>= IDefaultMutableTreeNode
.MSA_HEADER
&& category
< IDefaultMutableTreeNode
.SPD_HEADER
) {
3184 mode
= DataType
.RETURN_TYPE_MODULE_SURFACE_AREA
;
3186 if (category
>= IDefaultMutableTreeNode
.SPD_HEADER
&& category
< IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
) {
3187 mode
= DataType
.RETURN_TYPE_PACKAGE_SURFACE_AREA
;
3189 if (category
>= IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
) {
3190 mode
= DataType
.RETURN_TYPE_PLATFORM_SURFACE_AREA
;
3193 Clone c
= new Clone(this, true, mode
, id
);
3194 int result
= c
.showDialog();
3196 if (result
== DataType
.RETURN_TYPE_CANCEL
) {
3199 if (result
== DataType
.RETURN_TYPE_WORKSPACE
) {
3200 Tools
.showInformationMessage("Workspace Clone Finished");
3202 if (result
== DataType
.RETURN_TYPE_MODULE_SURFACE_AREA
) {
3203 Tools
.showInformationMessage("Module Surface Area Clone Finished");
3204 vModuleList
.addElement(c
.getMid());
3205 addModuleToTree(c
.getMid());
3207 if (result
== DataType
.RETURN_TYPE_PACKAGE_SURFACE_AREA
) {
3208 Tools
.showInformationMessage("Package Surface Area Clone Finished");
3209 vPackageList
.addElement(c
.getPid());
3211 // Add new SpdHeader node to the tree
3213 IDefaultMutableTreeNode node
= new IDefaultMutableTreeNode(vPackageList
.lastElement().getName(),
3214 IDefaultMutableTreeNode
.SPD_HEADER
, true,
3215 vPackageList
.lastElement());
3216 iTree
.addNode(dmtnPackageDescription
, node
);
3218 if (result
== DataType
.RETURN_TYPE_PLATFORM_SURFACE_AREA
) {
3219 Tools
.showInformationMessage("Platform Surface Area Clone Finished");
3220 vPlatformList
.addElement(c
.getFid());
3222 // Add new SpdHeader node to the tree
3224 IDefaultMutableTreeNode node
= new IDefaultMutableTreeNode(vPlatformList
.lastElement().getName(),
3225 IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
,
3226 true, vPlatformList
.lastElement());
3227 iTree
.addNode(dmtnPlatformDescription
, node
);
3228 //this.openPlatform(c.getFid().getPath());
3230 if (result
== DataType
.RETURN_TYPE_OK
) {
3235 public void valueChanged(TreeSelectionEvent arg0
) {
3236 // TODO Auto-generated method stub
3240 public void menuCanceled(MenuEvent arg0
) {
3241 // TODO Auto-generated method stub
3245 public void menuDeselected(MenuEvent arg0
) {
3246 // TODO Auto-generated method stub
3250 public void menuSelected(MenuEvent arg0
) {
3251 if (arg0
.getSource() == jMenuFile
) {
3253 // Enable close/close all if some files are opened
3255 jMenuItemFileClose
.setEnabled(openingModuleList
.isOpend() || openingPackageList
.isOpend()
3256 || openingPlatformList
.isOpend());
3257 jMenuItemFileCloseAll
.setEnabled(openingModuleList
.isOpend() || openingPackageList
.isOpend()
3258 || openingPlatformList
.isOpend());
3261 // Enable save/save all if some files are changed
3263 jMenuItemFileSave
.setEnabled(!openingModuleList
.isSaved() || !openingPackageList
.isSaved()
3264 || !openingPlatformList
.isSaved());
3265 jMenuItemFileSaveAll
.setEnabled(!openingModuleList
.isSaved() || !openingPackageList
.isSaved()
3266 || !openingPlatformList
.isSaved());
3269 if (arg0
.getSource() == jMenuTools
) {
3271 // Enable clone when select some items
3273 if (iTree
.getSelectionPath() == null) {
3274 jMenuItemToolsClone
.setEnabled(false);
3276 int category
= iTree
.getSelectCategory();
3277 if (category
== IDefaultMutableTreeNode
.MODULE
|| category
== IDefaultMutableTreeNode
.PACKAGE
3278 || category
== IDefaultMutableTreeNode
.PLATFORM
3279 || category
== IDefaultMutableTreeNode
.MODULE_PACKAGE
3280 || category
== IDefaultMutableTreeNode
.MODULE_PACKAGE_LIBRARY
3281 || category
== IDefaultMutableTreeNode
.MODULE_PACKAGE_MODULE
) {
3282 jMenuItemToolsClone
.setEnabled(false);
3284 jMenuItemToolsClone
.setEnabled(true);