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
.module
.Identifications
.ModuleIdentification
;
68 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleBootModes
;
69 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleDataHubs
;
70 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleDefinitions
;
71 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleEvents
;
72 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleExterns
;
73 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleGuids
;
74 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleHiiPackages
;
75 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleHobs
;
76 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleLibraryClassDefinitions
;
77 import org
.tianocore
.frameworkwizard
.module
.ui
.ModulePCDs
;
78 import org
.tianocore
.frameworkwizard
.module
.ui
.ModulePackageDependencies
;
79 import org
.tianocore
.frameworkwizard
.module
.ui
.ModulePpis
;
80 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleProtocols
;
81 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleSourceFiles
;
82 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleSystemTables
;
83 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleVariables
;
84 import org
.tianocore
.frameworkwizard
.module
.ui
.MsaHeader
;
85 import org
.tianocore
.frameworkwizard
.packaging
.PackageIdentification
;
86 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdGuidDecls
;
87 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdHeader
;
88 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdLibClassDecls
;
89 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdMsaFiles
;
90 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdPackageDefinitions
;
91 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdPackageHeaders
;
92 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdPcdDefs
;
93 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdPpiDecls
;
94 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdProtocolDecls
;
95 import org
.tianocore
.frameworkwizard
.platform
.PlatformIdentification
;
96 import org
.tianocore
.frameworkwizard
.platform
.ui
.FpdBuildOptions
;
97 import org
.tianocore
.frameworkwizard
.platform
.ui
.FpdDynamicPcdBuildDefinitions
;
98 import org
.tianocore
.frameworkwizard
.platform
.ui
.FpdFlash
;
99 import org
.tianocore
.frameworkwizard
.platform
.ui
.FpdFrameworkModules
;
100 import org
.tianocore
.frameworkwizard
.platform
.ui
.FpdHeader
;
101 import org
.tianocore
.frameworkwizard
.platform
.ui
.FpdPlatformDefs
;
102 import org
.tianocore
.frameworkwizard
.workspace
.Workspace
;
103 import org
.tianocore
.frameworkwizard
.workspace
.WorkspaceTools
;
104 import org
.tianocore
.frameworkwizard
.workspace
.ui
.SwitchWorkspace
;
107 The class is used to show main GUI of ModuleEditor
108 It extends IFrame implements MouseListener, TreeSelectionListener
111 public class FrameworkWizardUI
extends IFrame
implements MouseListener
, TreeSelectionListener
, ComponentListener
,
114 /// Define class Serial Version UID
116 private static final long serialVersionUID
= -7103240960573031772L;
119 // To save information of all files
121 private Vector
<ModuleIdentification
> vModuleList
= new Vector
<ModuleIdentification
>();
123 private Vector
<PackageIdentification
> vPackageList
= new Vector
<PackageIdentification
>();
125 private Vector
<PlatformIdentification
> vPlatformList
= new Vector
<PlatformIdentification
>();
127 private OpeningModuleList openingModuleList
= new OpeningModuleList();
129 private OpeningPackageList openingPackageList
= new OpeningPackageList();
131 private OpeningPlatformList openingPlatformList
= new OpeningPlatformList();
133 private int currentOpeningModuleIndex
= -1;
135 private int currentOpeningPackageIndex
= -1;
137 private int currentOpeningPlatformIndex
= -1;
139 private IDefaultMutableTreeNode dmtnRoot
= null;
141 private IDefaultMutableTreeNode dmtnModuleDescription
= null;
143 private IDefaultMutableTreeNode dmtnPackageDescription
= null;
145 private IDefaultMutableTreeNode dmtnPlatformDescription
= null;
147 private JPanel jContentPane
= null;
149 private JMenuBar jMenuBar
= null;
151 private JMenu jMenuFile
= null;
153 private JMenuItem jMenuItemFileNew
= null;
155 private JMenuItem jMenuItemFileSaveAs
= null;
157 private JMenuItem jMenuItemFileExit
= null;
159 private JMenu jMenuEdit
= null;
161 private JDesktopPane jDesktopPaneModule
= null;
163 private JDesktopPane jDesktopPanePackage
= null;
165 private JDesktopPane jDesktopPanePlatform
= null;
167 private JTabbedPane jTabbedPaneTree
= null;
169 private JTabbedPane jTabbedPaneEditor
= null;
171 private IDesktopManager iDesktopManager
= new IDesktopManager();
173 private JScrollPane jScrollPaneTree
= null;
175 private ITree iTree
= null;
177 private JMenu jMenuHelp
= null;
179 private JMenuItem jMenuItemHelpAbout
= null;
181 private JMenuItem jMenuItemEditDelete
= null;
183 private WorkspaceTools wt
= new WorkspaceTools();
185 private JMenuItem jMenuItemFileSave
= null;
187 private JMenuItem jMenuItemFileClose
= null;
189 private JMenu jMenuTools
= null;
191 private JMenu jMenuWindow
= null;
193 private JPanel jPanelOperation
= null;
195 private JButton jButtonOk
= null;
197 private JButton jButtonCancel
= null;
199 private JMenuItem jMenuItemFileOpen
= null;
201 private JMenuItem jMenuItemFileCloseAll
= null;
203 private JMenuItem jMenuItemFileSaveAll
= null;
205 private JMenuItem jMenuItemFilePageSetup
= null;
207 private JMenuItem jMenuItemFilePrint
= null;
209 private JMenuItem jMenuItemFileImport
= null;
211 private JMenuItem jMenuItemFileProperties
= null;
213 private JMenu jMenuFileRecentFiles
= null;
215 private JSplitPane jSplitPane
= null;
217 private JMenuItem jMenuItemEditUndo
= null;
219 private JMenuItem jMenuItemEditRedo
= null;
221 private JMenuItem jMenuItemEditCut
= null;
223 private JMenuItem jMenuItemEditCopy
= null;
225 private JMenuItem jMenuItemEditPaste
= null;
227 private JMenuItem jMenuItemEditSelectAll
= null;
229 private JMenuItem jMenuItemEditFind
= null;
231 private JMenuItem jMenuItemEditFindNext
= null;
233 private JMenu jMenuView
= null;
235 private JMenu jMenuViewToolbars
= null;
237 private JCheckBoxMenuItem jCheckBoxMenuItemViewToolbarsFile
= null;
239 private JCheckBoxMenuItem jCheckBoxMenuItemViewToolbarsEdit
= null;
241 private JCheckBoxMenuItem jCheckBoxMenuItemViewToolbarsWindow
= null;
243 private JMenuItem jMenuItemViewStandard
= null;
245 private JMenuItem jMenuItemViewAdvanced
= null;
247 private JMenu jMenuProject
= null;
249 private JMenuItem jMenuItemProjectAdmin
= null;
251 private JMenuItem jMenuItemProjectChangeWorkspace
= null;
253 private JMenu jMenuProjectBuildTargets
= null;
255 private JCheckBoxMenuItem jCheckBoxMenuItemProjectBuildTargetsDebug
= null;
257 private JCheckBoxMenuItem jCheckBoxMenuItemProjectBuildTargetsRelease
= null;
259 private JMenuItem jMenuItemToolsToolChainConfiguration
= null;
261 private JMenuItem jMenuItemToolsClone
= null;
263 private JMenuItem jMenuItemToolsCodeScan
= null;
265 private JMenuItem jMenuItemWindowDisplaySide
= null;
267 private JMenuItem jMenuItemWindowDisplayTopBottom
= null;
269 private JMenuItem jMenuItemViewXML
= null;
271 private JMenuItem jMenuItemWindowTabView
= null;
273 private JMenuItem jMenuItemWindowSource
= null;
275 private JMenuItem jMenuItemWindowXML
= null;
277 private JMenuItem jMenuItemWindowPreferences
= null;
279 private JMenuItem jMenuItemHelpContents
= null;
281 private JMenuItem jMenuItemHelpIndex
= null;
283 private JMenuItem jMenuItemHelpSearch
= null;
285 private JMenuItem jMenuItemProjectInstallFar
= null;
287 private JMenuItem jMenuItemProjectUpdateFar
= null;
289 private JMenuItem jMenuItemProjectRemoveFar
= null;
291 //private JToolBar jToolBarFile = null;
293 //private JToolBar jToolBarEdit = null;
295 //private JToolBar jToolBarWindow = null;
297 private static FrameworkWizardUI fwui
= null;
299 private JMenuItem jMenuItemProjectCreateFar
= null;
301 public static FrameworkWizardUI
getInstance() {
303 fwui
= new FrameworkWizardUI();
309 This method initializes jMenuBar
311 @return javax.swing.JMenuBar Main menu bar for the entire GUI
314 private JMenuBar
getjJMenuBar() {
315 if (jMenuBar
== null) {
316 jMenuBar
= new JMenuBar();
317 jMenuBar
.setPreferredSize(new java
.awt
.Dimension(0, 18));
318 jMenuBar
.add(getJMenuFile());
319 jMenuBar
.add(getJMenuEdit());
320 jMenuBar
.add(getJMenuView());
321 jMenuBar
.add(getJMenuProject());
322 jMenuBar
.add(getJMenuTools());
323 jMenuBar
.add(getJMenuWindow());
324 jMenuBar
.add(getJMenuHelp());
330 This method initializes jSplitPane
332 @return javax.swing.JSplitPane
335 private JSplitPane
getJSplitPane() {
336 if (jSplitPane
== null) {
337 jSplitPane
= new JSplitPane(JSplitPane
.HORIZONTAL_SPLIT
, getJTabbedPaneTree(), getJTabbedPaneEditor());
338 jSplitPane
.setBounds(new java
.awt
.Rectangle(0, 1, DataType
.MAIN_FRAME_SPLIT_PANEL_PREFERRED_SIZE_WIDTH
,
339 DataType
.MAIN_FRAME_SPLIT_PANEL_PREFERRED_SIZE_HEIGHT
));
340 jSplitPane
.addComponentListener(this);
346 This method initializes jTabbedPaneEditor
348 @return javax.swing.JTabbedPane
351 private JTabbedPane
getJTabbedPaneEditor() {
352 if (jTabbedPaneEditor
== null) {
353 jTabbedPaneEditor
= new JTabbedPane();
354 jTabbedPaneEditor
.setBounds(new java
.awt
.Rectangle(DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_X
,
355 DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_Y
,
356 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
357 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
359 .setMinimumSize(new java
.awt
.Dimension(
360 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
361 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
362 //jTabbedPaneEditor.addChangeListener(this);
363 jTabbedPaneEditor
.addTab("Module", null, getJDesktopPaneModule(), null);
364 jTabbedPaneEditor
.addTab("Package", null, getJDesktopPanePackage(), null);
365 jTabbedPaneEditor
.addTab("Platform", null, getJDesktopPanePlatform(), null);
367 return jTabbedPaneEditor
;
371 This method initializes jTabbedPaneTree
373 @return javax.swing.JTabbedPane
376 private JTabbedPane
getJTabbedPaneTree() {
377 if (jTabbedPaneTree
== null) {
378 jTabbedPaneTree
= new JTabbedPane();
380 .setPreferredSize(new java
.awt
.Dimension(
381 DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_WIDTH
,
382 DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_HEIGHT
));
384 .setMinimumSize(new java
.awt
.Dimension(DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_WIDTH
,
385 DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_HEIGHT
));
386 jTabbedPaneTree
.addTab("Workspace Explorer", null, getJScrollPaneTree(), null);
388 return jTabbedPaneTree
;
392 This method initializes jMenuFile
394 @return javax.swing.JMenu jMenuModule
397 private JMenu
getJMenuFile() {
398 if (jMenuFile
== null) {
399 jMenuFile
= new JMenu();
400 jMenuFile
.setText("File");
401 jMenuFile
.setMnemonic('F');
402 jMenuFile
.add(getJMenuItemFileNew());
403 jMenuFile
.add(getJMenuItemFileOpen());
404 jMenuFile
.add(getJMenuItemFileClose());
405 jMenuFile
.add(getJMenuItemFileCloseAll());
406 jMenuFile
.addSeparator();
407 jMenuFile
.add(getJMenuFileRecentFiles());
408 //jMenuFile.addSeparator();
409 jMenuFile
.add(getJMenuItemFileSave());
410 jMenuFile
.add(getJMenuItemFileSaveAs());
411 jMenuFile
.add(getJMenuItemFileSaveAll());
412 jMenuFile
.addSeparator();
413 jMenuFile
.add(getJMenuItemFilePageSetup());
414 jMenuFile
.add(getJMenuItemFilePrint());
415 //jMenuFile.addSeparator();
416 jMenuFile
.add(getJMenuItemFileImport());
417 //jMenuFile.addSeparator();
418 jMenuFile
.add(getJMenuItemFileProperties());
419 //jMenuFile.addSeparator();
420 jMenuFile
.add(getJMenuItemFileExit());
421 jMenuFile
.addMenuListener(this);
427 This method initializes jMenuItemFileSaveAs
429 @return javax.swing.JMenuItem jMenuItemFileSaveAs
432 private JMenuItem
getJMenuItemFileSaveAs() {
433 if (jMenuItemFileSaveAs
== null) {
434 jMenuItemFileSaveAs
= new JMenuItem();
435 jMenuItemFileSaveAs
.setText("Save As...");
436 jMenuItemFileSaveAs
.setMnemonic('a');
437 jMenuItemFileSaveAs
.addActionListener(this);
438 jMenuItemFileSaveAs
.setEnabled(false);
439 jMenuItemFileSaveAs
.setVisible(false);
441 return jMenuItemFileSaveAs
;
445 This method initializes jMenuItemModuleExit
447 @return javax.swing.JMenuItem jMenuItemModuleExit
450 private JMenuItem
getJMenuItemFileExit() {
451 if (jMenuItemFileExit
== null) {
452 jMenuItemFileExit
= new JMenuItem();
453 jMenuItemFileExit
.setText("Exit");
454 jMenuItemFileExit
.setMnemonic('x');
455 jMenuItemFileExit
.addActionListener(this);
457 return jMenuItemFileExit
;
461 This method initializes jMenuEdit
463 @return javax.swing.JMenu jMenuEdit
466 private JMenu
getJMenuEdit() {
467 if (jMenuEdit
== null) {
468 jMenuEdit
= new JMenu();
469 jMenuEdit
.setText("Edit");
470 jMenuEdit
.setMnemonic('E');
471 jMenuEdit
.add(getJMenuItemEditUndo());
472 jMenuEdit
.add(getJMenuItemEditRedo());
473 jMenuEdit
.addSeparator();
474 jMenuEdit
.add(getJMenuItemEditCut());
475 jMenuEdit
.add(getJMenuItemEditCopy());
476 jMenuEdit
.add(getJMenuItemEditPaste());
477 jMenuEdit
.add(getJMenuItemEditDelete());
478 jMenuEdit
.addSeparator();
479 jMenuEdit
.add(getJMenuItemEditSelectAll());
480 jMenuEdit
.add(getJMenuItemEditFind());
481 jMenuEdit
.add(getJMenuItemEditFindNext());
482 jMenuEdit
.addSeparator();
483 jMenuEdit
.setVisible(false);
489 This method initializes jDesktopPane
491 @return javax.swing.JDesktopPane jDesktopPane
494 private JDesktopPane
getJDesktopPaneModule() {
495 if (jDesktopPaneModule
== null) {
496 jDesktopPaneModule
= new JDesktopPane();
498 .setBounds(new java
.awt
.Rectangle(DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_X
,
499 DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_Y
,
500 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
501 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
503 .setMinimumSize(new java
.awt
.Dimension(
504 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
505 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
506 jDesktopPaneModule
.setDesktopManager(iDesktopManager
);
507 jDesktopPaneModule
.addComponentListener(this);
509 return jDesktopPaneModule
;
513 This method initializes jDesktopPane
515 @return javax.swing.JDesktopPane jDesktopPane
518 private JDesktopPane
getJDesktopPanePackage() {
519 if (jDesktopPanePackage
== null) {
520 jDesktopPanePackage
= new JDesktopPane();
522 .setBounds(new java
.awt
.Rectangle(DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_X
,
523 DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_Y
,
524 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
525 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
527 .setMinimumSize(new java
.awt
.Dimension(
528 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
529 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
530 jDesktopPanePackage
.setDesktopManager(iDesktopManager
);
531 jDesktopPanePackage
.addComponentListener(this);
533 return jDesktopPanePackage
;
537 This method initializes jDesktopPane
539 @return javax.swing.JDesktopPane jDesktopPane
542 private JDesktopPane
getJDesktopPanePlatform() {
543 if (jDesktopPanePlatform
== null) {
544 jDesktopPanePlatform
= new JDesktopPane();
546 .setBounds(new java
.awt
.Rectangle(
547 DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_X
,
548 DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_Y
,
549 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
550 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
552 .setMinimumSize(new java
.awt
.Dimension(
553 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
554 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
555 jDesktopPanePlatform
.setDesktopManager(iDesktopManager
);
556 jDesktopPanePlatform
.addComponentListener(this);
558 return jDesktopPanePlatform
;
562 This method initializes jScrollPaneTree
564 @return javax.swing.JScrollPane jScrollPaneTree
567 private JScrollPane
getJScrollPaneTree() {
568 if (jScrollPaneTree
== null) {
569 jScrollPaneTree
= new JScrollPane();
570 //jScrollPaneTree.setBounds(new java.awt.Rectangle(0, 1, 290, 545));
572 .setPreferredSize(new java
.awt
.Dimension(
573 DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_WIDTH
,
574 DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_HEIGHT
));
576 .setMinimumSize(new java
.awt
.Dimension(
577 DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_WIDTH
/ 2,
578 DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_HEIGHT
));
579 jScrollPaneTree
.setViewportView(getITree());
581 return jScrollPaneTree
;
585 This method initializes iTree
587 @return org.tianocore.packaging.common.ui.ITree iTree
590 private ITree
getITree() {
592 //Before open a real module, use an empty root node for the tree
599 This method initializes jMenuHelp
601 @return javax.swing.JMenu jMenuHelp
604 private JMenu
getJMenuHelp() {
605 if (jMenuHelp
== null) {
606 jMenuHelp
= new JMenu();
607 jMenuHelp
.setText("Help");
608 jMenuHelp
.add(getJMenuItemHelpContents());
609 jMenuHelp
.add(getJMenuItemHelpIndex());
610 jMenuHelp
.add(getJMenuItemHelpSearch());
611 //jMenuHelp.addSeparator();
612 jMenuHelp
.add(getJMenuItemHelpAbout());
618 This method initializes jMenuItemHelpAbout
620 @return javax.swing.JMenuItem jMenuItemHelpAbout
623 private JMenuItem
getJMenuItemHelpAbout() {
624 if (jMenuItemHelpAbout
== null) {
625 jMenuItemHelpAbout
= new JMenuItem();
626 jMenuItemHelpAbout
.setText("About...");
627 jMenuItemHelpAbout
.addActionListener(this);
629 return jMenuItemHelpAbout
;
633 This method initializes jMenuItemEditDelete
635 @return javax.swing.JMenuItem jMenuItemEditDelete
638 private JMenuItem
getJMenuItemEditDelete() {
639 if (jMenuItemEditDelete
== null) {
640 jMenuItemEditDelete
= new JMenuItem();
641 jMenuItemEditDelete
.setText("Delete");
642 jMenuItemEditDelete
.setMnemonic('D');
643 jMenuItemEditDelete
.addActionListener(this);
645 //Disabled when no module is open
647 jMenuItemEditDelete
.setEnabled(false);
649 return jMenuItemEditDelete
;
653 // This method initializes jPopupMenu
655 // @return javax.swing.JPopupMenu jPopupMenu
658 // private JPopupMenu getJPopupMenu() {
659 // if (jPopupMenu == null) {
660 // jPopupMenu = new JPopupMenu();
662 // //Add menu items of popup menu
664 // jPopupMenu.add(getJMenuItemPopupAdd());
665 // jPopupMenu.add(getJMenuItemPopupUpdate());
666 // jPopupMenu.add(getJMenuItemPopupDelete());
667 // jPopupMenu.setBorder(new BevelBorder(BevelBorder.RAISED));
668 // jPopupMenu.addMouseListener(this);
670 // return jPopupMenu;
674 // This method initializes jMenuItemPopupAdd
676 // @return javax.swing.JMenuItem jMenuItemPopupAdd
679 // private JMenuItem getJMenuItemPopupAdd() {
680 // if (jMenuItemPopupAdd == null) {
681 // jMenuItemPopupAdd = new JMenuItem();
682 // jMenuItemPopupAdd.setText("Add");
683 // jMenuItemPopupAdd.addActionListener(this);
684 // jMenuItemPopupAdd.setEnabled(false);
686 // return jMenuItemPopupAdd;
690 // This method initializes jMenuItemPopupUpdate
692 // @return javax.swing.JMenuItem jMenuItemPopupUpdate
695 // private JMenuItem getJMenuItemPopupUpdate() {
696 // if (jMenuItemPopupUpdate == null) {
697 // jMenuItemPopupUpdate = new JMenuItem();
698 // jMenuItemPopupUpdate.setText("Update");
699 // jMenuItemPopupUpdate.addActionListener(this);
700 // jMenuItemPopupUpdate.setEnabled(false);
702 // return jMenuItemPopupUpdate;
706 // This method initializes jMenuItemPopupDelete
708 // @return javax.swing.JMenuItem jMenuItemPopupDelete
711 // private JMenuItem getJMenuItemPopupDelete() {
712 // if (jMenuItemPopupDelete == null) {
713 // jMenuItemPopupDelete = new JMenuItem();
714 // jMenuItemPopupDelete.setText("Delete");
715 // jMenuItemPopupDelete.addActionListener(this);
716 // jMenuItemPopupDelete.setEnabled(false);
718 // return jMenuItemPopupDelete;
722 This method initializes jMenuFileNew
724 @return javax.swing.JMenuItem jMenuFileNew
727 private JMenuItem
getJMenuItemFileNew() {
728 if (jMenuItemFileNew
== null) {
729 jMenuItemFileNew
= new JMenuItem();
730 jMenuItemFileNew
.setText("New...");
731 jMenuItemFileNew
.setMnemonic('N');
732 jMenuItemFileNew
.addActionListener(this);
734 return jMenuItemFileNew
;
738 This method initializes jMenuItemFileSave
740 @return javax.swing.JMenuItem jMenuItemModuleSave
743 private JMenuItem
getJMenuItemFileSave() {
744 if (jMenuItemFileSave
== null) {
745 jMenuItemFileSave
= new JMenuItem();
746 jMenuItemFileSave
.setText("Save");
747 jMenuItemFileSave
.setMnemonic('S');
748 jMenuItemFileSave
.addActionListener(this);
749 jMenuItemFileSave
.setEnabled(true);
751 return jMenuItemFileSave
;
755 This method initializes jMenuItemModuleClose
757 @return javax.swing.JMenuItem jMenuItemModuleClose
760 private JMenuItem
getJMenuItemFileClose() {
761 if (jMenuItemFileClose
== null) {
762 jMenuItemFileClose
= new JMenuItem();
763 jMenuItemFileClose
.setText("Close");
764 jMenuItemFileClose
.setMnemonic('C');
765 jMenuItemFileClose
.setEnabled(true);
766 jMenuItemFileClose
.addActionListener(this);
768 return jMenuItemFileClose
;
772 This method initializes jMenuTools
775 @return javax.swing.JMenu jMenuTools
778 private JMenu
getJMenuTools() {
779 if (jMenuTools
== null) {
780 jMenuTools
= new JMenu();
781 jMenuTools
.setText("Tools");
782 jMenuTools
.setMnemonic('T');
783 jMenuTools
.add(getJMenuItemToolsToolChainConfiguration());
784 jMenuTools
.addSeparator();
785 jMenuTools
.add(getJMenuItemToolsClone());
786 //jMenuTools.addSeparator();
787 jMenuTools
.add(getJMenuItemToolsCodeScan());
788 jMenuTools
.addMenuListener(this);
794 This method initializes jMenuWindow
797 @return javax.swing.JMenu jMenuWindow
800 private JMenu
getJMenuWindow() {
801 if (jMenuWindow
== null) {
802 jMenuWindow
= new JMenu();
803 jMenuWindow
.setText("Window");
804 jMenuWindow
.setMnemonic('W');
805 jMenuWindow
.add(getJMenuItemWindowDisplaySide());
806 jMenuWindow
.add(getJMenuItemWindowDisplayTopBottom());
807 jMenuWindow
.addSeparator();
808 jMenuWindow
.add(getJMenuItemWindowTabView());
809 jMenuWindow
.addSeparator();
810 jMenuWindow
.add(getJMenuItemWindowSource());
811 jMenuWindow
.add(getJMenuItemWindowXML());
812 jMenuWindow
.addSeparator();
813 jMenuWindow
.add(getJMenuItemWindowPreferences());
814 jMenuWindow
.setVisible(false);
820 This method initializes jPanelOperation
822 @return javax.swing.JPanel jPanelOperation
825 private JPanel
getJPanelOperation() {
826 if (jPanelOperation
== null) {
827 jPanelOperation
= new JPanel();
828 jPanelOperation
.setLayout(null);
829 jPanelOperation
.setBounds(new java
.awt
.Rectangle(295, 520, 500, 25));
830 jPanelOperation
.add(getJButtonOk(), null);
831 jPanelOperation
.add(getJButtonCancel(), null);
832 jPanelOperation
.setVisible(false);
834 return jPanelOperation
;
838 This method initializes jButtonOk
840 @return javax.swing.JButton jButtonOk
843 private JButton
getJButtonOk() {
844 if (jButtonOk
== null) {
845 jButtonOk
= new JButton();
846 jButtonOk
.setBounds(new java
.awt
.Rectangle(395, 2, 90, 20));
847 jButtonOk
.setText("Ok");
848 jButtonOk
.setEnabled(false);
849 jButtonOk
.addActionListener(this);
855 This method initializes jButtonCancel
857 @return javax.swing.JButton jButtonCancel
860 private JButton
getJButtonCancel() {
861 if (jButtonCancel
== null) {
862 jButtonCancel
= new JButton();
863 jButtonCancel
.setBounds(new java
.awt
.Rectangle(395, 2, 90, 20));
864 jButtonCancel
.setText("Cancel");
865 jButtonCancel
.setEnabled(false);
866 jButtonCancel
.addActionListener(this);
867 jButtonCancel
.setVisible(false);
869 return jButtonCancel
;
873 This method initializes jMenuItemFileOpen
875 @return javax.swing.JMenuItem jMenuItemFileOpen
877 private JMenuItem
getJMenuItemFileOpen() {
878 if (jMenuItemFileOpen
== null) {
879 jMenuItemFileOpen
= new JMenuItem();
880 jMenuItemFileOpen
.setText("Open...");
881 jMenuItemFileOpen
.setMnemonic('O');
882 jMenuItemFileOpen
.addActionListener(this);
884 return jMenuItemFileOpen
;
888 This method initializes jMenuItemFileCloseAll
890 @return javax.swing.JMenuItem jMenuItemFileOpen
892 private JMenuItem
getJMenuItemFileCloseAll() {
893 if (jMenuItemFileCloseAll
== null) {
894 jMenuItemFileCloseAll
= new JMenuItem();
895 jMenuItemFileCloseAll
.setText("Close All");
896 jMenuItemFileCloseAll
.setEnabled(true);
897 jMenuItemFileCloseAll
.addActionListener(this);
899 return jMenuItemFileCloseAll
;
903 This method initializes jMenuItemFileSaveAll
905 @return javax.swing.JMenuItem jMenuItemFileSaveAll
907 private JMenuItem
getJMenuItemFileSaveAll() {
908 if (jMenuItemFileSaveAll
== null) {
909 jMenuItemFileSaveAll
= new JMenuItem();
910 jMenuItemFileSaveAll
.setText("Save All");
911 jMenuItemFileSaveAll
.setMnemonic('v');
912 jMenuItemFileSaveAll
.setEnabled(true);
913 jMenuItemFileSaveAll
.addActionListener(this);
915 return jMenuItemFileSaveAll
;
919 This method initializes jMenuItemFilePageSetup
921 @return javax.swing.JMenuItem
923 private JMenuItem
getJMenuItemFilePageSetup() {
924 if (jMenuItemFilePageSetup
== null) {
925 jMenuItemFilePageSetup
= new JMenuItem();
926 jMenuItemFilePageSetup
.setText("Page Setup");
927 jMenuItemFilePageSetup
.setMnemonic('u');
928 jMenuItemFilePageSetup
.setEnabled(false);
929 jMenuItemFilePageSetup
.addActionListener(this);
930 jMenuItemFilePageSetup
.setVisible(false);
932 return jMenuItemFilePageSetup
;
936 This method initializes jMenuItemFilePrint
938 @return javax.swing.JMenuItem
940 private JMenuItem
getJMenuItemFilePrint() {
941 if (jMenuItemFilePrint
== null) {
942 jMenuItemFilePrint
= new JMenuItem();
943 jMenuItemFilePrint
.setText("Print");
944 jMenuItemFilePrint
.setMnemonic('P');
945 jMenuItemFilePrint
.setEnabled(false);
946 jMenuItemFilePrint
.addActionListener(this);
947 jMenuItemFilePrint
.setVisible(false);
949 return jMenuItemFilePrint
;
953 This method initializes jMenuItemFileImport
955 @return javax.swing.JMenuItem
957 private JMenuItem
getJMenuItemFileImport() {
958 if (jMenuItemFileImport
== null) {
959 jMenuItemFileImport
= new JMenuItem();
960 jMenuItemFileImport
.setText("Import");
961 jMenuItemFileImport
.setMnemonic('I');
962 jMenuItemFileImport
.setEnabled(false);
963 jMenuItemFileImport
.addActionListener(this);
964 jMenuItemFileImport
.setVisible(false);
966 return jMenuItemFileImport
;
970 * This method initializes jMenuItemFileProperties
972 * @return javax.swing.JMenuItem
974 private JMenuItem
getJMenuItemFileProperties() {
975 if (jMenuItemFileProperties
== null) {
976 jMenuItemFileProperties
= new JMenuItem();
977 jMenuItemFileProperties
.setText("Properties");
978 jMenuItemFileProperties
.setMnemonic('t');
979 jMenuItemFileProperties
.setEnabled(false);
980 jMenuItemFileProperties
.addActionListener(this);
981 jMenuItemFileProperties
.setVisible(false);
983 return jMenuItemFileProperties
;
987 * This method initializes jMenuFileRecentFiles
989 * @return javax.swing.JMenu
991 private JMenu
getJMenuFileRecentFiles() {
992 if (jMenuFileRecentFiles
== null) {
993 jMenuFileRecentFiles
= new JMenu();
994 jMenuFileRecentFiles
.setText("Recent Files");
995 jMenuFileRecentFiles
.setMnemonic('F');
996 jMenuFileRecentFiles
.setEnabled(false);
997 jMenuFileRecentFiles
.addActionListener(this);
998 jMenuFileRecentFiles
.setVisible(false);
1000 return jMenuFileRecentFiles
;
1004 This method initializes jMenuItemEditUndo
1006 @return javax.swing.JMenuItem
1008 private JMenuItem
getJMenuItemEditUndo() {
1009 if (jMenuItemEditUndo
== null) {
1010 jMenuItemEditUndo
= new JMenuItem();
1011 jMenuItemEditUndo
.setText("Undo");
1012 jMenuItemEditUndo
.setMnemonic('U');
1013 jMenuItemEditUndo
.setEnabled(false);
1014 jMenuItemEditUndo
.addActionListener(this);
1016 return jMenuItemEditUndo
;
1020 This method initializes jMenuItemEditRedo
1022 @return javax.swing.JMenuItem
1024 private JMenuItem
getJMenuItemEditRedo() {
1025 if (jMenuItemEditRedo
== null) {
1026 jMenuItemEditRedo
= new JMenuItem();
1027 jMenuItemEditRedo
.setText("Redo");
1028 jMenuItemEditRedo
.setMnemonic('R');
1029 jMenuItemEditRedo
.setEnabled(false);
1030 jMenuItemEditRedo
.addActionListener(this);
1032 return jMenuItemEditRedo
;
1036 This method initializes jMenuItemEditCut
1038 @return javax.swing.JMenuItem
1040 private JMenuItem
getJMenuItemEditCut() {
1041 if (jMenuItemEditCut
== null) {
1042 jMenuItemEditCut
= new JMenuItem();
1043 jMenuItemEditCut
.setText("Cut");
1044 jMenuItemEditCut
.setMnemonic('t');
1045 jMenuItemEditCut
.setEnabled(false);
1046 jMenuItemEditCut
.addActionListener(this);
1048 return jMenuItemEditCut
;
1052 This method initializes jMenuItemEditCopy
1054 @return javax.swing.JMenuItem
1056 private JMenuItem
getJMenuItemEditCopy() {
1057 if (jMenuItemEditCopy
== null) {
1058 jMenuItemEditCopy
= new JMenuItem();
1059 jMenuItemEditCopy
.setText("Copy");
1060 jMenuItemEditCopy
.setMnemonic('C');
1061 jMenuItemEditCopy
.setEnabled(false);
1062 jMenuItemEditCopy
.addActionListener(this);
1064 return jMenuItemEditCopy
;
1068 This method initializes jMenuItemEditPaste
1070 return javax.swing.JMenuItem
1072 private JMenuItem
getJMenuItemEditPaste() {
1073 if (jMenuItemEditPaste
== null) {
1074 jMenuItemEditPaste
= new JMenuItem();
1075 jMenuItemEditPaste
.setText("Paste");
1076 jMenuItemEditPaste
.setMnemonic('P');
1077 jMenuItemEditPaste
.setEnabled(false);
1078 jMenuItemEditPaste
.addActionListener(this);
1080 return jMenuItemEditPaste
;
1084 This method initializes jMenuItem
1086 @return javax.swing.JMenuItem
1088 private JMenuItem
getJMenuItemEditSelectAll() {
1089 if (jMenuItemEditSelectAll
== null) {
1090 jMenuItemEditSelectAll
= new JMenuItem();
1091 jMenuItemEditSelectAll
.setText("Select All");
1092 jMenuItemEditSelectAll
.setMnemonic('A');
1093 jMenuItemEditSelectAll
.setEnabled(false);
1094 jMenuItemEditSelectAll
.addActionListener(this);
1096 return jMenuItemEditSelectAll
;
1100 This method initializes jMenuItemEditFind
1102 @return javax.swing.JMenuItem
1104 private JMenuItem
getJMenuItemEditFind() {
1105 if (jMenuItemEditFind
== null) {
1106 jMenuItemEditFind
= new JMenuItem();
1107 jMenuItemEditFind
.setText("Find");
1108 jMenuItemEditFind
.setMnemonic('F');
1109 jMenuItemEditFind
.setEnabled(false);
1110 jMenuItemEditFind
.addActionListener(this);
1112 return jMenuItemEditFind
;
1116 This method initializes jMenuItemEditFindNext
1118 @return javax.swing.JMenuItem
1121 private JMenuItem
getJMenuItemEditFindNext() {
1122 if (jMenuItemEditFindNext
== null) {
1123 jMenuItemEditFindNext
= new JMenuItem();
1124 jMenuItemEditFindNext
.setText("Find Next");
1125 jMenuItemEditFindNext
.setMnemonic('n');
1126 jMenuItemEditFindNext
.setEnabled(false);
1127 jMenuItemEditFindNext
.addActionListener(this);
1129 return jMenuItemEditFindNext
;
1133 This method initializes jMenuView
1135 @return javax.swing.JMenu
1138 private JMenu
getJMenuView() {
1139 if (jMenuView
== null) {
1140 jMenuView
= new JMenu();
1141 jMenuView
.setText("View");
1142 jMenuView
.setMnemonic('V');
1143 jMenuView
.add(getJMenuViewToolbars());
1144 jMenuView
.add(getJMenuItemViewAdvanced());
1145 jMenuView
.add(getJMenuItemViewStandard());
1146 jMenuView
.add(getJMenuItemViewXML());
1147 jMenuView
.setVisible(false);
1153 This method initializes jMenuViewToolbars
1155 @return javax.swing.JMenu
1158 private JMenu
getJMenuViewToolbars() {
1159 if (jMenuViewToolbars
== null) {
1160 jMenuViewToolbars
= new JMenu();
1161 jMenuViewToolbars
.setText("Toolbars");
1162 jMenuViewToolbars
.setMnemonic('T');
1163 jMenuViewToolbars
.add(getJCheckBoxMenuItemViewToolbarsFile());
1164 jMenuViewToolbars
.add(getJCheckBoxMenuItemViewToolbarsEdit());
1165 jMenuViewToolbars
.add(getJCheckBoxMenuItemViewToolbarsWindow());
1167 return jMenuViewToolbars
;
1171 This method initializes jCheckBoxMenuItemViewToolbarsFile
1173 @return javax.swing.JCheckBoxMenuItem
1176 private JCheckBoxMenuItem
getJCheckBoxMenuItemViewToolbarsFile() {
1177 if (jCheckBoxMenuItemViewToolbarsFile
== null) {
1178 jCheckBoxMenuItemViewToolbarsFile
= new JCheckBoxMenuItem();
1179 jCheckBoxMenuItemViewToolbarsFile
.setText("File");
1180 jCheckBoxMenuItemViewToolbarsFile
.setEnabled(false);
1181 jCheckBoxMenuItemViewToolbarsFile
.addActionListener(this);
1183 return jCheckBoxMenuItemViewToolbarsFile
;
1187 This method initializes jCheckBoxMenuItemViewToolbarsEdit
1189 @return javax.swing.JCheckBoxMenuItem
1192 private JCheckBoxMenuItem
getJCheckBoxMenuItemViewToolbarsEdit() {
1193 if (jCheckBoxMenuItemViewToolbarsEdit
== null) {
1194 jCheckBoxMenuItemViewToolbarsEdit
= new JCheckBoxMenuItem();
1195 jCheckBoxMenuItemViewToolbarsEdit
.setText("Edit");
1196 jCheckBoxMenuItemViewToolbarsEdit
.setEnabled(false);
1197 jCheckBoxMenuItemViewToolbarsEdit
.addActionListener(this);
1199 return jCheckBoxMenuItemViewToolbarsEdit
;
1203 This method initializes jCheckBoxMenuItemViewToolbarsWindow
1205 @return javax.swing.JCheckBoxMenuItem
1208 private JCheckBoxMenuItem
getJCheckBoxMenuItemViewToolbarsWindow() {
1209 if (jCheckBoxMenuItemViewToolbarsWindow
== null) {
1210 jCheckBoxMenuItemViewToolbarsWindow
= new JCheckBoxMenuItem();
1211 jCheckBoxMenuItemViewToolbarsWindow
.setText("Window");
1212 jCheckBoxMenuItemViewToolbarsWindow
.setEnabled(false);
1213 jCheckBoxMenuItemViewToolbarsWindow
.addActionListener(this);
1215 return jCheckBoxMenuItemViewToolbarsWindow
;
1219 This method initializes jMenuItemStandard
1221 @return javax.swing.JMenuItem
1224 private JMenuItem
getJMenuItemViewStandard() {
1225 if (jMenuItemViewStandard
== null) {
1226 jMenuItemViewStandard
= new JMenuItem();
1227 jMenuItemViewStandard
.setText("Standard");
1228 jMenuItemViewStandard
.setMnemonic('S');
1229 jMenuItemViewStandard
.setEnabled(false);
1230 jMenuItemViewStandard
.addActionListener(this);
1232 return jMenuItemViewStandard
;
1236 This method initializes jMenuItemAdvanced
1238 @return javax.swing.JMenuItem
1241 private JMenuItem
getJMenuItemViewAdvanced() {
1242 if (jMenuItemViewAdvanced
== null) {
1243 jMenuItemViewAdvanced
= new JMenuItem();
1244 jMenuItemViewAdvanced
.setText("Advanced");
1245 jMenuItemViewAdvanced
.setMnemonic('A');
1246 jMenuItemViewAdvanced
.setEnabled(false);
1247 jMenuItemViewAdvanced
.addActionListener(this);
1249 return jMenuItemViewAdvanced
;
1253 This method initializes jMenuProject
1255 @return javax.swing.JMenu
1258 private JMenu
getJMenuProject() {
1259 if (jMenuProject
== null) {
1260 jMenuProject
= new JMenu();
1261 jMenuProject
.setText("Project");
1262 jMenuProject
.setMnemonic('P');
1263 jMenuProject
.add(getJMenuItemProjectAdmin());
1264 //jMenuProject.addSeparator();
1265 jMenuProject
.add(getJMenuItemProjectChangeWorkspace());
1266 jMenuProject
.addSeparator();
1267 jMenuProject
.add(getJMenuItemProjectCreateFar());
1268 jMenuProject
.add(getJMenuItemProjectInstallFar());
1269 jMenuProject
.add(getJMenuItemProjectUpdateFar());
1270 jMenuProject
.add(getJMenuItemProjectRemoveFar());
1271 //jMenuProject.addSeparator();
1272 jMenuProject
.add(getJMenuProjectBuildTargets());
1274 return jMenuProject
;
1278 This method initializes jMenuItemProjectAdmin
1280 @return javax.swing.JMenuItem
1283 private JMenuItem
getJMenuItemProjectAdmin() {
1284 if (jMenuItemProjectAdmin
== null) {
1285 jMenuItemProjectAdmin
= new JMenuItem();
1286 jMenuItemProjectAdmin
.setText("Admin...");
1287 jMenuItemProjectAdmin
.setMnemonic('A');
1288 jMenuItemProjectAdmin
.setEnabled(false);
1289 jMenuItemProjectAdmin
.addActionListener(this);
1290 jMenuItemProjectAdmin
.setVisible(false);
1292 return jMenuItemProjectAdmin
;
1296 This method initializes jMenuItemProjectChangeWorkspace
1298 @return javax.swing.JMenuItem
1301 private JMenuItem
getJMenuItemProjectChangeWorkspace() {
1302 if (jMenuItemProjectChangeWorkspace
== null) {
1303 jMenuItemProjectChangeWorkspace
= new JMenuItem();
1304 jMenuItemProjectChangeWorkspace
.setText("Change WORKSPACE...");
1305 jMenuItemProjectChangeWorkspace
.setMnemonic('W');
1306 jMenuItemProjectChangeWorkspace
.setEnabled(true);
1307 jMenuItemProjectChangeWorkspace
.addActionListener(this);
1309 return jMenuItemProjectChangeWorkspace
;
1313 This method initializes jMenuProjectBuildTargets
1315 @return javax.swing.JMenu
1318 private JMenu
getJMenuProjectBuildTargets() {
1319 if (jMenuProjectBuildTargets
== null) {
1320 jMenuProjectBuildTargets
= new JMenu();
1321 jMenuProjectBuildTargets
.setText("Build Targets");
1322 jMenuProjectBuildTargets
.setMnemonic('T');
1323 jMenuProjectBuildTargets
.add(getJCheckBoxMenuItemProjectBuildTargetsDebug());
1324 jMenuProjectBuildTargets
.add(getJCheckBoxMenuItemProjectBuildTargetsRelease());
1325 jMenuProjectBuildTargets
.setVisible(false);
1327 return jMenuProjectBuildTargets
;
1331 This method initializes jCheckBoxMenuItemProjectBuildTargetsDebug
1333 @return javax.swing.JCheckBoxMenuItem
1336 private JCheckBoxMenuItem
getJCheckBoxMenuItemProjectBuildTargetsDebug() {
1337 if (jCheckBoxMenuItemProjectBuildTargetsDebug
== null) {
1338 jCheckBoxMenuItemProjectBuildTargetsDebug
= new JCheckBoxMenuItem();
1339 jCheckBoxMenuItemProjectBuildTargetsDebug
.setText("Debug");
1340 jCheckBoxMenuItemProjectBuildTargetsDebug
.setEnabled(false);
1342 return jCheckBoxMenuItemProjectBuildTargetsDebug
;
1346 This method initializes jCheckBoxMenuItemProjectBuildTargetsRelease
1348 @return javax.swing.JCheckBoxMenuItem
1351 private JCheckBoxMenuItem
getJCheckBoxMenuItemProjectBuildTargetsRelease() {
1352 if (jCheckBoxMenuItemProjectBuildTargetsRelease
== null) {
1353 jCheckBoxMenuItemProjectBuildTargetsRelease
= new JCheckBoxMenuItem();
1354 jCheckBoxMenuItemProjectBuildTargetsRelease
.setText("Release");
1355 jCheckBoxMenuItemProjectBuildTargetsRelease
.setEnabled(false);
1357 return jCheckBoxMenuItemProjectBuildTargetsRelease
;
1361 This method initializes jMenuItemToolsToolChainConfiguration
1363 @return javax.swing.JMenuItem
1366 private JMenuItem
getJMenuItemToolsToolChainConfiguration() {
1367 if (jMenuItemToolsToolChainConfiguration
== null) {
1368 jMenuItemToolsToolChainConfiguration
= new JMenuItem();
1369 jMenuItemToolsToolChainConfiguration
.setText("Tool Chain Configuration...");
1370 jMenuItemToolsToolChainConfiguration
.setMnemonic('C');
1371 jMenuItemToolsToolChainConfiguration
.addActionListener(this);
1373 return jMenuItemToolsToolChainConfiguration
;
1377 This method initializes jMenuItemToolsClone
1379 @return javax.swing.JMenuItem
1382 private JMenuItem
getJMenuItemToolsClone() {
1383 if (jMenuItemToolsClone
== null) {
1384 jMenuItemToolsClone
= new JMenuItem();
1385 jMenuItemToolsClone
.setText("Clone...");
1386 jMenuItemToolsClone
.setMnemonic('l');
1387 jMenuItemToolsClone
.setEnabled(true);
1388 jMenuItemToolsClone
.addActionListener(this);
1390 return jMenuItemToolsClone
;
1394 This method initializes jMenuItemToolsCodeScan
1396 @return javax.swing.JMenuItem
1399 private JMenuItem
getJMenuItemToolsCodeScan() {
1400 if (jMenuItemToolsCodeScan
== null) {
1401 jMenuItemToolsCodeScan
= new JMenuItem();
1402 jMenuItemToolsCodeScan
.setText("Code Scan...");
1403 jMenuItemToolsCodeScan
.setMnemonic('S');
1404 jMenuItemToolsCodeScan
.setEnabled(false);
1405 jMenuItemToolsCodeScan
.addActionListener(this);
1406 jMenuItemToolsCodeScan
.setVisible(false);
1408 return jMenuItemToolsCodeScan
;
1412 This method initializes jMenuItemWindowSplitVertical
1414 @return javax.swing.JMenuItem
1417 private JMenuItem
getJMenuItemWindowDisplaySide() {
1418 if (jMenuItemWindowDisplaySide
== null) {
1419 jMenuItemWindowDisplaySide
= new JMenuItem();
1420 jMenuItemWindowDisplaySide
.setText("Display Side by Side");
1421 jMenuItemWindowDisplaySide
.setMnemonic('S');
1422 jMenuItemWindowDisplaySide
.setEnabled(false);
1423 jMenuItemWindowDisplaySide
.addActionListener(this);
1425 return jMenuItemWindowDisplaySide
;
1429 This method initializes jMenuItemWindowSplitHorizontal
1431 @return javax.swing.JMenuItem
1434 private JMenuItem
getJMenuItemWindowDisplayTopBottom() {
1435 if (jMenuItemWindowDisplayTopBottom
== null) {
1436 jMenuItemWindowDisplayTopBottom
= new JMenuItem();
1437 jMenuItemWindowDisplayTopBottom
.setText("Display Top and Bottom");
1438 jMenuItemWindowDisplayTopBottom
.setMnemonic('B');
1439 jMenuItemWindowDisplayTopBottom
.setEnabled(false);
1440 jMenuItemWindowDisplayTopBottom
.addActionListener(this);
1442 return jMenuItemWindowDisplayTopBottom
;
1446 This method initializes jMenuItemViewXML
1448 @return javax.swing.JMenuItem
1451 private JMenuItem
getJMenuItemViewXML() {
1452 if (jMenuItemViewXML
== null) {
1453 jMenuItemViewXML
= new JMenuItem();
1454 jMenuItemViewXML
.setText("XML");
1455 jMenuItemViewXML
.setMnemonic('X');
1456 jMenuItemViewXML
.setEnabled(false);
1457 jMenuItemViewXML
.addActionListener(this);
1459 return jMenuItemViewXML
;
1463 This method initializes jMenuItemWindowTabView
1465 @return javax.swing.JMenuItem
1468 private JMenuItem
getJMenuItemWindowTabView() {
1469 if (jMenuItemWindowTabView
== null) {
1470 jMenuItemWindowTabView
= new JMenuItem();
1471 jMenuItemWindowTabView
.setText("Tab View");
1472 jMenuItemWindowTabView
.setMnemonic('T');
1473 jMenuItemWindowTabView
.setEnabled(false);
1474 jMenuItemWindowTabView
.addActionListener(this);
1476 return jMenuItemWindowTabView
;
1480 This method initializes jMenuItemWindowSource
1482 @return javax.swing.JMenuItem
1485 private JMenuItem
getJMenuItemWindowSource() {
1486 if (jMenuItemWindowSource
== null) {
1487 jMenuItemWindowSource
= new JMenuItem();
1488 jMenuItemWindowSource
.setText("Source");
1489 jMenuItemWindowSource
.setMnemonic('S');
1490 jMenuItemWindowSource
.setEnabled(false);
1491 jMenuItemWindowSource
.addActionListener(this);
1493 return jMenuItemWindowSource
;
1497 This method initializes jMenuItemWindowXML
1499 @return javax.swing.JMenuItem
1502 private JMenuItem
getJMenuItemWindowXML() {
1503 if (jMenuItemWindowXML
== null) {
1504 jMenuItemWindowXML
= new JMenuItem();
1505 jMenuItemWindowXML
.setText("XML");
1506 jMenuItemWindowXML
.setMnemonic('X');
1507 jMenuItemWindowXML
.setEnabled(false);
1508 jMenuItemWindowXML
.addActionListener(this);
1510 return jMenuItemWindowXML
;
1514 This method initializes jMenuItemWindowPreferences
1516 @return javax.swing.JMenuItem
1519 private JMenuItem
getJMenuItemWindowPreferences() {
1520 if (jMenuItemWindowPreferences
== null) {
1521 jMenuItemWindowPreferences
= new JMenuItem();
1522 jMenuItemWindowPreferences
.setText("Preferences");
1523 jMenuItemWindowPreferences
.setMnemonic('P');
1524 jMenuItemWindowPreferences
.setEnabled(false);
1525 jMenuItemWindowPreferences
.addActionListener(this);
1527 return jMenuItemWindowPreferences
;
1531 This method initializes jMenuItemHelpContents
1533 @return javax.swing.JMenuItem
1536 private JMenuItem
getJMenuItemHelpContents() {
1537 if (jMenuItemHelpContents
== null) {
1538 jMenuItemHelpContents
= new JMenuItem();
1539 jMenuItemHelpContents
.setText("Contents");
1540 jMenuItemHelpContents
.setMnemonic('C');
1541 jMenuItemHelpContents
.setEnabled(false);
1542 jMenuItemHelpContents
.addActionListener(this);
1543 jMenuItemHelpContents
.setVisible(false);
1545 return jMenuItemHelpContents
;
1549 This method initializes jMenuItemHelpIndex
1551 @return javax.swing.JMenuItem
1554 private JMenuItem
getJMenuItemHelpIndex() {
1555 if (jMenuItemHelpIndex
== null) {
1556 jMenuItemHelpIndex
= new JMenuItem();
1557 jMenuItemHelpIndex
.setText("Index");
1558 jMenuItemHelpIndex
.setMnemonic('I');
1559 jMenuItemHelpIndex
.setEnabled(false);
1560 jMenuItemHelpIndex
.addActionListener(this);
1561 jMenuItemHelpIndex
.setVisible(false);
1563 return jMenuItemHelpIndex
;
1567 This method initializes jMenuItemHelpSearch
1569 @return javax.swing.JMenuItem
1572 private JMenuItem
getJMenuItemHelpSearch() {
1573 if (jMenuItemHelpSearch
== null) {
1574 jMenuItemHelpSearch
= new JMenuItem();
1575 jMenuItemHelpSearch
.setText("Search");
1576 jMenuItemHelpSearch
.setMnemonic('S');
1577 jMenuItemHelpSearch
.setEnabled(false);
1578 jMenuItemHelpSearch
.addActionListener(this);
1579 jMenuItemHelpSearch
.setVisible(false);
1581 return jMenuItemHelpSearch
;
1585 * This method initializes jToolBar
1587 * @return javax.swing.JToolBar
1589 // private JToolBar getJToolBarFile() {
1590 // if (jToolBarFile == null) {
1591 // jToolBarFile = new JToolBar();
1592 // jToolBarFile.setFloatable(false);
1594 // return jToolBarFile;
1597 * This method initializes jToolBarEdit
1599 * @return javax.swing.JToolBar
1601 // private JToolBar getJToolBarEdit() {
1602 // if (jToolBarEdit == null) {
1603 // jToolBarEdit = new JToolBar();
1604 // jToolBarEdit.setFloatable(false);
1606 // return jToolBarEdit;
1609 * This method initializes jMenuItemToolsInstallPackage
1611 * @return javax.swing.JMenuItem
1613 private JMenuItem
getJMenuItemProjectInstallFar() {
1614 if (jMenuItemProjectInstallFar
== null) {
1615 jMenuItemProjectInstallFar
= new JMenuItem();
1616 jMenuItemProjectInstallFar
.setText("Install FAR");
1617 jMenuItemProjectInstallFar
.setMnemonic('I');
1618 jMenuItemProjectInstallFar
.setEnabled(true);
1619 jMenuItemProjectInstallFar
.addActionListener(this);
1621 return jMenuItemProjectInstallFar
;
1625 * This method initializes jMenuItemToolsUpdatePackage
1627 * @return javax.swing.JMenuItem
1629 private JMenuItem
getJMenuItemProjectUpdateFar() {
1630 if (jMenuItemProjectUpdateFar
== null) {
1631 jMenuItemProjectUpdateFar
= new JMenuItem();
1632 jMenuItemProjectUpdateFar
.setText("Update FAR");
1633 jMenuItemProjectUpdateFar
.setMnemonic('U');
1634 jMenuItemProjectUpdateFar
.setEnabled(true);
1635 jMenuItemProjectUpdateFar
.addActionListener(this);
1637 return jMenuItemProjectUpdateFar
;
1641 * This method initializes jMenuItemRemovePackage
1643 * @return javax.swing.JMenuItem
1645 private JMenuItem
getJMenuItemProjectRemoveFar() {
1646 if (jMenuItemProjectRemoveFar
== null) {
1647 jMenuItemProjectRemoveFar
= new JMenuItem();
1648 jMenuItemProjectRemoveFar
.setText("Remove FAR");
1649 jMenuItemProjectRemoveFar
.setMnemonic('R');
1650 jMenuItemProjectRemoveFar
.setEnabled(true);
1651 jMenuItemProjectRemoveFar
.addActionListener(this);
1653 return jMenuItemProjectRemoveFar
;
1657 * This method initializes jMenuItemProjectCreateFar
1659 * @return javax.swing.JMenuItem
1661 private JMenuItem
getJMenuItemProjectCreateFar() {
1662 if (jMenuItemProjectCreateFar
== null) {
1663 jMenuItemProjectCreateFar
= new JMenuItem();
1664 jMenuItemProjectCreateFar
.setText("Create FAR");
1665 jMenuItemProjectCreateFar
.setMnemonic('C');
1666 jMenuItemProjectCreateFar
.addActionListener(this);
1668 return jMenuItemProjectCreateFar
;
1672 * @see org.tianocore.packaging.common.ui.IFrame#main(java.lang.String[])
1674 * Main class, start the GUI
1677 public static void main(String
[] args
) {
1678 FrameworkWizardUI module
= FrameworkWizardUI
.getInstance();
1679 module
.setVisible(true);
1683 This is the default constructor
1686 public FrameworkWizardUI() {
1692 This method initializes this
1696 private void init() {
1698 // Set current workspace and check
1699 // Check if exists WORKSPACE
1702 Workspace
.setCurrentWorkspace(System
.getenv("WORKSPACE"));
1703 if (!Workspace
.checkCurrentWorkspace()) {
1704 JOptionPane
.showConfirmDialog(null, "Workspace is not setup correctly. Please setup first.", "Warning",
1705 JOptionPane
.DEFAULT_OPTION
, JOptionPane
.WARNING_MESSAGE
);
1710 this.setSize(DataType
.MAIN_FRAME_PREFERRED_SIZE_WIDTH
, DataType
.MAIN_FRAME_PREFERRED_SIZE_HEIGHT
);
1711 this.setResizable(true);
1712 this.setJMenuBar(getjJMenuBar());
1713 this.addComponentListener(this);
1714 this.getCompontentsFromFrameworkDatabase();
1715 this.setContentPane(getJContentPane());
1716 this.setTitle(DataType
.PROJECT_NAME
+ " " + DataType
.PROJECT_VERSION
+ " " + "- ["
1717 + Workspace
.getCurrentWorkspace() + "]");
1718 this.setExitType(1);
1723 this.setExtendedState(JFrame
.MAXIMIZED_BOTH
);
1727 This method initializes jContentPane
1729 @return javax.swing.JPanel jContentPane
1732 private JPanel
getJContentPane() {
1733 if (jContentPane
== null) {
1734 jContentPane
= new JPanel();
1735 jContentPane
.setLayout(null);
1736 jContentPane
.add(getJPanelOperation(), null);
1737 jContentPane
.add(getJSplitPane(), null);
1739 return jContentPane
;
1743 * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
1745 * Override actionPerformed to listen all actions
1748 public void actionPerformed(ActionEvent arg0
) {
1750 // Operations of Menu
1752 if (arg0
.getSource() == jMenuItemFileNew
) {
1756 if (arg0
.getSource() == jMenuItemFileOpen
) {
1760 if (arg0
.getSource() == jMenuItemFileClose
) {
1764 if (arg0
.getSource() == jMenuItemFileCloseAll
) {
1768 if (arg0
.getSource() == jMenuItemFileSave
) {
1772 if (arg0
.getSource() == jMenuItemFileSaveAs
) {
1776 if (arg0
.getSource() == jMenuItemFileSaveAll
) {
1780 if (arg0
.getSource() == jMenuItemFileExit
) {
1784 if (arg0
.getSource() == jMenuItemProjectChangeWorkspace
) {
1788 if (arg0
.getSource() == jMenuItemProjectCreateFar
) {
1792 if (arg0
.getSource() == jMenuItemProjectInstallFar
) {
1796 if (arg0
.getSource() == jMenuItemProjectRemoveFar
) {
1800 if (arg0
.getSource() == jMenuItemProjectUpdateFar
) {
1804 if (arg0
.getSource() == jMenuItemToolsClone
) {
1808 if (arg0
.getSource() == jMenuItemToolsToolChainConfiguration
) {
1809 setupToolChainConfiguration();
1812 if (arg0
.getSource() == jMenuItemHelpAbout
) {
1813 About a
= new About(this, true);
1814 int result
= a
.showDialog();
1815 if (result
== DataType
.RETURN_TYPE_OK
) {
1822 Create an empty tree if no file is open
1825 private void makeEmptyTree() {
1827 dmtnRoot
= new IDefaultMutableTreeNode("WORKSPACE", IDefaultMutableTreeNode
.WORKSPACE
, -1);
1829 // Make Module Description
1830 dmtnModuleDescription
= new IDefaultMutableTreeNode("ModuleDescription", IDefaultMutableTreeNode
.MODULE
, -1);
1833 // First add package
1835 if (this.vPackageList
.size() > 0) {
1836 for (int index
= 0; index
< this.vPackageList
.size(); index
++) {
1837 IDefaultMutableTreeNode dmtnModulePackage
= null;
1838 IDefaultMutableTreeNode dmtnModulePackageLibrary
= null;
1839 IDefaultMutableTreeNode dmtnModulePackageModule
= null;
1841 dmtnModulePackage
= new IDefaultMutableTreeNode(this.vPackageList
.elementAt(index
).getName(),
1842 IDefaultMutableTreeNode
.MODULE_PACKAGE
, false,
1843 this.vPackageList
.elementAt(index
));
1844 dmtnModulePackageLibrary
= new IDefaultMutableTreeNode("Library",
1845 IDefaultMutableTreeNode
.MODULE_PACKAGE_LIBRARY
,
1846 false, this.vPackageList
.elementAt(index
));
1847 dmtnModulePackageModule
= new IDefaultMutableTreeNode("Module",
1848 IDefaultMutableTreeNode
.MODULE_PACKAGE_MODULE
,
1849 false, this.vPackageList
.elementAt(index
));
1851 Vector
<ModuleIdentification
> vModule
= wt
.getAllModules(this.vPackageList
.elementAt(index
));
1852 for (int indexJ
= 0; indexJ
< vModule
.size(); indexJ
++) {
1853 if (vModule
.get(indexJ
).isLibrary()) {
1854 dmtnModulePackageLibrary
.add(new IDefaultMutableTreeNode(vModule
.get(indexJ
).getName(),
1855 IDefaultMutableTreeNode
.MSA_HEADER
,
1856 false, vModule
.get(indexJ
)));
1858 dmtnModulePackageModule
.add(new IDefaultMutableTreeNode(vModule
.get(indexJ
).getName(),
1859 IDefaultMutableTreeNode
.MSA_HEADER
,
1860 false, vModule
.get(indexJ
)));
1863 if (dmtnModulePackageModule
.getChildCount() > 0) {
1864 dmtnModulePackage
.add(dmtnModulePackageModule
);
1866 if (dmtnModulePackageLibrary
.getChildCount() > 0) {
1867 dmtnModulePackage
.add(dmtnModulePackageLibrary
);
1870 dmtnModuleDescription
.add(dmtnModulePackage
);
1874 // if (this.vModuleList.size() > 0) {
1875 // for (int index = 0; index < this.vModuleList.size(); index++) {
1876 // dmtnModuleDescription.add(new IDefaultMutableTreeNode(this.vModuleList.elementAt(index).getName(),
1877 // IDefaultMutableTreeNode.MSA_HEADER, false,
1878 // this.vModuleList.elementAt(index)));
1882 // Make Package Description
1883 dmtnPackageDescription
= new IDefaultMutableTreeNode("PackageDescription", IDefaultMutableTreeNode
.PACKAGE
, -1);
1884 if (this.vPackageList
.size() > 0) {
1885 for (int index
= 0; index
< this.vPackageList
.size(); index
++) {
1886 dmtnPackageDescription
.add(new IDefaultMutableTreeNode(this.vPackageList
.elementAt(index
).getName(),
1887 IDefaultMutableTreeNode
.SPD_HEADER
, false,
1888 this.vPackageList
.elementAt(index
)));
1892 // Make Platform Description
1893 dmtnPlatformDescription
= new IDefaultMutableTreeNode("PlatformDescription", IDefaultMutableTreeNode
.PLATFORM
,
1895 if (this.vPlatformList
.size() > 0) {
1896 for (int index
= 0; index
< this.vPlatformList
.size(); index
++) {
1897 dmtnPlatformDescription
.add(new IDefaultMutableTreeNode(this.vPlatformList
.elementAt(index
).getName(),
1898 IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
,
1899 false, this.vPlatformList
.elementAt(index
)));
1903 dmtnRoot
.add(dmtnModuleDescription
);
1904 dmtnRoot
.add(dmtnPackageDescription
);
1905 dmtnRoot
.add(dmtnPlatformDescription
);
1906 iTree
= new ITree(dmtnRoot
);
1907 iTree
.addMouseListener(this);
1908 jScrollPaneTree
.setViewportView(iTree
);
1912 * @see java.awt.event.WindowListener#windowClosing(java.awt.event.WindowEvent)
1914 * Override windowClosing to popup warning message to confirm quit
1917 public void windowClosing(WindowEvent arg0
) {
1922 * @see java.awt.event.MouseListener#mouseClicked(java.awt.event.MouseEvent)
1924 * Override mouseClicked to check if need display popup menu
1927 public void mouseClicked(MouseEvent arg0
) {
1928 if (arg0
.getButton() == MouseEvent
.BUTTON1
) {
1930 if (arg0
.getButton() == MouseEvent
.BUTTON3
) {
1933 // When double click
1935 if (arg0
.getClickCount() == 2) {
1936 doubleClickModuleTreeNode();
1940 public void mouseEntered(MouseEvent arg0
) {
1941 // TODO Auto-generated method stub
1944 public void mouseExited(MouseEvent arg0
) {
1945 // TODO Auto-generated method stub
1948 public void mousePressed(MouseEvent arg0
) {
1949 // TODO Auto-generated method stub
1952 public void mouseReleased(MouseEvent arg0
) {
1953 // TODO Auto-generated method stub
1957 Remove all Internal Frame of Module Desktop Pane
1960 private void cleanDesktopPaneModule() {
1961 if (jDesktopPaneModule
!= null) {
1962 JInternalFrame
[] iif
= this.jDesktopPaneModule
.getAllFrames();
1963 for (int index
= 0; index
< iif
.length
; index
++) {
1964 iif
[index
].dispose();
1970 Remove all Internal Frame of package Desktop Pane
1973 private void cleanDesktopPanePackage() {
1974 if (jDesktopPanePlatform
!= null) {
1975 JInternalFrame
[] iif
= this.jDesktopPanePackage
.getAllFrames();
1976 for (int index
= 0; index
< iif
.length
; index
++) {
1977 iif
[index
].dispose();
1983 Remove all Internal Frame of platform Desktop Pane
1986 private void cleanDesktopPanePlatform() {
1987 if (jDesktopPanePlatform
!= null) {
1988 JInternalFrame
[] iif
= this.jDesktopPanePlatform
.getAllFrames();
1989 for (int index
= 0; index
< iif
.length
; index
++) {
1990 iif
[index
].dispose();
1996 Remove all Internal Frame of all Desktop Panes
1999 private void cleanDesktopPane() {
2000 cleanDesktopPaneModule();
2001 cleanDesktopPanePackage();
2002 cleanDesktopPanePlatform();
2006 Set file filter as input ext
2012 private int getNewFilePath(String ext
) {
2013 JFileChooser fc
= new JFileChooser(Workspace
.getCurrentWorkspace());
2014 fc
.setAcceptAllFileFilterUsed(false);
2015 fc
.addChoosableFileFilter(new IFileFilter(ext
));
2016 return fc
.showSaveDialog(new JPanel());
2022 @param path input file path
2025 private void openModule(String path
, ModuleIdentification moduleId
) {
2026 ModuleSurfaceAreaDocument
.ModuleSurfaceArea msa
= null;
2028 msa
= OpenFile
.openMsaFile(path
);
2029 } catch (IOException e
) {
2030 Log
.err("Open Module Surface Area " + path
, e
.getMessage());
2032 } catch (XmlException e
) {
2033 Log
.err("Open Module Surface Area " + path
, e
.getMessage());
2035 } catch (Exception e
) {
2036 Log
.err("Open Module Surface Area " + path
, "Invalid file type");
2039 Identification id
= new Identification(msa
.getMsaHeader().getModuleName(), msa
.getMsaHeader().getGuidValue(),
2040 msa
.getMsaHeader().getVersion(), path
);
2042 // Generate module id
2044 PackageIdentification pid
= wt
.getPackageIdByModuleId(id
);
2047 // To judge if the module existed in vModuleList
2048 // If not, add it to vModuleList
2050 boolean isFind
= false;
2051 for (int index
= 0; index
< vModuleList
.size(); index
++) {
2052 if (vModuleList
.elementAt(index
).equals(id
)) {
2058 ModuleIdentification mid
= new ModuleIdentification(id
, pid
, moduleId
.isLibrary());
2059 vModuleList
.addElement(mid
);
2061 // Add new MsaHeader node to the tree
2063 IDefaultMutableTreeNode node
= new IDefaultMutableTreeNode(mid
.getName(),
2064 IDefaultMutableTreeNode
.MSA_HEADER
, true,
2067 // First find the module belongs to which package
2069 IDefaultMutableTreeNode packageNode
= iTree
.getNodeById(dmtnModuleDescription
, mid
.getPackageId(),
2070 IDefaultMutableTreeNode
.MODULE_PACKAGE
);
2072 // To check if has module node or library node
2074 IDefaultMutableTreeNode parentModuleNode
= null;
2075 IDefaultMutableTreeNode parentLibraryNode
= null;
2076 boolean hasModule
= false;
2077 boolean hasLibrary
= false;
2078 for (int index
= 0; index
< packageNode
.getChildCount(); index
++) {
2079 IDefaultMutableTreeNode iNode
= (IDefaultMutableTreeNode
) packageNode
.getChildAt(index
);
2080 if (iNode
.getCategory() == IDefaultMutableTreeNode
.MODULE_PACKAGE_LIBRARY
) {
2082 parentLibraryNode
= iNode
;
2084 if (iNode
.getCategory() == IDefaultMutableTreeNode
.MODULE_PACKAGE_MODULE
) {
2086 parentModuleNode
= iNode
;
2093 if (!mid
.isLibrary()) {
2095 // Create parent node first if has no parent node
2098 parentModuleNode
= new IDefaultMutableTreeNode("Module",
2099 IDefaultMutableTreeNode
.MODULE_PACKAGE_MODULE
,
2100 false, mid
.getPackageId());
2101 iTree
.addNode(packageNode
, parentModuleNode
);
2104 iTree
.addNode(parentModuleNode
, node
);
2110 if (mid
.isLibrary()) {
2112 // Create parent node first if has no parent node
2115 parentLibraryNode
= new IDefaultMutableTreeNode("Library",
2116 IDefaultMutableTreeNode
.MODULE_PACKAGE_LIBRARY
,
2117 false, mid
.getPackageId());
2118 iTree
.addNode(packageNode
, parentLibraryNode
);
2121 iTree
.addNode(parentLibraryNode
, node
);
2126 // The module is not in existing packages
2128 Log
.err("The module hasn't been added to any package of current workspace!");
2133 // Make the node selected
2135 iTree
.setSelectionPath(iTree
.getPathOfNode(iTree
.getNodeById(this.dmtnModuleDescription
, id
,
2136 IDefaultMutableTreeNode
.MSA_HEADER
)));
2138 // Update opening Module list information
2140 if (!openingModuleList
.existsModule(id
)) {
2142 // Insert sub node of module
2144 insertModuleTreeNode(id
);
2145 iTree
.getSelectNode().setOpening(true);
2148 // Update opening module list
2150 openingModuleList
.insertToOpeningModuleList(id
, msa
);
2151 openingModuleList
.setTreePathById(id
, iTree
.getSelectionPath());
2154 // Show msa header in editor panel
2156 showModuleElement(IDefaultMutableTreeNode
.MSA_HEADER
, openingModuleList
.getOpeningModuleById(id
));
2157 this.currentOpeningModuleIndex
= openingModuleList
.findIndexOfListById(id
);
2163 @param path input file path
2166 private void openModule(String path
) {
2167 ModuleSurfaceAreaDocument
.ModuleSurfaceArea msa
= null;
2169 msa
= OpenFile
.openMsaFile(path
);
2170 } catch (IOException e
) {
2171 Log
.err("Open Module Surface Area " + path
, e
.getMessage());
2173 } catch (XmlException e
) {
2174 Log
.err("Open Module Surface Area " + path
, e
.getMessage());
2176 } catch (Exception e
) {
2177 Log
.err("Open Module Surface Area " + path
, "Invalid file type");
2180 Identification id
= new Identification(msa
.getMsaHeader().getModuleName(), msa
.getMsaHeader().getGuidValue(),
2181 msa
.getMsaHeader().getVersion(), path
);
2183 // Generate module id
2185 PackageIdentification pid
= wt
.getPackageIdByModuleId(id
);
2188 // To judge if the module existed in vModuleList
2189 // If not, add it to vModuleList
2191 boolean isFind
= false;
2192 for (int index
= 0; index
< vModuleList
.size(); index
++) {
2193 if (vModuleList
.elementAt(index
).equals(id
)) {
2199 ModuleIdentification mid
= new ModuleIdentification(id
, pid
);
2200 vModuleList
.addElement(mid
);
2202 // Add new MsaHeader node to the tree
2204 IDefaultMutableTreeNode node
= new IDefaultMutableTreeNode(mid
.getName(),
2205 IDefaultMutableTreeNode
.MSA_HEADER
, true,
2208 // First find the module belongs to which package
2210 IDefaultMutableTreeNode packageNode
= iTree
.getNodeById(dmtnModuleDescription
, mid
.getPackageId(),
2211 IDefaultMutableTreeNode
.MODULE_PACKAGE
);
2213 // To check if has module node or library node
2215 IDefaultMutableTreeNode parentModuleNode
= null;
2216 IDefaultMutableTreeNode parentLibraryNode
= null;
2217 boolean hasModule
= false;
2218 boolean hasLibrary
= false;
2219 for (int index
= 0; index
< packageNode
.getChildCount(); index
++) {
2220 IDefaultMutableTreeNode iNode
= (IDefaultMutableTreeNode
) packageNode
.getChildAt(index
);
2221 if (iNode
.getCategory() == IDefaultMutableTreeNode
.MODULE_PACKAGE_LIBRARY
) {
2223 parentLibraryNode
= iNode
;
2225 if (iNode
.getCategory() == IDefaultMutableTreeNode
.MODULE_PACKAGE_MODULE
) {
2227 parentModuleNode
= iNode
;
2234 if (!mid
.isLibrary()) {
2236 // Create parent node first if has no parent node
2239 parentModuleNode
= new IDefaultMutableTreeNode("Module",
2240 IDefaultMutableTreeNode
.MODULE_PACKAGE_MODULE
,
2241 false, mid
.getPackageId());
2242 iTree
.addNode(packageNode
, parentModuleNode
);
2245 iTree
.addNode(parentModuleNode
, node
);
2251 if (mid
.isLibrary()) {
2253 // Create parent node first if has no parent node
2256 parentLibraryNode
= new IDefaultMutableTreeNode("Library",
2257 IDefaultMutableTreeNode
.MODULE_PACKAGE_LIBRARY
,
2258 false, mid
.getPackageId());
2259 iTree
.addNode(packageNode
, parentLibraryNode
);
2262 iTree
.addNode(parentLibraryNode
, node
);
2267 // The module is not in existing packages
2269 Log
.err("The module hasn't been added to any package of current workspace!");
2274 // Make the node selected
2276 iTree
.setSelectionPath(iTree
.getPathOfNode(iTree
.getNodeById(this.dmtnModuleDescription
, id
,
2277 IDefaultMutableTreeNode
.MSA_HEADER
)));
2279 // Update opening Module list information
2281 if (!openingModuleList
.existsModule(id
)) {
2283 // Insert sub node of module
2285 insertModuleTreeNode(id
);
2286 iTree
.getSelectNode().setOpening(true);
2289 // Update opening module list
2291 openingModuleList
.insertToOpeningModuleList(id
, msa
);
2292 openingModuleList
.setTreePathById(id
, iTree
.getSelectionPath());
2295 // Show msa header in editor panel
2297 showModuleElement(IDefaultMutableTreeNode
.MSA_HEADER
, openingModuleList
.getOpeningModuleById(id
));
2298 this.currentOpeningModuleIndex
= openingModuleList
.findIndexOfListById(id
);
2304 @param path input file path
2307 private void openPackage(String path
) {
2308 PackageSurfaceAreaDocument
.PackageSurfaceArea spd
= null;
2310 spd
= OpenFile
.openSpdFile(path
);
2311 } catch (IOException e
) {
2312 Log
.err("Open Package Surface Area " + path
, e
.getMessage());
2314 } catch (XmlException e
) {
2315 Log
.err("Open Package Surface Area " + path
, e
.getMessage());
2317 } catch (Exception e
) {
2318 Log
.err("Open Package Surface Area " + path
, "Invalid file type");
2321 Identification id
= new Identification(spd
.getSpdHeader().getPackageName(), spd
.getSpdHeader().getGuidValue(),
2322 spd
.getSpdHeader().getVersion(), path
);
2324 // To judge if the package existed in vPackageList
2325 // If not, add it to vPackageList
2327 boolean isFind
= false;
2328 for (int index
= 0; index
< vPackageList
.size(); index
++) {
2329 if (vPackageList
.elementAt(index
).equals(id
)) {
2336 // The module is not in existing packages
2338 Log
.err("The package hasn't been added to current workspace!");
2343 // Make the node selected
2345 iTree
.setSelectionPath(iTree
.getPathOfNode(iTree
.getNodeById(this.dmtnPackageDescription
, id
,
2346 IDefaultMutableTreeNode
.SPD_HEADER
)));
2348 // Update opening package list information
2350 if (!openingPackageList
.existsPackage(id
)) {
2352 // Insert sub node of module
2354 insertPackageTreeNode(id
);
2355 iTree
.getSelectNode().setOpening(true);
2358 // Update opening module list
2360 openingPackageList
.insertToOpeningPackageList(id
, spd
);
2361 openingPackageList
.setTreePathById(id
, iTree
.getSelectionPath());
2364 // Show spd header in editor panel
2366 showPackageElement(IDefaultMutableTreeNode
.SPD_HEADER
, openingPackageList
.getOpeningPackageById(id
));
2367 this.currentOpeningPackageIndex
= openingPackageList
.findIndexOfListById(id
);
2373 @param path input file path
2376 private void openPlatform(String path
) {
2377 PlatformSurfaceAreaDocument
.PlatformSurfaceArea fpd
= null;
2379 fpd
= OpenFile
.openFpdFile(path
);
2380 } catch (IOException e
) {
2381 Log
.err("Open Platform Surface Area " + path
, e
.getMessage());
2383 } catch (XmlException e
) {
2384 Log
.err("Open Platform Surface Area " + path
, e
.getMessage());
2386 } catch (Exception e
) {
2387 Log
.err("Open Platform Surface Area " + path
, "Invalid file type");
2390 Identification id
= new Identification(fpd
.getPlatformHeader().getPlatformName(), fpd
.getPlatformHeader()
2392 fpd
.getPlatformHeader().getVersion(), path
);
2394 // To judge if the platform existed in vPlatformList
2395 // If not, add it to vPlatformList
2397 boolean isFind
= false;
2398 for (int index
= 0; index
< vPlatformList
.size(); index
++) {
2399 if (vPlatformList
.elementAt(index
).equals(id
)) {
2406 // The module is not in existing packages
2408 Log
.err("The platform hasn't been added to current workspace!");
2413 // Make the node selected
2415 iTree
.setSelectionPath(iTree
.getPathOfNode(iTree
.getNodeById(this.dmtnPlatformDescription
, id
,
2416 IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
)));
2418 // Update opening package list information
2420 if (!openingPlatformList
.existsPlatform(id
)) {
2422 // Insert sub node of module
2424 insertPlatformTreeNode(id
);
2425 iTree
.getSelectNode().setOpening(true);
2428 // Update opening module list
2430 openingPlatformList
.insertToOpeningPlatformList(id
, fpd
);
2431 openingPlatformList
.setTreePathById(id
, iTree
.getSelectionPath());
2434 // Show fpd header in editor panel
2436 showPlatformElement(IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
, openingPlatformList
.getOpeningPlatformById(id
));
2437 this.currentOpeningPlatformIndex
= openingPlatformList
.findIndexOfListById(id
);
2444 private void saveModule(int index
) {
2445 OpeningModuleType omt
= openingModuleList
.getOpeningModuleByIndex(index
);
2447 if (getNewFilePath(DataType
.MODULE_SURFACE_AREA_EXT
) != JFileChooser
.APPROVE_OPTION
) {
2452 SaveFile
.saveMsaFile(omt
.getId().getPath(), omt
.getXmlMsa());
2453 openingModuleList
.setNew(omt
.getId(), false);
2454 openingModuleList
.setModuleSaved(omt
.getId(), true);
2455 } catch (Exception e
) {
2456 Log
.err("Save Module", e
.getMessage());
2464 private void savePackage(int index
) {
2465 OpeningPackageType opt
= openingPackageList
.getOpeningPackageByIndex(index
);
2467 if (getNewFilePath(DataType
.PACKAGE_SURFACE_AREA_EXT
) != JFileChooser
.APPROVE_OPTION
) {
2472 SaveFile
.saveSpdFile(opt
.getId().getPath(), opt
.getXmlSpd());
2473 openingPackageList
.setNew(opt
.getId(), false);
2474 openingPackageList
.setPackageSaved(opt
.getId(), true);
2475 } catch (Exception e
) {
2476 Log
.err("Save Package", e
.getMessage());
2484 private void savePlatform(int index
) {
2485 OpeningPlatformType opt
= openingPlatformList
.getOpeningPlatformByIndex(index
);
2487 if (getNewFilePath(DataType
.PACKAGE_SURFACE_AREA_EXT
) != JFileChooser
.APPROVE_OPTION
) {
2492 SaveFile
.saveFpdFile(opt
.getId().getPath(), opt
.getXmlFpd());
2493 openingPlatformList
.setNew(opt
.getId(), false);
2494 openingPlatformList
.setPlatformSaved(opt
.getId(), true);
2495 } catch (Exception e
) {
2496 Log
.err("Save Package", e
.getMessage());
2500 public void componentHidden(ComponentEvent arg0
) {
2501 // TODO Auto-generated method stub
2505 public void componentMoved(ComponentEvent arg0
) {
2506 // TODO Auto-generated method stub
2510 public void componentResized(ComponentEvent arg0
) {
2511 this.jSplitPane
.setSize(this.getWidth() - DataType
.MAIN_FRAME_WIDTH_SPACING
,
2512 this.getHeight() - DataType
.MAIN_FRAME_HEIGHT_SPACING
);
2513 this.jSplitPane
.validate();
2514 resizeDesktopPanel();
2517 public void componentShown(ComponentEvent arg0
) {
2518 // TODO Auto-generated method stub
2523 Resize JDesktopPanel
2526 private void resizeDesktopPanel() {
2527 resizeDesktopPanel(this.jDesktopPaneModule
);
2528 resizeDesktopPanel(this.jDesktopPanePackage
);
2529 resizeDesktopPanel(this.jDesktopPanePlatform
);
2533 Resize JDesktopPanel
2536 private void resizeDesktopPanel(JDesktopPane jdk
) {
2537 JInternalFrame
[] iif
= jdk
.getAllFrames();
2538 for (int index
= 0; index
< iif
.length
; index
++) {
2539 iif
[index
].setSize(jdk
.getWidth(), jdk
.getHeight());
2543 private void getCompontentsFromFrameworkDatabase() {
2544 this.vModuleList
= wt
.getAllModules();
2545 this.vPackageList
= wt
.getAllPackages();
2546 this.vPlatformList
= wt
.getAllPlatforms();
2549 private void insertModuleTreeNode(Identification id
) {
2550 iTree
.addNode(new IDefaultMutableTreeNode("Module Definitions", IDefaultMutableTreeNode
.MSA_MODULEDEFINITIONS
,
2552 iTree
.addNode(new IDefaultMutableTreeNode("Library Class Definitions",
2553 IDefaultMutableTreeNode
.MSA_LIBRARYCLASSDEFINITIONS
, true, id
));
2554 iTree
.addNode(new IDefaultMutableTreeNode("Source Files", IDefaultMutableTreeNode
.MSA_SOURCEFILES
, true, id
));
2555 iTree
.addNode(new IDefaultMutableTreeNode("Package Dependencies",
2556 IDefaultMutableTreeNode
.MSA_PACKAGEDEPENDENCIES
, true, id
));
2557 iTree
.addNode(new IDefaultMutableTreeNode("Protocols", IDefaultMutableTreeNode
.MSA_PROTOCOLS
, true, id
));
2558 iTree
.addNode(new IDefaultMutableTreeNode("Events", IDefaultMutableTreeNode
.MSA_EVENTS
, true, id
));
2559 iTree
.addNode(new IDefaultMutableTreeNode("Hobs", IDefaultMutableTreeNode
.MSA_HOBS
, true, id
));
2560 iTree
.addNode(new IDefaultMutableTreeNode("Ppis", IDefaultMutableTreeNode
.MSA_PPIS
, true, id
));
2561 iTree
.addNode(new IDefaultMutableTreeNode("Variables", IDefaultMutableTreeNode
.MSA_VARIABLES
, true, id
));
2562 iTree
.addNode(new IDefaultMutableTreeNode("Boot Modes", IDefaultMutableTreeNode
.MSA_BOOTMODES
, true, id
));
2563 iTree
.addNode(new IDefaultMutableTreeNode("System Tables", IDefaultMutableTreeNode
.MSA_SYSTEMTABLES
, true, id
));
2564 iTree
.addNode(new IDefaultMutableTreeNode("Data Hubs", IDefaultMutableTreeNode
.MSA_DATAHUBS
, true, id
));
2565 iTree
.addNode(new IDefaultMutableTreeNode("Hii Packages", IDefaultMutableTreeNode
.MSA_HIIPACKAGES
, true, id
));
2566 iTree
.addNode(new IDefaultMutableTreeNode("Guids", IDefaultMutableTreeNode
.MSA_GUIDS
, true, id
));
2567 iTree
.addNode(new IDefaultMutableTreeNode("Externs", IDefaultMutableTreeNode
.MSA_EXTERNS
, true, id
));
2568 iTree
.addNode(new IDefaultMutableTreeNode("PcdCoded", IDefaultMutableTreeNode
.MSA_PCDS
, true, id
));
2571 private void insertPackageTreeNode(Identification id
) {
2572 iTree
.addNode(new IDefaultMutableTreeNode("Package Definitions",
2573 IDefaultMutableTreeNode
.SPD_PACKAGEDEFINITIONS
, true, id
));
2574 iTree
.addNode(new IDefaultMutableTreeNode("Library Class Declarations",
2575 IDefaultMutableTreeNode
.SPD_LIBRARYCLASSDECLARATIONS
, true, id
));
2576 iTree
.addNode(new IDefaultMutableTreeNode("Msa Files", IDefaultMutableTreeNode
.SPD_MSAFILES
, false, id
));
2577 iTree
.addNode(new IDefaultMutableTreeNode("Package Headers", IDefaultMutableTreeNode
.SPD_PACKAGEHEADERS
, true,
2579 iTree
.addNode(new IDefaultMutableTreeNode("Guid Declarations", IDefaultMutableTreeNode
.SPD_GUIDDECLARATIONS
,
2581 iTree
.addNode(new IDefaultMutableTreeNode("Protocol Declarations",
2582 IDefaultMutableTreeNode
.SPD_PROTOCOLDECLARATIONS
, true, id
));
2583 iTree
.addNode(new IDefaultMutableTreeNode("Ppi Declarations", IDefaultMutableTreeNode
.SPD_PPIDECLARATIONS
,
2585 iTree
.addNode(new IDefaultMutableTreeNode("Pcd Declarations", IDefaultMutableTreeNode
.SPD_PCDDECLARATIONS
,
2589 private void insertPlatformTreeNode(Identification id
) {
2590 iTree
.addNode(new IDefaultMutableTreeNode("Platform Definitions",
2591 IDefaultMutableTreeNode
.FPD_PLATFORMDEFINITIONS
, true, id
));
2592 iTree
.addNode(new IDefaultMutableTreeNode("Flash", IDefaultMutableTreeNode
.FPD_FLASH
, true, id
));
2593 iTree
.addNode(new IDefaultMutableTreeNode("Framework Modules", IDefaultMutableTreeNode
.FPD_FRAMEWORKMODULES
,
2595 iTree
.addNode(new IDefaultMutableTreeNode("Pcd Dynamic Build Declarations",
2596 IDefaultMutableTreeNode
.FPD_PCDDYNAMICBUILDDECLARATIONS
, true, id
));
2597 iTree
.addNode(new IDefaultMutableTreeNode("Build Options", IDefaultMutableTreeNode
.FPD_BUILDOPTIONS
, true, id
));
2601 Operate when double click a tree node
2604 private void doubleClickModuleTreeNode() {
2605 Identification id
= iTree
.getSelectNode().getId();
2606 int intCategory
= iTree
.getSelectCategory();
2609 // If the node is not opened yet
2610 // Insert top level elements first
2612 //if (intCategory == IDefaultMutableTreeNode.MSA_HEADER || intCategory == IDefaultMutableTreeNode.SPD_MSAFILES) {
2613 if (intCategory
== IDefaultMutableTreeNode
.MSA_HEADER
) {
2615 if (intCategory
== IDefaultMutableTreeNode
.MSA_HEADER
) {
2616 path
= iTree
.getSelectNode().getId().getPath();
2618 if (intCategory
== IDefaultMutableTreeNode
.SPD_MSAFILES
) {
2619 path
= iTree
.getSelectNode().getId().getPath();
2624 if (intCategory
== IDefaultMutableTreeNode
.SPD_HEADER
) {
2625 path
= iTree
.getSelectNode().getId().getPath();
2629 if (intCategory
== IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
) {
2630 path
= iTree
.getSelectNode().getId().getPath();
2635 // Show editor panel
2637 if (intCategory
>= IDefaultMutableTreeNode
.MSA_HEADER
&& intCategory
< IDefaultMutableTreeNode
.SPD_HEADER
) {
2638 showModuleElement(intCategory
, openingModuleList
.getOpeningModuleById(id
));
2639 this.currentOpeningModuleIndex
= openingModuleList
.findIndexOfListById(id
);
2641 if (intCategory
>= IDefaultMutableTreeNode
.SPD_HEADER
2642 && intCategory
< IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
) {
2643 showPackageElement(intCategory
, openingPackageList
.getOpeningPackageById(id
));
2644 this.currentOpeningPackageIndex
= openingPackageList
.findIndexOfListById(id
);
2646 if (intCategory
>= IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
) {
2647 showPlatformElement(intCategory
, openingPlatformList
.getOpeningPlatformById(id
));
2648 this.currentOpeningPlatformIndex
= openingPlatformList
.findIndexOfListById(id
);
2653 Show content of editor panel via selected element
2659 private void showPlatformElement(int elementType
, OpeningPlatformType fpd
) {
2660 this.cleanDesktopPanePlatform();
2662 switch (elementType
) {
2663 case IDefaultMutableTreeNode
.FPD_PLATFORMDEFINITIONS
:
2664 FpdPlatformDefs frmFpdPlatformDefs
= new FpdPlatformDefs(fpd
);
2665 getJDesktopPanePlatform().add(frmFpdPlatformDefs
, 1);
2667 case IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
:
2668 FpdHeader frmFpdHeader
= new FpdHeader(fpd
);
2669 getJDesktopPanePlatform().add(frmFpdHeader
, 1);
2671 case IDefaultMutableTreeNode
.FPD_FLASH
:
2672 FpdFlash frmFpdFlash
= new FpdFlash(fpd
);
2673 getJDesktopPanePlatform().add(frmFpdFlash
, 1);
2675 case IDefaultMutableTreeNode
.FPD_FRAMEWORKMODULES
:
2676 FpdFrameworkModules frmFpdFrameworkModules
= new FpdFrameworkModules(fpd
);
2677 getJDesktopPanePlatform().add(frmFpdFrameworkModules
, 1);
2679 case IDefaultMutableTreeNode
.FPD_PCDDYNAMICBUILDDECLARATIONS
:
2680 FpdDynamicPcdBuildDefinitions frmFpdDynamicPcdBuildDefinitions
= new FpdDynamicPcdBuildDefinitions(fpd
);
2681 getJDesktopPanePlatform().add(frmFpdDynamicPcdBuildDefinitions
, 1);
2683 case IDefaultMutableTreeNode
.FPD_BUILDOPTIONS
:
2684 FpdBuildOptions frmFpdBuildOptions
= new FpdBuildOptions(fpd
);
2685 getJDesktopPanePlatform().add(frmFpdBuildOptions
, 1);
2688 this.jTabbedPaneEditor
.setSelectedIndex(2);
2689 resizeDesktopPanel();
2693 Show content of editor panel via selected element
2699 private void showPackageElement(int elementType
, OpeningPackageType spd
) {
2700 this.cleanDesktopPanePackage();
2701 Tools
.dirForNewSpd
= spd
.getId().getPath();
2702 switch (elementType
) {
2703 case IDefaultMutableTreeNode
.SPD_HEADER
:
2704 SpdHeader frmSpdHeader
= new SpdHeader(spd
);
2705 getJDesktopPanePackage().add(frmSpdHeader
, 1);
2707 case IDefaultMutableTreeNode
.SPD_PACKAGEDEFINITIONS
:
2708 SpdPackageDefinitions frmSpdPackageDefinitions
= new SpdPackageDefinitions(spd
);
2709 getJDesktopPanePackage().add(frmSpdPackageDefinitions
, 1);
2711 case IDefaultMutableTreeNode
.SPD_LIBRARYCLASSDECLARATIONS
:
2712 SpdLibClassDecls frmSlcd
= new SpdLibClassDecls(spd
);
2713 getJDesktopPanePackage().add(frmSlcd
, 1);
2715 case IDefaultMutableTreeNode
.SPD_MSAFILES
:
2716 SpdMsaFiles frmSmf
= new SpdMsaFiles(spd
);
2717 getJDesktopPanePackage().add(frmSmf
, 1);
2719 case IDefaultMutableTreeNode
.SPD_PACKAGEHEADERS
:
2720 SpdPackageHeaders frmSph
= new SpdPackageHeaders(spd
);
2721 getJDesktopPanePackage().add(frmSph
, 1);
2723 case IDefaultMutableTreeNode
.SPD_GUIDDECLARATIONS
:
2724 SpdGuidDecls frmSgd
= new SpdGuidDecls(spd
);
2725 getJDesktopPanePackage().add(frmSgd
, 1);
2727 case IDefaultMutableTreeNode
.SPD_PROTOCOLDECLARATIONS
:
2728 SpdProtocolDecls frmSprod
= new SpdProtocolDecls(spd
);
2729 getJDesktopPanePackage().add(frmSprod
, 1);
2731 case IDefaultMutableTreeNode
.SPD_PPIDECLARATIONS
:
2732 SpdPpiDecls frmSppid
= new SpdPpiDecls(spd
);
2733 getJDesktopPanePackage().add(frmSppid
, 1);
2735 case IDefaultMutableTreeNode
.SPD_PCDDECLARATIONS
:
2736 SpdPcdDefs frmSpcdd
= new SpdPcdDefs(spd
);
2737 getJDesktopPanePackage().add(frmSpcdd
, 1);
2740 this.jTabbedPaneEditor
.setSelectedIndex(1);
2741 resizeDesktopPanel();
2745 Show content of editor panel via selected element
2751 private void showModuleElement(int elementType
, OpeningModuleType msa
) {
2752 this.cleanDesktopPaneModule();
2753 switch (elementType
) {
2754 case IDefaultMutableTreeNode
.MSA_HEADER
:
2755 MsaHeader frmMsaHeader
= new MsaHeader(msa
);
2756 getJDesktopPaneModule().add(frmMsaHeader
, 1);
2758 case IDefaultMutableTreeNode
.MSA_MODULEDEFINITIONS
:
2759 ModuleDefinitions frmMd
= new ModuleDefinitions(msa
);
2760 getJDesktopPaneModule().add(frmMd
, 1);
2762 case IDefaultMutableTreeNode
.MSA_LIBRARYCLASSDEFINITIONS
:
2763 ModuleLibraryClassDefinitions frmMlcd
= new ModuleLibraryClassDefinitions(msa
);
2764 getJDesktopPaneModule().add(frmMlcd
, 1);
2766 case IDefaultMutableTreeNode
.MSA_PACKAGEDEPENDENCIES
:
2767 ModulePackageDependencies frmMpd
= new ModulePackageDependencies(msa
);
2768 getJDesktopPaneModule().add(frmMpd
, 1);
2770 case IDefaultMutableTreeNode
.MSA_SOURCEFILES
:
2771 ModuleSourceFiles frmMsf
= new ModuleSourceFiles(msa
);
2772 getJDesktopPaneModule().add(frmMsf
, 1);
2774 case IDefaultMutableTreeNode
.MSA_PROTOCOLS
:
2775 ModuleProtocols frmMp
= new ModuleProtocols(msa
);
2776 getJDesktopPaneModule().add(frmMp
, 1);
2778 case IDefaultMutableTreeNode
.MSA_EVENTS
:
2779 ModuleEvents frmMe
= new ModuleEvents(msa
);
2780 getJDesktopPaneModule().add(frmMe
, 1);
2782 case IDefaultMutableTreeNode
.MSA_HOBS
:
2783 ModuleHobs frmMh
= new ModuleHobs(msa
);
2784 getJDesktopPaneModule().add(frmMh
, 1);
2786 case IDefaultMutableTreeNode
.MSA_PPIS
:
2787 ModulePpis frmMpp
= new ModulePpis(msa
);
2788 getJDesktopPaneModule().add(frmMpp
, 1);
2790 case IDefaultMutableTreeNode
.MSA_VARIABLES
:
2791 ModuleVariables frmMv
= new ModuleVariables(msa
);
2792 getJDesktopPaneModule().add(frmMv
, 1);
2794 case IDefaultMutableTreeNode
.MSA_BOOTMODES
:
2795 ModuleBootModes frmMbm
= new ModuleBootModes(msa
);
2796 getJDesktopPaneModule().add(frmMbm
, 1);
2798 case IDefaultMutableTreeNode
.MSA_SYSTEMTABLES
:
2799 ModuleSystemTables frmMst
= new ModuleSystemTables(msa
);
2800 getJDesktopPaneModule().add(frmMst
, 1);
2802 case IDefaultMutableTreeNode
.MSA_DATAHUBS
:
2803 ModuleDataHubs frmMdh
= new ModuleDataHubs(msa
);
2804 getJDesktopPaneModule().add(frmMdh
, 1);
2806 case IDefaultMutableTreeNode
.MSA_HIIPACKAGES
:
2807 ModuleHiiPackages frmMf
= new ModuleHiiPackages(msa
);
2808 getJDesktopPaneModule().add(frmMf
, 1);
2810 case IDefaultMutableTreeNode
.MSA_GUIDS
:
2811 ModuleGuids frmGuid
= new ModuleGuids(msa
);
2812 getJDesktopPaneModule().add(frmGuid
, 1);
2814 case IDefaultMutableTreeNode
.MSA_EXTERNS
:
2815 ModuleExterns frmMex
= new ModuleExterns(msa
);
2816 getJDesktopPaneModule().add(frmMex
, 1);
2818 case IDefaultMutableTreeNode
.MSA_PCDS
:
2819 ModulePCDs frmPcd
= new ModulePCDs(msa
);
2820 getJDesktopPaneModule().add(frmPcd
, 1);
2823 this.jTabbedPaneEditor
.setSelectedIndex(0);
2824 resizeDesktopPanel();
2828 // Define operations of menu
2834 private void fileNew() {
2837 // Selece new file type
2839 NewFileChooser nfc
= new NewFileChooser(this, true);
2840 result
= nfc
.showDialog();
2842 if (result
== DataType
.RETURN_TYPE_CANCEL
) {
2845 } else if (result
== DataType
.RETURN_TYPE_MODULE_SURFACE_AREA
) {
2849 SelectModuleBelong smb
= new SelectModuleBelong(this, true, result
);
2850 result
= smb
.showDialog();
2852 if (result
== DataType
.RETURN_TYPE_CANCEL
) {
2856 } else if (result
== DataType
.RETURN_TYPE_OK
) {
2857 PackageSurfaceAreaDocument
.PackageSurfaceArea psa
= null;
2858 if (this.openingPackageList
.existsPackage(smb
.getMid().getPackageId())) {
2859 psa
= openingPackageList
.getPackageSurfaceAreaFromId(smb
.getMid().getPackageId());
2862 wt
.addModuleToPackage(smb
.getMid(), psa
);
2863 } catch (IOException e
) {
2864 Log
.err("Upddate MsaFiles of Package", e
.getMessage());
2865 e
.printStackTrace();
2867 } catch (XmlException e
) {
2868 Log
.err("Upddate MsaFiles of Package", e
.getMessage());
2869 e
.printStackTrace();
2871 } catch (Exception e
) {
2872 Log
.err("Upddate MsaFiles of Package", e
.getMessage());
2873 e
.printStackTrace();
2876 this.openModule(smb
.getMid().getPath(), smb
.getMid());
2878 } else if (result
== DataType
.RETURN_TYPE_PACKAGE_SURFACE_AREA
) {
2882 SelectModuleBelong smb
= new SelectModuleBelong(this, true, result
);
2883 result
= smb
.showDialog();
2885 if (result
== DataType
.RETURN_TYPE_CANCEL
) {
2889 } else if (result
== DataType
.RETURN_TYPE_OK
) {
2891 wt
.addPackageToDatabase(smb
.getPid());
2892 } catch (Exception e
) {
2893 // TODO Auto-generated catch block
2894 e
.printStackTrace();
2896 vPackageList
.addElement(smb
.getPid());
2898 // Add new SpdHeader node to the tree
2900 IDefaultMutableTreeNode node
= new IDefaultMutableTreeNode(vPackageList
.lastElement().getName(),
2901 IDefaultMutableTreeNode
.SPD_HEADER
, true,
2902 vPackageList
.lastElement());
2903 iTree
.addNode(dmtnPackageDescription
, node
);
2904 this.openPackage(smb
.getPid().getPath());
2906 } else if (result
== DataType
.RETURN_TYPE_PLATFORM_SURFACE_AREA
) {
2908 // To new a platform
2910 SelectModuleBelong smb
= new SelectModuleBelong(this, true, result
);
2911 result
= smb
.showDialog();
2913 if (result
== DataType
.RETURN_TYPE_CANCEL
) {
2917 } else if (result
== DataType
.RETURN_TYPE_OK
) {
2919 wt
.addPlatformToDatabase(smb
.getFid());
2920 } catch (Exception e
) {
2921 // TODO Auto-generated catch block
2922 e
.printStackTrace();
2924 vPlatformList
.addElement(smb
.getFid());
2926 // Add new SpdHeader node to the tree
2928 IDefaultMutableTreeNode node
= new IDefaultMutableTreeNode(vPlatformList
.lastElement().getName(),
2929 IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
,
2930 true, vPlatformList
.lastElement());
2931 iTree
.addNode(dmtnPlatformDescription
, node
);
2932 this.openPlatform(smb
.getFid().getPath());
2941 private void open() {
2942 JFileChooser fc
= new JFileChooser(Workspace
.getCurrentWorkspace());
2943 fc
.setAcceptAllFileFilterUsed(false);
2944 IFileFilter iffM
= new IFileFilter(DataType
.MODULE_SURFACE_AREA_EXT
);
2945 IFileFilter iffP
= new IFileFilter(DataType
.PACKAGE_SURFACE_AREA_EXT
);
2946 IFileFilter iffF
= new IFileFilter(DataType
.PLATFORM_SURFACE_AREA_EXT
);
2947 fc
.addChoosableFileFilter(iffM
);
2948 fc
.addChoosableFileFilter(iffP
);
2949 fc
.addChoosableFileFilter(iffF
);
2950 fc
.setFileFilter(iffM
);
2952 int result
= fc
.showOpenDialog(new JPanel());
2954 if (result
== JFileChooser
.APPROVE_OPTION
) {
2955 String path
= fc
.getSelectedFile().getPath();
2956 String match
= path
.substring(path
.length() - 4);
2957 if (match
.equals(DataType
.FILE_EXT_SEPARATOR
+ DataType
.MODULE_SURFACE_AREA_EXT
)) {
2959 } else if (match
.equals(DataType
.FILE_EXT_SEPARATOR
+ DataType
.PACKAGE_SURFACE_AREA_EXT
)) {
2961 } else if (match
.equals(DataType
.FILE_EXT_SEPARATOR
+ DataType
.PLATFORM_SURFACE_AREA_EXT
)) {
2971 private void close() {
2972 switch (this.jTabbedPaneEditor
.getSelectedIndex()) {
2974 // Current is module
2977 if (this.currentOpeningModuleIndex
> -1) {
2978 if (!openingModuleList
.getModuleSaved(currentOpeningModuleIndex
)) {
2979 int result
= showSaveDialog();
2980 if (result
== JOptionPane
.YES_OPTION
) {
2983 if (result
== JOptionPane
.NO_OPTION
) {
2986 if (result
== JOptionPane
.CANCEL_OPTION
) {
2990 iTree
.removeNodeChildrenByPath(openingModuleList
.getTreePathByIndex(currentOpeningModuleIndex
));
2991 this.openingModuleList
.removeFromOpeningModuleListByIndex(this.currentOpeningModuleIndex
);
2992 this.cleanDesktopPaneModule();
2993 this.currentOpeningModuleIndex
= -1;
2997 // Current is package
3000 if (this.currentOpeningPackageIndex
> -1) {
3001 if (!openingPackageList
.getPackageSaved(currentOpeningPackageIndex
)) {
3002 int result
= showSaveDialog();
3003 if (result
== JOptionPane
.YES_OPTION
) {
3006 if (result
== JOptionPane
.NO_OPTION
) {
3009 if (result
== JOptionPane
.CANCEL_OPTION
) {
3013 iTree
.removeNodeChildrenByPath(openingPackageList
.getTreePathByIndex(currentOpeningPackageIndex
));
3014 this.openingPackageList
.removeFromOpeningPackageListByIndex(this.currentOpeningPackageIndex
);
3015 this.cleanDesktopPanePackage();
3016 this.currentOpeningPackageIndex
= -1;
3020 // Current is platform
3023 if (this.currentOpeningPlatformIndex
> -1) {
3024 if (!openingPlatformList
.getPlatformSaved(currentOpeningPlatformIndex
)) {
3025 int result
= showSaveDialog();
3026 if (result
== JOptionPane
.YES_OPTION
) {
3029 if (result
== JOptionPane
.NO_OPTION
) {
3032 if (result
== JOptionPane
.CANCEL_OPTION
) {
3036 iTree
.removeNodeChildrenByPath(openingPlatformList
.getTreePathByIndex(currentOpeningPlatformIndex
));
3037 this.openingPlatformList
.removeFromOpeningPlatformListByIndex(this.currentOpeningPlatformIndex
);
3038 this.cleanDesktopPanePlatform();
3039 this.currentOpeningPlatformIndex
= -1;
3046 Close all opening files and clean all showing internal frame
3049 private void closeAll() {
3051 if (!openingModuleList
.isSaved() || !openingPackageList
.isSaved() || !openingPlatformList
.isSaved()) {
3052 result
= showSaveDialog();
3054 if (result
== JOptionPane
.YES_OPTION
) {
3057 if (result
== JOptionPane
.NO_OPTION
) {
3060 if (result
== JOptionPane
.CANCEL_OPTION
) {
3063 this.cleanDesktopPane();
3064 this.getCompontentsFromFrameworkDatabase();
3065 openingModuleList
.removeAllFromOpeningModuleList();
3066 openingPackageList
.removeAllFromOpeningPackageList();
3067 openingPlatformList
.removeAllFromOpeningPlatformList();
3068 this.makeEmptyTree();
3072 Save currentModule when press button OK
3075 private void save() {
3076 switch (this.jTabbedPaneEditor
.getSelectedIndex()) {
3078 if (this.currentOpeningModuleIndex
> -1) {
3079 saveModule(this.currentOpeningModuleIndex
);
3083 if (this.currentOpeningPackageIndex
> -1) {
3084 savePackage(this.currentOpeningPackageIndex
);
3088 if (this.currentOpeningPlatformIndex
> -1) {
3089 savePlatform(this.currentOpeningPlatformIndex
);
3095 private void saveAs() {
3099 private void saveAll() {
3103 for (int index
= 0; index
< openingModuleList
.size(); index
++) {
3104 if (!openingModuleList
.getModuleSaved(index
)) {
3110 // Save all packages
3112 for (int index
= 0; index
< openingPackageList
.size(); index
++) {
3113 if (!openingPackageList
.getPackageSaved(index
)) {
3119 // Save all platforms
3121 for (int index
= 0; index
< openingPlatformList
.size(); index
++) {
3122 if (!openingPlatformList
.getPlatformSaved(index
)) {
3123 savePlatform(index
);
3129 To save changed items before exit.
3132 private void exit() {
3134 if (!openingModuleList
.isSaved() || !openingPackageList
.isSaved() || !openingPlatformList
.isSaved()) {
3135 result
= showSaveDialog();
3137 if (result
== JOptionPane
.YES_OPTION
) {
3140 if (result
== JOptionPane
.NO_OPTION
) {
3143 if (result
== JOptionPane
.CANCEL_OPTION
) {
3151 Switch current workspace to others
3154 private void changeWorkspace() {
3155 SwitchWorkspace sw
= new SwitchWorkspace(this, true);
3156 int result
= sw
.showDialog();
3157 if (result
== DataType
.RETURN_TYPE_CANCEL
) {
3159 } else if (result
== DataType
.RETURN_TYPE_OK
) {
3161 // Reinit whole window
3164 this.setTitle(DataType
.PROJECT_NAME
+ " " + DataType
.PROJECT_VERSION
+ " " + "- ["
3165 + Workspace
.getCurrentWorkspace() + "]");
3171 Show Tool Chain Configuration Dialog to setup Tool Chain
3174 private void setupToolChainConfiguration() {
3175 ToolChainConfig tcc
= ToolChainConfig
.getInstance();
3183 private void cloneItem() {
3187 // Check if there is any item can be cloned
3189 if (iTree
.getSelectionPath() == null) {
3190 Log
.err("Please select a target to clone!");
3193 int category
= iTree
.getSelectCategory();
3194 Identification id
= iTree
.getSelectNode().getId();
3195 if (category
== IDefaultMutableTreeNode
.MODULE
|| category
== IDefaultMutableTreeNode
.PACKAGE
3196 || category
== IDefaultMutableTreeNode
.PLATFORM
) {
3197 Log
.err("Please select a target to clone!");
3201 if (category
== IDefaultMutableTreeNode
.WORKSPACE
) {
3202 mode
= DataType
.RETURN_TYPE_WORKSPACE
;
3205 if (category
>= IDefaultMutableTreeNode
.MSA_HEADER
&& category
< IDefaultMutableTreeNode
.SPD_HEADER
) {
3206 mode
= DataType
.RETURN_TYPE_MODULE_SURFACE_AREA
;
3208 if (category
>= IDefaultMutableTreeNode
.SPD_HEADER
&& category
< IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
) {
3209 mode
= DataType
.RETURN_TYPE_PACKAGE_SURFACE_AREA
;
3211 if (category
>= IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
) {
3212 mode
= DataType
.RETURN_TYPE_PLATFORM_SURFACE_AREA
;
3215 Clone c
= new Clone(this, true, mode
, id
);
3216 int result
= c
.showDialog();
3218 if (result
== DataType
.RETURN_TYPE_CANCEL
) {
3221 if (result
== DataType
.RETURN_TYPE_WORKSPACE
) {
3222 Tools
.showInformationMessage("Workspace Clone Finished");
3224 if (result
== DataType
.RETURN_TYPE_MODULE_SURFACE_AREA
) {
3225 Tools
.showInformationMessage("Module Surface Area Clone Finished");
3226 vModuleList
.addElement(c
.getMid());
3228 // Add new MsaHeader node to the tree
3230 IDefaultMutableTreeNode node
= new IDefaultMutableTreeNode(vModuleList
.lastElement().getName(),
3231 IDefaultMutableTreeNode
.MSA_HEADER
, true,
3232 vModuleList
.lastElement());
3233 iTree
.addNode(dmtnModuleDescription
, node
);
3235 if (result
== DataType
.RETURN_TYPE_PACKAGE_SURFACE_AREA
) {
3236 Tools
.showInformationMessage("Package Surface Area Clone Finished");
3237 vPackageList
.addElement(c
.getPid());
3239 // Add new SpdHeader node to the tree
3241 IDefaultMutableTreeNode node
= new IDefaultMutableTreeNode(vPackageList
.lastElement().getName(),
3242 IDefaultMutableTreeNode
.SPD_HEADER
, true,
3243 vPackageList
.lastElement());
3244 iTree
.addNode(dmtnPackageDescription
, node
);
3246 if (result
== DataType
.RETURN_TYPE_PLATFORM_SURFACE_AREA
) {
3247 Tools
.showInformationMessage("Platform Surface Area Clone Finished");
3248 vPlatformList
.addElement(c
.getFid());
3250 // Add new SpdHeader node to the tree
3252 IDefaultMutableTreeNode node
= new IDefaultMutableTreeNode(vPlatformList
.lastElement().getName(),
3253 IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
,
3254 true, vPlatformList
.lastElement());
3255 iTree
.addNode(dmtnPlatformDescription
, node
);
3256 //this.openPlatform(c.getFid().getPath());
3258 if (result
== DataType
.RETURN_TYPE_OK
) {
3263 public void valueChanged(TreeSelectionEvent arg0
) {
3264 // TODO Auto-generated method stub
3268 public void menuCanceled(MenuEvent arg0
) {
3269 // TODO Auto-generated method stub
3273 public void menuDeselected(MenuEvent arg0
) {
3274 // TODO Auto-generated method stub
3278 public void menuSelected(MenuEvent arg0
) {
3279 if (arg0
.getSource() == jMenuFile
) {
3281 // Enable close/close all if some files are opened
3283 jMenuItemFileClose
.setEnabled(openingModuleList
.isOpend() || openingPackageList
.isOpend()
3284 || openingPlatformList
.isOpend());
3285 jMenuItemFileCloseAll
.setEnabled(openingModuleList
.isOpend() || openingPackageList
.isOpend()
3286 || openingPlatformList
.isOpend());
3289 // Enable save/save all if some files are changed
3291 jMenuItemFileSave
.setEnabled(!openingModuleList
.isSaved() || !openingPackageList
.isSaved()
3292 || !openingPlatformList
.isSaved());
3293 jMenuItemFileSaveAll
.setEnabled(!openingModuleList
.isSaved() || !openingPackageList
.isSaved()
3294 || !openingPlatformList
.isSaved());
3297 if (arg0
.getSource() == jMenuTools
) {
3299 // Enable clone when select some items
3301 if (iTree
.getSelectionPath() == null) {
3302 jMenuItemToolsClone
.setEnabled(false);
3304 int category
= iTree
.getSelectCategory();
3305 if (category
== IDefaultMutableTreeNode
.MODULE
|| category
== IDefaultMutableTreeNode
.PACKAGE
3306 || category
== IDefaultMutableTreeNode
.PLATFORM
) {
3307 jMenuItemToolsClone
.setEnabled(false);
3309 jMenuItemToolsClone
.setEnabled(true);