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
.OpenFile
;
54 import org
.tianocore
.frameworkwizard
.common
.SaveFile
;
55 import org
.tianocore
.frameworkwizard
.common
.Tools
;
56 import org
.tianocore
.frameworkwizard
.common
.Identifications
.Identification
;
57 import org
.tianocore
.frameworkwizard
.common
.Identifications
.OpeningModuleList
;
58 import org
.tianocore
.frameworkwizard
.common
.Identifications
.OpeningModuleType
;
59 import org
.tianocore
.frameworkwizard
.common
.Identifications
.OpeningPackageList
;
60 import org
.tianocore
.frameworkwizard
.common
.Identifications
.OpeningPackageType
;
61 import org
.tianocore
.frameworkwizard
.common
.Identifications
.OpeningPlatformList
;
62 import org
.tianocore
.frameworkwizard
.common
.Identifications
.OpeningPlatformType
;
63 import org
.tianocore
.frameworkwizard
.common
.ui
.IDefaultMutableTreeNode
;
64 import org
.tianocore
.frameworkwizard
.common
.ui
.IDesktopManager
;
65 import org
.tianocore
.frameworkwizard
.common
.ui
.IFrame
;
66 import org
.tianocore
.frameworkwizard
.common
.ui
.ITree
;
67 import org
.tianocore
.frameworkwizard
.far
.createui
.CreateStepOne
;
68 import org
.tianocore
.frameworkwizard
.far
.deleteui
.DeleteStepOne
;
69 import org
.tianocore
.frameworkwizard
.far
.installui
.InstallStepOne
;
70 import org
.tianocore
.frameworkwizard
.far
.updateui
.UpdateStepOne
;
71 import org
.tianocore
.frameworkwizard
.module
.Identifications
.ModuleIdentification
;
72 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleBootModes
;
73 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleDataHubs
;
74 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleDefinitions
;
75 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleEvents
;
76 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleExterns
;
77 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleGuids
;
78 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleHiiPackages
;
79 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleHobs
;
80 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleLibraryClassDefinitions
;
81 import org
.tianocore
.frameworkwizard
.module
.ui
.ModulePCDs
;
82 import org
.tianocore
.frameworkwizard
.module
.ui
.ModulePackageDependencies
;
83 import org
.tianocore
.frameworkwizard
.module
.ui
.ModulePpis
;
84 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleProtocols
;
85 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleSourceFiles
;
86 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleSystemTables
;
87 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleVariables
;
88 import org
.tianocore
.frameworkwizard
.module
.ui
.MsaHeader
;
89 import org
.tianocore
.frameworkwizard
.packaging
.PackageIdentification
;
90 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdGuidDecls
;
91 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdHeader
;
92 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdLibClassDecls
;
93 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdMsaFiles
;
94 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdPackageDefinitions
;
95 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdPackageHeaders
;
96 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdPcdDefs
;
97 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdPpiDecls
;
98 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdProtocolDecls
;
99 import org
.tianocore
.frameworkwizard
.platform
.PlatformIdentification
;
100 import org
.tianocore
.frameworkwizard
.platform
.ui
.FpdBuildOptions
;
101 import org
.tianocore
.frameworkwizard
.platform
.ui
.FpdDynamicPcdBuildDefinitions
;
102 import org
.tianocore
.frameworkwizard
.platform
.ui
.FpdFlash
;
103 import org
.tianocore
.frameworkwizard
.platform
.ui
.FpdFrameworkModules
;
104 import org
.tianocore
.frameworkwizard
.platform
.ui
.FpdHeader
;
105 import org
.tianocore
.frameworkwizard
.platform
.ui
.FpdPlatformDefs
;
106 import org
.tianocore
.frameworkwizard
.workspace
.Workspace
;
107 import org
.tianocore
.frameworkwizard
.workspace
.WorkspaceTools
;
108 import org
.tianocore
.frameworkwizard
.workspace
.ui
.SwitchWorkspace
;
111 The class is used to show main GUI of ModuleEditor
112 It extends IFrame implements MouseListener, TreeSelectionListener
115 public class FrameworkWizardUI
extends IFrame
implements MouseListener
, TreeSelectionListener
, ComponentListener
,
118 /// Define class Serial Version UID
120 private static final long serialVersionUID
= -7103240960573031772L;
123 // To save information of all files
125 private Vector
<ModuleIdentification
> vModuleList
= new Vector
<ModuleIdentification
>();
127 private Vector
<PackageIdentification
> vPackageList
= new Vector
<PackageIdentification
>();
129 private Vector
<PlatformIdentification
> vPlatformList
= new Vector
<PlatformIdentification
>();
131 private OpeningModuleList openingModuleList
= new OpeningModuleList();
133 private OpeningPackageList openingPackageList
= new OpeningPackageList();
135 private OpeningPlatformList openingPlatformList
= new OpeningPlatformList();
137 private int currentOpeningModuleIndex
= -1;
139 private int currentOpeningPackageIndex
= -1;
141 private int currentOpeningPlatformIndex
= -1;
143 private IDefaultMutableTreeNode dmtnRoot
= null;
145 private IDefaultMutableTreeNode dmtnModuleDescription
= null;
147 private IDefaultMutableTreeNode dmtnPackageDescription
= null;
149 private IDefaultMutableTreeNode dmtnPlatformDescription
= null;
151 private JPanel jContentPane
= null;
153 private JMenuBar jMenuBar
= null;
155 private JMenu jMenuFile
= null;
157 private JMenuItem jMenuItemFileNew
= null;
159 private JMenuItem jMenuItemFileSaveAs
= null;
161 private JMenuItem jMenuItemFileExit
= null;
163 private JMenu jMenuEdit
= null;
165 private JDesktopPane jDesktopPaneModule
= null;
167 private JDesktopPane jDesktopPanePackage
= null;
169 private JDesktopPane jDesktopPanePlatform
= null;
171 private JTabbedPane jTabbedPaneTree
= null;
173 private JTabbedPane jTabbedPaneEditor
= null;
175 private IDesktopManager iDesktopManager
= new IDesktopManager();
177 private JScrollPane jScrollPaneTree
= null;
179 private ITree iTree
= null;
181 private JMenu jMenuHelp
= null;
183 private JMenuItem jMenuItemHelpAbout
= null;
185 private JMenuItem jMenuItemEditDelete
= null;
187 private WorkspaceTools wt
= new WorkspaceTools();
189 private JMenuItem jMenuItemFileSave
= null;
191 private JMenuItem jMenuItemFileClose
= null;
193 private JMenu jMenuTools
= null;
195 private JMenu jMenuWindow
= null;
197 private JPanel jPanelOperation
= null;
199 private JButton jButtonOk
= null;
201 private JButton jButtonCancel
= null;
203 private JMenuItem jMenuItemFileOpen
= null;
205 private JMenuItem jMenuItemFileCloseAll
= null;
207 private JMenuItem jMenuItemFileSaveAll
= null;
209 private JMenuItem jMenuItemFilePageSetup
= null;
211 private JMenuItem jMenuItemFilePrint
= null;
213 private JMenuItem jMenuItemFileImport
= null;
215 private JMenuItem jMenuItemFileProperties
= null;
217 private JMenu jMenuFileRecentFiles
= null;
219 private JSplitPane jSplitPane
= null;
221 private JMenuItem jMenuItemEditUndo
= null;
223 private JMenuItem jMenuItemEditRedo
= null;
225 private JMenuItem jMenuItemEditCut
= null;
227 private JMenuItem jMenuItemEditCopy
= null;
229 private JMenuItem jMenuItemEditPaste
= null;
231 private JMenuItem jMenuItemEditSelectAll
= null;
233 private JMenuItem jMenuItemEditFind
= null;
235 private JMenuItem jMenuItemEditFindNext
= null;
237 private JMenu jMenuView
= null;
239 private JMenu jMenuViewToolbars
= null;
241 private JCheckBoxMenuItem jCheckBoxMenuItemViewToolbarsFile
= null;
243 private JCheckBoxMenuItem jCheckBoxMenuItemViewToolbarsEdit
= null;
245 private JCheckBoxMenuItem jCheckBoxMenuItemViewToolbarsWindow
= null;
247 private JMenuItem jMenuItemViewStandard
= null;
249 private JMenuItem jMenuItemViewAdvanced
= null;
251 private JMenu jMenuProject
= null;
253 private JMenuItem jMenuItemProjectAdmin
= null;
255 private JMenuItem jMenuItemProjectChangeWorkspace
= null;
257 private JMenu jMenuProjectBuildTargets
= null;
259 private JCheckBoxMenuItem jCheckBoxMenuItemProjectBuildTargetsDebug
= null;
261 private JCheckBoxMenuItem jCheckBoxMenuItemProjectBuildTargetsRelease
= null;
263 private JMenuItem jMenuItemToolsToolChainConfiguration
= null;
265 private JMenuItem jMenuItemToolsClone
= null;
267 private JMenuItem jMenuItemToolsCodeScan
= null;
269 private JMenuItem jMenuItemWindowDisplaySide
= null;
271 private JMenuItem jMenuItemWindowDisplayTopBottom
= null;
273 private JMenuItem jMenuItemViewXML
= null;
275 private JMenuItem jMenuItemWindowTabView
= null;
277 private JMenuItem jMenuItemWindowSource
= null;
279 private JMenuItem jMenuItemWindowXML
= null;
281 private JMenuItem jMenuItemWindowPreferences
= null;
283 private JMenuItem jMenuItemHelpContents
= null;
285 private JMenuItem jMenuItemHelpIndex
= null;
287 private JMenuItem jMenuItemHelpSearch
= null;
289 private JMenuItem jMenuItemProjectInstallFar
= null;
291 private JMenuItem jMenuItemProjectUpdateFar
= null;
293 private JMenuItem jMenuItemProjectRemoveFar
= null;
295 //private JToolBar jToolBarFile = null;
297 //private JToolBar jToolBarEdit = null;
299 //private JToolBar jToolBarWindow = null;
301 private static FrameworkWizardUI fwui
= null;
303 private JMenuItem jMenuItemProjectCreateFar
= null;
305 public static FrameworkWizardUI
getInstance() {
307 fwui
= new FrameworkWizardUI();
313 This method initializes jMenuBar
315 @return javax.swing.JMenuBar Main menu bar for the entire GUI
318 private JMenuBar
getjJMenuBar() {
319 if (jMenuBar
== null) {
320 jMenuBar
= new JMenuBar();
321 jMenuBar
.setPreferredSize(new java
.awt
.Dimension(0, 18));
322 jMenuBar
.add(getJMenuFile());
323 jMenuBar
.add(getJMenuEdit());
324 jMenuBar
.add(getJMenuView());
325 jMenuBar
.add(getJMenuProject());
326 jMenuBar
.add(getJMenuTools());
327 jMenuBar
.add(getJMenuWindow());
328 jMenuBar
.add(getJMenuHelp());
334 This method initializes jSplitPane
336 @return javax.swing.JSplitPane
339 private JSplitPane
getJSplitPane() {
340 if (jSplitPane
== null) {
341 jSplitPane
= new JSplitPane(JSplitPane
.HORIZONTAL_SPLIT
, getJTabbedPaneTree(), getJTabbedPaneEditor());
342 jSplitPane
.setBounds(new java
.awt
.Rectangle(0, 1, DataType
.MAIN_FRAME_SPLIT_PANEL_PREFERRED_SIZE_WIDTH
,
343 DataType
.MAIN_FRAME_SPLIT_PANEL_PREFERRED_SIZE_HEIGHT
));
344 jSplitPane
.addComponentListener(this);
350 This method initializes jTabbedPaneEditor
352 @return javax.swing.JTabbedPane
355 private JTabbedPane
getJTabbedPaneEditor() {
356 if (jTabbedPaneEditor
== null) {
357 jTabbedPaneEditor
= new JTabbedPane();
358 jTabbedPaneEditor
.setBounds(new java
.awt
.Rectangle(DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_X
,
359 DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_Y
,
360 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
361 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
363 .setMinimumSize(new java
.awt
.Dimension(
364 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
365 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
366 //jTabbedPaneEditor.addChangeListener(this);
367 jTabbedPaneEditor
.addTab("Module", null, getJDesktopPaneModule(), null);
368 jTabbedPaneEditor
.addTab("Package", null, getJDesktopPanePackage(), null);
369 jTabbedPaneEditor
.addTab("Platform", null, getJDesktopPanePlatform(), null);
371 return jTabbedPaneEditor
;
375 This method initializes jTabbedPaneTree
377 @return javax.swing.JTabbedPane
380 private JTabbedPane
getJTabbedPaneTree() {
381 if (jTabbedPaneTree
== null) {
382 jTabbedPaneTree
= new JTabbedPane();
384 .setPreferredSize(new java
.awt
.Dimension(
385 DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_WIDTH
,
386 DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_HEIGHT
));
388 .setMinimumSize(new java
.awt
.Dimension(DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_WIDTH
,
389 DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_HEIGHT
));
390 jTabbedPaneTree
.addTab("Workspace Explorer", null, getJScrollPaneTree(), null);
392 return jTabbedPaneTree
;
396 This method initializes jMenuFile
398 @return javax.swing.JMenu jMenuModule
401 private JMenu
getJMenuFile() {
402 if (jMenuFile
== null) {
403 jMenuFile
= new JMenu();
404 jMenuFile
.setText("File");
405 jMenuFile
.setMnemonic('F');
406 jMenuFile
.add(getJMenuItemFileNew());
407 jMenuFile
.add(getJMenuItemFileOpen());
408 jMenuFile
.add(getJMenuItemFileClose());
409 jMenuFile
.add(getJMenuItemFileCloseAll());
410 jMenuFile
.addSeparator();
411 jMenuFile
.add(getJMenuFileRecentFiles());
412 //jMenuFile.addSeparator();
413 jMenuFile
.add(getJMenuItemFileSave());
414 jMenuFile
.add(getJMenuItemFileSaveAs());
415 jMenuFile
.add(getJMenuItemFileSaveAll());
416 jMenuFile
.addSeparator();
417 jMenuFile
.add(getJMenuItemFilePageSetup());
418 jMenuFile
.add(getJMenuItemFilePrint());
419 //jMenuFile.addSeparator();
420 jMenuFile
.add(getJMenuItemFileImport());
421 //jMenuFile.addSeparator();
422 jMenuFile
.add(getJMenuItemFileProperties());
423 //jMenuFile.addSeparator();
424 jMenuFile
.add(getJMenuItemFileExit());
425 jMenuFile
.addMenuListener(this);
431 This method initializes jMenuItemFileSaveAs
433 @return javax.swing.JMenuItem jMenuItemFileSaveAs
436 private JMenuItem
getJMenuItemFileSaveAs() {
437 if (jMenuItemFileSaveAs
== null) {
438 jMenuItemFileSaveAs
= new JMenuItem();
439 jMenuItemFileSaveAs
.setText("Save As...");
440 jMenuItemFileSaveAs
.setMnemonic('a');
441 jMenuItemFileSaveAs
.addActionListener(this);
442 jMenuItemFileSaveAs
.setEnabled(false);
443 jMenuItemFileSaveAs
.setVisible(false);
445 return jMenuItemFileSaveAs
;
449 This method initializes jMenuItemModuleExit
451 @return javax.swing.JMenuItem jMenuItemModuleExit
454 private JMenuItem
getJMenuItemFileExit() {
455 if (jMenuItemFileExit
== null) {
456 jMenuItemFileExit
= new JMenuItem();
457 jMenuItemFileExit
.setText("Exit");
458 jMenuItemFileExit
.setMnemonic('x');
459 jMenuItemFileExit
.addActionListener(this);
461 return jMenuItemFileExit
;
465 This method initializes jMenuEdit
467 @return javax.swing.JMenu jMenuEdit
470 private JMenu
getJMenuEdit() {
471 if (jMenuEdit
== null) {
472 jMenuEdit
= new JMenu();
473 jMenuEdit
.setText("Edit");
474 jMenuEdit
.setMnemonic('E');
475 jMenuEdit
.add(getJMenuItemEditUndo());
476 jMenuEdit
.add(getJMenuItemEditRedo());
477 jMenuEdit
.addSeparator();
478 jMenuEdit
.add(getJMenuItemEditCut());
479 jMenuEdit
.add(getJMenuItemEditCopy());
480 jMenuEdit
.add(getJMenuItemEditPaste());
481 jMenuEdit
.add(getJMenuItemEditDelete());
482 jMenuEdit
.addSeparator();
483 jMenuEdit
.add(getJMenuItemEditSelectAll());
484 jMenuEdit
.add(getJMenuItemEditFind());
485 jMenuEdit
.add(getJMenuItemEditFindNext());
486 jMenuEdit
.addSeparator();
487 jMenuEdit
.setVisible(false);
493 This method initializes jDesktopPane
495 @return javax.swing.JDesktopPane jDesktopPane
498 private JDesktopPane
getJDesktopPaneModule() {
499 if (jDesktopPaneModule
== null) {
500 jDesktopPaneModule
= new JDesktopPane();
502 .setBounds(new java
.awt
.Rectangle(DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_X
,
503 DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_Y
,
504 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
505 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
507 .setMinimumSize(new java
.awt
.Dimension(
508 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
509 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
510 jDesktopPaneModule
.setDesktopManager(iDesktopManager
);
511 jDesktopPaneModule
.addComponentListener(this);
513 return jDesktopPaneModule
;
517 This method initializes jDesktopPane
519 @return javax.swing.JDesktopPane jDesktopPane
522 private JDesktopPane
getJDesktopPanePackage() {
523 if (jDesktopPanePackage
== null) {
524 jDesktopPanePackage
= new JDesktopPane();
526 .setBounds(new java
.awt
.Rectangle(DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_X
,
527 DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_Y
,
528 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
529 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
531 .setMinimumSize(new java
.awt
.Dimension(
532 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
533 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
534 jDesktopPanePackage
.setDesktopManager(iDesktopManager
);
535 jDesktopPanePackage
.addComponentListener(this);
537 return jDesktopPanePackage
;
541 This method initializes jDesktopPane
543 @return javax.swing.JDesktopPane jDesktopPane
546 private JDesktopPane
getJDesktopPanePlatform() {
547 if (jDesktopPanePlatform
== null) {
548 jDesktopPanePlatform
= new JDesktopPane();
550 .setBounds(new java
.awt
.Rectangle(
551 DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_X
,
552 DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_Y
,
553 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
554 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
556 .setMinimumSize(new java
.awt
.Dimension(
557 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
558 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
559 jDesktopPanePlatform
.setDesktopManager(iDesktopManager
);
560 jDesktopPanePlatform
.addComponentListener(this);
562 return jDesktopPanePlatform
;
566 This method initializes jScrollPaneTree
568 @return javax.swing.JScrollPane jScrollPaneTree
571 private JScrollPane
getJScrollPaneTree() {
572 if (jScrollPaneTree
== null) {
573 jScrollPaneTree
= new JScrollPane();
574 //jScrollPaneTree.setBounds(new java.awt.Rectangle(0, 1, 290, 545));
576 .setPreferredSize(new java
.awt
.Dimension(
577 DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_WIDTH
,
578 DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_HEIGHT
));
580 .setMinimumSize(new java
.awt
.Dimension(
581 DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_WIDTH
/ 2,
582 DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_HEIGHT
));
583 jScrollPaneTree
.setViewportView(getITree());
585 return jScrollPaneTree
;
589 This method initializes iTree
591 @return org.tianocore.packaging.common.ui.ITree iTree
594 private ITree
getITree() {
596 //Before open a real module, use an empty root node for the tree
603 This method initializes jMenuHelp
605 @return javax.swing.JMenu jMenuHelp
608 private JMenu
getJMenuHelp() {
609 if (jMenuHelp
== null) {
610 jMenuHelp
= new JMenu();
611 jMenuHelp
.setText("Help");
612 jMenuHelp
.add(getJMenuItemHelpContents());
613 jMenuHelp
.add(getJMenuItemHelpIndex());
614 jMenuHelp
.add(getJMenuItemHelpSearch());
615 //jMenuHelp.addSeparator();
616 jMenuHelp
.add(getJMenuItemHelpAbout());
622 This method initializes jMenuItemHelpAbout
624 @return javax.swing.JMenuItem jMenuItemHelpAbout
627 private JMenuItem
getJMenuItemHelpAbout() {
628 if (jMenuItemHelpAbout
== null) {
629 jMenuItemHelpAbout
= new JMenuItem();
630 jMenuItemHelpAbout
.setText("About...");
631 jMenuItemHelpAbout
.addActionListener(this);
633 return jMenuItemHelpAbout
;
637 This method initializes jMenuItemEditDelete
639 @return javax.swing.JMenuItem jMenuItemEditDelete
642 private JMenuItem
getJMenuItemEditDelete() {
643 if (jMenuItemEditDelete
== null) {
644 jMenuItemEditDelete
= new JMenuItem();
645 jMenuItemEditDelete
.setText("Delete");
646 jMenuItemEditDelete
.setMnemonic('D');
647 jMenuItemEditDelete
.addActionListener(this);
649 //Disabled when no module is open
651 jMenuItemEditDelete
.setEnabled(false);
653 return jMenuItemEditDelete
;
657 // This method initializes jPopupMenu
659 // @return javax.swing.JPopupMenu jPopupMenu
662 // private JPopupMenu getJPopupMenu() {
663 // if (jPopupMenu == null) {
664 // jPopupMenu = new JPopupMenu();
666 // //Add menu items of popup menu
668 // jPopupMenu.add(getJMenuItemPopupAdd());
669 // jPopupMenu.add(getJMenuItemPopupUpdate());
670 // jPopupMenu.add(getJMenuItemPopupDelete());
671 // jPopupMenu.setBorder(new BevelBorder(BevelBorder.RAISED));
672 // jPopupMenu.addMouseListener(this);
674 // return jPopupMenu;
678 // This method initializes jMenuItemPopupAdd
680 // @return javax.swing.JMenuItem jMenuItemPopupAdd
683 // private JMenuItem getJMenuItemPopupAdd() {
684 // if (jMenuItemPopupAdd == null) {
685 // jMenuItemPopupAdd = new JMenuItem();
686 // jMenuItemPopupAdd.setText("Add");
687 // jMenuItemPopupAdd.addActionListener(this);
688 // jMenuItemPopupAdd.setEnabled(false);
690 // return jMenuItemPopupAdd;
694 // This method initializes jMenuItemPopupUpdate
696 // @return javax.swing.JMenuItem jMenuItemPopupUpdate
699 // private JMenuItem getJMenuItemPopupUpdate() {
700 // if (jMenuItemPopupUpdate == null) {
701 // jMenuItemPopupUpdate = new JMenuItem();
702 // jMenuItemPopupUpdate.setText("Update");
703 // jMenuItemPopupUpdate.addActionListener(this);
704 // jMenuItemPopupUpdate.setEnabled(false);
706 // return jMenuItemPopupUpdate;
710 // This method initializes jMenuItemPopupDelete
712 // @return javax.swing.JMenuItem jMenuItemPopupDelete
715 // private JMenuItem getJMenuItemPopupDelete() {
716 // if (jMenuItemPopupDelete == null) {
717 // jMenuItemPopupDelete = new JMenuItem();
718 // jMenuItemPopupDelete.setText("Delete");
719 // jMenuItemPopupDelete.addActionListener(this);
720 // jMenuItemPopupDelete.setEnabled(false);
722 // return jMenuItemPopupDelete;
726 This method initializes jMenuFileNew
728 @return javax.swing.JMenuItem jMenuFileNew
731 private JMenuItem
getJMenuItemFileNew() {
732 if (jMenuItemFileNew
== null) {
733 jMenuItemFileNew
= new JMenuItem();
734 jMenuItemFileNew
.setText("New...");
735 jMenuItemFileNew
.setMnemonic('N');
736 jMenuItemFileNew
.addActionListener(this);
738 return jMenuItemFileNew
;
742 This method initializes jMenuItemFileSave
744 @return javax.swing.JMenuItem jMenuItemModuleSave
747 private JMenuItem
getJMenuItemFileSave() {
748 if (jMenuItemFileSave
== null) {
749 jMenuItemFileSave
= new JMenuItem();
750 jMenuItemFileSave
.setText("Save");
751 jMenuItemFileSave
.setMnemonic('S');
752 jMenuItemFileSave
.addActionListener(this);
753 jMenuItemFileSave
.setEnabled(true);
755 return jMenuItemFileSave
;
759 This method initializes jMenuItemModuleClose
761 @return javax.swing.JMenuItem jMenuItemModuleClose
764 private JMenuItem
getJMenuItemFileClose() {
765 if (jMenuItemFileClose
== null) {
766 jMenuItemFileClose
= new JMenuItem();
767 jMenuItemFileClose
.setText("Close");
768 jMenuItemFileClose
.setMnemonic('C');
769 jMenuItemFileClose
.setEnabled(true);
770 jMenuItemFileClose
.addActionListener(this);
772 return jMenuItemFileClose
;
776 This method initializes jMenuTools
779 @return javax.swing.JMenu jMenuTools
782 private JMenu
getJMenuTools() {
783 if (jMenuTools
== null) {
784 jMenuTools
= new JMenu();
785 jMenuTools
.setText("Tools");
786 jMenuTools
.setMnemonic('T');
787 jMenuTools
.add(getJMenuItemToolsToolChainConfiguration());
788 jMenuTools
.addSeparator();
789 jMenuTools
.add(getJMenuItemToolsClone());
790 //jMenuTools.addSeparator();
791 jMenuTools
.add(getJMenuItemToolsCodeScan());
792 jMenuTools
.addMenuListener(this);
798 This method initializes jMenuWindow
801 @return javax.swing.JMenu jMenuWindow
804 private JMenu
getJMenuWindow() {
805 if (jMenuWindow
== null) {
806 jMenuWindow
= new JMenu();
807 jMenuWindow
.setText("Window");
808 jMenuWindow
.setMnemonic('W');
809 jMenuWindow
.add(getJMenuItemWindowDisplaySide());
810 jMenuWindow
.add(getJMenuItemWindowDisplayTopBottom());
811 jMenuWindow
.addSeparator();
812 jMenuWindow
.add(getJMenuItemWindowTabView());
813 jMenuWindow
.addSeparator();
814 jMenuWindow
.add(getJMenuItemWindowSource());
815 jMenuWindow
.add(getJMenuItemWindowXML());
816 jMenuWindow
.addSeparator();
817 jMenuWindow
.add(getJMenuItemWindowPreferences());
818 jMenuWindow
.setVisible(false);
824 This method initializes jPanelOperation
826 @return javax.swing.JPanel jPanelOperation
829 private JPanel
getJPanelOperation() {
830 if (jPanelOperation
== null) {
831 jPanelOperation
= new JPanel();
832 jPanelOperation
.setLayout(null);
833 jPanelOperation
.setBounds(new java
.awt
.Rectangle(295, 520, 500, 25));
834 jPanelOperation
.add(getJButtonOk(), null);
835 jPanelOperation
.add(getJButtonCancel(), null);
836 jPanelOperation
.setVisible(false);
838 return jPanelOperation
;
842 This method initializes jButtonOk
844 @return javax.swing.JButton jButtonOk
847 private JButton
getJButtonOk() {
848 if (jButtonOk
== null) {
849 jButtonOk
= new JButton();
850 jButtonOk
.setBounds(new java
.awt
.Rectangle(395, 2, 90, 20));
851 jButtonOk
.setText("Ok");
852 jButtonOk
.setEnabled(false);
853 jButtonOk
.addActionListener(this);
859 This method initializes jButtonCancel
861 @return javax.swing.JButton jButtonCancel
864 private JButton
getJButtonCancel() {
865 if (jButtonCancel
== null) {
866 jButtonCancel
= new JButton();
867 jButtonCancel
.setBounds(new java
.awt
.Rectangle(395, 2, 90, 20));
868 jButtonCancel
.setText("Cancel");
869 jButtonCancel
.setEnabled(false);
870 jButtonCancel
.addActionListener(this);
871 jButtonCancel
.setVisible(false);
873 return jButtonCancel
;
877 This method initializes jMenuItemFileOpen
879 @return javax.swing.JMenuItem jMenuItemFileOpen
881 private JMenuItem
getJMenuItemFileOpen() {
882 if (jMenuItemFileOpen
== null) {
883 jMenuItemFileOpen
= new JMenuItem();
884 jMenuItemFileOpen
.setText("Open...");
885 jMenuItemFileOpen
.setMnemonic('O');
886 jMenuItemFileOpen
.addActionListener(this);
888 return jMenuItemFileOpen
;
892 This method initializes jMenuItemFileCloseAll
894 @return javax.swing.JMenuItem jMenuItemFileOpen
896 private JMenuItem
getJMenuItemFileCloseAll() {
897 if (jMenuItemFileCloseAll
== null) {
898 jMenuItemFileCloseAll
= new JMenuItem();
899 jMenuItemFileCloseAll
.setText("Close All");
900 jMenuItemFileCloseAll
.setEnabled(true);
901 jMenuItemFileCloseAll
.addActionListener(this);
903 return jMenuItemFileCloseAll
;
907 This method initializes jMenuItemFileSaveAll
909 @return javax.swing.JMenuItem jMenuItemFileSaveAll
911 private JMenuItem
getJMenuItemFileSaveAll() {
912 if (jMenuItemFileSaveAll
== null) {
913 jMenuItemFileSaveAll
= new JMenuItem();
914 jMenuItemFileSaveAll
.setText("Save All");
915 jMenuItemFileSaveAll
.setMnemonic('v');
916 jMenuItemFileSaveAll
.setEnabled(true);
917 jMenuItemFileSaveAll
.addActionListener(this);
919 return jMenuItemFileSaveAll
;
923 This method initializes jMenuItemFilePageSetup
925 @return javax.swing.JMenuItem
927 private JMenuItem
getJMenuItemFilePageSetup() {
928 if (jMenuItemFilePageSetup
== null) {
929 jMenuItemFilePageSetup
= new JMenuItem();
930 jMenuItemFilePageSetup
.setText("Page Setup");
931 jMenuItemFilePageSetup
.setMnemonic('u');
932 jMenuItemFilePageSetup
.setEnabled(false);
933 jMenuItemFilePageSetup
.addActionListener(this);
934 jMenuItemFilePageSetup
.setVisible(false);
936 return jMenuItemFilePageSetup
;
940 This method initializes jMenuItemFilePrint
942 @return javax.swing.JMenuItem
944 private JMenuItem
getJMenuItemFilePrint() {
945 if (jMenuItemFilePrint
== null) {
946 jMenuItemFilePrint
= new JMenuItem();
947 jMenuItemFilePrint
.setText("Print");
948 jMenuItemFilePrint
.setMnemonic('P');
949 jMenuItemFilePrint
.setEnabled(false);
950 jMenuItemFilePrint
.addActionListener(this);
951 jMenuItemFilePrint
.setVisible(false);
953 return jMenuItemFilePrint
;
957 This method initializes jMenuItemFileImport
959 @return javax.swing.JMenuItem
961 private JMenuItem
getJMenuItemFileImport() {
962 if (jMenuItemFileImport
== null) {
963 jMenuItemFileImport
= new JMenuItem();
964 jMenuItemFileImport
.setText("Import");
965 jMenuItemFileImport
.setMnemonic('I');
966 jMenuItemFileImport
.setEnabled(false);
967 jMenuItemFileImport
.addActionListener(this);
968 jMenuItemFileImport
.setVisible(false);
970 return jMenuItemFileImport
;
974 * This method initializes jMenuItemFileProperties
976 * @return javax.swing.JMenuItem
978 private JMenuItem
getJMenuItemFileProperties() {
979 if (jMenuItemFileProperties
== null) {
980 jMenuItemFileProperties
= new JMenuItem();
981 jMenuItemFileProperties
.setText("Properties");
982 jMenuItemFileProperties
.setMnemonic('t');
983 jMenuItemFileProperties
.setEnabled(false);
984 jMenuItemFileProperties
.addActionListener(this);
985 jMenuItemFileProperties
.setVisible(false);
987 return jMenuItemFileProperties
;
991 * This method initializes jMenuFileRecentFiles
993 * @return javax.swing.JMenu
995 private JMenu
getJMenuFileRecentFiles() {
996 if (jMenuFileRecentFiles
== null) {
997 jMenuFileRecentFiles
= new JMenu();
998 jMenuFileRecentFiles
.setText("Recent Files");
999 jMenuFileRecentFiles
.setMnemonic('F');
1000 jMenuFileRecentFiles
.setEnabled(false);
1001 jMenuFileRecentFiles
.addActionListener(this);
1002 jMenuFileRecentFiles
.setVisible(false);
1004 return jMenuFileRecentFiles
;
1008 This method initializes jMenuItemEditUndo
1010 @return javax.swing.JMenuItem
1012 private JMenuItem
getJMenuItemEditUndo() {
1013 if (jMenuItemEditUndo
== null) {
1014 jMenuItemEditUndo
= new JMenuItem();
1015 jMenuItemEditUndo
.setText("Undo");
1016 jMenuItemEditUndo
.setMnemonic('U');
1017 jMenuItemEditUndo
.setEnabled(false);
1018 jMenuItemEditUndo
.addActionListener(this);
1020 return jMenuItemEditUndo
;
1024 This method initializes jMenuItemEditRedo
1026 @return javax.swing.JMenuItem
1028 private JMenuItem
getJMenuItemEditRedo() {
1029 if (jMenuItemEditRedo
== null) {
1030 jMenuItemEditRedo
= new JMenuItem();
1031 jMenuItemEditRedo
.setText("Redo");
1032 jMenuItemEditRedo
.setMnemonic('R');
1033 jMenuItemEditRedo
.setEnabled(false);
1034 jMenuItemEditRedo
.addActionListener(this);
1036 return jMenuItemEditRedo
;
1040 This method initializes jMenuItemEditCut
1042 @return javax.swing.JMenuItem
1044 private JMenuItem
getJMenuItemEditCut() {
1045 if (jMenuItemEditCut
== null) {
1046 jMenuItemEditCut
= new JMenuItem();
1047 jMenuItemEditCut
.setText("Cut");
1048 jMenuItemEditCut
.setMnemonic('t');
1049 jMenuItemEditCut
.setEnabled(false);
1050 jMenuItemEditCut
.addActionListener(this);
1052 return jMenuItemEditCut
;
1056 This method initializes jMenuItemEditCopy
1058 @return javax.swing.JMenuItem
1060 private JMenuItem
getJMenuItemEditCopy() {
1061 if (jMenuItemEditCopy
== null) {
1062 jMenuItemEditCopy
= new JMenuItem();
1063 jMenuItemEditCopy
.setText("Copy");
1064 jMenuItemEditCopy
.setMnemonic('C');
1065 jMenuItemEditCopy
.setEnabled(false);
1066 jMenuItemEditCopy
.addActionListener(this);
1068 return jMenuItemEditCopy
;
1072 This method initializes jMenuItemEditPaste
1074 return javax.swing.JMenuItem
1076 private JMenuItem
getJMenuItemEditPaste() {
1077 if (jMenuItemEditPaste
== null) {
1078 jMenuItemEditPaste
= new JMenuItem();
1079 jMenuItemEditPaste
.setText("Paste");
1080 jMenuItemEditPaste
.setMnemonic('P');
1081 jMenuItemEditPaste
.setEnabled(false);
1082 jMenuItemEditPaste
.addActionListener(this);
1084 return jMenuItemEditPaste
;
1088 This method initializes jMenuItem
1090 @return javax.swing.JMenuItem
1092 private JMenuItem
getJMenuItemEditSelectAll() {
1093 if (jMenuItemEditSelectAll
== null) {
1094 jMenuItemEditSelectAll
= new JMenuItem();
1095 jMenuItemEditSelectAll
.setText("Select All");
1096 jMenuItemEditSelectAll
.setMnemonic('A');
1097 jMenuItemEditSelectAll
.setEnabled(false);
1098 jMenuItemEditSelectAll
.addActionListener(this);
1100 return jMenuItemEditSelectAll
;
1104 This method initializes jMenuItemEditFind
1106 @return javax.swing.JMenuItem
1108 private JMenuItem
getJMenuItemEditFind() {
1109 if (jMenuItemEditFind
== null) {
1110 jMenuItemEditFind
= new JMenuItem();
1111 jMenuItemEditFind
.setText("Find");
1112 jMenuItemEditFind
.setMnemonic('F');
1113 jMenuItemEditFind
.setEnabled(false);
1114 jMenuItemEditFind
.addActionListener(this);
1116 return jMenuItemEditFind
;
1120 This method initializes jMenuItemEditFindNext
1122 @return javax.swing.JMenuItem
1125 private JMenuItem
getJMenuItemEditFindNext() {
1126 if (jMenuItemEditFindNext
== null) {
1127 jMenuItemEditFindNext
= new JMenuItem();
1128 jMenuItemEditFindNext
.setText("Find Next");
1129 jMenuItemEditFindNext
.setMnemonic('n');
1130 jMenuItemEditFindNext
.setEnabled(false);
1131 jMenuItemEditFindNext
.addActionListener(this);
1133 return jMenuItemEditFindNext
;
1137 This method initializes jMenuView
1139 @return javax.swing.JMenu
1142 private JMenu
getJMenuView() {
1143 if (jMenuView
== null) {
1144 jMenuView
= new JMenu();
1145 jMenuView
.setText("View");
1146 jMenuView
.setMnemonic('V');
1147 jMenuView
.add(getJMenuViewToolbars());
1148 jMenuView
.add(getJMenuItemViewAdvanced());
1149 jMenuView
.add(getJMenuItemViewStandard());
1150 jMenuView
.add(getJMenuItemViewXML());
1151 jMenuView
.setVisible(false);
1157 This method initializes jMenuViewToolbars
1159 @return javax.swing.JMenu
1162 private JMenu
getJMenuViewToolbars() {
1163 if (jMenuViewToolbars
== null) {
1164 jMenuViewToolbars
= new JMenu();
1165 jMenuViewToolbars
.setText("Toolbars");
1166 jMenuViewToolbars
.setMnemonic('T');
1167 jMenuViewToolbars
.add(getJCheckBoxMenuItemViewToolbarsFile());
1168 jMenuViewToolbars
.add(getJCheckBoxMenuItemViewToolbarsEdit());
1169 jMenuViewToolbars
.add(getJCheckBoxMenuItemViewToolbarsWindow());
1171 return jMenuViewToolbars
;
1175 This method initializes jCheckBoxMenuItemViewToolbarsFile
1177 @return javax.swing.JCheckBoxMenuItem
1180 private JCheckBoxMenuItem
getJCheckBoxMenuItemViewToolbarsFile() {
1181 if (jCheckBoxMenuItemViewToolbarsFile
== null) {
1182 jCheckBoxMenuItemViewToolbarsFile
= new JCheckBoxMenuItem();
1183 jCheckBoxMenuItemViewToolbarsFile
.setText("File");
1184 jCheckBoxMenuItemViewToolbarsFile
.setEnabled(false);
1185 jCheckBoxMenuItemViewToolbarsFile
.addActionListener(this);
1187 return jCheckBoxMenuItemViewToolbarsFile
;
1191 This method initializes jCheckBoxMenuItemViewToolbarsEdit
1193 @return javax.swing.JCheckBoxMenuItem
1196 private JCheckBoxMenuItem
getJCheckBoxMenuItemViewToolbarsEdit() {
1197 if (jCheckBoxMenuItemViewToolbarsEdit
== null) {
1198 jCheckBoxMenuItemViewToolbarsEdit
= new JCheckBoxMenuItem();
1199 jCheckBoxMenuItemViewToolbarsEdit
.setText("Edit");
1200 jCheckBoxMenuItemViewToolbarsEdit
.setEnabled(false);
1201 jCheckBoxMenuItemViewToolbarsEdit
.addActionListener(this);
1203 return jCheckBoxMenuItemViewToolbarsEdit
;
1207 This method initializes jCheckBoxMenuItemViewToolbarsWindow
1209 @return javax.swing.JCheckBoxMenuItem
1212 private JCheckBoxMenuItem
getJCheckBoxMenuItemViewToolbarsWindow() {
1213 if (jCheckBoxMenuItemViewToolbarsWindow
== null) {
1214 jCheckBoxMenuItemViewToolbarsWindow
= new JCheckBoxMenuItem();
1215 jCheckBoxMenuItemViewToolbarsWindow
.setText("Window");
1216 jCheckBoxMenuItemViewToolbarsWindow
.setEnabled(false);
1217 jCheckBoxMenuItemViewToolbarsWindow
.addActionListener(this);
1219 return jCheckBoxMenuItemViewToolbarsWindow
;
1223 This method initializes jMenuItemStandard
1225 @return javax.swing.JMenuItem
1228 private JMenuItem
getJMenuItemViewStandard() {
1229 if (jMenuItemViewStandard
== null) {
1230 jMenuItemViewStandard
= new JMenuItem();
1231 jMenuItemViewStandard
.setText("Standard");
1232 jMenuItemViewStandard
.setMnemonic('S');
1233 jMenuItemViewStandard
.setEnabled(false);
1234 jMenuItemViewStandard
.addActionListener(this);
1236 return jMenuItemViewStandard
;
1240 This method initializes jMenuItemAdvanced
1242 @return javax.swing.JMenuItem
1245 private JMenuItem
getJMenuItemViewAdvanced() {
1246 if (jMenuItemViewAdvanced
== null) {
1247 jMenuItemViewAdvanced
= new JMenuItem();
1248 jMenuItemViewAdvanced
.setText("Advanced");
1249 jMenuItemViewAdvanced
.setMnemonic('A');
1250 jMenuItemViewAdvanced
.setEnabled(false);
1251 jMenuItemViewAdvanced
.addActionListener(this);
1253 return jMenuItemViewAdvanced
;
1257 This method initializes jMenuProject
1259 @return javax.swing.JMenu
1262 private JMenu
getJMenuProject() {
1263 if (jMenuProject
== null) {
1264 jMenuProject
= new JMenu();
1265 jMenuProject
.setText("Project");
1266 jMenuProject
.setMnemonic('P');
1267 jMenuProject
.add(getJMenuItemProjectAdmin());
1268 //jMenuProject.addSeparator();
1269 jMenuProject
.add(getJMenuItemProjectChangeWorkspace());
1270 jMenuProject
.addSeparator();
1271 jMenuProject
.add(getJMenuItemProjectCreateFar());
1272 jMenuProject
.add(getJMenuItemProjectInstallFar());
1273 jMenuProject
.add(getJMenuItemProjectUpdateFar());
1274 jMenuProject
.add(getJMenuItemProjectRemoveFar());
1275 //jMenuProject.addSeparator();
1276 jMenuProject
.add(getJMenuProjectBuildTargets());
1278 return jMenuProject
;
1282 This method initializes jMenuItemProjectAdmin
1284 @return javax.swing.JMenuItem
1287 private JMenuItem
getJMenuItemProjectAdmin() {
1288 if (jMenuItemProjectAdmin
== null) {
1289 jMenuItemProjectAdmin
= new JMenuItem();
1290 jMenuItemProjectAdmin
.setText("Admin...");
1291 jMenuItemProjectAdmin
.setMnemonic('A');
1292 jMenuItemProjectAdmin
.setEnabled(false);
1293 jMenuItemProjectAdmin
.addActionListener(this);
1294 jMenuItemProjectAdmin
.setVisible(false);
1296 return jMenuItemProjectAdmin
;
1300 This method initializes jMenuItemProjectChangeWorkspace
1302 @return javax.swing.JMenuItem
1305 private JMenuItem
getJMenuItemProjectChangeWorkspace() {
1306 if (jMenuItemProjectChangeWorkspace
== null) {
1307 jMenuItemProjectChangeWorkspace
= new JMenuItem();
1308 jMenuItemProjectChangeWorkspace
.setText("Change WORKSPACE...");
1309 jMenuItemProjectChangeWorkspace
.setMnemonic('W');
1310 jMenuItemProjectChangeWorkspace
.setEnabled(true);
1311 jMenuItemProjectChangeWorkspace
.addActionListener(this);
1313 return jMenuItemProjectChangeWorkspace
;
1317 This method initializes jMenuProjectBuildTargets
1319 @return javax.swing.JMenu
1322 private JMenu
getJMenuProjectBuildTargets() {
1323 if (jMenuProjectBuildTargets
== null) {
1324 jMenuProjectBuildTargets
= new JMenu();
1325 jMenuProjectBuildTargets
.setText("Build Targets");
1326 jMenuProjectBuildTargets
.setMnemonic('T');
1327 jMenuProjectBuildTargets
.add(getJCheckBoxMenuItemProjectBuildTargetsDebug());
1328 jMenuProjectBuildTargets
.add(getJCheckBoxMenuItemProjectBuildTargetsRelease());
1329 jMenuProjectBuildTargets
.setVisible(false);
1331 return jMenuProjectBuildTargets
;
1335 This method initializes jCheckBoxMenuItemProjectBuildTargetsDebug
1337 @return javax.swing.JCheckBoxMenuItem
1340 private JCheckBoxMenuItem
getJCheckBoxMenuItemProjectBuildTargetsDebug() {
1341 if (jCheckBoxMenuItemProjectBuildTargetsDebug
== null) {
1342 jCheckBoxMenuItemProjectBuildTargetsDebug
= new JCheckBoxMenuItem();
1343 jCheckBoxMenuItemProjectBuildTargetsDebug
.setText("Debug");
1344 jCheckBoxMenuItemProjectBuildTargetsDebug
.setEnabled(false);
1346 return jCheckBoxMenuItemProjectBuildTargetsDebug
;
1350 This method initializes jCheckBoxMenuItemProjectBuildTargetsRelease
1352 @return javax.swing.JCheckBoxMenuItem
1355 private JCheckBoxMenuItem
getJCheckBoxMenuItemProjectBuildTargetsRelease() {
1356 if (jCheckBoxMenuItemProjectBuildTargetsRelease
== null) {
1357 jCheckBoxMenuItemProjectBuildTargetsRelease
= new JCheckBoxMenuItem();
1358 jCheckBoxMenuItemProjectBuildTargetsRelease
.setText("Release");
1359 jCheckBoxMenuItemProjectBuildTargetsRelease
.setEnabled(false);
1361 return jCheckBoxMenuItemProjectBuildTargetsRelease
;
1365 This method initializes jMenuItemToolsToolChainConfiguration
1367 @return javax.swing.JMenuItem
1370 private JMenuItem
getJMenuItemToolsToolChainConfiguration() {
1371 if (jMenuItemToolsToolChainConfiguration
== null) {
1372 jMenuItemToolsToolChainConfiguration
= new JMenuItem();
1373 jMenuItemToolsToolChainConfiguration
.setText("Tool Chain Configuration...");
1374 jMenuItemToolsToolChainConfiguration
.setMnemonic('C');
1375 jMenuItemToolsToolChainConfiguration
.addActionListener(this);
1377 return jMenuItemToolsToolChainConfiguration
;
1381 This method initializes jMenuItemToolsClone
1383 @return javax.swing.JMenuItem
1386 private JMenuItem
getJMenuItemToolsClone() {
1387 if (jMenuItemToolsClone
== null) {
1388 jMenuItemToolsClone
= new JMenuItem();
1389 jMenuItemToolsClone
.setText("Clone...");
1390 jMenuItemToolsClone
.setMnemonic('l');
1391 jMenuItemToolsClone
.setEnabled(true);
1392 jMenuItemToolsClone
.addActionListener(this);
1394 return jMenuItemToolsClone
;
1398 This method initializes jMenuItemToolsCodeScan
1400 @return javax.swing.JMenuItem
1403 private JMenuItem
getJMenuItemToolsCodeScan() {
1404 if (jMenuItemToolsCodeScan
== null) {
1405 jMenuItemToolsCodeScan
= new JMenuItem();
1406 jMenuItemToolsCodeScan
.setText("Code Scan...");
1407 jMenuItemToolsCodeScan
.setMnemonic('S');
1408 jMenuItemToolsCodeScan
.setEnabled(false);
1409 jMenuItemToolsCodeScan
.addActionListener(this);
1410 jMenuItemToolsCodeScan
.setVisible(false);
1412 return jMenuItemToolsCodeScan
;
1416 This method initializes jMenuItemWindowSplitVertical
1418 @return javax.swing.JMenuItem
1421 private JMenuItem
getJMenuItemWindowDisplaySide() {
1422 if (jMenuItemWindowDisplaySide
== null) {
1423 jMenuItemWindowDisplaySide
= new JMenuItem();
1424 jMenuItemWindowDisplaySide
.setText("Display Side by Side");
1425 jMenuItemWindowDisplaySide
.setMnemonic('S');
1426 jMenuItemWindowDisplaySide
.setEnabled(false);
1427 jMenuItemWindowDisplaySide
.addActionListener(this);
1429 return jMenuItemWindowDisplaySide
;
1433 This method initializes jMenuItemWindowSplitHorizontal
1435 @return javax.swing.JMenuItem
1438 private JMenuItem
getJMenuItemWindowDisplayTopBottom() {
1439 if (jMenuItemWindowDisplayTopBottom
== null) {
1440 jMenuItemWindowDisplayTopBottom
= new JMenuItem();
1441 jMenuItemWindowDisplayTopBottom
.setText("Display Top and Bottom");
1442 jMenuItemWindowDisplayTopBottom
.setMnemonic('B');
1443 jMenuItemWindowDisplayTopBottom
.setEnabled(false);
1444 jMenuItemWindowDisplayTopBottom
.addActionListener(this);
1446 return jMenuItemWindowDisplayTopBottom
;
1450 This method initializes jMenuItemViewXML
1452 @return javax.swing.JMenuItem
1455 private JMenuItem
getJMenuItemViewXML() {
1456 if (jMenuItemViewXML
== null) {
1457 jMenuItemViewXML
= new JMenuItem();
1458 jMenuItemViewXML
.setText("XML");
1459 jMenuItemViewXML
.setMnemonic('X');
1460 jMenuItemViewXML
.setEnabled(false);
1461 jMenuItemViewXML
.addActionListener(this);
1463 return jMenuItemViewXML
;
1467 This method initializes jMenuItemWindowTabView
1469 @return javax.swing.JMenuItem
1472 private JMenuItem
getJMenuItemWindowTabView() {
1473 if (jMenuItemWindowTabView
== null) {
1474 jMenuItemWindowTabView
= new JMenuItem();
1475 jMenuItemWindowTabView
.setText("Tab View");
1476 jMenuItemWindowTabView
.setMnemonic('T');
1477 jMenuItemWindowTabView
.setEnabled(false);
1478 jMenuItemWindowTabView
.addActionListener(this);
1480 return jMenuItemWindowTabView
;
1484 This method initializes jMenuItemWindowSource
1486 @return javax.swing.JMenuItem
1489 private JMenuItem
getJMenuItemWindowSource() {
1490 if (jMenuItemWindowSource
== null) {
1491 jMenuItemWindowSource
= new JMenuItem();
1492 jMenuItemWindowSource
.setText("Source");
1493 jMenuItemWindowSource
.setMnemonic('S');
1494 jMenuItemWindowSource
.setEnabled(false);
1495 jMenuItemWindowSource
.addActionListener(this);
1497 return jMenuItemWindowSource
;
1501 This method initializes jMenuItemWindowXML
1503 @return javax.swing.JMenuItem
1506 private JMenuItem
getJMenuItemWindowXML() {
1507 if (jMenuItemWindowXML
== null) {
1508 jMenuItemWindowXML
= new JMenuItem();
1509 jMenuItemWindowXML
.setText("XML");
1510 jMenuItemWindowXML
.setMnemonic('X');
1511 jMenuItemWindowXML
.setEnabled(false);
1512 jMenuItemWindowXML
.addActionListener(this);
1514 return jMenuItemWindowXML
;
1518 This method initializes jMenuItemWindowPreferences
1520 @return javax.swing.JMenuItem
1523 private JMenuItem
getJMenuItemWindowPreferences() {
1524 if (jMenuItemWindowPreferences
== null) {
1525 jMenuItemWindowPreferences
= new JMenuItem();
1526 jMenuItemWindowPreferences
.setText("Preferences");
1527 jMenuItemWindowPreferences
.setMnemonic('P');
1528 jMenuItemWindowPreferences
.setEnabled(false);
1529 jMenuItemWindowPreferences
.addActionListener(this);
1531 return jMenuItemWindowPreferences
;
1535 This method initializes jMenuItemHelpContents
1537 @return javax.swing.JMenuItem
1540 private JMenuItem
getJMenuItemHelpContents() {
1541 if (jMenuItemHelpContents
== null) {
1542 jMenuItemHelpContents
= new JMenuItem();
1543 jMenuItemHelpContents
.setText("Contents");
1544 jMenuItemHelpContents
.setMnemonic('C');
1545 jMenuItemHelpContents
.setEnabled(false);
1546 jMenuItemHelpContents
.addActionListener(this);
1547 jMenuItemHelpContents
.setVisible(false);
1549 return jMenuItemHelpContents
;
1553 This method initializes jMenuItemHelpIndex
1555 @return javax.swing.JMenuItem
1558 private JMenuItem
getJMenuItemHelpIndex() {
1559 if (jMenuItemHelpIndex
== null) {
1560 jMenuItemHelpIndex
= new JMenuItem();
1561 jMenuItemHelpIndex
.setText("Index");
1562 jMenuItemHelpIndex
.setMnemonic('I');
1563 jMenuItemHelpIndex
.setEnabled(false);
1564 jMenuItemHelpIndex
.addActionListener(this);
1565 jMenuItemHelpIndex
.setVisible(false);
1567 return jMenuItemHelpIndex
;
1571 This method initializes jMenuItemHelpSearch
1573 @return javax.swing.JMenuItem
1576 private JMenuItem
getJMenuItemHelpSearch() {
1577 if (jMenuItemHelpSearch
== null) {
1578 jMenuItemHelpSearch
= new JMenuItem();
1579 jMenuItemHelpSearch
.setText("Search");
1580 jMenuItemHelpSearch
.setMnemonic('S');
1581 jMenuItemHelpSearch
.setEnabled(false);
1582 jMenuItemHelpSearch
.addActionListener(this);
1583 jMenuItemHelpSearch
.setVisible(false);
1585 return jMenuItemHelpSearch
;
1589 * This method initializes jToolBar
1591 * @return javax.swing.JToolBar
1593 // private JToolBar getJToolBarFile() {
1594 // if (jToolBarFile == null) {
1595 // jToolBarFile = new JToolBar();
1596 // jToolBarFile.setFloatable(false);
1598 // return jToolBarFile;
1601 * This method initializes jToolBarEdit
1603 * @return javax.swing.JToolBar
1605 // private JToolBar getJToolBarEdit() {
1606 // if (jToolBarEdit == null) {
1607 // jToolBarEdit = new JToolBar();
1608 // jToolBarEdit.setFloatable(false);
1610 // return jToolBarEdit;
1613 * This method initializes jMenuItemToolsInstallPackage
1615 * @return javax.swing.JMenuItem
1617 private JMenuItem
getJMenuItemProjectInstallFar() {
1618 if (jMenuItemProjectInstallFar
== null) {
1619 jMenuItemProjectInstallFar
= new JMenuItem();
1620 jMenuItemProjectInstallFar
.setText("Install FAR");
1621 jMenuItemProjectInstallFar
.setMnemonic('I');
1622 jMenuItemProjectInstallFar
.setEnabled(true);
1623 jMenuItemProjectInstallFar
.addActionListener(this);
1625 return jMenuItemProjectInstallFar
;
1629 * This method initializes jMenuItemToolsUpdatePackage
1631 * @return javax.swing.JMenuItem
1633 private JMenuItem
getJMenuItemProjectUpdateFar() {
1634 if (jMenuItemProjectUpdateFar
== null) {
1635 jMenuItemProjectUpdateFar
= new JMenuItem();
1636 jMenuItemProjectUpdateFar
.setText("Update FAR");
1637 jMenuItemProjectUpdateFar
.setMnemonic('U');
1638 jMenuItemProjectUpdateFar
.setEnabled(true);
1639 jMenuItemProjectUpdateFar
.addActionListener(this);
1640 jMenuItemProjectUpdateFar
.setVisible(true);
1642 return jMenuItemProjectUpdateFar
;
1646 * This method initializes jMenuItemRemovePackage
1648 * @return javax.swing.JMenuItem
1650 private JMenuItem
getJMenuItemProjectRemoveFar() {
1651 if (jMenuItemProjectRemoveFar
== null) {
1652 jMenuItemProjectRemoveFar
= new JMenuItem();
1653 jMenuItemProjectRemoveFar
.setText("Remove FAR");
1654 jMenuItemProjectRemoveFar
.setMnemonic('R');
1655 jMenuItemProjectRemoveFar
.setEnabled(true);
1656 jMenuItemProjectRemoveFar
.addActionListener(this);
1658 return jMenuItemProjectRemoveFar
;
1662 * This method initializes jMenuItemProjectCreateFar
1664 * @return javax.swing.JMenuItem
1666 private JMenuItem
getJMenuItemProjectCreateFar() {
1667 if (jMenuItemProjectCreateFar
== null) {
1668 jMenuItemProjectCreateFar
= new JMenuItem();
1669 jMenuItemProjectCreateFar
.setText("Create FAR");
1670 jMenuItemProjectCreateFar
.setMnemonic('C');
1671 jMenuItemProjectCreateFar
.addActionListener(this);
1673 return jMenuItemProjectCreateFar
;
1677 * @see org.tianocore.packaging.common.ui.IFrame#main(java.lang.String[])
1679 * Main class, start the GUI
1682 public static void main(String
[] args
) {
1683 FrameworkWizardUI module
= FrameworkWizardUI
.getInstance();
1684 module
.setVisible(true);
1688 This is the default constructor
1691 public FrameworkWizardUI() {
1697 This method initializes this
1701 private void init() {
1703 // Set current workspace and check
1704 // Check if exists WORKSPACE
1707 Workspace
.setCurrentWorkspace(System
.getenv("WORKSPACE"));
1708 if (!Workspace
.checkCurrentWorkspace()) {
1709 JOptionPane
.showConfirmDialog(null, "Workspace is not setup correctly. Please setup first.", "Warning",
1710 JOptionPane
.DEFAULT_OPTION
, JOptionPane
.WARNING_MESSAGE
);
1715 this.setSize(DataType
.MAIN_FRAME_PREFERRED_SIZE_WIDTH
, DataType
.MAIN_FRAME_PREFERRED_SIZE_HEIGHT
);
1716 this.setResizable(true);
1717 this.setJMenuBar(getjJMenuBar());
1718 this.addComponentListener(this);
1719 this.getCompontentsFromFrameworkDatabase();
1720 this.setContentPane(getJContentPane());
1721 this.setTitle(DataType
.PROJECT_NAME
+ " " + DataType
.PROJECT_VERSION
+ " " + "- ["
1722 + Workspace
.getCurrentWorkspace() + "]");
1723 this.setExitType(1);
1728 this.setExtendedState(JFrame
.MAXIMIZED_BOTH
);
1732 This method initializes jContentPane
1734 @return javax.swing.JPanel jContentPane
1737 private JPanel
getJContentPane() {
1738 if (jContentPane
== null) {
1739 jContentPane
= new JPanel();
1740 jContentPane
.setLayout(null);
1741 jContentPane
.add(getJPanelOperation(), null);
1742 jContentPane
.add(getJSplitPane(), null);
1744 return jContentPane
;
1748 * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
1750 * Override actionPerformed to listen all actions
1753 public void actionPerformed(ActionEvent arg0
) {
1755 // Operations of Menu
1757 if (arg0
.getSource() == jMenuItemFileNew
) {
1761 if (arg0
.getSource() == jMenuItemFileOpen
) {
1765 if (arg0
.getSource() == jMenuItemFileClose
) {
1769 if (arg0
.getSource() == jMenuItemFileCloseAll
) {
1773 if (arg0
.getSource() == jMenuItemFileSave
) {
1777 if (arg0
.getSource() == jMenuItemFileSaveAs
) {
1781 if (arg0
.getSource() == jMenuItemFileSaveAll
) {
1785 if (arg0
.getSource() == jMenuItemFileExit
) {
1789 if (arg0
.getSource() == jMenuItemProjectChangeWorkspace
) {
1793 if (arg0
.getSource() == jMenuItemProjectCreateFar
) {
1794 CreateStepOne cso
= new CreateStepOne(this, true);
1795 int result
= cso
.showDialog();
1796 if (result
== DataType
.RETURN_TYPE_OK
) {
1797 String strReturn
= "Create Far Done!";
1798 JOptionPane
.showConfirmDialog(null, strReturn
, "Done", JOptionPane
.DEFAULT_OPTION
,
1799 JOptionPane
.INFORMATION_MESSAGE
);
1804 if (arg0
.getSource() == jMenuItemProjectInstallFar
) {
1805 InstallStepOne iso
= new InstallStepOne(this, true);
1806 int result
= iso
.showDialog();
1807 if (result
== DataType
.RETURN_TYPE_OK
) {
1808 String strReturn
= "<html>Install Far Done! <br>The WORKSPACE will be refreshed!</html>";
1809 JOptionPane
.showConfirmDialog(null, strReturn
, "Done", JOptionPane
.DEFAULT_OPTION
,
1810 JOptionPane
.INFORMATION_MESSAGE
);
1816 if (arg0
.getSource() == jMenuItemProjectRemoveFar
) {
1817 DeleteStepOne dso
= new DeleteStepOne(this, true);
1818 int result
= dso
.showDialog();
1819 if (result
== DataType
.RETURN_TYPE_OK
) {
1820 String strReturn
= "<html>Delete Far Done! <br>The WORKSPACE will be refreshed!</html>";
1821 JOptionPane
.showConfirmDialog(null, strReturn
, "Done", JOptionPane
.DEFAULT_OPTION
,
1822 JOptionPane
.INFORMATION_MESSAGE
);
1828 if (arg0
.getSource() == jMenuItemProjectUpdateFar
) {
1829 UpdateStepOne uso
= new UpdateStepOne(this, true);
1830 int result
= uso
.showDialog();
1831 if (result
== DataType
.RETURN_TYPE_OK
) {
1832 String strReturn
= "<html>Update Far Done! <br>The WORKSPACE will be refreshed!</html>";
1833 JOptionPane
.showConfirmDialog(null, strReturn
, "Done", JOptionPane
.DEFAULT_OPTION
,
1834 JOptionPane
.INFORMATION_MESSAGE
);
1840 if (arg0
.getSource() == jMenuItemToolsClone
) {
1844 if (arg0
.getSource() == jMenuItemToolsToolChainConfiguration
) {
1845 setupToolChainConfiguration();
1848 if (arg0
.getSource() == jMenuItemHelpAbout
) {
1849 About a
= new About(this, true);
1850 int result
= a
.showDialog();
1851 if (result
== DataType
.RETURN_TYPE_OK
) {
1858 Create an empty tree if no file is open
1861 private void makeEmptyTree() {
1863 dmtnRoot
= new IDefaultMutableTreeNode("WORKSPACE", IDefaultMutableTreeNode
.WORKSPACE
, -1);
1865 // Make Module Description
1866 dmtnModuleDescription
= new IDefaultMutableTreeNode("ModuleDescription", IDefaultMutableTreeNode
.MODULE
, -1);
1869 // First add package
1871 if (this.vPackageList
.size() > 0) {
1872 for (int index
= 0; index
< this.vPackageList
.size(); index
++) {
1873 IDefaultMutableTreeNode dmtnModulePackage
= null;
1874 IDefaultMutableTreeNode dmtnModulePackageLibrary
= null;
1875 IDefaultMutableTreeNode dmtnModulePackageModule
= null;
1877 dmtnModulePackage
= new IDefaultMutableTreeNode(this.vPackageList
.elementAt(index
).getName(),
1878 IDefaultMutableTreeNode
.MODULE_PACKAGE
, false,
1879 this.vPackageList
.elementAt(index
));
1880 dmtnModulePackageLibrary
= new IDefaultMutableTreeNode("Library",
1881 IDefaultMutableTreeNode
.MODULE_PACKAGE_LIBRARY
,
1882 false, this.vPackageList
.elementAt(index
));
1883 dmtnModulePackageModule
= new IDefaultMutableTreeNode("Module",
1884 IDefaultMutableTreeNode
.MODULE_PACKAGE_MODULE
,
1885 false, this.vPackageList
.elementAt(index
));
1887 Vector
<ModuleIdentification
> vModule
= wt
.getAllModules(this.vPackageList
.elementAt(index
));
1888 for (int indexJ
= 0; indexJ
< vModule
.size(); indexJ
++) {
1889 if (vModule
.get(indexJ
).isLibrary()) {
1890 dmtnModulePackageLibrary
.add(new IDefaultMutableTreeNode(vModule
.get(indexJ
).getName(),
1891 IDefaultMutableTreeNode
.MSA_HEADER
,
1892 false, vModule
.get(indexJ
)));
1894 dmtnModulePackageModule
.add(new IDefaultMutableTreeNode(vModule
.get(indexJ
).getName(),
1895 IDefaultMutableTreeNode
.MSA_HEADER
,
1896 false, vModule
.get(indexJ
)));
1899 if (dmtnModulePackageModule
.getChildCount() > 0) {
1900 dmtnModulePackage
.add(dmtnModulePackageModule
);
1902 if (dmtnModulePackageLibrary
.getChildCount() > 0) {
1903 dmtnModulePackage
.add(dmtnModulePackageLibrary
);
1906 dmtnModuleDescription
.add(dmtnModulePackage
);
1910 // if (this.vModuleList.size() > 0) {
1911 // for (int index = 0; index < this.vModuleList.size(); index++) {
1912 // dmtnModuleDescription.add(new IDefaultMutableTreeNode(this.vModuleList.elementAt(index).getName(),
1913 // IDefaultMutableTreeNode.MSA_HEADER, false,
1914 // this.vModuleList.elementAt(index)));
1918 // Make Package Description
1919 dmtnPackageDescription
= new IDefaultMutableTreeNode("PackageDescription", IDefaultMutableTreeNode
.PACKAGE
, -1);
1920 if (this.vPackageList
.size() > 0) {
1921 for (int index
= 0; index
< this.vPackageList
.size(); index
++) {
1922 dmtnPackageDescription
.add(new IDefaultMutableTreeNode(this.vPackageList
.elementAt(index
).getName(),
1923 IDefaultMutableTreeNode
.SPD_HEADER
, false,
1924 this.vPackageList
.elementAt(index
)));
1928 // Make Platform Description
1929 dmtnPlatformDescription
= new IDefaultMutableTreeNode("PlatformDescription", IDefaultMutableTreeNode
.PLATFORM
,
1931 if (this.vPlatformList
.size() > 0) {
1932 for (int index
= 0; index
< this.vPlatformList
.size(); index
++) {
1933 dmtnPlatformDescription
.add(new IDefaultMutableTreeNode(this.vPlatformList
.elementAt(index
).getName(),
1934 IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
,
1935 false, this.vPlatformList
.elementAt(index
)));
1939 dmtnRoot
.add(dmtnModuleDescription
);
1940 dmtnRoot
.add(dmtnPackageDescription
);
1941 dmtnRoot
.add(dmtnPlatformDescription
);
1942 iTree
= new ITree(dmtnRoot
);
1943 iTree
.addMouseListener(this);
1944 jScrollPaneTree
.setViewportView(iTree
);
1948 * @see java.awt.event.WindowListener#windowClosing(java.awt.event.WindowEvent)
1950 * Override windowClosing to popup warning message to confirm quit
1953 public void windowClosing(WindowEvent arg0
) {
1958 * @see java.awt.event.MouseListener#mouseClicked(java.awt.event.MouseEvent)
1960 * Override mouseClicked to check if need display popup menu
1963 public void mouseClicked(MouseEvent arg0
) {
1964 if (arg0
.getButton() == MouseEvent
.BUTTON1
) {
1966 if (arg0
.getButton() == MouseEvent
.BUTTON3
) {
1969 // When double click
1971 if (arg0
.getClickCount() == 2) {
1972 doubleClickModuleTreeNode();
1976 public void mouseEntered(MouseEvent arg0
) {
1977 // TODO Auto-generated method stub
1980 public void mouseExited(MouseEvent arg0
) {
1981 // TODO Auto-generated method stub
1984 public void mousePressed(MouseEvent arg0
) {
1985 // TODO Auto-generated method stub
1988 public void mouseReleased(MouseEvent arg0
) {
1989 // TODO Auto-generated method stub
1993 Remove all Internal Frame of Module Desktop Pane
1996 private void cleanDesktopPaneModule() {
1997 if (jDesktopPaneModule
!= null) {
1998 JInternalFrame
[] iif
= this.jDesktopPaneModule
.getAllFrames();
1999 for (int index
= 0; index
< iif
.length
; index
++) {
2000 iif
[index
].dispose();
2006 Remove all Internal Frame of package Desktop Pane
2009 private void cleanDesktopPanePackage() {
2010 if (jDesktopPanePlatform
!= null) {
2011 JInternalFrame
[] iif
= this.jDesktopPanePackage
.getAllFrames();
2012 for (int index
= 0; index
< iif
.length
; index
++) {
2013 iif
[index
].dispose();
2019 Remove all Internal Frame of platform Desktop Pane
2022 private void cleanDesktopPanePlatform() {
2023 if (jDesktopPanePlatform
!= null) {
2024 JInternalFrame
[] iif
= this.jDesktopPanePlatform
.getAllFrames();
2025 for (int index
= 0; index
< iif
.length
; index
++) {
2026 iif
[index
].dispose();
2032 Remove all Internal Frame of all Desktop Panes
2035 private void cleanDesktopPane() {
2036 cleanDesktopPaneModule();
2037 cleanDesktopPanePackage();
2038 cleanDesktopPanePlatform();
2042 Set file filter as input ext
2048 private int getNewFilePath(String ext
) {
2049 JFileChooser fc
= new JFileChooser(Workspace
.getCurrentWorkspace());
2050 fc
.setAcceptAllFileFilterUsed(false);
2051 fc
.addChoosableFileFilter(new IFileFilter(ext
));
2052 return fc
.showSaveDialog(new JPanel());
2056 Add a module to tree
2058 @param mid The module node to be added
2061 private void addModuleToTree(ModuleIdentification mid
) {
2063 // Add new MsaHeader node to the tree
2065 IDefaultMutableTreeNode node
= new IDefaultMutableTreeNode(mid
.getName(), IDefaultMutableTreeNode
.MSA_HEADER
,
2068 // First find the module belongs to which package
2070 IDefaultMutableTreeNode packageNode
= iTree
.getNodeById(dmtnModuleDescription
, mid
.getPackageId(),
2071 IDefaultMutableTreeNode
.MODULE_PACKAGE
);
2073 // To check if has module node or library node
2075 IDefaultMutableTreeNode parentModuleNode
= null;
2076 IDefaultMutableTreeNode parentLibraryNode
= null;
2077 boolean hasModule
= false;
2078 boolean hasLibrary
= false;
2079 for (int index
= 0; index
< packageNode
.getChildCount(); index
++) {
2080 IDefaultMutableTreeNode iNode
= (IDefaultMutableTreeNode
) packageNode
.getChildAt(index
);
2081 if (iNode
.getCategory() == IDefaultMutableTreeNode
.MODULE_PACKAGE_LIBRARY
) {
2083 parentLibraryNode
= iNode
;
2085 if (iNode
.getCategory() == IDefaultMutableTreeNode
.MODULE_PACKAGE_MODULE
) {
2087 parentModuleNode
= iNode
;
2094 if (!mid
.isLibrary()) {
2096 // Create parent node first if has no parent node
2099 parentModuleNode
= new IDefaultMutableTreeNode("Module", 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
, false,
2117 mid
.getPackageId());
2118 iTree
.addNode(packageNode
, parentLibraryNode
);
2121 iTree
.addNode(parentLibraryNode
, node
);
2128 @param path input file path
2131 private void openModule(String path
, ModuleIdentification moduleId
) {
2132 ModuleSurfaceAreaDocument
.ModuleSurfaceArea msa
= null;
2134 msa
= OpenFile
.openMsaFile(path
);
2135 } catch (IOException e
) {
2136 Log
.wrn("Open Module Surface Area " + path
, e
.getMessage());
2137 Log
.err("Open Module Surface Area " + path
, e
.getMessage());
2139 } catch (XmlException e
) {
2140 Log
.wrn("Open Module Surface Area " + path
, e
.getMessage());
2141 Log
.err("Open Module Surface Area " + path
, e
.getMessage());
2143 } catch (Exception e
) {
2144 Log
.wrn("Open Module Surface Area " + path
, "Invalid file type");
2145 Log
.err("Open Module Surface Area " + path
, "Invalid file type");
2148 Identification id
= new Identification(msa
.getMsaHeader().getModuleName(), msa
.getMsaHeader().getGuidValue(),
2149 msa
.getMsaHeader().getVersion(), path
);
2151 // Generate module id
2153 PackageIdentification pid
= wt
.getPackageIdByModuleId(id
);
2156 // To judge if the module existed in vModuleList
2157 // If not, add it to vModuleList
2159 boolean isFind
= false;
2160 for (int index
= 0; index
< vModuleList
.size(); index
++) {
2161 if (vModuleList
.elementAt(index
).equals(id
)) {
2167 ModuleIdentification mid
= new ModuleIdentification(id
, pid
, moduleId
.isLibrary());
2168 vModuleList
.addElement(mid
);
2169 addModuleToTree(mid
);
2173 // The module is not in existing packages
2175 Log
.err("The module hasn't been added to any package of current workspace!");
2180 // Make the node selected
2182 iTree
.setSelectionPath(iTree
.getPathOfNode(iTree
.getNodeById(this.dmtnModuleDescription
, id
,
2183 IDefaultMutableTreeNode
.MSA_HEADER
)));
2185 // Update opening Module list information
2187 if (!openingModuleList
.existsModule(id
)) {
2189 // Insert sub node of module
2191 insertModuleTreeNode(id
);
2192 iTree
.getSelectNode().setOpening(true);
2195 // Update opening module list
2197 openingModuleList
.insertToOpeningModuleList(id
, msa
);
2198 openingModuleList
.setTreePathById(id
, iTree
.getSelectionPath());
2201 // Show msa header in editor panel
2203 showModuleElement(IDefaultMutableTreeNode
.MSA_HEADER
, openingModuleList
.getOpeningModuleById(id
));
2204 this.currentOpeningModuleIndex
= openingModuleList
.findIndexOfListById(id
);
2210 @param path input file path
2213 private void openModule(String path
) {
2214 ModuleSurfaceAreaDocument
.ModuleSurfaceArea msa
= null;
2216 msa
= OpenFile
.openMsaFile(path
);
2217 } catch (IOException e
) {
2218 Log
.wrn("Open Module Surface Area " + path
, e
.getMessage());
2219 Log
.err("Open Module Surface Area " + path
, e
.getMessage());
2221 } catch (XmlException e
) {
2222 Log
.wrn("Open Module Surface Area " + path
, e
.getMessage());
2223 Log
.err("Open Module Surface Area " + path
, e
.getMessage());
2225 } catch (Exception e
) {
2226 Log
.wrn("Open Module Surface Area " + path
, "Invalid file type");
2227 Log
.err("Open Module Surface Area " + path
, "Invalid file type");
2230 Identification id
= new Identification(msa
.getMsaHeader().getModuleName(), msa
.getMsaHeader().getGuidValue(),
2231 msa
.getMsaHeader().getVersion(), path
);
2233 // Generate module id
2235 PackageIdentification pid
= wt
.getPackageIdByModuleId(id
);
2238 // To judge if the module existed in vModuleList
2239 // If not, add it to vModuleList
2241 boolean isFind
= false;
2242 for (int index
= 0; index
< vModuleList
.size(); index
++) {
2243 if (vModuleList
.elementAt(index
).equals(id
)) {
2249 ModuleIdentification mid
= new ModuleIdentification(id
, pid
);
2250 vModuleList
.addElement(mid
);
2251 addModuleToTree(mid
);
2255 // The module is not in existing packages
2257 Log
.wrn("Open Module", "The module hasn't been added to any package of current workspace!");
2262 // Make the node selected
2264 iTree
.setSelectionPath(iTree
.getPathOfNode(iTree
.getNodeById(this.dmtnModuleDescription
, id
,
2265 IDefaultMutableTreeNode
.MSA_HEADER
)));
2267 // Update opening Module list information
2269 if (!openingModuleList
.existsModule(id
)) {
2271 // Insert sub node of module
2273 insertModuleTreeNode(id
);
2274 iTree
.getSelectNode().setOpening(true);
2277 // Update opening module list
2279 openingModuleList
.insertToOpeningModuleList(id
, msa
);
2280 openingModuleList
.setTreePathById(id
, iTree
.getSelectionPath());
2283 // Show msa header in editor panel
2285 showModuleElement(IDefaultMutableTreeNode
.MSA_HEADER
, openingModuleList
.getOpeningModuleById(id
));
2286 this.currentOpeningModuleIndex
= openingModuleList
.findIndexOfListById(id
);
2292 @param path input file path
2295 private void openPackage(String path
) {
2296 PackageSurfaceAreaDocument
.PackageSurfaceArea spd
= null;
2298 spd
= OpenFile
.openSpdFile(path
);
2299 } catch (IOException e
) {
2300 Log
.wrn("Open Package Surface Area " + path
, e
.getMessage());
2301 Log
.err("Open Package Surface Area " + path
, e
.getMessage());
2303 } catch (XmlException e
) {
2304 Log
.wrn("Open Package Surface Area " + path
, e
.getMessage());
2305 Log
.err("Open Package Surface Area " + path
, e
.getMessage());
2307 } catch (Exception e
) {
2308 Log
.wrn("Open Package Surface Area " + path
, "Invalid file type");
2309 Log
.err("Open Package Surface Area " + path
, "Invalid file type");
2312 Identification id
= new Identification(spd
.getSpdHeader().getPackageName(), spd
.getSpdHeader().getGuidValue(),
2313 spd
.getSpdHeader().getVersion(), path
);
2315 // To judge if the package existed in vPackageList
2316 // If not, add it to vPackageList
2318 boolean isFind
= false;
2319 for (int index
= 0; index
< vPackageList
.size(); index
++) {
2320 if (vPackageList
.elementAt(index
).equals(id
)) {
2327 // The module is not in existing packages
2329 Log
.wrn("Open Package", "The package hasn't been added to current workspace!");
2334 // Make the node selected
2336 iTree
.setSelectionPath(iTree
.getPathOfNode(iTree
.getNodeById(this.dmtnPackageDescription
, id
,
2337 IDefaultMutableTreeNode
.SPD_HEADER
)));
2339 // Update opening package list information
2341 if (!openingPackageList
.existsPackage(id
)) {
2343 // Insert sub node of module
2345 insertPackageTreeNode(id
);
2346 iTree
.getSelectNode().setOpening(true);
2349 // Update opening module list
2351 openingPackageList
.insertToOpeningPackageList(id
, spd
);
2352 openingPackageList
.setTreePathById(id
, iTree
.getSelectionPath());
2355 // Show spd header in editor panel
2357 showPackageElement(IDefaultMutableTreeNode
.SPD_HEADER
, openingPackageList
.getOpeningPackageById(id
));
2358 this.currentOpeningPackageIndex
= openingPackageList
.findIndexOfListById(id
);
2364 @param path input file path
2367 private void openPlatform(String path
) {
2368 PlatformSurfaceAreaDocument
.PlatformSurfaceArea fpd
= null;
2370 fpd
= OpenFile
.openFpdFile(path
);
2371 } catch (IOException e
) {
2372 Log
.wrn("Open Platform Surface Area " + path
, e
.getMessage());
2373 Log
.err("Open Platform Surface Area " + path
, e
.getMessage());
2375 } catch (XmlException e
) {
2376 Log
.wrn("Open Platform Surface Area " + path
, e
.getMessage());
2377 Log
.err("Open Platform Surface Area " + path
, e
.getMessage());
2379 } catch (Exception e
) {
2380 Log
.wrn("Open Platform Surface Area " + path
, "Invalid file type");
2381 Log
.err("Open Platform Surface Area " + path
, "Invalid file type");
2384 Identification id
= new Identification(fpd
.getPlatformHeader().getPlatformName(), fpd
.getPlatformHeader()
2386 fpd
.getPlatformHeader().getVersion(), path
);
2388 // To judge if the platform existed in vPlatformList
2389 // If not, add it to vPlatformList
2391 boolean isFind
= false;
2392 for (int index
= 0; index
< vPlatformList
.size(); index
++) {
2393 if (vPlatformList
.elementAt(index
).equals(id
)) {
2400 // The module is not in existing packages
2402 Log
.wrn("Open Platform", "The platform hasn't been added to current workspace!");
2407 // Make the node selected
2409 iTree
.setSelectionPath(iTree
.getPathOfNode(iTree
.getNodeById(this.dmtnPlatformDescription
, id
,
2410 IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
)));
2412 // Update opening package list information
2414 if (!openingPlatformList
.existsPlatform(id
)) {
2416 // Insert sub node of module
2418 insertPlatformTreeNode(id
);
2419 iTree
.getSelectNode().setOpening(true);
2422 // Update opening module list
2424 openingPlatformList
.insertToOpeningPlatformList(id
, fpd
);
2425 openingPlatformList
.setTreePathById(id
, iTree
.getSelectionPath());
2428 // Show fpd header in editor panel
2430 showPlatformElement(IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
, openingPlatformList
.getOpeningPlatformById(id
));
2431 this.currentOpeningPlatformIndex
= openingPlatformList
.findIndexOfListById(id
);
2438 private void saveModule(int index
) {
2439 OpeningModuleType omt
= openingModuleList
.getOpeningModuleByIndex(index
);
2441 if (getNewFilePath(DataType
.MODULE_SURFACE_AREA_EXT
) != JFileChooser
.APPROVE_OPTION
) {
2446 SaveFile
.saveMsaFile(omt
.getId().getPath(), omt
.getXmlMsa());
2447 openingModuleList
.setNew(omt
.getId(), false);
2448 openingModuleList
.setModuleSaved(omt
.getId(), true);
2449 } catch (Exception e
) {
2450 Log
.wrn("Save Module", e
.getMessage());
2451 Log
.err("Save Module", e
.getMessage());
2459 private void savePackage(int index
) {
2460 OpeningPackageType opt
= openingPackageList
.getOpeningPackageByIndex(index
);
2462 if (getNewFilePath(DataType
.PACKAGE_SURFACE_AREA_EXT
) != JFileChooser
.APPROVE_OPTION
) {
2467 SaveFile
.saveSpdFile(opt
.getId().getPath(), opt
.getXmlSpd());
2468 openingPackageList
.setNew(opt
.getId(), false);
2469 openingPackageList
.setPackageSaved(opt
.getId(), true);
2470 } catch (Exception e
) {
2471 Log
.wrn("Save Package", e
.getMessage());
2472 Log
.err("Save Package", e
.getMessage());
2480 private void savePlatform(int index
) {
2481 OpeningPlatformType opt
= openingPlatformList
.getOpeningPlatformByIndex(index
);
2483 if (getNewFilePath(DataType
.PACKAGE_SURFACE_AREA_EXT
) != JFileChooser
.APPROVE_OPTION
) {
2488 SaveFile
.saveFpdFile(opt
.getId().getPath(), opt
.getXmlFpd());
2489 openingPlatformList
.setNew(opt
.getId(), false);
2490 openingPlatformList
.setPlatformSaved(opt
.getId(), true);
2491 } catch (Exception e
) {
2492 Log
.wrn("Save Package", e
.getMessage());
2493 Log
.err("Save Package", e
.getMessage());
2497 public void componentHidden(ComponentEvent arg0
) {
2498 // TODO Auto-generated method stub
2502 public void componentMoved(ComponentEvent arg0
) {
2503 // TODO Auto-generated method stub
2507 public void componentResized(ComponentEvent arg0
) {
2508 this.jSplitPane
.setSize(this.getWidth() - DataType
.MAIN_FRAME_WIDTH_SPACING
,
2509 this.getHeight() - DataType
.MAIN_FRAME_HEIGHT_SPACING
);
2510 this.jSplitPane
.validate();
2511 resizeDesktopPanel();
2514 public void componentShown(ComponentEvent arg0
) {
2515 // TODO Auto-generated method stub
2520 Resize JDesktopPanel
2523 private void resizeDesktopPanel() {
2524 resizeDesktopPanel(this.jDesktopPaneModule
);
2525 resizeDesktopPanel(this.jDesktopPanePackage
);
2526 resizeDesktopPanel(this.jDesktopPanePlatform
);
2530 Resize JDesktopPanel
2533 private void resizeDesktopPanel(JDesktopPane jdk
) {
2534 JInternalFrame
[] iif
= jdk
.getAllFrames();
2535 for (int index
= 0; index
< iif
.length
; index
++) {
2536 iif
[index
].setSize(jdk
.getWidth(), jdk
.getHeight());
2540 private void getCompontentsFromFrameworkDatabase() {
2541 this.vModuleList
= wt
.getAllModules();
2542 this.vPackageList
= wt
.getAllPackages();
2543 this.vPlatformList
= wt
.getAllPlatforms();
2546 private void insertModuleTreeNode(Identification id
) {
2547 iTree
.addNode(new IDefaultMutableTreeNode("Module Definitions", IDefaultMutableTreeNode
.MSA_MODULEDEFINITIONS
,
2549 iTree
.addNode(new IDefaultMutableTreeNode("Library Class Definitions",
2550 IDefaultMutableTreeNode
.MSA_LIBRARYCLASSDEFINITIONS
, true, id
));
2551 iTree
.addNode(new IDefaultMutableTreeNode("Source Files", IDefaultMutableTreeNode
.MSA_SOURCEFILES
, true, id
));
2552 iTree
.addNode(new IDefaultMutableTreeNode("Package Dependencies",
2553 IDefaultMutableTreeNode
.MSA_PACKAGEDEPENDENCIES
, true, id
));
2554 iTree
.addNode(new IDefaultMutableTreeNode("Protocols", IDefaultMutableTreeNode
.MSA_PROTOCOLS
, true, id
));
2555 iTree
.addNode(new IDefaultMutableTreeNode("Events", IDefaultMutableTreeNode
.MSA_EVENTS
, true, id
));
2556 iTree
.addNode(new IDefaultMutableTreeNode("Hobs", IDefaultMutableTreeNode
.MSA_HOBS
, true, id
));
2557 iTree
.addNode(new IDefaultMutableTreeNode("Ppis", IDefaultMutableTreeNode
.MSA_PPIS
, true, id
));
2558 iTree
.addNode(new IDefaultMutableTreeNode("Variables", IDefaultMutableTreeNode
.MSA_VARIABLES
, true, id
));
2559 iTree
.addNode(new IDefaultMutableTreeNode("Boot Modes", IDefaultMutableTreeNode
.MSA_BOOTMODES
, true, id
));
2560 iTree
.addNode(new IDefaultMutableTreeNode("System Tables", IDefaultMutableTreeNode
.MSA_SYSTEMTABLES
, true, id
));
2561 iTree
.addNode(new IDefaultMutableTreeNode("Data Hubs", IDefaultMutableTreeNode
.MSA_DATAHUBS
, true, id
));
2562 iTree
.addNode(new IDefaultMutableTreeNode("Hii Packages", IDefaultMutableTreeNode
.MSA_HIIPACKAGES
, true, id
));
2563 iTree
.addNode(new IDefaultMutableTreeNode("Guids", IDefaultMutableTreeNode
.MSA_GUIDS
, true, id
));
2564 iTree
.addNode(new IDefaultMutableTreeNode("Externs", IDefaultMutableTreeNode
.MSA_EXTERNS
, true, id
));
2565 iTree
.addNode(new IDefaultMutableTreeNode("PcdCoded", IDefaultMutableTreeNode
.MSA_PCDS
, true, id
));
2568 private void insertPackageTreeNode(Identification id
) {
2569 iTree
.addNode(new IDefaultMutableTreeNode("Package Definitions",
2570 IDefaultMutableTreeNode
.SPD_PACKAGEDEFINITIONS
, true, id
));
2571 iTree
.addNode(new IDefaultMutableTreeNode("Library Class Declarations",
2572 IDefaultMutableTreeNode
.SPD_LIBRARYCLASSDECLARATIONS
, true, id
));
2573 iTree
.addNode(new IDefaultMutableTreeNode("Msa Files", IDefaultMutableTreeNode
.SPD_MSAFILES
, false, id
));
2574 iTree
.addNode(new IDefaultMutableTreeNode("Package Headers", IDefaultMutableTreeNode
.SPD_PACKAGEHEADERS
, true,
2576 iTree
.addNode(new IDefaultMutableTreeNode("Guid Declarations", IDefaultMutableTreeNode
.SPD_GUIDDECLARATIONS
,
2578 iTree
.addNode(new IDefaultMutableTreeNode("Protocol Declarations",
2579 IDefaultMutableTreeNode
.SPD_PROTOCOLDECLARATIONS
, true, id
));
2580 iTree
.addNode(new IDefaultMutableTreeNode("Ppi Declarations", IDefaultMutableTreeNode
.SPD_PPIDECLARATIONS
,
2582 iTree
.addNode(new IDefaultMutableTreeNode("Pcd Declarations", IDefaultMutableTreeNode
.SPD_PCDDECLARATIONS
,
2586 private void insertPlatformTreeNode(Identification id
) {
2587 iTree
.addNode(new IDefaultMutableTreeNode("Platform Definitions",
2588 IDefaultMutableTreeNode
.FPD_PLATFORMDEFINITIONS
, true, id
));
2589 iTree
.addNode(new IDefaultMutableTreeNode("Flash", IDefaultMutableTreeNode
.FPD_FLASH
, true, id
));
2590 iTree
.addNode(new IDefaultMutableTreeNode("Framework Modules", IDefaultMutableTreeNode
.FPD_FRAMEWORKMODULES
,
2592 iTree
.addNode(new IDefaultMutableTreeNode("Pcd Dynamic Build Declarations",
2593 IDefaultMutableTreeNode
.FPD_PCDDYNAMICBUILDDECLARATIONS
, true, id
));
2594 iTree
.addNode(new IDefaultMutableTreeNode("Build Options", IDefaultMutableTreeNode
.FPD_BUILDOPTIONS
, true, id
));
2598 Operate when double click a tree node
2601 private void doubleClickModuleTreeNode() {
2602 Identification id
= iTree
.getSelectNode().getId();
2603 int intCategory
= iTree
.getSelectCategory();
2607 // If the node is not opened yet
2608 // Insert top level elements first
2610 //if (intCategory == IDefaultMutableTreeNode.MSA_HEADER || intCategory == IDefaultMutableTreeNode.SPD_MSAFILES) {
2611 if (intCategory
== IDefaultMutableTreeNode
.MSA_HEADER
) {
2613 if (intCategory
== IDefaultMutableTreeNode
.MSA_HEADER
) {
2614 path
= iTree
.getSelectNode().getId().getPath();
2616 if (intCategory
== IDefaultMutableTreeNode
.SPD_MSAFILES
) {
2617 path
= iTree
.getSelectNode().getId().getPath();
2622 if (intCategory
== IDefaultMutableTreeNode
.SPD_HEADER
) {
2623 path
= iTree
.getSelectNode().getId().getPath();
2627 if (intCategory
== IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
) {
2628 path
= iTree
.getSelectNode().getId().getPath();
2633 // Show editor panel
2635 if (intCategory
>= IDefaultMutableTreeNode
.MSA_HEADER
&& intCategory
< IDefaultMutableTreeNode
.SPD_HEADER
) {
2636 showModuleElement(intCategory
, openingModuleList
.getOpeningModuleById(id
));
2637 this.currentOpeningModuleIndex
= openingModuleList
.findIndexOfListById(id
);
2639 if (intCategory
>= IDefaultMutableTreeNode
.SPD_HEADER
2640 && intCategory
< IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
) {
2641 showPackageElement(intCategory
, openingPackageList
.getOpeningPackageById(id
));
2642 this.currentOpeningPackageIndex
= openingPackageList
.findIndexOfListById(id
);
2644 if (intCategory
>= IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
) {
2645 showPlatformElement(intCategory
, openingPlatformList
.getOpeningPlatformById(id
));
2646 this.currentOpeningPlatformIndex
= openingPlatformList
.findIndexOfListById(id
);
2648 } catch (RuntimeException e
) {
2649 Log
.log("double click category: " + intCategory
);
2650 Log
.log("double click id path: " + id
.getPath());
2651 Log
.log("double click exception: " + e
.getMessage());
2652 e
.printStackTrace();
2657 Show content of editor panel via selected element
2663 private void showPlatformElement(int elementType
, OpeningPlatformType fpd
) {
2664 this.cleanDesktopPanePlatform();
2666 switch (elementType
) {
2667 case IDefaultMutableTreeNode
.FPD_PLATFORMDEFINITIONS
:
2668 FpdPlatformDefs frmFpdPlatformDefs
= new FpdPlatformDefs(fpd
);
2669 getJDesktopPanePlatform().add(frmFpdPlatformDefs
, 1);
2671 case IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
:
2672 FpdHeader frmFpdHeader
= new FpdHeader(fpd
);
2673 getJDesktopPanePlatform().add(frmFpdHeader
, 1);
2675 case IDefaultMutableTreeNode
.FPD_FLASH
:
2676 FpdFlash frmFpdFlash
= new FpdFlash(fpd
);
2677 getJDesktopPanePlatform().add(frmFpdFlash
, 1);
2679 case IDefaultMutableTreeNode
.FPD_FRAMEWORKMODULES
:
2680 FpdFrameworkModules frmFpdFrameworkModules
= new FpdFrameworkModules(fpd
);
2681 getJDesktopPanePlatform().add(frmFpdFrameworkModules
, 1);
2683 case IDefaultMutableTreeNode
.FPD_PCDDYNAMICBUILDDECLARATIONS
:
2684 FpdDynamicPcdBuildDefinitions frmFpdDynamicPcdBuildDefinitions
= new FpdDynamicPcdBuildDefinitions(fpd
);
2685 getJDesktopPanePlatform().add(frmFpdDynamicPcdBuildDefinitions
, 1);
2687 case IDefaultMutableTreeNode
.FPD_BUILDOPTIONS
:
2688 FpdBuildOptions frmFpdBuildOptions
= new FpdBuildOptions(fpd
);
2689 getJDesktopPanePlatform().add(frmFpdBuildOptions
, 1);
2692 this.jTabbedPaneEditor
.setSelectedIndex(2);
2693 resizeDesktopPanel();
2697 Show content of editor panel via selected element
2703 private void showPackageElement(int elementType
, OpeningPackageType spd
) {
2704 this.cleanDesktopPanePackage();
2705 Tools
.dirForNewSpd
= spd
.getId().getPath();
2706 switch (elementType
) {
2707 case IDefaultMutableTreeNode
.SPD_HEADER
:
2708 SpdHeader frmSpdHeader
= new SpdHeader(spd
);
2709 getJDesktopPanePackage().add(frmSpdHeader
, 1);
2711 case IDefaultMutableTreeNode
.SPD_PACKAGEDEFINITIONS
:
2712 SpdPackageDefinitions frmSpdPackageDefinitions
= new SpdPackageDefinitions(spd
);
2713 getJDesktopPanePackage().add(frmSpdPackageDefinitions
, 1);
2715 case IDefaultMutableTreeNode
.SPD_LIBRARYCLASSDECLARATIONS
:
2716 SpdLibClassDecls frmSlcd
= new SpdLibClassDecls(spd
);
2717 getJDesktopPanePackage().add(frmSlcd
, 1);
2719 case IDefaultMutableTreeNode
.SPD_MSAFILES
:
2720 SpdMsaFiles frmSmf
= new SpdMsaFiles(spd
);
2721 getJDesktopPanePackage().add(frmSmf
, 1);
2723 case IDefaultMutableTreeNode
.SPD_PACKAGEHEADERS
:
2724 SpdPackageHeaders frmSph
= new SpdPackageHeaders(spd
);
2725 getJDesktopPanePackage().add(frmSph
, 1);
2727 case IDefaultMutableTreeNode
.SPD_GUIDDECLARATIONS
:
2728 SpdGuidDecls frmSgd
= new SpdGuidDecls(spd
);
2729 getJDesktopPanePackage().add(frmSgd
, 1);
2731 case IDefaultMutableTreeNode
.SPD_PROTOCOLDECLARATIONS
:
2732 SpdProtocolDecls frmSprod
= new SpdProtocolDecls(spd
);
2733 getJDesktopPanePackage().add(frmSprod
, 1);
2735 case IDefaultMutableTreeNode
.SPD_PPIDECLARATIONS
:
2736 SpdPpiDecls frmSppid
= new SpdPpiDecls(spd
);
2737 getJDesktopPanePackage().add(frmSppid
, 1);
2739 case IDefaultMutableTreeNode
.SPD_PCDDECLARATIONS
:
2740 SpdPcdDefs frmSpcdd
= new SpdPcdDefs(spd
);
2741 getJDesktopPanePackage().add(frmSpcdd
, 1);
2744 this.jTabbedPaneEditor
.setSelectedIndex(1);
2745 resizeDesktopPanel();
2749 Show content of editor panel via selected element
2755 private void showModuleElement(int elementType
, OpeningModuleType msa
) {
2756 this.cleanDesktopPaneModule();
2757 switch (elementType
) {
2758 case IDefaultMutableTreeNode
.MSA_HEADER
:
2759 MsaHeader frmMsaHeader
= new MsaHeader(msa
);
2760 getJDesktopPaneModule().add(frmMsaHeader
, 1);
2762 case IDefaultMutableTreeNode
.MSA_MODULEDEFINITIONS
:
2763 ModuleDefinitions frmMd
= new ModuleDefinitions(msa
);
2764 getJDesktopPaneModule().add(frmMd
, 1);
2766 case IDefaultMutableTreeNode
.MSA_LIBRARYCLASSDEFINITIONS
:
2767 ModuleLibraryClassDefinitions frmMlcd
= new ModuleLibraryClassDefinitions(msa
);
2768 getJDesktopPaneModule().add(frmMlcd
, 1);
2770 case IDefaultMutableTreeNode
.MSA_PACKAGEDEPENDENCIES
:
2771 ModulePackageDependencies frmMpd
= new ModulePackageDependencies(msa
);
2772 getJDesktopPaneModule().add(frmMpd
, 1);
2774 case IDefaultMutableTreeNode
.MSA_SOURCEFILES
:
2775 ModuleSourceFiles frmMsf
= new ModuleSourceFiles(msa
);
2776 getJDesktopPaneModule().add(frmMsf
, 1);
2778 case IDefaultMutableTreeNode
.MSA_PROTOCOLS
:
2779 ModuleProtocols frmMp
= new ModuleProtocols(msa
);
2780 getJDesktopPaneModule().add(frmMp
, 1);
2782 case IDefaultMutableTreeNode
.MSA_EVENTS
:
2783 ModuleEvents frmMe
= new ModuleEvents(msa
);
2784 getJDesktopPaneModule().add(frmMe
, 1);
2786 case IDefaultMutableTreeNode
.MSA_HOBS
:
2787 ModuleHobs frmMh
= new ModuleHobs(msa
);
2788 getJDesktopPaneModule().add(frmMh
, 1);
2790 case IDefaultMutableTreeNode
.MSA_PPIS
:
2791 ModulePpis frmMpp
= new ModulePpis(msa
);
2792 getJDesktopPaneModule().add(frmMpp
, 1);
2794 case IDefaultMutableTreeNode
.MSA_VARIABLES
:
2795 ModuleVariables frmMv
= new ModuleVariables(msa
);
2796 getJDesktopPaneModule().add(frmMv
, 1);
2798 case IDefaultMutableTreeNode
.MSA_BOOTMODES
:
2799 ModuleBootModes frmMbm
= new ModuleBootModes(msa
);
2800 getJDesktopPaneModule().add(frmMbm
, 1);
2802 case IDefaultMutableTreeNode
.MSA_SYSTEMTABLES
:
2803 ModuleSystemTables frmMst
= new ModuleSystemTables(msa
);
2804 getJDesktopPaneModule().add(frmMst
, 1);
2806 case IDefaultMutableTreeNode
.MSA_DATAHUBS
:
2807 ModuleDataHubs frmMdh
= new ModuleDataHubs(msa
);
2808 getJDesktopPaneModule().add(frmMdh
, 1);
2810 case IDefaultMutableTreeNode
.MSA_HIIPACKAGES
:
2811 ModuleHiiPackages frmMf
= new ModuleHiiPackages(msa
);
2812 getJDesktopPaneModule().add(frmMf
, 1);
2814 case IDefaultMutableTreeNode
.MSA_GUIDS
:
2815 ModuleGuids frmGuid
= new ModuleGuids(msa
);
2816 getJDesktopPaneModule().add(frmGuid
, 1);
2818 case IDefaultMutableTreeNode
.MSA_EXTERNS
:
2819 ModuleExterns frmMex
= new ModuleExterns(msa
);
2820 getJDesktopPaneModule().add(frmMex
, 1);
2822 case IDefaultMutableTreeNode
.MSA_PCDS
:
2823 ModulePCDs frmPcd
= new ModulePCDs(msa
);
2824 getJDesktopPaneModule().add(frmPcd
, 1);
2827 this.jTabbedPaneEditor
.setSelectedIndex(0);
2828 resizeDesktopPanel();
2832 // Define operations of menu
2838 private void fileNew() {
2841 // Selece new file type
2843 NewFileChooser nfc
= new NewFileChooser(this, true);
2844 result
= nfc
.showDialog();
2846 if (result
== DataType
.RETURN_TYPE_CANCEL
) {
2849 } else if (result
== DataType
.RETURN_TYPE_MODULE_SURFACE_AREA
) {
2853 SelectModuleBelong smb
= new SelectModuleBelong(this, true, result
);
2854 result
= smb
.showDialog();
2856 if (result
== DataType
.RETURN_TYPE_CANCEL
) {
2860 } else if (result
== DataType
.RETURN_TYPE_OK
) {
2861 PackageSurfaceAreaDocument
.PackageSurfaceArea psa
= null;
2862 if (this.openingPackageList
.existsPackage(smb
.getMid().getPackageId())) {
2863 psa
= openingPackageList
.getPackageSurfaceAreaFromId(smb
.getMid().getPackageId());
2866 wt
.addModuleToPackage(smb
.getMid(), psa
);
2867 } catch (IOException e
) {
2868 Log
.wrn("Upddate MsaFiles of Package", e
.getMessage());
2869 Log
.err("Upddate MsaFiles of Package", e
.getMessage());
2871 } catch (XmlException e
) {
2872 Log
.wrn("Upddate MsaFiles of Package", e
.getMessage());
2873 Log
.err("Upddate MsaFiles of Package", e
.getMessage());
2875 } catch (Exception e
) {
2876 Log
.wrn("Upddate MsaFiles of Package", e
.getMessage());
2877 Log
.err("Upddate MsaFiles of Package", e
.getMessage());
2880 this.openModule(smb
.getMid().getPath(), smb
.getMid());
2882 } else if (result
== DataType
.RETURN_TYPE_PACKAGE_SURFACE_AREA
) {
2886 SelectModuleBelong smb
= new SelectModuleBelong(this, true, result
);
2887 result
= smb
.showDialog();
2889 if (result
== DataType
.RETURN_TYPE_CANCEL
) {
2893 } else if (result
== DataType
.RETURN_TYPE_OK
) {
2895 wt
.addPackageToDatabase(smb
.getPid());
2896 } catch (Exception e
) {
2897 // TODO Auto-generated catch block
2898 e
.printStackTrace();
2900 vPackageList
.addElement(smb
.getPid());
2903 // Add to Module Description node
2905 IDefaultMutableTreeNode node
= new IDefaultMutableTreeNode(vPackageList
.lastElement().getName(),
2906 IDefaultMutableTreeNode
.MODULE_PACKAGE
,
2907 false, vPackageList
.lastElement());
2909 iTree
.addNode(dmtnModuleDescription
, node
);
2912 // Add new SpdHeader node to the tree
2914 node
= new IDefaultMutableTreeNode(vPackageList
.lastElement().getName(),
2915 IDefaultMutableTreeNode
.SPD_HEADER
, true, vPackageList
.lastElement());
2916 iTree
.addNode(dmtnPackageDescription
, node
);
2918 this.openPackage(smb
.getPid().getPath());
2920 } else if (result
== DataType
.RETURN_TYPE_PLATFORM_SURFACE_AREA
) {
2922 // To new a platform
2924 SelectModuleBelong smb
= new SelectModuleBelong(this, true, result
);
2925 result
= smb
.showDialog();
2927 if (result
== DataType
.RETURN_TYPE_CANCEL
) {
2931 } else if (result
== DataType
.RETURN_TYPE_OK
) {
2933 wt
.addPlatformToDatabase(smb
.getFid());
2934 } catch (Exception e
) {
2935 // TODO Auto-generated catch block
2936 e
.printStackTrace();
2938 vPlatformList
.addElement(smb
.getFid());
2940 // Add new SpdHeader node to the tree
2942 IDefaultMutableTreeNode node
= new IDefaultMutableTreeNode(vPlatformList
.lastElement().getName(),
2943 IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
,
2944 true, vPlatformList
.lastElement());
2945 iTree
.addNode(dmtnPlatformDescription
, node
);
2946 this.openPlatform(smb
.getFid().getPath());
2955 private void open() {
2956 JFileChooser fc
= new JFileChooser(Workspace
.getCurrentWorkspace());
2957 fc
.setAcceptAllFileFilterUsed(false);
2958 IFileFilter iffM
= new IFileFilter(DataType
.MODULE_SURFACE_AREA_EXT
);
2959 IFileFilter iffP
= new IFileFilter(DataType
.PACKAGE_SURFACE_AREA_EXT
);
2960 IFileFilter iffF
= new IFileFilter(DataType
.PLATFORM_SURFACE_AREA_EXT
);
2961 fc
.addChoosableFileFilter(iffM
);
2962 fc
.addChoosableFileFilter(iffP
);
2963 fc
.addChoosableFileFilter(iffF
);
2964 fc
.setFileFilter(iffM
);
2966 int result
= fc
.showOpenDialog(new JPanel());
2968 if (result
== JFileChooser
.APPROVE_OPTION
) {
2969 String path
= fc
.getSelectedFile().getPath();
2970 String match
= path
.substring(path
.length() - 4);
2971 if (match
.equals(DataType
.FILE_EXT_SEPARATOR
+ DataType
.MODULE_SURFACE_AREA_EXT
)) {
2973 } else if (match
.equals(DataType
.FILE_EXT_SEPARATOR
+ DataType
.PACKAGE_SURFACE_AREA_EXT
)) {
2975 } else if (match
.equals(DataType
.FILE_EXT_SEPARATOR
+ DataType
.PLATFORM_SURFACE_AREA_EXT
)) {
2985 private void close() {
2986 switch (this.jTabbedPaneEditor
.getSelectedIndex()) {
2988 // Current is module
2991 if (this.currentOpeningModuleIndex
> -1) {
2992 if (!openingModuleList
.getModuleSaved(currentOpeningModuleIndex
)) {
2993 int result
= showSaveDialog();
2994 if (result
== JOptionPane
.YES_OPTION
) {
2997 if (result
== JOptionPane
.NO_OPTION
) {
3000 if (result
== JOptionPane
.CANCEL_OPTION
) {
3004 iTree
.removeNodeChildrenByPath(openingModuleList
.getTreePathByIndex(currentOpeningModuleIndex
));
3005 this.openingModuleList
.removeFromOpeningModuleListByIndex(this.currentOpeningModuleIndex
);
3006 this.cleanDesktopPaneModule();
3007 this.currentOpeningModuleIndex
= -1;
3011 // Current is package
3014 if (this.currentOpeningPackageIndex
> -1) {
3015 if (!openingPackageList
.getPackageSaved(currentOpeningPackageIndex
)) {
3016 int result
= showSaveDialog();
3017 if (result
== JOptionPane
.YES_OPTION
) {
3020 if (result
== JOptionPane
.NO_OPTION
) {
3023 if (result
== JOptionPane
.CANCEL_OPTION
) {
3027 iTree
.removeNodeChildrenByPath(openingPackageList
.getTreePathByIndex(currentOpeningPackageIndex
));
3028 this.openingPackageList
.removeFromOpeningPackageListByIndex(this.currentOpeningPackageIndex
);
3029 this.cleanDesktopPanePackage();
3030 this.currentOpeningPackageIndex
= -1;
3034 // Current is platform
3037 if (this.currentOpeningPlatformIndex
> -1) {
3038 if (!openingPlatformList
.getPlatformSaved(currentOpeningPlatformIndex
)) {
3039 int result
= showSaveDialog();
3040 if (result
== JOptionPane
.YES_OPTION
) {
3043 if (result
== JOptionPane
.NO_OPTION
) {
3046 if (result
== JOptionPane
.CANCEL_OPTION
) {
3050 iTree
.removeNodeChildrenByPath(openingPlatformList
.getTreePathByIndex(currentOpeningPlatformIndex
));
3051 this.openingPlatformList
.removeFromOpeningPlatformListByIndex(this.currentOpeningPlatformIndex
);
3052 this.cleanDesktopPanePlatform();
3053 this.currentOpeningPlatformIndex
= -1;
3060 Close all opening files and clean all showing internal frame
3063 private void closeAll() {
3065 if (!openingModuleList
.isSaved() || !openingPackageList
.isSaved() || !openingPlatformList
.isSaved()) {
3066 result
= showSaveDialog();
3068 if (result
== JOptionPane
.YES_OPTION
) {
3071 if (result
== JOptionPane
.NO_OPTION
) {
3074 if (result
== JOptionPane
.CANCEL_OPTION
) {
3077 this.cleanDesktopPane();
3078 this.getCompontentsFromFrameworkDatabase();
3079 openingModuleList
.removeAllFromOpeningModuleList();
3080 openingPackageList
.removeAllFromOpeningPackageList();
3081 openingPlatformList
.removeAllFromOpeningPlatformList();
3082 this.makeEmptyTree();
3086 Save currentModule when press button OK
3089 private void save() {
3090 switch (this.jTabbedPaneEditor
.getSelectedIndex()) {
3092 if (this.currentOpeningModuleIndex
> -1) {
3093 saveModule(this.currentOpeningModuleIndex
);
3097 if (this.currentOpeningPackageIndex
> -1) {
3098 savePackage(this.currentOpeningPackageIndex
);
3102 if (this.currentOpeningPlatformIndex
> -1) {
3103 savePlatform(this.currentOpeningPlatformIndex
);
3109 private void saveAs() {
3113 private void saveAll() {
3117 for (int index
= 0; index
< openingModuleList
.size(); index
++) {
3118 if (!openingModuleList
.getModuleSaved(index
)) {
3124 // Save all packages
3126 for (int index
= 0; index
< openingPackageList
.size(); index
++) {
3127 if (!openingPackageList
.getPackageSaved(index
)) {
3133 // Save all platforms
3135 for (int index
= 0; index
< openingPlatformList
.size(); index
++) {
3136 if (!openingPlatformList
.getPlatformSaved(index
)) {
3137 savePlatform(index
);
3143 To save changed items before exit.
3146 private void exit() {
3148 if (!openingModuleList
.isSaved() || !openingPackageList
.isSaved() || !openingPlatformList
.isSaved()) {
3149 result
= showSaveDialog();
3151 if (result
== JOptionPane
.YES_OPTION
) {
3154 if (result
== JOptionPane
.NO_OPTION
) {
3157 if (result
== JOptionPane
.CANCEL_OPTION
) {
3165 Switch current workspace to others
3168 private void changeWorkspace() {
3169 SwitchWorkspace sw
= new SwitchWorkspace(this, true);
3170 int result
= sw
.showDialog();
3171 if (result
== DataType
.RETURN_TYPE_CANCEL
) {
3173 } else if (result
== DataType
.RETURN_TYPE_OK
) {
3175 // Reinit whole window
3178 this.setTitle(DataType
.PROJECT_NAME
+ " " + DataType
.PROJECT_VERSION
+ " " + "- ["
3179 + Workspace
.getCurrentWorkspace() + "]");
3185 Show Tool Chain Configuration Dialog to setup Tool Chain
3188 private void setupToolChainConfiguration() {
3189 ToolChainConfig tcc
= ToolChainConfig
.getInstance();
3197 private void cloneItem() {
3201 // Check if there is any item can be cloned
3203 if (iTree
.getSelectionPath() == null) {
3204 Log
.wrn("Clone", "Please select a target to clone!");
3207 int category
= iTree
.getSelectCategory();
3208 Identification id
= iTree
.getSelectNode().getId();
3209 if (category
== IDefaultMutableTreeNode
.MODULE
|| category
== IDefaultMutableTreeNode
.PACKAGE
3210 || category
== IDefaultMutableTreeNode
.PLATFORM
) {
3211 Log
.wrn("Clone", "Please select a target to clone!");
3215 if (category
== IDefaultMutableTreeNode
.WORKSPACE
) {
3216 mode
= DataType
.RETURN_TYPE_WORKSPACE
;
3219 if (category
>= IDefaultMutableTreeNode
.MSA_HEADER
&& category
< IDefaultMutableTreeNode
.SPD_HEADER
) {
3220 mode
= DataType
.RETURN_TYPE_MODULE_SURFACE_AREA
;
3222 if (category
>= IDefaultMutableTreeNode
.SPD_HEADER
&& category
< IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
) {
3223 mode
= DataType
.RETURN_TYPE_PACKAGE_SURFACE_AREA
;
3225 if (category
>= IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
) {
3226 mode
= DataType
.RETURN_TYPE_PLATFORM_SURFACE_AREA
;
3229 Clone c
= new Clone(this, true, mode
, id
);
3230 int result
= c
.showDialog();
3232 if (result
== DataType
.RETURN_TYPE_CANCEL
) {
3235 if (result
== DataType
.RETURN_TYPE_WORKSPACE
) {
3236 Tools
.showInformationMessage("Workspace Clone Finished");
3238 if (result
== DataType
.RETURN_TYPE_MODULE_SURFACE_AREA
) {
3239 Tools
.showInformationMessage("Module Surface Area Clone Finished");
3240 vModuleList
.addElement(c
.getMid());
3241 addModuleToTree(c
.getMid());
3243 if (result
== DataType
.RETURN_TYPE_PACKAGE_SURFACE_AREA
) {
3244 Tools
.showInformationMessage("Package Surface Area Clone Finished");
3245 vPackageList
.addElement(c
.getPid());
3247 // Add new SpdHeader node to the tree
3249 IDefaultMutableTreeNode node
= new IDefaultMutableTreeNode(vPackageList
.lastElement().getName(),
3250 IDefaultMutableTreeNode
.SPD_HEADER
, true,
3251 vPackageList
.lastElement());
3252 iTree
.addNode(dmtnPackageDescription
, node
);
3254 if (result
== DataType
.RETURN_TYPE_PLATFORM_SURFACE_AREA
) {
3255 Tools
.showInformationMessage("Platform Surface Area Clone Finished");
3256 vPlatformList
.addElement(c
.getFid());
3258 // Add new SpdHeader node to the tree
3260 IDefaultMutableTreeNode node
= new IDefaultMutableTreeNode(vPlatformList
.lastElement().getName(),
3261 IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
,
3262 true, vPlatformList
.lastElement());
3263 iTree
.addNode(dmtnPlatformDescription
, node
);
3264 //this.openPlatform(c.getFid().getPath());
3266 if (result
== DataType
.RETURN_TYPE_OK
) {
3271 public void valueChanged(TreeSelectionEvent arg0
) {
3272 // TODO Auto-generated method stub
3276 public void menuCanceled(MenuEvent arg0
) {
3277 // TODO Auto-generated method stub
3281 public void menuDeselected(MenuEvent arg0
) {
3282 // TODO Auto-generated method stub
3286 public void menuSelected(MenuEvent arg0
) {
3287 if (arg0
.getSource() == jMenuFile
) {
3289 // Enable close/close all if some files are opened
3291 jMenuItemFileClose
.setEnabled(openingModuleList
.isOpend() || openingPackageList
.isOpend()
3292 || openingPlatformList
.isOpend());
3293 jMenuItemFileCloseAll
.setEnabled(openingModuleList
.isOpend() || openingPackageList
.isOpend()
3294 || openingPlatformList
.isOpend());
3297 // Enable save/save all if some files are changed
3299 jMenuItemFileSave
.setEnabled(!openingModuleList
.isSaved() || !openingPackageList
.isSaved()
3300 || !openingPlatformList
.isSaved());
3301 jMenuItemFileSaveAll
.setEnabled(!openingModuleList
.isSaved() || !openingPackageList
.isSaved()
3302 || !openingPlatformList
.isSaved());
3305 if (arg0
.getSource() == jMenuTools
) {
3307 // Enable clone when select some items
3309 if (iTree
.getSelectionPath() == null) {
3310 jMenuItemToolsClone
.setEnabled(false);
3312 int category
= iTree
.getSelectCategory();
3313 if (category
== IDefaultMutableTreeNode
.MODULE
|| category
== IDefaultMutableTreeNode
.PACKAGE
3314 || category
== IDefaultMutableTreeNode
.PLATFORM
3315 || category
== IDefaultMutableTreeNode
.MODULE_PACKAGE
3316 || category
== IDefaultMutableTreeNode
.MODULE_PACKAGE_LIBRARY
3317 || category
== IDefaultMutableTreeNode
.MODULE_PACKAGE_MODULE
) {
3318 jMenuItemToolsClone
.setEnabled(false);
3320 jMenuItemToolsClone
.setEnabled(true);