3 The main GUI for module editor.
5 Copyright (c) 2006, Intel Corporation
6 All rights reserved. This program and the accompanying materials
7 are licensed and made available under the terms and conditions of the BSD License
8 which accompanies this distribution. The full text of the license may be found at
9 http://opensource.org/licenses/bsd-license.php
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
16 package org
.tianocore
.frameworkwizard
;
18 import java
.awt
.event
.ActionEvent
;
19 import java
.awt
.event
.ComponentEvent
;
20 import java
.awt
.event
.ComponentListener
;
21 import java
.awt
.event
.MouseEvent
;
22 import java
.awt
.event
.MouseListener
;
23 import java
.awt
.event
.WindowEvent
;
24 import java
.io
.IOException
;
25 import java
.util
.Vector
;
27 import javax
.swing
.JButton
;
28 import javax
.swing
.JCheckBoxMenuItem
;
29 import javax
.swing
.JDesktopPane
;
30 import javax
.swing
.JFileChooser
;
31 import javax
.swing
.JFrame
;
32 import javax
.swing
.JInternalFrame
;
33 import javax
.swing
.JMenu
;
34 import javax
.swing
.JMenuBar
;
35 import javax
.swing
.JMenuItem
;
36 import javax
.swing
.JOptionPane
;
37 import javax
.swing
.JPanel
;
38 import javax
.swing
.JScrollPane
;
39 import javax
.swing
.JSplitPane
;
40 import javax
.swing
.JTabbedPane
;
41 import javax
.swing
.event
.MenuEvent
;
42 import javax
.swing
.event
.MenuListener
;
43 import javax
.swing
.event
.TreeSelectionEvent
;
44 import javax
.swing
.event
.TreeSelectionListener
;
46 import org
.apache
.xmlbeans
.XmlException
;
47 import org
.tianocore
.ModuleSurfaceAreaDocument
;
48 import org
.tianocore
.PackageSurfaceAreaDocument
;
49 import org
.tianocore
.PlatformSurfaceAreaDocument
;
50 import org
.tianocore
.frameworkwizard
.common
.DataType
;
51 import org
.tianocore
.frameworkwizard
.common
.IFileFilter
;
52 import org
.tianocore
.frameworkwizard
.common
.Log
;
53 import org
.tianocore
.frameworkwizard
.common
.SaveFile
;
54 import org
.tianocore
.frameworkwizard
.common
.Tools
;
55 import org
.tianocore
.frameworkwizard
.common
.Identifications
.Identification
;
56 import org
.tianocore
.frameworkwizard
.common
.Identifications
.OpenFile
;
57 import org
.tianocore
.frameworkwizard
.common
.Identifications
.OpeningModuleList
;
58 import org
.tianocore
.frameworkwizard
.common
.Identifications
.OpeningModuleType
;
59 import org
.tianocore
.frameworkwizard
.common
.Identifications
.OpeningPackageList
;
60 import org
.tianocore
.frameworkwizard
.common
.Identifications
.OpeningPackageType
;
61 import org
.tianocore
.frameworkwizard
.common
.Identifications
.OpeningPlatformList
;
62 import org
.tianocore
.frameworkwizard
.common
.Identifications
.OpeningPlatformType
;
63 import org
.tianocore
.frameworkwizard
.common
.ui
.IDefaultMutableTreeNode
;
64 import org
.tianocore
.frameworkwizard
.common
.ui
.IDesktopManager
;
65 import org
.tianocore
.frameworkwizard
.common
.ui
.IFrame
;
66 import org
.tianocore
.frameworkwizard
.common
.ui
.ITree
;
67 import org
.tianocore
.frameworkwizard
.far
.createui
.CreateStepOne
;
68 import org
.tianocore
.frameworkwizard
.far
.deleteui
.DeleteStepOne
;
69 import org
.tianocore
.frameworkwizard
.far
.installui
.InstallStepOne
;
70 import org
.tianocore
.frameworkwizard
.far
.updateui
.UpdateStepOne
;
71 import org
.tianocore
.frameworkwizard
.module
.Identifications
.ModuleIdentification
;
72 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleBootModes
;
73 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleDataHubs
;
74 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleDefinitions
;
75 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleEvents
;
76 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleExterns
;
77 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleGuids
;
78 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleHiiPackages
;
79 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleHobs
;
80 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleLibraryClassDefinitions
;
81 import org
.tianocore
.frameworkwizard
.module
.ui
.ModulePCDs
;
82 import org
.tianocore
.frameworkwizard
.module
.ui
.ModulePackageDependencies
;
83 import org
.tianocore
.frameworkwizard
.module
.ui
.ModulePpis
;
84 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleProtocols
;
85 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleSourceFiles
;
86 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleSystemTables
;
87 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleVariables
;
88 import org
.tianocore
.frameworkwizard
.module
.ui
.MsaHeader
;
89 import org
.tianocore
.frameworkwizard
.packaging
.PackageIdentification
;
90 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdGuidDecls
;
91 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdHeader
;
92 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdLibClassDecls
;
93 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdMsaFiles
;
94 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdPackageDefinitions
;
95 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdPackageHeaders
;
96 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdPcdDefs
;
97 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdPpiDecls
;
98 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdProtocolDecls
;
99 import org
.tianocore
.frameworkwizard
.platform
.PlatformIdentification
;
100 import org
.tianocore
.frameworkwizard
.platform
.ui
.FpdBuildOptions
;
101 import org
.tianocore
.frameworkwizard
.platform
.ui
.FpdDynamicPcdBuildDefinitions
;
102 import org
.tianocore
.frameworkwizard
.platform
.ui
.FpdFlash
;
103 import org
.tianocore
.frameworkwizard
.platform
.ui
.FpdFrameworkModules
;
104 import org
.tianocore
.frameworkwizard
.platform
.ui
.FpdHeader
;
105 import org
.tianocore
.frameworkwizard
.platform
.ui
.FpdPlatformDefs
;
106 import org
.tianocore
.frameworkwizard
.workspace
.Workspace
;
107 import org
.tianocore
.frameworkwizard
.workspace
.WorkspaceTools
;
108 import org
.tianocore
.frameworkwizard
.workspace
.ui
.SwitchWorkspace
;
111 The class is used to show main GUI of ModuleEditor
112 It extends IFrame implements MouseListener, TreeSelectionListener
115 public class FrameworkWizardUI
extends IFrame
implements MouseListener
, TreeSelectionListener
, ComponentListener
,
118 /// Define class Serial Version UID
120 private static final long serialVersionUID
= -7103240960573031772L;
123 // To save information of all files
125 private Vector
<ModuleIdentification
> vModuleList
= new Vector
<ModuleIdentification
>();
127 private Vector
<PackageIdentification
> vPackageList
= new Vector
<PackageIdentification
>();
129 private Vector
<PlatformIdentification
> vPlatformList
= new Vector
<PlatformIdentification
>();
131 private OpeningModuleList openingModuleList
= new OpeningModuleList();
133 private OpeningPackageList openingPackageList
= new OpeningPackageList();
135 private OpeningPlatformList openingPlatformList
= new OpeningPlatformList();
137 private int currentOpeningModuleIndex
= -1;
139 private int currentOpeningPackageIndex
= -1;
141 private int currentOpeningPlatformIndex
= -1;
143 private IDefaultMutableTreeNode dmtnRoot
= null;
145 private IDefaultMutableTreeNode dmtnModuleDescription
= null;
147 private IDefaultMutableTreeNode dmtnPackageDescription
= null;
149 private IDefaultMutableTreeNode dmtnPlatformDescription
= null;
151 private JPanel jContentPane
= null;
153 private JMenuBar jMenuBar
= null;
155 private JMenu jMenuFile
= null;
157 private JMenuItem jMenuItemFileNew
= null;
159 private JMenuItem jMenuItemFileSaveAs
= null;
161 private JMenuItem jMenuItemFileExit
= null;
163 private JMenu jMenuEdit
= null;
165 private JDesktopPane jDesktopPaneModule
= null;
167 private JDesktopPane jDesktopPanePackage
= null;
169 private JDesktopPane jDesktopPanePlatform
= null;
171 private JTabbedPane jTabbedPaneTree
= null;
173 private JTabbedPane jTabbedPaneEditor
= null;
175 private IDesktopManager iDesktopManager
= new IDesktopManager();
177 private JScrollPane jScrollPaneTree
= null;
179 private ITree iTree
= null;
181 private JMenu jMenuHelp
= null;
183 private JMenuItem jMenuItemHelpAbout
= null;
185 private JMenuItem jMenuItemEditDelete
= null;
187 private WorkspaceTools wt
= new WorkspaceTools();
189 private JMenuItem jMenuItemFileSave
= null;
191 private JMenuItem jMenuItemFileClose
= null;
193 private JMenu jMenuTools
= null;
195 private JMenu jMenuWindow
= null;
197 private JPanel jPanelOperation
= null;
199 private JButton jButtonOk
= null;
201 private JButton jButtonCancel
= null;
203 private JMenuItem jMenuItemFileOpen
= null;
205 private JMenuItem jMenuItemFileCloseAll
= null;
207 private JMenuItem jMenuItemFileSaveAll
= null;
209 private JMenuItem jMenuItemFilePageSetup
= null;
211 private JMenuItem jMenuItemFilePrint
= null;
213 private JMenuItem jMenuItemFileImport
= null;
215 private JMenuItem jMenuItemFileProperties
= null;
217 private JMenu jMenuFileRecentFiles
= null;
219 private JSplitPane jSplitPane
= null;
221 private JMenuItem jMenuItemEditUndo
= null;
223 private JMenuItem jMenuItemEditRedo
= null;
225 private JMenuItem jMenuItemEditCut
= null;
227 private JMenuItem jMenuItemEditCopy
= null;
229 private JMenuItem jMenuItemEditPaste
= null;
231 private JMenuItem jMenuItemEditSelectAll
= null;
233 private JMenuItem jMenuItemEditFind
= null;
235 private JMenuItem jMenuItemEditFindNext
= null;
237 private JMenu jMenuView
= null;
239 private JMenu jMenuViewToolbars
= null;
241 private JCheckBoxMenuItem jCheckBoxMenuItemViewToolbarsFile
= null;
243 private JCheckBoxMenuItem jCheckBoxMenuItemViewToolbarsEdit
= null;
245 private JCheckBoxMenuItem jCheckBoxMenuItemViewToolbarsWindow
= null;
247 private JMenuItem jMenuItemViewStandard
= null;
249 private JMenuItem jMenuItemViewAdvanced
= null;
251 private JMenu jMenuProject
= null;
253 private JMenuItem jMenuItemProjectAdmin
= null;
255 private JMenuItem jMenuItemProjectChangeWorkspace
= null;
257 private JMenu jMenuProjectBuildTargets
= null;
259 private JCheckBoxMenuItem jCheckBoxMenuItemProjectBuildTargetsDebug
= null;
261 private JCheckBoxMenuItem jCheckBoxMenuItemProjectBuildTargetsRelease
= null;
263 private JMenuItem jMenuItemToolsToolChainConfiguration
= null;
265 private JMenuItem jMenuItemToolsClone
= null;
267 private JMenuItem jMenuItemToolsCodeScan
= null;
269 private JMenuItem jMenuItemWindowDisplaySide
= null;
271 private JMenuItem jMenuItemWindowDisplayTopBottom
= null;
273 private JMenuItem jMenuItemViewXML
= null;
275 private JMenuItem jMenuItemWindowTabView
= null;
277 private JMenuItem jMenuItemWindowSource
= null;
279 private JMenuItem jMenuItemWindowXML
= null;
281 private JMenuItem jMenuItemWindowPreferences
= null;
283 private JMenuItem jMenuItemHelpContents
= null;
285 private JMenuItem jMenuItemHelpIndex
= null;
287 private JMenuItem jMenuItemHelpSearch
= null;
289 private JMenuItem jMenuItemProjectInstallFar
= null;
291 private JMenuItem jMenuItemProjectUpdateFar
= null;
293 private JMenuItem jMenuItemProjectRemoveFar
= null;
295 //private JToolBar jToolBarFile = null;
297 //private JToolBar jToolBarEdit = null;
299 //private JToolBar jToolBarWindow = null;
301 private static FrameworkWizardUI fwui
= null;
303 private JMenuItem jMenuItemProjectCreateFar
= null;
305 public static FrameworkWizardUI
getInstance() {
307 fwui
= new FrameworkWizardUI();
313 This method initializes jMenuBar
315 @return javax.swing.JMenuBar Main menu bar for the entire GUI
318 private JMenuBar
getjJMenuBar() {
319 if (jMenuBar
== null) {
320 jMenuBar
= new JMenuBar();
321 jMenuBar
.setPreferredSize(new java
.awt
.Dimension(0, 18));
322 jMenuBar
.add(getJMenuFile());
323 jMenuBar
.add(getJMenuEdit());
324 jMenuBar
.add(getJMenuView());
325 jMenuBar
.add(getJMenuProject());
326 jMenuBar
.add(getJMenuTools());
327 jMenuBar
.add(getJMenuWindow());
328 jMenuBar
.add(getJMenuHelp());
334 This method initializes jSplitPane
336 @return javax.swing.JSplitPane
339 private JSplitPane
getJSplitPane() {
340 if (jSplitPane
== null) {
341 jSplitPane
= new JSplitPane(JSplitPane
.HORIZONTAL_SPLIT
, getJTabbedPaneTree(), getJTabbedPaneEditor());
342 jSplitPane
.setBounds(new java
.awt
.Rectangle(0, 1, DataType
.MAIN_FRAME_SPLIT_PANEL_PREFERRED_SIZE_WIDTH
,
343 DataType
.MAIN_FRAME_SPLIT_PANEL_PREFERRED_SIZE_HEIGHT
));
344 jSplitPane
.addComponentListener(this);
350 This method initializes jTabbedPaneEditor
352 @return javax.swing.JTabbedPane
355 private JTabbedPane
getJTabbedPaneEditor() {
356 if (jTabbedPaneEditor
== null) {
357 jTabbedPaneEditor
= new JTabbedPane();
358 jTabbedPaneEditor
.setBounds(new java
.awt
.Rectangle(DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_X
,
359 DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_Y
,
360 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
361 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
363 .setMinimumSize(new java
.awt
.Dimension(
364 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
365 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
366 //jTabbedPaneEditor.addChangeListener(this);
367 jTabbedPaneEditor
.addTab("Module", null, getJDesktopPaneModule(), null);
368 jTabbedPaneEditor
.addTab("Package", null, getJDesktopPanePackage(), null);
369 jTabbedPaneEditor
.addTab("Platform", null, getJDesktopPanePlatform(), null);
371 return jTabbedPaneEditor
;
375 This method initializes jTabbedPaneTree
377 @return javax.swing.JTabbedPane
380 private JTabbedPane
getJTabbedPaneTree() {
381 if (jTabbedPaneTree
== null) {
382 jTabbedPaneTree
= new JTabbedPane();
384 .setPreferredSize(new java
.awt
.Dimension(
385 DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_WIDTH
,
386 DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_HEIGHT
));
388 .setMinimumSize(new java
.awt
.Dimension(DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_WIDTH
,
389 DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_HEIGHT
));
390 jTabbedPaneTree
.addTab("Workspace Explorer", null, getJScrollPaneTree(), null);
392 return jTabbedPaneTree
;
396 This method initializes jMenuFile
398 @return javax.swing.JMenu jMenuModule
401 private JMenu
getJMenuFile() {
402 if (jMenuFile
== null) {
403 jMenuFile
= new JMenu();
404 jMenuFile
.setText("File");
405 jMenuFile
.setMnemonic('F');
406 jMenuFile
.add(getJMenuItemFileNew());
407 jMenuFile
.add(getJMenuItemFileOpen());
408 jMenuFile
.add(getJMenuItemFileClose());
409 jMenuFile
.add(getJMenuItemFileCloseAll());
410 jMenuFile
.addSeparator();
411 jMenuFile
.add(getJMenuFileRecentFiles());
412 //jMenuFile.addSeparator();
413 jMenuFile
.add(getJMenuItemFileSave());
414 jMenuFile
.add(getJMenuItemFileSaveAs());
415 jMenuFile
.add(getJMenuItemFileSaveAll());
416 jMenuFile
.addSeparator();
417 jMenuFile
.add(getJMenuItemFilePageSetup());
418 jMenuFile
.add(getJMenuItemFilePrint());
419 //jMenuFile.addSeparator();
420 jMenuFile
.add(getJMenuItemFileImport());
421 //jMenuFile.addSeparator();
422 jMenuFile
.add(getJMenuItemFileProperties());
423 //jMenuFile.addSeparator();
424 jMenuFile
.add(getJMenuItemFileExit());
425 jMenuFile
.addMenuListener(this);
431 This method initializes jMenuItemFileSaveAs
433 @return javax.swing.JMenuItem jMenuItemFileSaveAs
436 private JMenuItem
getJMenuItemFileSaveAs() {
437 if (jMenuItemFileSaveAs
== null) {
438 jMenuItemFileSaveAs
= new JMenuItem();
439 jMenuItemFileSaveAs
.setText("Save As...");
440 jMenuItemFileSaveAs
.setMnemonic('a');
441 jMenuItemFileSaveAs
.addActionListener(this);
442 jMenuItemFileSaveAs
.setEnabled(false);
443 jMenuItemFileSaveAs
.setVisible(false);
445 return jMenuItemFileSaveAs
;
449 This method initializes jMenuItemModuleExit
451 @return javax.swing.JMenuItem jMenuItemModuleExit
454 private JMenuItem
getJMenuItemFileExit() {
455 if (jMenuItemFileExit
== null) {
456 jMenuItemFileExit
= new JMenuItem();
457 jMenuItemFileExit
.setText("Exit");
458 jMenuItemFileExit
.setMnemonic('x');
459 jMenuItemFileExit
.addActionListener(this);
461 return jMenuItemFileExit
;
465 This method initializes jMenuEdit
467 @return javax.swing.JMenu jMenuEdit
470 private JMenu
getJMenuEdit() {
471 if (jMenuEdit
== null) {
472 jMenuEdit
= new JMenu();
473 jMenuEdit
.setText("Edit");
474 jMenuEdit
.setMnemonic('E');
475 jMenuEdit
.add(getJMenuItemEditUndo());
476 jMenuEdit
.add(getJMenuItemEditRedo());
477 jMenuEdit
.addSeparator();
478 jMenuEdit
.add(getJMenuItemEditCut());
479 jMenuEdit
.add(getJMenuItemEditCopy());
480 jMenuEdit
.add(getJMenuItemEditPaste());
481 jMenuEdit
.add(getJMenuItemEditDelete());
482 jMenuEdit
.addSeparator();
483 jMenuEdit
.add(getJMenuItemEditSelectAll());
484 jMenuEdit
.add(getJMenuItemEditFind());
485 jMenuEdit
.add(getJMenuItemEditFindNext());
486 jMenuEdit
.addSeparator();
487 jMenuEdit
.setVisible(false);
493 This method initializes jDesktopPane
495 @return javax.swing.JDesktopPane jDesktopPane
498 private JDesktopPane
getJDesktopPaneModule() {
499 if (jDesktopPaneModule
== null) {
500 jDesktopPaneModule
= new JDesktopPane();
502 .setBounds(new java
.awt
.Rectangle(DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_X
,
503 DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_Y
,
504 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
505 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
507 .setMinimumSize(new java
.awt
.Dimension(
508 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
509 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
510 jDesktopPaneModule
.setDesktopManager(iDesktopManager
);
511 jDesktopPaneModule
.addComponentListener(this);
513 return jDesktopPaneModule
;
517 This method initializes jDesktopPane
519 @return javax.swing.JDesktopPane jDesktopPane
522 private JDesktopPane
getJDesktopPanePackage() {
523 if (jDesktopPanePackage
== null) {
524 jDesktopPanePackage
= new JDesktopPane();
526 .setBounds(new java
.awt
.Rectangle(DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_X
,
527 DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_Y
,
528 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
529 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
531 .setMinimumSize(new java
.awt
.Dimension(
532 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
533 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
534 jDesktopPanePackage
.setDesktopManager(iDesktopManager
);
535 jDesktopPanePackage
.addComponentListener(this);
537 return jDesktopPanePackage
;
541 This method initializes jDesktopPane
543 @return javax.swing.JDesktopPane jDesktopPane
546 private JDesktopPane
getJDesktopPanePlatform() {
547 if (jDesktopPanePlatform
== null) {
548 jDesktopPanePlatform
= new JDesktopPane();
550 .setBounds(new java
.awt
.Rectangle(
551 DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_X
,
552 DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_Y
,
553 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
554 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
556 .setMinimumSize(new java
.awt
.Dimension(
557 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
558 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
559 jDesktopPanePlatform
.setDesktopManager(iDesktopManager
);
560 jDesktopPanePlatform
.addComponentListener(this);
562 return jDesktopPanePlatform
;
566 This method initializes jScrollPaneTree
568 @return javax.swing.JScrollPane jScrollPaneTree
571 private JScrollPane
getJScrollPaneTree() {
572 if (jScrollPaneTree
== null) {
573 jScrollPaneTree
= new JScrollPane();
574 //jScrollPaneTree.setBounds(new java.awt.Rectangle(0, 1, 290, 545));
576 .setPreferredSize(new java
.awt
.Dimension(
577 DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_WIDTH
,
578 DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_HEIGHT
));
580 .setMinimumSize(new java
.awt
.Dimension(
581 DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_WIDTH
/ 2,
582 DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_HEIGHT
));
583 jScrollPaneTree
.setViewportView(getITree());
585 return jScrollPaneTree
;
589 This method initializes iTree
591 @return org.tianocore.packaging.common.ui.ITree iTree
594 private ITree
getITree() {
596 //Before open a real module, use an empty root node for the tree
603 This method initializes jMenuHelp
605 @return javax.swing.JMenu jMenuHelp
608 private JMenu
getJMenuHelp() {
609 if (jMenuHelp
== null) {
610 jMenuHelp
= new JMenu();
611 jMenuHelp
.setText("Help");
612 jMenuHelp
.add(getJMenuItemHelpContents());
613 jMenuHelp
.add(getJMenuItemHelpIndex());
614 jMenuHelp
.add(getJMenuItemHelpSearch());
615 //jMenuHelp.addSeparator();
616 jMenuHelp
.add(getJMenuItemHelpAbout());
622 This method initializes jMenuItemHelpAbout
624 @return javax.swing.JMenuItem jMenuItemHelpAbout
627 private JMenuItem
getJMenuItemHelpAbout() {
628 if (jMenuItemHelpAbout
== null) {
629 jMenuItemHelpAbout
= new JMenuItem();
630 jMenuItemHelpAbout
.setText("About...");
631 jMenuItemHelpAbout
.addActionListener(this);
633 return jMenuItemHelpAbout
;
637 This method initializes jMenuItemEditDelete
639 @return javax.swing.JMenuItem jMenuItemEditDelete
642 private JMenuItem
getJMenuItemEditDelete() {
643 if (jMenuItemEditDelete
== null) {
644 jMenuItemEditDelete
= new JMenuItem();
645 jMenuItemEditDelete
.setText("Delete");
646 jMenuItemEditDelete
.setMnemonic('D');
647 jMenuItemEditDelete
.addActionListener(this);
649 //Disabled when no module is open
651 jMenuItemEditDelete
.setEnabled(false);
653 return jMenuItemEditDelete
;
657 // This method initializes jPopupMenu
659 // @return javax.swing.JPopupMenu jPopupMenu
662 // private JPopupMenu getJPopupMenu() {
663 // if (jPopupMenu == null) {
664 // jPopupMenu = new JPopupMenu();
666 // //Add menu items of popup menu
668 // jPopupMenu.add(getJMenuItemPopupAdd());
669 // jPopupMenu.add(getJMenuItemPopupUpdate());
670 // jPopupMenu.add(getJMenuItemPopupDelete());
671 // jPopupMenu.setBorder(new BevelBorder(BevelBorder.RAISED));
672 // jPopupMenu.addMouseListener(this);
674 // return jPopupMenu;
678 // This method initializes jMenuItemPopupAdd
680 // @return javax.swing.JMenuItem jMenuItemPopupAdd
683 // private JMenuItem getJMenuItemPopupAdd() {
684 // if (jMenuItemPopupAdd == null) {
685 // jMenuItemPopupAdd = new JMenuItem();
686 // jMenuItemPopupAdd.setText("Add");
687 // jMenuItemPopupAdd.addActionListener(this);
688 // jMenuItemPopupAdd.setEnabled(false);
690 // return jMenuItemPopupAdd;
694 // This method initializes jMenuItemPopupUpdate
696 // @return javax.swing.JMenuItem jMenuItemPopupUpdate
699 // private JMenuItem getJMenuItemPopupUpdate() {
700 // if (jMenuItemPopupUpdate == null) {
701 // jMenuItemPopupUpdate = new JMenuItem();
702 // jMenuItemPopupUpdate.setText("Update");
703 // jMenuItemPopupUpdate.addActionListener(this);
704 // jMenuItemPopupUpdate.setEnabled(false);
706 // return jMenuItemPopupUpdate;
710 // This method initializes jMenuItemPopupDelete
712 // @return javax.swing.JMenuItem jMenuItemPopupDelete
715 // private JMenuItem getJMenuItemPopupDelete() {
716 // if (jMenuItemPopupDelete == null) {
717 // jMenuItemPopupDelete = new JMenuItem();
718 // jMenuItemPopupDelete.setText("Delete");
719 // jMenuItemPopupDelete.addActionListener(this);
720 // jMenuItemPopupDelete.setEnabled(false);
722 // return jMenuItemPopupDelete;
726 This method initializes jMenuFileNew
728 @return javax.swing.JMenuItem jMenuFileNew
731 private JMenuItem
getJMenuItemFileNew() {
732 if (jMenuItemFileNew
== null) {
733 jMenuItemFileNew
= new JMenuItem();
734 jMenuItemFileNew
.setText("New...");
735 jMenuItemFileNew
.setMnemonic('N');
736 jMenuItemFileNew
.addActionListener(this);
738 return jMenuItemFileNew
;
742 This method initializes jMenuItemFileSave
744 @return javax.swing.JMenuItem jMenuItemModuleSave
747 private JMenuItem
getJMenuItemFileSave() {
748 if (jMenuItemFileSave
== null) {
749 jMenuItemFileSave
= new JMenuItem();
750 jMenuItemFileSave
.setText("Save");
751 jMenuItemFileSave
.setMnemonic('S');
752 jMenuItemFileSave
.addActionListener(this);
753 jMenuItemFileSave
.setEnabled(true);
755 return jMenuItemFileSave
;
759 This method initializes jMenuItemModuleClose
761 @return javax.swing.JMenuItem jMenuItemModuleClose
764 private JMenuItem
getJMenuItemFileClose() {
765 if (jMenuItemFileClose
== null) {
766 jMenuItemFileClose
= new JMenuItem();
767 jMenuItemFileClose
.setText("Close");
768 jMenuItemFileClose
.setMnemonic('C');
769 jMenuItemFileClose
.setEnabled(true);
770 jMenuItemFileClose
.addActionListener(this);
772 return jMenuItemFileClose
;
776 This method initializes jMenuTools
779 @return javax.swing.JMenu jMenuTools
782 private JMenu
getJMenuTools() {
783 if (jMenuTools
== null) {
784 jMenuTools
= new JMenu();
785 jMenuTools
.setText("Tools");
786 jMenuTools
.setMnemonic('T');
787 jMenuTools
.add(getJMenuItemToolsToolChainConfiguration());
788 jMenuTools
.addSeparator();
789 jMenuTools
.add(getJMenuItemToolsClone());
790 //jMenuTools.addSeparator();
791 jMenuTools
.add(getJMenuItemToolsCodeScan());
792 jMenuTools
.addMenuListener(this);
798 This method initializes jMenuWindow
801 @return javax.swing.JMenu jMenuWindow
804 private JMenu
getJMenuWindow() {
805 if (jMenuWindow
== null) {
806 jMenuWindow
= new JMenu();
807 jMenuWindow
.setText("Window");
808 jMenuWindow
.setMnemonic('W');
809 jMenuWindow
.add(getJMenuItemWindowDisplaySide());
810 jMenuWindow
.add(getJMenuItemWindowDisplayTopBottom());
811 jMenuWindow
.addSeparator();
812 jMenuWindow
.add(getJMenuItemWindowTabView());
813 jMenuWindow
.addSeparator();
814 jMenuWindow
.add(getJMenuItemWindowSource());
815 jMenuWindow
.add(getJMenuItemWindowXML());
816 jMenuWindow
.addSeparator();
817 jMenuWindow
.add(getJMenuItemWindowPreferences());
818 jMenuWindow
.setVisible(false);
824 This method initializes jPanelOperation
826 @return javax.swing.JPanel jPanelOperation
829 private JPanel
getJPanelOperation() {
830 if (jPanelOperation
== null) {
831 jPanelOperation
= new JPanel();
832 jPanelOperation
.setLayout(null);
833 jPanelOperation
.setBounds(new java
.awt
.Rectangle(295, 520, 500, 25));
834 jPanelOperation
.add(getJButtonOk(), null);
835 jPanelOperation
.add(getJButtonCancel(), null);
836 jPanelOperation
.setVisible(false);
838 return jPanelOperation
;
842 This method initializes jButtonOk
844 @return javax.swing.JButton jButtonOk
847 private JButton
getJButtonOk() {
848 if (jButtonOk
== null) {
849 jButtonOk
= new JButton();
850 jButtonOk
.setBounds(new java
.awt
.Rectangle(395, 2, 90, 20));
851 jButtonOk
.setText("Ok");
852 jButtonOk
.setEnabled(false);
853 jButtonOk
.addActionListener(this);
859 This method initializes jButtonCancel
861 @return javax.swing.JButton jButtonCancel
864 private JButton
getJButtonCancel() {
865 if (jButtonCancel
== null) {
866 jButtonCancel
= new JButton();
867 jButtonCancel
.setBounds(new java
.awt
.Rectangle(395, 2, 90, 20));
868 jButtonCancel
.setText("Cancel");
869 jButtonCancel
.setEnabled(false);
870 jButtonCancel
.addActionListener(this);
871 jButtonCancel
.setVisible(false);
873 return jButtonCancel
;
877 This method initializes jMenuItemFileOpen
879 @return javax.swing.JMenuItem jMenuItemFileOpen
881 private JMenuItem
getJMenuItemFileOpen() {
882 if (jMenuItemFileOpen
== null) {
883 jMenuItemFileOpen
= new JMenuItem();
884 jMenuItemFileOpen
.setText("Open...");
885 jMenuItemFileOpen
.setMnemonic('O');
886 jMenuItemFileOpen
.addActionListener(this);
888 return jMenuItemFileOpen
;
892 This method initializes jMenuItemFileCloseAll
894 @return javax.swing.JMenuItem jMenuItemFileOpen
896 private JMenuItem
getJMenuItemFileCloseAll() {
897 if (jMenuItemFileCloseAll
== null) {
898 jMenuItemFileCloseAll
= new JMenuItem();
899 jMenuItemFileCloseAll
.setText("Close All");
900 jMenuItemFileCloseAll
.setEnabled(true);
901 jMenuItemFileCloseAll
.addActionListener(this);
903 return jMenuItemFileCloseAll
;
907 This method initializes jMenuItemFileSaveAll
909 @return javax.swing.JMenuItem jMenuItemFileSaveAll
911 private JMenuItem
getJMenuItemFileSaveAll() {
912 if (jMenuItemFileSaveAll
== null) {
913 jMenuItemFileSaveAll
= new JMenuItem();
914 jMenuItemFileSaveAll
.setText("Save All");
915 jMenuItemFileSaveAll
.setMnemonic('v');
916 jMenuItemFileSaveAll
.setEnabled(true);
917 jMenuItemFileSaveAll
.addActionListener(this);
919 return jMenuItemFileSaveAll
;
923 This method initializes jMenuItemFilePageSetup
925 @return javax.swing.JMenuItem
927 private JMenuItem
getJMenuItemFilePageSetup() {
928 if (jMenuItemFilePageSetup
== null) {
929 jMenuItemFilePageSetup
= new JMenuItem();
930 jMenuItemFilePageSetup
.setText("Page Setup");
931 jMenuItemFilePageSetup
.setMnemonic('u');
932 jMenuItemFilePageSetup
.setEnabled(false);
933 jMenuItemFilePageSetup
.addActionListener(this);
934 jMenuItemFilePageSetup
.setVisible(false);
936 return jMenuItemFilePageSetup
;
940 This method initializes jMenuItemFilePrint
942 @return javax.swing.JMenuItem
944 private JMenuItem
getJMenuItemFilePrint() {
945 if (jMenuItemFilePrint
== null) {
946 jMenuItemFilePrint
= new JMenuItem();
947 jMenuItemFilePrint
.setText("Print");
948 jMenuItemFilePrint
.setMnemonic('P');
949 jMenuItemFilePrint
.setEnabled(false);
950 jMenuItemFilePrint
.addActionListener(this);
951 jMenuItemFilePrint
.setVisible(false);
953 return jMenuItemFilePrint
;
957 This method initializes jMenuItemFileImport
959 @return javax.swing.JMenuItem
961 private JMenuItem
getJMenuItemFileImport() {
962 if (jMenuItemFileImport
== null) {
963 jMenuItemFileImport
= new JMenuItem();
964 jMenuItemFileImport
.setText("Import");
965 jMenuItemFileImport
.setMnemonic('I');
966 jMenuItemFileImport
.setEnabled(false);
967 jMenuItemFileImport
.addActionListener(this);
968 jMenuItemFileImport
.setVisible(false);
970 return jMenuItemFileImport
;
974 * This method initializes jMenuItemFileProperties
976 * @return javax.swing.JMenuItem
978 private JMenuItem
getJMenuItemFileProperties() {
979 if (jMenuItemFileProperties
== null) {
980 jMenuItemFileProperties
= new JMenuItem();
981 jMenuItemFileProperties
.setText("Properties");
982 jMenuItemFileProperties
.setMnemonic('t');
983 jMenuItemFileProperties
.setEnabled(false);
984 jMenuItemFileProperties
.addActionListener(this);
985 jMenuItemFileProperties
.setVisible(false);
987 return jMenuItemFileProperties
;
991 * This method initializes jMenuFileRecentFiles
993 * @return javax.swing.JMenu
995 private JMenu
getJMenuFileRecentFiles() {
996 if (jMenuFileRecentFiles
== null) {
997 jMenuFileRecentFiles
= new JMenu();
998 jMenuFileRecentFiles
.setText("Recent Files");
999 jMenuFileRecentFiles
.setMnemonic('F');
1000 jMenuFileRecentFiles
.setEnabled(false);
1001 jMenuFileRecentFiles
.addActionListener(this);
1002 jMenuFileRecentFiles
.setVisible(false);
1004 return jMenuFileRecentFiles
;
1008 This method initializes jMenuItemEditUndo
1010 @return javax.swing.JMenuItem
1012 private JMenuItem
getJMenuItemEditUndo() {
1013 if (jMenuItemEditUndo
== null) {
1014 jMenuItemEditUndo
= new JMenuItem();
1015 jMenuItemEditUndo
.setText("Undo");
1016 jMenuItemEditUndo
.setMnemonic('U');
1017 jMenuItemEditUndo
.setEnabled(false);
1018 jMenuItemEditUndo
.addActionListener(this);
1020 return jMenuItemEditUndo
;
1024 This method initializes jMenuItemEditRedo
1026 @return javax.swing.JMenuItem
1028 private JMenuItem
getJMenuItemEditRedo() {
1029 if (jMenuItemEditRedo
== null) {
1030 jMenuItemEditRedo
= new JMenuItem();
1031 jMenuItemEditRedo
.setText("Redo");
1032 jMenuItemEditRedo
.setMnemonic('R');
1033 jMenuItemEditRedo
.setEnabled(false);
1034 jMenuItemEditRedo
.addActionListener(this);
1036 return jMenuItemEditRedo
;
1040 This method initializes jMenuItemEditCut
1042 @return javax.swing.JMenuItem
1044 private JMenuItem
getJMenuItemEditCut() {
1045 if (jMenuItemEditCut
== null) {
1046 jMenuItemEditCut
= new JMenuItem();
1047 jMenuItemEditCut
.setText("Cut");
1048 jMenuItemEditCut
.setMnemonic('t');
1049 jMenuItemEditCut
.setEnabled(false);
1050 jMenuItemEditCut
.addActionListener(this);
1052 return jMenuItemEditCut
;
1056 This method initializes jMenuItemEditCopy
1058 @return javax.swing.JMenuItem
1060 private JMenuItem
getJMenuItemEditCopy() {
1061 if (jMenuItemEditCopy
== null) {
1062 jMenuItemEditCopy
= new JMenuItem();
1063 jMenuItemEditCopy
.setText("Copy");
1064 jMenuItemEditCopy
.setMnemonic('C');
1065 jMenuItemEditCopy
.setEnabled(false);
1066 jMenuItemEditCopy
.addActionListener(this);
1068 return jMenuItemEditCopy
;
1072 This method initializes jMenuItemEditPaste
1074 return javax.swing.JMenuItem
1076 private JMenuItem
getJMenuItemEditPaste() {
1077 if (jMenuItemEditPaste
== null) {
1078 jMenuItemEditPaste
= new JMenuItem();
1079 jMenuItemEditPaste
.setText("Paste");
1080 jMenuItemEditPaste
.setMnemonic('P');
1081 jMenuItemEditPaste
.setEnabled(false);
1082 jMenuItemEditPaste
.addActionListener(this);
1084 return jMenuItemEditPaste
;
1088 This method initializes jMenuItem
1090 @return javax.swing.JMenuItem
1092 private JMenuItem
getJMenuItemEditSelectAll() {
1093 if (jMenuItemEditSelectAll
== null) {
1094 jMenuItemEditSelectAll
= new JMenuItem();
1095 jMenuItemEditSelectAll
.setText("Select All");
1096 jMenuItemEditSelectAll
.setMnemonic('A');
1097 jMenuItemEditSelectAll
.setEnabled(false);
1098 jMenuItemEditSelectAll
.addActionListener(this);
1100 return jMenuItemEditSelectAll
;
1104 This method initializes jMenuItemEditFind
1106 @return javax.swing.JMenuItem
1108 private JMenuItem
getJMenuItemEditFind() {
1109 if (jMenuItemEditFind
== null) {
1110 jMenuItemEditFind
= new JMenuItem();
1111 jMenuItemEditFind
.setText("Find");
1112 jMenuItemEditFind
.setMnemonic('F');
1113 jMenuItemEditFind
.setEnabled(false);
1114 jMenuItemEditFind
.addActionListener(this);
1116 return jMenuItemEditFind
;
1120 This method initializes jMenuItemEditFindNext
1122 @return javax.swing.JMenuItem
1125 private JMenuItem
getJMenuItemEditFindNext() {
1126 if (jMenuItemEditFindNext
== null) {
1127 jMenuItemEditFindNext
= new JMenuItem();
1128 jMenuItemEditFindNext
.setText("Find Next");
1129 jMenuItemEditFindNext
.setMnemonic('n');
1130 jMenuItemEditFindNext
.setEnabled(false);
1131 jMenuItemEditFindNext
.addActionListener(this);
1133 return jMenuItemEditFindNext
;
1137 This method initializes jMenuView
1139 @return javax.swing.JMenu
1142 private JMenu
getJMenuView() {
1143 if (jMenuView
== null) {
1144 jMenuView
= new JMenu();
1145 jMenuView
.setText("View");
1146 jMenuView
.setMnemonic('V');
1147 jMenuView
.add(getJMenuViewToolbars());
1148 jMenuView
.add(getJMenuItemViewAdvanced());
1149 jMenuView
.add(getJMenuItemViewStandard());
1150 jMenuView
.add(getJMenuItemViewXML());
1151 jMenuView
.setVisible(false);
1157 This method initializes jMenuViewToolbars
1159 @return javax.swing.JMenu
1162 private JMenu
getJMenuViewToolbars() {
1163 if (jMenuViewToolbars
== null) {
1164 jMenuViewToolbars
= new JMenu();
1165 jMenuViewToolbars
.setText("Toolbars");
1166 jMenuViewToolbars
.setMnemonic('T');
1167 jMenuViewToolbars
.add(getJCheckBoxMenuItemViewToolbarsFile());
1168 jMenuViewToolbars
.add(getJCheckBoxMenuItemViewToolbarsEdit());
1169 jMenuViewToolbars
.add(getJCheckBoxMenuItemViewToolbarsWindow());
1171 return jMenuViewToolbars
;
1175 This method initializes jCheckBoxMenuItemViewToolbarsFile
1177 @return javax.swing.JCheckBoxMenuItem
1180 private JCheckBoxMenuItem
getJCheckBoxMenuItemViewToolbarsFile() {
1181 if (jCheckBoxMenuItemViewToolbarsFile
== null) {
1182 jCheckBoxMenuItemViewToolbarsFile
= new JCheckBoxMenuItem();
1183 jCheckBoxMenuItemViewToolbarsFile
.setText("File");
1184 jCheckBoxMenuItemViewToolbarsFile
.setEnabled(false);
1185 jCheckBoxMenuItemViewToolbarsFile
.addActionListener(this);
1187 return jCheckBoxMenuItemViewToolbarsFile
;
1191 This method initializes jCheckBoxMenuItemViewToolbarsEdit
1193 @return javax.swing.JCheckBoxMenuItem
1196 private JCheckBoxMenuItem
getJCheckBoxMenuItemViewToolbarsEdit() {
1197 if (jCheckBoxMenuItemViewToolbarsEdit
== null) {
1198 jCheckBoxMenuItemViewToolbarsEdit
= new JCheckBoxMenuItem();
1199 jCheckBoxMenuItemViewToolbarsEdit
.setText("Edit");
1200 jCheckBoxMenuItemViewToolbarsEdit
.setEnabled(false);
1201 jCheckBoxMenuItemViewToolbarsEdit
.addActionListener(this);
1203 return jCheckBoxMenuItemViewToolbarsEdit
;
1207 This method initializes jCheckBoxMenuItemViewToolbarsWindow
1209 @return javax.swing.JCheckBoxMenuItem
1212 private JCheckBoxMenuItem
getJCheckBoxMenuItemViewToolbarsWindow() {
1213 if (jCheckBoxMenuItemViewToolbarsWindow
== null) {
1214 jCheckBoxMenuItemViewToolbarsWindow
= new JCheckBoxMenuItem();
1215 jCheckBoxMenuItemViewToolbarsWindow
.setText("Window");
1216 jCheckBoxMenuItemViewToolbarsWindow
.setEnabled(false);
1217 jCheckBoxMenuItemViewToolbarsWindow
.addActionListener(this);
1219 return jCheckBoxMenuItemViewToolbarsWindow
;
1223 This method initializes jMenuItemStandard
1225 @return javax.swing.JMenuItem
1228 private JMenuItem
getJMenuItemViewStandard() {
1229 if (jMenuItemViewStandard
== null) {
1230 jMenuItemViewStandard
= new JMenuItem();
1231 jMenuItemViewStandard
.setText("Standard");
1232 jMenuItemViewStandard
.setMnemonic('S');
1233 jMenuItemViewStandard
.setEnabled(false);
1234 jMenuItemViewStandard
.addActionListener(this);
1236 return jMenuItemViewStandard
;
1240 This method initializes jMenuItemAdvanced
1242 @return javax.swing.JMenuItem
1245 private JMenuItem
getJMenuItemViewAdvanced() {
1246 if (jMenuItemViewAdvanced
== null) {
1247 jMenuItemViewAdvanced
= new JMenuItem();
1248 jMenuItemViewAdvanced
.setText("Advanced");
1249 jMenuItemViewAdvanced
.setMnemonic('A');
1250 jMenuItemViewAdvanced
.setEnabled(false);
1251 jMenuItemViewAdvanced
.addActionListener(this);
1253 return jMenuItemViewAdvanced
;
1257 This method initializes jMenuProject
1259 @return javax.swing.JMenu
1262 private JMenu
getJMenuProject() {
1263 if (jMenuProject
== null) {
1264 jMenuProject
= new JMenu();
1265 jMenuProject
.setText("Project");
1266 jMenuProject
.setMnemonic('P');
1267 jMenuProject
.add(getJMenuItemProjectAdmin());
1268 //jMenuProject.addSeparator();
1269 jMenuProject
.add(getJMenuItemProjectChangeWorkspace());
1270 jMenuProject
.addSeparator();
1271 jMenuProject
.add(getJMenuItemProjectCreateFar());
1272 jMenuProject
.add(getJMenuItemProjectInstallFar());
1273 jMenuProject
.add(getJMenuItemProjectUpdateFar());
1274 jMenuProject
.add(getJMenuItemProjectRemoveFar());
1275 //jMenuProject.addSeparator();
1276 jMenuProject
.add(getJMenuProjectBuildTargets());
1278 return jMenuProject
;
1282 This method initializes jMenuItemProjectAdmin
1284 @return javax.swing.JMenuItem
1287 private JMenuItem
getJMenuItemProjectAdmin() {
1288 if (jMenuItemProjectAdmin
== null) {
1289 jMenuItemProjectAdmin
= new JMenuItem();
1290 jMenuItemProjectAdmin
.setText("Admin...");
1291 jMenuItemProjectAdmin
.setMnemonic('A');
1292 jMenuItemProjectAdmin
.setEnabled(false);
1293 jMenuItemProjectAdmin
.addActionListener(this);
1294 jMenuItemProjectAdmin
.setVisible(false);
1296 return jMenuItemProjectAdmin
;
1300 This method initializes jMenuItemProjectChangeWorkspace
1302 @return javax.swing.JMenuItem
1305 private JMenuItem
getJMenuItemProjectChangeWorkspace() {
1306 if (jMenuItemProjectChangeWorkspace
== null) {
1307 jMenuItemProjectChangeWorkspace
= new JMenuItem();
1308 jMenuItemProjectChangeWorkspace
.setText("Change WORKSPACE...");
1309 jMenuItemProjectChangeWorkspace
.setMnemonic('W');
1310 jMenuItemProjectChangeWorkspace
.setEnabled(true);
1311 jMenuItemProjectChangeWorkspace
.addActionListener(this);
1313 return jMenuItemProjectChangeWorkspace
;
1317 This method initializes jMenuProjectBuildTargets
1319 @return javax.swing.JMenu
1322 private JMenu
getJMenuProjectBuildTargets() {
1323 if (jMenuProjectBuildTargets
== null) {
1324 jMenuProjectBuildTargets
= new JMenu();
1325 jMenuProjectBuildTargets
.setText("Build Targets");
1326 jMenuProjectBuildTargets
.setMnemonic('T');
1327 jMenuProjectBuildTargets
.add(getJCheckBoxMenuItemProjectBuildTargetsDebug());
1328 jMenuProjectBuildTargets
.add(getJCheckBoxMenuItemProjectBuildTargetsRelease());
1329 jMenuProjectBuildTargets
.setVisible(false);
1331 return jMenuProjectBuildTargets
;
1335 This method initializes jCheckBoxMenuItemProjectBuildTargetsDebug
1337 @return javax.swing.JCheckBoxMenuItem
1340 private JCheckBoxMenuItem
getJCheckBoxMenuItemProjectBuildTargetsDebug() {
1341 if (jCheckBoxMenuItemProjectBuildTargetsDebug
== null) {
1342 jCheckBoxMenuItemProjectBuildTargetsDebug
= new JCheckBoxMenuItem();
1343 jCheckBoxMenuItemProjectBuildTargetsDebug
.setText("Debug");
1344 jCheckBoxMenuItemProjectBuildTargetsDebug
.setEnabled(false);
1346 return jCheckBoxMenuItemProjectBuildTargetsDebug
;
1350 This method initializes jCheckBoxMenuItemProjectBuildTargetsRelease
1352 @return javax.swing.JCheckBoxMenuItem
1355 private JCheckBoxMenuItem
getJCheckBoxMenuItemProjectBuildTargetsRelease() {
1356 if (jCheckBoxMenuItemProjectBuildTargetsRelease
== null) {
1357 jCheckBoxMenuItemProjectBuildTargetsRelease
= new JCheckBoxMenuItem();
1358 jCheckBoxMenuItemProjectBuildTargetsRelease
.setText("Release");
1359 jCheckBoxMenuItemProjectBuildTargetsRelease
.setEnabled(false);
1361 return jCheckBoxMenuItemProjectBuildTargetsRelease
;
1365 This method initializes jMenuItemToolsToolChainConfiguration
1367 @return javax.swing.JMenuItem
1370 private JMenuItem
getJMenuItemToolsToolChainConfiguration() {
1371 if (jMenuItemToolsToolChainConfiguration
== null) {
1372 jMenuItemToolsToolChainConfiguration
= new JMenuItem();
1373 jMenuItemToolsToolChainConfiguration
.setText("Tool Chain Configuration...");
1374 jMenuItemToolsToolChainConfiguration
.setMnemonic('C');
1375 jMenuItemToolsToolChainConfiguration
.addActionListener(this);
1377 return jMenuItemToolsToolChainConfiguration
;
1381 This method initializes jMenuItemToolsClone
1383 @return javax.swing.JMenuItem
1386 private JMenuItem
getJMenuItemToolsClone() {
1387 if (jMenuItemToolsClone
== null) {
1388 jMenuItemToolsClone
= new JMenuItem();
1389 jMenuItemToolsClone
.setText("Clone...");
1390 jMenuItemToolsClone
.setMnemonic('l');
1391 jMenuItemToolsClone
.setEnabled(true);
1392 jMenuItemToolsClone
.addActionListener(this);
1394 return jMenuItemToolsClone
;
1398 This method initializes jMenuItemToolsCodeScan
1400 @return javax.swing.JMenuItem
1403 private JMenuItem
getJMenuItemToolsCodeScan() {
1404 if (jMenuItemToolsCodeScan
== null) {
1405 jMenuItemToolsCodeScan
= new JMenuItem();
1406 jMenuItemToolsCodeScan
.setText("Code Scan...");
1407 jMenuItemToolsCodeScan
.setMnemonic('S');
1408 jMenuItemToolsCodeScan
.setEnabled(false);
1409 jMenuItemToolsCodeScan
.addActionListener(this);
1410 jMenuItemToolsCodeScan
.setVisible(false);
1412 return jMenuItemToolsCodeScan
;
1416 This method initializes jMenuItemWindowSplitVertical
1418 @return javax.swing.JMenuItem
1421 private JMenuItem
getJMenuItemWindowDisplaySide() {
1422 if (jMenuItemWindowDisplaySide
== null) {
1423 jMenuItemWindowDisplaySide
= new JMenuItem();
1424 jMenuItemWindowDisplaySide
.setText("Display Side by Side");
1425 jMenuItemWindowDisplaySide
.setMnemonic('S');
1426 jMenuItemWindowDisplaySide
.setEnabled(false);
1427 jMenuItemWindowDisplaySide
.addActionListener(this);
1429 return jMenuItemWindowDisplaySide
;
1433 This method initializes jMenuItemWindowSplitHorizontal
1435 @return javax.swing.JMenuItem
1438 private JMenuItem
getJMenuItemWindowDisplayTopBottom() {
1439 if (jMenuItemWindowDisplayTopBottom
== null) {
1440 jMenuItemWindowDisplayTopBottom
= new JMenuItem();
1441 jMenuItemWindowDisplayTopBottom
.setText("Display Top and Bottom");
1442 jMenuItemWindowDisplayTopBottom
.setMnemonic('B');
1443 jMenuItemWindowDisplayTopBottom
.setEnabled(false);
1444 jMenuItemWindowDisplayTopBottom
.addActionListener(this);
1446 return jMenuItemWindowDisplayTopBottom
;
1450 This method initializes jMenuItemViewXML
1452 @return javax.swing.JMenuItem
1455 private JMenuItem
getJMenuItemViewXML() {
1456 if (jMenuItemViewXML
== null) {
1457 jMenuItemViewXML
= new JMenuItem();
1458 jMenuItemViewXML
.setText("XML");
1459 jMenuItemViewXML
.setMnemonic('X');
1460 jMenuItemViewXML
.setEnabled(false);
1461 jMenuItemViewXML
.addActionListener(this);
1463 return jMenuItemViewXML
;
1467 This method initializes jMenuItemWindowTabView
1469 @return javax.swing.JMenuItem
1472 private JMenuItem
getJMenuItemWindowTabView() {
1473 if (jMenuItemWindowTabView
== null) {
1474 jMenuItemWindowTabView
= new JMenuItem();
1475 jMenuItemWindowTabView
.setText("Tab View");
1476 jMenuItemWindowTabView
.setMnemonic('T');
1477 jMenuItemWindowTabView
.setEnabled(false);
1478 jMenuItemWindowTabView
.addActionListener(this);
1480 return jMenuItemWindowTabView
;
1484 This method initializes jMenuItemWindowSource
1486 @return javax.swing.JMenuItem
1489 private JMenuItem
getJMenuItemWindowSource() {
1490 if (jMenuItemWindowSource
== null) {
1491 jMenuItemWindowSource
= new JMenuItem();
1492 jMenuItemWindowSource
.setText("Source");
1493 jMenuItemWindowSource
.setMnemonic('S');
1494 jMenuItemWindowSource
.setEnabled(false);
1495 jMenuItemWindowSource
.addActionListener(this);
1497 return jMenuItemWindowSource
;
1501 This method initializes jMenuItemWindowXML
1503 @return javax.swing.JMenuItem
1506 private JMenuItem
getJMenuItemWindowXML() {
1507 if (jMenuItemWindowXML
== null) {
1508 jMenuItemWindowXML
= new JMenuItem();
1509 jMenuItemWindowXML
.setText("XML");
1510 jMenuItemWindowXML
.setMnemonic('X');
1511 jMenuItemWindowXML
.setEnabled(false);
1512 jMenuItemWindowXML
.addActionListener(this);
1514 return jMenuItemWindowXML
;
1518 This method initializes jMenuItemWindowPreferences
1520 @return javax.swing.JMenuItem
1523 private JMenuItem
getJMenuItemWindowPreferences() {
1524 if (jMenuItemWindowPreferences
== null) {
1525 jMenuItemWindowPreferences
= new JMenuItem();
1526 jMenuItemWindowPreferences
.setText("Preferences");
1527 jMenuItemWindowPreferences
.setMnemonic('P');
1528 jMenuItemWindowPreferences
.setEnabled(false);
1529 jMenuItemWindowPreferences
.addActionListener(this);
1531 return jMenuItemWindowPreferences
;
1535 This method initializes jMenuItemHelpContents
1537 @return javax.swing.JMenuItem
1540 private JMenuItem
getJMenuItemHelpContents() {
1541 if (jMenuItemHelpContents
== null) {
1542 jMenuItemHelpContents
= new JMenuItem();
1543 jMenuItemHelpContents
.setText("Contents");
1544 jMenuItemHelpContents
.setMnemonic('C');
1545 jMenuItemHelpContents
.setEnabled(false);
1546 jMenuItemHelpContents
.addActionListener(this);
1547 jMenuItemHelpContents
.setVisible(false);
1549 return jMenuItemHelpContents
;
1553 This method initializes jMenuItemHelpIndex
1555 @return javax.swing.JMenuItem
1558 private JMenuItem
getJMenuItemHelpIndex() {
1559 if (jMenuItemHelpIndex
== null) {
1560 jMenuItemHelpIndex
= new JMenuItem();
1561 jMenuItemHelpIndex
.setText("Index");
1562 jMenuItemHelpIndex
.setMnemonic('I');
1563 jMenuItemHelpIndex
.setEnabled(false);
1564 jMenuItemHelpIndex
.addActionListener(this);
1565 jMenuItemHelpIndex
.setVisible(false);
1567 return jMenuItemHelpIndex
;
1571 This method initializes jMenuItemHelpSearch
1573 @return javax.swing.JMenuItem
1576 private JMenuItem
getJMenuItemHelpSearch() {
1577 if (jMenuItemHelpSearch
== null) {
1578 jMenuItemHelpSearch
= new JMenuItem();
1579 jMenuItemHelpSearch
.setText("Search");
1580 jMenuItemHelpSearch
.setMnemonic('S');
1581 jMenuItemHelpSearch
.setEnabled(false);
1582 jMenuItemHelpSearch
.addActionListener(this);
1583 jMenuItemHelpSearch
.setVisible(false);
1585 return jMenuItemHelpSearch
;
1589 * This method initializes jToolBar
1591 * @return javax.swing.JToolBar
1593 // private JToolBar getJToolBarFile() {
1594 // if (jToolBarFile == null) {
1595 // jToolBarFile = new JToolBar();
1596 // jToolBarFile.setFloatable(false);
1598 // return jToolBarFile;
1601 * This method initializes jToolBarEdit
1603 * @return javax.swing.JToolBar
1605 // private JToolBar getJToolBarEdit() {
1606 // if (jToolBarEdit == null) {
1607 // jToolBarEdit = new JToolBar();
1608 // jToolBarEdit.setFloatable(false);
1610 // return jToolBarEdit;
1613 * This method initializes jMenuItemToolsInstallPackage
1615 * @return javax.swing.JMenuItem
1617 private JMenuItem
getJMenuItemProjectInstallFar() {
1618 if (jMenuItemProjectInstallFar
== null) {
1619 jMenuItemProjectInstallFar
= new JMenuItem();
1620 jMenuItemProjectInstallFar
.setText("Install FAR");
1621 jMenuItemProjectInstallFar
.setMnemonic('I');
1622 jMenuItemProjectInstallFar
.setEnabled(true);
1623 jMenuItemProjectInstallFar
.addActionListener(this);
1625 return jMenuItemProjectInstallFar
;
1629 * This method initializes jMenuItemToolsUpdatePackage
1631 * @return javax.swing.JMenuItem
1633 private JMenuItem
getJMenuItemProjectUpdateFar() {
1634 if (jMenuItemProjectUpdateFar
== null) {
1635 jMenuItemProjectUpdateFar
= new JMenuItem();
1636 jMenuItemProjectUpdateFar
.setText("Update FAR");
1637 jMenuItemProjectUpdateFar
.setMnemonic('U');
1638 jMenuItemProjectUpdateFar
.setEnabled(true);
1639 jMenuItemProjectUpdateFar
.addActionListener(this);
1640 jMenuItemProjectUpdateFar
.setVisible(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
.err("Open Module Surface Area " + path
, e
.getMessage());
2138 } catch (XmlException e
) {
2139 Log
.err("Open Module Surface Area " + path
, e
.getMessage());
2141 } catch (Exception e
) {
2142 Log
.err("Open Module Surface Area " + path
, "Invalid file type");
2145 Identification id
= new Identification(msa
.getMsaHeader().getModuleName(), msa
.getMsaHeader().getGuidValue(),
2146 msa
.getMsaHeader().getVersion(), path
);
2148 // Generate module id
2150 PackageIdentification pid
= wt
.getPackageIdByModuleId(id
);
2153 // To judge if the module existed in vModuleList
2154 // If not, add it to vModuleList
2156 boolean isFind
= false;
2157 for (int index
= 0; index
< vModuleList
.size(); index
++) {
2158 if (vModuleList
.elementAt(index
).equals(id
)) {
2164 ModuleIdentification mid
= new ModuleIdentification(id
, pid
, moduleId
.isLibrary());
2165 vModuleList
.addElement(mid
);
2166 addModuleToTree(mid
);
2170 // The module is not in existing packages
2172 Log
.err("The module hasn't been added to any package of current workspace!");
2177 // Make the node selected
2179 iTree
.setSelectionPath(iTree
.getPathOfNode(iTree
.getNodeById(this.dmtnModuleDescription
, id
,
2180 IDefaultMutableTreeNode
.MSA_HEADER
)));
2182 // Update opening Module list information
2184 if (!openingModuleList
.existsModule(id
)) {
2186 // Insert sub node of module
2188 insertModuleTreeNode(id
);
2189 iTree
.getSelectNode().setOpening(true);
2192 // Update opening module list
2194 openingModuleList
.insertToOpeningModuleList(id
, msa
);
2195 openingModuleList
.setTreePathById(id
, iTree
.getSelectionPath());
2198 // Show msa header in editor panel
2200 showModuleElement(IDefaultMutableTreeNode
.MSA_HEADER
, openingModuleList
.getOpeningModuleById(id
));
2201 this.currentOpeningModuleIndex
= openingModuleList
.findIndexOfListById(id
);
2207 @param path input file path
2210 private void openModule(String path
) {
2211 ModuleSurfaceAreaDocument
.ModuleSurfaceArea msa
= null;
2213 msa
= OpenFile
.openMsaFile(path
);
2214 } catch (IOException e
) {
2215 Log
.err("Open Module Surface Area " + path
, e
.getMessage());
2217 } catch (XmlException e
) {
2218 Log
.err("Open Module Surface Area " + path
, e
.getMessage());
2220 } catch (Exception e
) {
2221 Log
.err("Open Module Surface Area " + path
, "Invalid file type");
2224 Identification id
= new Identification(msa
.getMsaHeader().getModuleName(), msa
.getMsaHeader().getGuidValue(),
2225 msa
.getMsaHeader().getVersion(), path
);
2227 // Generate module id
2229 PackageIdentification pid
= wt
.getPackageIdByModuleId(id
);
2232 // To judge if the module existed in vModuleList
2233 // If not, add it to vModuleList
2235 boolean isFind
= false;
2236 for (int index
= 0; index
< vModuleList
.size(); index
++) {
2237 if (vModuleList
.elementAt(index
).equals(id
)) {
2243 ModuleIdentification mid
= new ModuleIdentification(id
, pid
);
2244 vModuleList
.addElement(mid
);
2245 addModuleToTree(mid
);
2249 // The module is not in existing packages
2251 Log
.err("The module hasn't been added to any package of current workspace!");
2256 // Make the node selected
2258 iTree
.setSelectionPath(iTree
.getPathOfNode(iTree
.getNodeById(this.dmtnModuleDescription
, id
,
2259 IDefaultMutableTreeNode
.MSA_HEADER
)));
2261 // Update opening Module list information
2263 if (!openingModuleList
.existsModule(id
)) {
2265 // Insert sub node of module
2267 insertModuleTreeNode(id
);
2268 iTree
.getSelectNode().setOpening(true);
2271 // Update opening module list
2273 openingModuleList
.insertToOpeningModuleList(id
, msa
);
2274 openingModuleList
.setTreePathById(id
, iTree
.getSelectionPath());
2277 // Show msa header in editor panel
2279 showModuleElement(IDefaultMutableTreeNode
.MSA_HEADER
, openingModuleList
.getOpeningModuleById(id
));
2280 this.currentOpeningModuleIndex
= openingModuleList
.findIndexOfListById(id
);
2286 @param path input file path
2289 private void openPackage(String path
) {
2290 PackageSurfaceAreaDocument
.PackageSurfaceArea spd
= null;
2292 spd
= OpenFile
.openSpdFile(path
);
2293 } catch (IOException e
) {
2294 Log
.err("Open Package Surface Area " + path
, e
.getMessage());
2296 } catch (XmlException e
) {
2297 Log
.err("Open Package Surface Area " + path
, e
.getMessage());
2299 } catch (Exception e
) {
2300 Log
.err("Open Package Surface Area " + path
, "Invalid file type");
2303 Identification id
= new Identification(spd
.getSpdHeader().getPackageName(), spd
.getSpdHeader().getGuidValue(),
2304 spd
.getSpdHeader().getVersion(), path
);
2306 // To judge if the package existed in vPackageList
2307 // If not, add it to vPackageList
2309 boolean isFind
= false;
2310 for (int index
= 0; index
< vPackageList
.size(); index
++) {
2311 if (vPackageList
.elementAt(index
).equals(id
)) {
2318 // The module is not in existing packages
2320 Log
.err("The package hasn't been added to current workspace!");
2325 // Make the node selected
2327 iTree
.setSelectionPath(iTree
.getPathOfNode(iTree
.getNodeById(this.dmtnPackageDescription
, id
,
2328 IDefaultMutableTreeNode
.SPD_HEADER
)));
2330 // Update opening package list information
2332 if (!openingPackageList
.existsPackage(id
)) {
2334 // Insert sub node of module
2336 insertPackageTreeNode(id
);
2337 iTree
.getSelectNode().setOpening(true);
2340 // Update opening module list
2342 openingPackageList
.insertToOpeningPackageList(id
, spd
);
2343 openingPackageList
.setTreePathById(id
, iTree
.getSelectionPath());
2346 // Show spd header in editor panel
2348 showPackageElement(IDefaultMutableTreeNode
.SPD_HEADER
, openingPackageList
.getOpeningPackageById(id
));
2349 this.currentOpeningPackageIndex
= openingPackageList
.findIndexOfListById(id
);
2355 @param path input file path
2358 private void openPlatform(String path
) {
2359 PlatformSurfaceAreaDocument
.PlatformSurfaceArea fpd
= null;
2361 fpd
= OpenFile
.openFpdFile(path
);
2362 } catch (IOException e
) {
2363 Log
.err("Open Platform Surface Area " + path
, e
.getMessage());
2365 } catch (XmlException e
) {
2366 Log
.err("Open Platform Surface Area " + path
, e
.getMessage());
2368 } catch (Exception e
) {
2369 Log
.err("Open Platform Surface Area " + path
, "Invalid file type");
2372 Identification id
= new Identification(fpd
.getPlatformHeader().getPlatformName(), fpd
.getPlatformHeader()
2374 fpd
.getPlatformHeader().getVersion(), path
);
2376 // To judge if the platform existed in vPlatformList
2377 // If not, add it to vPlatformList
2379 boolean isFind
= false;
2380 for (int index
= 0; index
< vPlatformList
.size(); index
++) {
2381 if (vPlatformList
.elementAt(index
).equals(id
)) {
2388 // The module is not in existing packages
2390 Log
.err("The platform hasn't been added to current workspace!");
2395 // Make the node selected
2397 iTree
.setSelectionPath(iTree
.getPathOfNode(iTree
.getNodeById(this.dmtnPlatformDescription
, id
,
2398 IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
)));
2400 // Update opening package list information
2402 if (!openingPlatformList
.existsPlatform(id
)) {
2404 // Insert sub node of module
2406 insertPlatformTreeNode(id
);
2407 iTree
.getSelectNode().setOpening(true);
2410 // Update opening module list
2412 openingPlatformList
.insertToOpeningPlatformList(id
, fpd
);
2413 openingPlatformList
.setTreePathById(id
, iTree
.getSelectionPath());
2416 // Show fpd header in editor panel
2418 showPlatformElement(IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
, openingPlatformList
.getOpeningPlatformById(id
));
2419 this.currentOpeningPlatformIndex
= openingPlatformList
.findIndexOfListById(id
);
2426 private void saveModule(int index
) {
2427 OpeningModuleType omt
= openingModuleList
.getOpeningModuleByIndex(index
);
2429 if (getNewFilePath(DataType
.MODULE_SURFACE_AREA_EXT
) != JFileChooser
.APPROVE_OPTION
) {
2434 SaveFile
.saveMsaFile(omt
.getId().getPath(), omt
.getXmlMsa());
2435 openingModuleList
.setNew(omt
.getId(), false);
2436 openingModuleList
.setModuleSaved(omt
.getId(), true);
2437 } catch (Exception e
) {
2438 Log
.err("Save Module", e
.getMessage());
2446 private void savePackage(int index
) {
2447 OpeningPackageType opt
= openingPackageList
.getOpeningPackageByIndex(index
);
2449 if (getNewFilePath(DataType
.PACKAGE_SURFACE_AREA_EXT
) != JFileChooser
.APPROVE_OPTION
) {
2454 SaveFile
.saveSpdFile(opt
.getId().getPath(), opt
.getXmlSpd());
2455 openingPackageList
.setNew(opt
.getId(), false);
2456 openingPackageList
.setPackageSaved(opt
.getId(), true);
2457 } catch (Exception e
) {
2458 Log
.err("Save Package", e
.getMessage());
2466 private void savePlatform(int index
) {
2467 OpeningPlatformType opt
= openingPlatformList
.getOpeningPlatformByIndex(index
);
2469 if (getNewFilePath(DataType
.PACKAGE_SURFACE_AREA_EXT
) != JFileChooser
.APPROVE_OPTION
) {
2474 SaveFile
.saveFpdFile(opt
.getId().getPath(), opt
.getXmlFpd());
2475 openingPlatformList
.setNew(opt
.getId(), false);
2476 openingPlatformList
.setPlatformSaved(opt
.getId(), true);
2477 } catch (Exception e
) {
2478 Log
.err("Save Package", e
.getMessage());
2482 public void componentHidden(ComponentEvent arg0
) {
2483 // TODO Auto-generated method stub
2487 public void componentMoved(ComponentEvent arg0
) {
2488 // TODO Auto-generated method stub
2492 public void componentResized(ComponentEvent arg0
) {
2493 this.jSplitPane
.setSize(this.getWidth() - DataType
.MAIN_FRAME_WIDTH_SPACING
,
2494 this.getHeight() - DataType
.MAIN_FRAME_HEIGHT_SPACING
);
2495 this.jSplitPane
.validate();
2496 resizeDesktopPanel();
2499 public void componentShown(ComponentEvent arg0
) {
2500 // TODO Auto-generated method stub
2505 Resize JDesktopPanel
2508 private void resizeDesktopPanel() {
2509 resizeDesktopPanel(this.jDesktopPaneModule
);
2510 resizeDesktopPanel(this.jDesktopPanePackage
);
2511 resizeDesktopPanel(this.jDesktopPanePlatform
);
2515 Resize JDesktopPanel
2518 private void resizeDesktopPanel(JDesktopPane jdk
) {
2519 JInternalFrame
[] iif
= jdk
.getAllFrames();
2520 for (int index
= 0; index
< iif
.length
; index
++) {
2521 iif
[index
].setSize(jdk
.getWidth(), jdk
.getHeight());
2525 private void getCompontentsFromFrameworkDatabase() {
2526 this.vModuleList
= wt
.getAllModules();
2527 this.vPackageList
= wt
.getAllPackages();
2528 this.vPlatformList
= wt
.getAllPlatforms();
2531 private void insertModuleTreeNode(Identification id
) {
2532 iTree
.addNode(new IDefaultMutableTreeNode("Module Definitions", IDefaultMutableTreeNode
.MSA_MODULEDEFINITIONS
,
2534 iTree
.addNode(new IDefaultMutableTreeNode("Library Class Definitions",
2535 IDefaultMutableTreeNode
.MSA_LIBRARYCLASSDEFINITIONS
, true, id
));
2536 iTree
.addNode(new IDefaultMutableTreeNode("Source Files", IDefaultMutableTreeNode
.MSA_SOURCEFILES
, true, id
));
2537 iTree
.addNode(new IDefaultMutableTreeNode("Package Dependencies",
2538 IDefaultMutableTreeNode
.MSA_PACKAGEDEPENDENCIES
, true, id
));
2539 iTree
.addNode(new IDefaultMutableTreeNode("Protocols", IDefaultMutableTreeNode
.MSA_PROTOCOLS
, true, id
));
2540 iTree
.addNode(new IDefaultMutableTreeNode("Events", IDefaultMutableTreeNode
.MSA_EVENTS
, true, id
));
2541 iTree
.addNode(new IDefaultMutableTreeNode("Hobs", IDefaultMutableTreeNode
.MSA_HOBS
, true, id
));
2542 iTree
.addNode(new IDefaultMutableTreeNode("Ppis", IDefaultMutableTreeNode
.MSA_PPIS
, true, id
));
2543 iTree
.addNode(new IDefaultMutableTreeNode("Variables", IDefaultMutableTreeNode
.MSA_VARIABLES
, true, id
));
2544 iTree
.addNode(new IDefaultMutableTreeNode("Boot Modes", IDefaultMutableTreeNode
.MSA_BOOTMODES
, true, id
));
2545 iTree
.addNode(new IDefaultMutableTreeNode("System Tables", IDefaultMutableTreeNode
.MSA_SYSTEMTABLES
, true, id
));
2546 iTree
.addNode(new IDefaultMutableTreeNode("Data Hubs", IDefaultMutableTreeNode
.MSA_DATAHUBS
, true, id
));
2547 iTree
.addNode(new IDefaultMutableTreeNode("Hii Packages", IDefaultMutableTreeNode
.MSA_HIIPACKAGES
, true, id
));
2548 iTree
.addNode(new IDefaultMutableTreeNode("Guids", IDefaultMutableTreeNode
.MSA_GUIDS
, true, id
));
2549 iTree
.addNode(new IDefaultMutableTreeNode("Externs", IDefaultMutableTreeNode
.MSA_EXTERNS
, true, id
));
2550 iTree
.addNode(new IDefaultMutableTreeNode("PcdCoded", IDefaultMutableTreeNode
.MSA_PCDS
, true, id
));
2553 private void insertPackageTreeNode(Identification id
) {
2554 iTree
.addNode(new IDefaultMutableTreeNode("Package Definitions",
2555 IDefaultMutableTreeNode
.SPD_PACKAGEDEFINITIONS
, true, id
));
2556 iTree
.addNode(new IDefaultMutableTreeNode("Library Class Declarations",
2557 IDefaultMutableTreeNode
.SPD_LIBRARYCLASSDECLARATIONS
, true, id
));
2558 iTree
.addNode(new IDefaultMutableTreeNode("Msa Files", IDefaultMutableTreeNode
.SPD_MSAFILES
, false, id
));
2559 iTree
.addNode(new IDefaultMutableTreeNode("Package Headers", IDefaultMutableTreeNode
.SPD_PACKAGEHEADERS
, true,
2561 iTree
.addNode(new IDefaultMutableTreeNode("Guid Declarations", IDefaultMutableTreeNode
.SPD_GUIDDECLARATIONS
,
2563 iTree
.addNode(new IDefaultMutableTreeNode("Protocol Declarations",
2564 IDefaultMutableTreeNode
.SPD_PROTOCOLDECLARATIONS
, true, id
));
2565 iTree
.addNode(new IDefaultMutableTreeNode("Ppi Declarations", IDefaultMutableTreeNode
.SPD_PPIDECLARATIONS
,
2567 iTree
.addNode(new IDefaultMutableTreeNode("Pcd Declarations", IDefaultMutableTreeNode
.SPD_PCDDECLARATIONS
,
2571 private void insertPlatformTreeNode(Identification id
) {
2572 iTree
.addNode(new IDefaultMutableTreeNode("Platform Definitions",
2573 IDefaultMutableTreeNode
.FPD_PLATFORMDEFINITIONS
, true, id
));
2574 iTree
.addNode(new IDefaultMutableTreeNode("Flash", IDefaultMutableTreeNode
.FPD_FLASH
, true, id
));
2575 iTree
.addNode(new IDefaultMutableTreeNode("Framework Modules", IDefaultMutableTreeNode
.FPD_FRAMEWORKMODULES
,
2577 iTree
.addNode(new IDefaultMutableTreeNode("Pcd Dynamic Build Declarations",
2578 IDefaultMutableTreeNode
.FPD_PCDDYNAMICBUILDDECLARATIONS
, true, id
));
2579 iTree
.addNode(new IDefaultMutableTreeNode("Build Options", IDefaultMutableTreeNode
.FPD_BUILDOPTIONS
, true, id
));
2583 Operate when double click a tree node
2586 private void doubleClickModuleTreeNode() {
2587 Identification id
= iTree
.getSelectNode().getId();
2588 int intCategory
= iTree
.getSelectCategory();
2591 // If the node is not opened yet
2592 // Insert top level elements first
2594 //if (intCategory == IDefaultMutableTreeNode.MSA_HEADER || intCategory == IDefaultMutableTreeNode.SPD_MSAFILES) {
2595 if (intCategory
== IDefaultMutableTreeNode
.MSA_HEADER
) {
2597 if (intCategory
== IDefaultMutableTreeNode
.MSA_HEADER
) {
2598 path
= iTree
.getSelectNode().getId().getPath();
2600 if (intCategory
== IDefaultMutableTreeNode
.SPD_MSAFILES
) {
2601 path
= iTree
.getSelectNode().getId().getPath();
2606 if (intCategory
== IDefaultMutableTreeNode
.SPD_HEADER
) {
2607 path
= iTree
.getSelectNode().getId().getPath();
2611 if (intCategory
== IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
) {
2612 path
= iTree
.getSelectNode().getId().getPath();
2617 // Show editor panel
2619 if (intCategory
>= IDefaultMutableTreeNode
.MSA_HEADER
&& intCategory
< IDefaultMutableTreeNode
.SPD_HEADER
) {
2620 showModuleElement(intCategory
, openingModuleList
.getOpeningModuleById(id
));
2621 this.currentOpeningModuleIndex
= openingModuleList
.findIndexOfListById(id
);
2623 if (intCategory
>= IDefaultMutableTreeNode
.SPD_HEADER
2624 && intCategory
< IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
) {
2625 showPackageElement(intCategory
, openingPackageList
.getOpeningPackageById(id
));
2626 this.currentOpeningPackageIndex
= openingPackageList
.findIndexOfListById(id
);
2628 if (intCategory
>= IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
) {
2629 showPlatformElement(intCategory
, openingPlatformList
.getOpeningPlatformById(id
));
2630 this.currentOpeningPlatformIndex
= openingPlatformList
.findIndexOfListById(id
);
2635 Show content of editor panel via selected element
2641 private void showPlatformElement(int elementType
, OpeningPlatformType fpd
) {
2642 this.cleanDesktopPanePlatform();
2644 switch (elementType
) {
2645 case IDefaultMutableTreeNode
.FPD_PLATFORMDEFINITIONS
:
2646 FpdPlatformDefs frmFpdPlatformDefs
= new FpdPlatformDefs(fpd
);
2647 getJDesktopPanePlatform().add(frmFpdPlatformDefs
, 1);
2649 case IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
:
2650 FpdHeader frmFpdHeader
= new FpdHeader(fpd
);
2651 getJDesktopPanePlatform().add(frmFpdHeader
, 1);
2653 case IDefaultMutableTreeNode
.FPD_FLASH
:
2654 FpdFlash frmFpdFlash
= new FpdFlash(fpd
);
2655 getJDesktopPanePlatform().add(frmFpdFlash
, 1);
2657 case IDefaultMutableTreeNode
.FPD_FRAMEWORKMODULES
:
2658 FpdFrameworkModules frmFpdFrameworkModules
= new FpdFrameworkModules(fpd
);
2659 getJDesktopPanePlatform().add(frmFpdFrameworkModules
, 1);
2661 case IDefaultMutableTreeNode
.FPD_PCDDYNAMICBUILDDECLARATIONS
:
2662 FpdDynamicPcdBuildDefinitions frmFpdDynamicPcdBuildDefinitions
= new FpdDynamicPcdBuildDefinitions(fpd
);
2663 getJDesktopPanePlatform().add(frmFpdDynamicPcdBuildDefinitions
, 1);
2665 case IDefaultMutableTreeNode
.FPD_BUILDOPTIONS
:
2666 FpdBuildOptions frmFpdBuildOptions
= new FpdBuildOptions(fpd
);
2667 getJDesktopPanePlatform().add(frmFpdBuildOptions
, 1);
2670 this.jTabbedPaneEditor
.setSelectedIndex(2);
2671 resizeDesktopPanel();
2675 Show content of editor panel via selected element
2681 private void showPackageElement(int elementType
, OpeningPackageType spd
) {
2682 this.cleanDesktopPanePackage();
2683 Tools
.dirForNewSpd
= spd
.getId().getPath();
2684 switch (elementType
) {
2685 case IDefaultMutableTreeNode
.SPD_HEADER
:
2686 SpdHeader frmSpdHeader
= new SpdHeader(spd
);
2687 getJDesktopPanePackage().add(frmSpdHeader
, 1);
2689 case IDefaultMutableTreeNode
.SPD_PACKAGEDEFINITIONS
:
2690 SpdPackageDefinitions frmSpdPackageDefinitions
= new SpdPackageDefinitions(spd
);
2691 getJDesktopPanePackage().add(frmSpdPackageDefinitions
, 1);
2693 case IDefaultMutableTreeNode
.SPD_LIBRARYCLASSDECLARATIONS
:
2694 SpdLibClassDecls frmSlcd
= new SpdLibClassDecls(spd
);
2695 getJDesktopPanePackage().add(frmSlcd
, 1);
2697 case IDefaultMutableTreeNode
.SPD_MSAFILES
:
2698 SpdMsaFiles frmSmf
= new SpdMsaFiles(spd
);
2699 getJDesktopPanePackage().add(frmSmf
, 1);
2701 case IDefaultMutableTreeNode
.SPD_PACKAGEHEADERS
:
2702 SpdPackageHeaders frmSph
= new SpdPackageHeaders(spd
);
2703 getJDesktopPanePackage().add(frmSph
, 1);
2705 case IDefaultMutableTreeNode
.SPD_GUIDDECLARATIONS
:
2706 SpdGuidDecls frmSgd
= new SpdGuidDecls(spd
);
2707 getJDesktopPanePackage().add(frmSgd
, 1);
2709 case IDefaultMutableTreeNode
.SPD_PROTOCOLDECLARATIONS
:
2710 SpdProtocolDecls frmSprod
= new SpdProtocolDecls(spd
);
2711 getJDesktopPanePackage().add(frmSprod
, 1);
2713 case IDefaultMutableTreeNode
.SPD_PPIDECLARATIONS
:
2714 SpdPpiDecls frmSppid
= new SpdPpiDecls(spd
);
2715 getJDesktopPanePackage().add(frmSppid
, 1);
2717 case IDefaultMutableTreeNode
.SPD_PCDDECLARATIONS
:
2718 SpdPcdDefs frmSpcdd
= new SpdPcdDefs(spd
);
2719 getJDesktopPanePackage().add(frmSpcdd
, 1);
2722 this.jTabbedPaneEditor
.setSelectedIndex(1);
2723 resizeDesktopPanel();
2727 Show content of editor panel via selected element
2733 private void showModuleElement(int elementType
, OpeningModuleType msa
) {
2734 this.cleanDesktopPaneModule();
2735 switch (elementType
) {
2736 case IDefaultMutableTreeNode
.MSA_HEADER
:
2737 MsaHeader frmMsaHeader
= new MsaHeader(msa
);
2738 getJDesktopPaneModule().add(frmMsaHeader
, 1);
2740 case IDefaultMutableTreeNode
.MSA_MODULEDEFINITIONS
:
2741 ModuleDefinitions frmMd
= new ModuleDefinitions(msa
);
2742 getJDesktopPaneModule().add(frmMd
, 1);
2744 case IDefaultMutableTreeNode
.MSA_LIBRARYCLASSDEFINITIONS
:
2745 ModuleLibraryClassDefinitions frmMlcd
= new ModuleLibraryClassDefinitions(msa
);
2746 getJDesktopPaneModule().add(frmMlcd
, 1);
2748 case IDefaultMutableTreeNode
.MSA_PACKAGEDEPENDENCIES
:
2749 ModulePackageDependencies frmMpd
= new ModulePackageDependencies(msa
);
2750 getJDesktopPaneModule().add(frmMpd
, 1);
2752 case IDefaultMutableTreeNode
.MSA_SOURCEFILES
:
2753 ModuleSourceFiles frmMsf
= new ModuleSourceFiles(msa
);
2754 getJDesktopPaneModule().add(frmMsf
, 1);
2756 case IDefaultMutableTreeNode
.MSA_PROTOCOLS
:
2757 ModuleProtocols frmMp
= new ModuleProtocols(msa
);
2758 getJDesktopPaneModule().add(frmMp
, 1);
2760 case IDefaultMutableTreeNode
.MSA_EVENTS
:
2761 ModuleEvents frmMe
= new ModuleEvents(msa
);
2762 getJDesktopPaneModule().add(frmMe
, 1);
2764 case IDefaultMutableTreeNode
.MSA_HOBS
:
2765 ModuleHobs frmMh
= new ModuleHobs(msa
);
2766 getJDesktopPaneModule().add(frmMh
, 1);
2768 case IDefaultMutableTreeNode
.MSA_PPIS
:
2769 ModulePpis frmMpp
= new ModulePpis(msa
);
2770 getJDesktopPaneModule().add(frmMpp
, 1);
2772 case IDefaultMutableTreeNode
.MSA_VARIABLES
:
2773 ModuleVariables frmMv
= new ModuleVariables(msa
);
2774 getJDesktopPaneModule().add(frmMv
, 1);
2776 case IDefaultMutableTreeNode
.MSA_BOOTMODES
:
2777 ModuleBootModes frmMbm
= new ModuleBootModes(msa
);
2778 getJDesktopPaneModule().add(frmMbm
, 1);
2780 case IDefaultMutableTreeNode
.MSA_SYSTEMTABLES
:
2781 ModuleSystemTables frmMst
= new ModuleSystemTables(msa
);
2782 getJDesktopPaneModule().add(frmMst
, 1);
2784 case IDefaultMutableTreeNode
.MSA_DATAHUBS
:
2785 ModuleDataHubs frmMdh
= new ModuleDataHubs(msa
);
2786 getJDesktopPaneModule().add(frmMdh
, 1);
2788 case IDefaultMutableTreeNode
.MSA_HIIPACKAGES
:
2789 ModuleHiiPackages frmMf
= new ModuleHiiPackages(msa
);
2790 getJDesktopPaneModule().add(frmMf
, 1);
2792 case IDefaultMutableTreeNode
.MSA_GUIDS
:
2793 ModuleGuids frmGuid
= new ModuleGuids(msa
);
2794 getJDesktopPaneModule().add(frmGuid
, 1);
2796 case IDefaultMutableTreeNode
.MSA_EXTERNS
:
2797 ModuleExterns frmMex
= new ModuleExterns(msa
);
2798 getJDesktopPaneModule().add(frmMex
, 1);
2800 case IDefaultMutableTreeNode
.MSA_PCDS
:
2801 ModulePCDs frmPcd
= new ModulePCDs(msa
);
2802 getJDesktopPaneModule().add(frmPcd
, 1);
2805 this.jTabbedPaneEditor
.setSelectedIndex(0);
2806 resizeDesktopPanel();
2810 // Define operations of menu
2816 private void fileNew() {
2819 // Selece new file type
2821 NewFileChooser nfc
= new NewFileChooser(this, true);
2822 result
= nfc
.showDialog();
2824 if (result
== DataType
.RETURN_TYPE_CANCEL
) {
2827 } else if (result
== DataType
.RETURN_TYPE_MODULE_SURFACE_AREA
) {
2831 SelectModuleBelong smb
= new SelectModuleBelong(this, true, result
);
2832 result
= smb
.showDialog();
2834 if (result
== DataType
.RETURN_TYPE_CANCEL
) {
2838 } else if (result
== DataType
.RETURN_TYPE_OK
) {
2839 PackageSurfaceAreaDocument
.PackageSurfaceArea psa
= null;
2840 if (this.openingPackageList
.existsPackage(smb
.getMid().getPackageId())) {
2841 psa
= openingPackageList
.getPackageSurfaceAreaFromId(smb
.getMid().getPackageId());
2844 wt
.addModuleToPackage(smb
.getMid(), psa
);
2845 } catch (IOException e
) {
2846 Log
.err("Upddate MsaFiles of Package", e
.getMessage());
2847 e
.printStackTrace();
2849 } catch (XmlException e
) {
2850 Log
.err("Upddate MsaFiles of Package", e
.getMessage());
2851 e
.printStackTrace();
2853 } catch (Exception e
) {
2854 Log
.err("Upddate MsaFiles of Package", e
.getMessage());
2855 e
.printStackTrace();
2858 this.openModule(smb
.getMid().getPath(), smb
.getMid());
2860 } else if (result
== DataType
.RETURN_TYPE_PACKAGE_SURFACE_AREA
) {
2864 SelectModuleBelong smb
= new SelectModuleBelong(this, true, result
);
2865 result
= smb
.showDialog();
2867 if (result
== DataType
.RETURN_TYPE_CANCEL
) {
2871 } else if (result
== DataType
.RETURN_TYPE_OK
) {
2873 wt
.addPackageToDatabase(smb
.getPid());
2874 } catch (Exception e
) {
2875 // TODO Auto-generated catch block
2876 e
.printStackTrace();
2878 vPackageList
.addElement(smb
.getPid());
2881 // Add to Module Description node
2883 IDefaultMutableTreeNode node
= new IDefaultMutableTreeNode(vPackageList
.lastElement().getName(),
2884 IDefaultMutableTreeNode
.MODULE_PACKAGE
,
2885 false, vPackageList
.lastElement());
2887 iTree
.addNode(dmtnModuleDescription
, node
);
2890 // Add new SpdHeader node to the tree
2892 node
= new IDefaultMutableTreeNode(vPackageList
.lastElement().getName(),
2893 IDefaultMutableTreeNode
.SPD_HEADER
, true, vPackageList
.lastElement());
2894 iTree
.addNode(dmtnPackageDescription
, node
);
2896 this.openPackage(smb
.getPid().getPath());
2898 } else if (result
== DataType
.RETURN_TYPE_PLATFORM_SURFACE_AREA
) {
2900 // To new a platform
2902 SelectModuleBelong smb
= new SelectModuleBelong(this, true, result
);
2903 result
= smb
.showDialog();
2905 if (result
== DataType
.RETURN_TYPE_CANCEL
) {
2909 } else if (result
== DataType
.RETURN_TYPE_OK
) {
2911 wt
.addPlatformToDatabase(smb
.getFid());
2912 } catch (Exception e
) {
2913 // TODO Auto-generated catch block
2914 e
.printStackTrace();
2916 vPlatformList
.addElement(smb
.getFid());
2918 // Add new SpdHeader node to the tree
2920 IDefaultMutableTreeNode node
= new IDefaultMutableTreeNode(vPlatformList
.lastElement().getName(),
2921 IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
,
2922 true, vPlatformList
.lastElement());
2923 iTree
.addNode(dmtnPlatformDescription
, node
);
2924 this.openPlatform(smb
.getFid().getPath());
2933 private void open() {
2934 JFileChooser fc
= new JFileChooser(Workspace
.getCurrentWorkspace());
2935 fc
.setAcceptAllFileFilterUsed(false);
2936 IFileFilter iffM
= new IFileFilter(DataType
.MODULE_SURFACE_AREA_EXT
);
2937 IFileFilter iffP
= new IFileFilter(DataType
.PACKAGE_SURFACE_AREA_EXT
);
2938 IFileFilter iffF
= new IFileFilter(DataType
.PLATFORM_SURFACE_AREA_EXT
);
2939 fc
.addChoosableFileFilter(iffM
);
2940 fc
.addChoosableFileFilter(iffP
);
2941 fc
.addChoosableFileFilter(iffF
);
2942 fc
.setFileFilter(iffM
);
2944 int result
= fc
.showOpenDialog(new JPanel());
2946 if (result
== JFileChooser
.APPROVE_OPTION
) {
2947 String path
= fc
.getSelectedFile().getPath();
2948 String match
= path
.substring(path
.length() - 4);
2949 if (match
.equals(DataType
.FILE_EXT_SEPARATOR
+ DataType
.MODULE_SURFACE_AREA_EXT
)) {
2951 } else if (match
.equals(DataType
.FILE_EXT_SEPARATOR
+ DataType
.PACKAGE_SURFACE_AREA_EXT
)) {
2953 } else if (match
.equals(DataType
.FILE_EXT_SEPARATOR
+ DataType
.PLATFORM_SURFACE_AREA_EXT
)) {
2963 private void close() {
2964 switch (this.jTabbedPaneEditor
.getSelectedIndex()) {
2966 // Current is module
2969 if (this.currentOpeningModuleIndex
> -1) {
2970 if (!openingModuleList
.getModuleSaved(currentOpeningModuleIndex
)) {
2971 int result
= showSaveDialog();
2972 if (result
== JOptionPane
.YES_OPTION
) {
2975 if (result
== JOptionPane
.NO_OPTION
) {
2978 if (result
== JOptionPane
.CANCEL_OPTION
) {
2982 iTree
.removeNodeChildrenByPath(openingModuleList
.getTreePathByIndex(currentOpeningModuleIndex
));
2983 this.openingModuleList
.removeFromOpeningModuleListByIndex(this.currentOpeningModuleIndex
);
2984 this.cleanDesktopPaneModule();
2985 this.currentOpeningModuleIndex
= -1;
2989 // Current is package
2992 if (this.currentOpeningPackageIndex
> -1) {
2993 if (!openingPackageList
.getPackageSaved(currentOpeningPackageIndex
)) {
2994 int result
= showSaveDialog();
2995 if (result
== JOptionPane
.YES_OPTION
) {
2998 if (result
== JOptionPane
.NO_OPTION
) {
3001 if (result
== JOptionPane
.CANCEL_OPTION
) {
3005 iTree
.removeNodeChildrenByPath(openingPackageList
.getTreePathByIndex(currentOpeningPackageIndex
));
3006 this.openingPackageList
.removeFromOpeningPackageListByIndex(this.currentOpeningPackageIndex
);
3007 this.cleanDesktopPanePackage();
3008 this.currentOpeningPackageIndex
= -1;
3012 // Current is platform
3015 if (this.currentOpeningPlatformIndex
> -1) {
3016 if (!openingPlatformList
.getPlatformSaved(currentOpeningPlatformIndex
)) {
3017 int result
= showSaveDialog();
3018 if (result
== JOptionPane
.YES_OPTION
) {
3021 if (result
== JOptionPane
.NO_OPTION
) {
3024 if (result
== JOptionPane
.CANCEL_OPTION
) {
3028 iTree
.removeNodeChildrenByPath(openingPlatformList
.getTreePathByIndex(currentOpeningPlatformIndex
));
3029 this.openingPlatformList
.removeFromOpeningPlatformListByIndex(this.currentOpeningPlatformIndex
);
3030 this.cleanDesktopPanePlatform();
3031 this.currentOpeningPlatformIndex
= -1;
3038 Close all opening files and clean all showing internal frame
3041 private void closeAll() {
3043 if (!openingModuleList
.isSaved() || !openingPackageList
.isSaved() || !openingPlatformList
.isSaved()) {
3044 result
= showSaveDialog();
3046 if (result
== JOptionPane
.YES_OPTION
) {
3049 if (result
== JOptionPane
.NO_OPTION
) {
3052 if (result
== JOptionPane
.CANCEL_OPTION
) {
3055 this.cleanDesktopPane();
3056 this.getCompontentsFromFrameworkDatabase();
3057 openingModuleList
.removeAllFromOpeningModuleList();
3058 openingPackageList
.removeAllFromOpeningPackageList();
3059 openingPlatformList
.removeAllFromOpeningPlatformList();
3060 this.makeEmptyTree();
3064 Save currentModule when press button OK
3067 private void save() {
3068 switch (this.jTabbedPaneEditor
.getSelectedIndex()) {
3070 if (this.currentOpeningModuleIndex
> -1) {
3071 saveModule(this.currentOpeningModuleIndex
);
3075 if (this.currentOpeningPackageIndex
> -1) {
3076 savePackage(this.currentOpeningPackageIndex
);
3080 if (this.currentOpeningPlatformIndex
> -1) {
3081 savePlatform(this.currentOpeningPlatformIndex
);
3087 private void saveAs() {
3091 private void saveAll() {
3095 for (int index
= 0; index
< openingModuleList
.size(); index
++) {
3096 if (!openingModuleList
.getModuleSaved(index
)) {
3102 // Save all packages
3104 for (int index
= 0; index
< openingPackageList
.size(); index
++) {
3105 if (!openingPackageList
.getPackageSaved(index
)) {
3111 // Save all platforms
3113 for (int index
= 0; index
< openingPlatformList
.size(); index
++) {
3114 if (!openingPlatformList
.getPlatformSaved(index
)) {
3115 savePlatform(index
);
3121 To save changed items before exit.
3124 private void exit() {
3126 if (!openingModuleList
.isSaved() || !openingPackageList
.isSaved() || !openingPlatformList
.isSaved()) {
3127 result
= showSaveDialog();
3129 if (result
== JOptionPane
.YES_OPTION
) {
3132 if (result
== JOptionPane
.NO_OPTION
) {
3135 if (result
== JOptionPane
.CANCEL_OPTION
) {
3143 Switch current workspace to others
3146 private void changeWorkspace() {
3147 SwitchWorkspace sw
= new SwitchWorkspace(this, true);
3148 int result
= sw
.showDialog();
3149 if (result
== DataType
.RETURN_TYPE_CANCEL
) {
3151 } else if (result
== DataType
.RETURN_TYPE_OK
) {
3153 // Reinit whole window
3156 this.setTitle(DataType
.PROJECT_NAME
+ " " + DataType
.PROJECT_VERSION
+ " " + "- ["
3157 + Workspace
.getCurrentWorkspace() + "]");
3163 Show Tool Chain Configuration Dialog to setup Tool Chain
3166 private void setupToolChainConfiguration() {
3167 ToolChainConfig tcc
= ToolChainConfig
.getInstance();
3175 private void cloneItem() {
3179 // Check if there is any item can be cloned
3181 if (iTree
.getSelectionPath() == null) {
3182 Log
.err("Please select a target to clone!");
3185 int category
= iTree
.getSelectCategory();
3186 Identification id
= iTree
.getSelectNode().getId();
3187 if (category
== IDefaultMutableTreeNode
.MODULE
|| category
== IDefaultMutableTreeNode
.PACKAGE
3188 || category
== IDefaultMutableTreeNode
.PLATFORM
) {
3189 Log
.err("Please select a target to clone!");
3193 if (category
== IDefaultMutableTreeNode
.WORKSPACE
) {
3194 mode
= DataType
.RETURN_TYPE_WORKSPACE
;
3197 if (category
>= IDefaultMutableTreeNode
.MSA_HEADER
&& category
< IDefaultMutableTreeNode
.SPD_HEADER
) {
3198 mode
= DataType
.RETURN_TYPE_MODULE_SURFACE_AREA
;
3200 if (category
>= IDefaultMutableTreeNode
.SPD_HEADER
&& category
< IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
) {
3201 mode
= DataType
.RETURN_TYPE_PACKAGE_SURFACE_AREA
;
3203 if (category
>= IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
) {
3204 mode
= DataType
.RETURN_TYPE_PLATFORM_SURFACE_AREA
;
3207 Clone c
= new Clone(this, true, mode
, id
);
3208 int result
= c
.showDialog();
3210 if (result
== DataType
.RETURN_TYPE_CANCEL
) {
3213 if (result
== DataType
.RETURN_TYPE_WORKSPACE
) {
3214 Tools
.showInformationMessage("Workspace Clone Finished");
3216 if (result
== DataType
.RETURN_TYPE_MODULE_SURFACE_AREA
) {
3217 Tools
.showInformationMessage("Module Surface Area Clone Finished");
3218 vModuleList
.addElement(c
.getMid());
3219 addModuleToTree(c
.getMid());
3221 if (result
== DataType
.RETURN_TYPE_PACKAGE_SURFACE_AREA
) {
3222 Tools
.showInformationMessage("Package Surface Area Clone Finished");
3223 vPackageList
.addElement(c
.getPid());
3225 // Add new SpdHeader node to the tree
3227 IDefaultMutableTreeNode node
= new IDefaultMutableTreeNode(vPackageList
.lastElement().getName(),
3228 IDefaultMutableTreeNode
.SPD_HEADER
, true,
3229 vPackageList
.lastElement());
3230 iTree
.addNode(dmtnPackageDescription
, node
);
3232 if (result
== DataType
.RETURN_TYPE_PLATFORM_SURFACE_AREA
) {
3233 Tools
.showInformationMessage("Platform Surface Area Clone Finished");
3234 vPlatformList
.addElement(c
.getFid());
3236 // Add new SpdHeader node to the tree
3238 IDefaultMutableTreeNode node
= new IDefaultMutableTreeNode(vPlatformList
.lastElement().getName(),
3239 IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
,
3240 true, vPlatformList
.lastElement());
3241 iTree
.addNode(dmtnPlatformDescription
, node
);
3242 //this.openPlatform(c.getFid().getPath());
3244 if (result
== DataType
.RETURN_TYPE_OK
) {
3249 public void valueChanged(TreeSelectionEvent arg0
) {
3250 // TODO Auto-generated method stub
3254 public void menuCanceled(MenuEvent arg0
) {
3255 // TODO Auto-generated method stub
3259 public void menuDeselected(MenuEvent arg0
) {
3260 // TODO Auto-generated method stub
3264 public void menuSelected(MenuEvent arg0
) {
3265 if (arg0
.getSource() == jMenuFile
) {
3267 // Enable close/close all if some files are opened
3269 jMenuItemFileClose
.setEnabled(openingModuleList
.isOpend() || openingPackageList
.isOpend()
3270 || openingPlatformList
.isOpend());
3271 jMenuItemFileCloseAll
.setEnabled(openingModuleList
.isOpend() || openingPackageList
.isOpend()
3272 || openingPlatformList
.isOpend());
3275 // Enable save/save all if some files are changed
3277 jMenuItemFileSave
.setEnabled(!openingModuleList
.isSaved() || !openingPackageList
.isSaved()
3278 || !openingPlatformList
.isSaved());
3279 jMenuItemFileSaveAll
.setEnabled(!openingModuleList
.isSaved() || !openingPackageList
.isSaved()
3280 || !openingPlatformList
.isSaved());
3283 if (arg0
.getSource() == jMenuTools
) {
3285 // Enable clone when select some items
3287 if (iTree
.getSelectionPath() == null) {
3288 jMenuItemToolsClone
.setEnabled(false);
3290 int category
= iTree
.getSelectCategory();
3291 if (category
== IDefaultMutableTreeNode
.MODULE
|| category
== IDefaultMutableTreeNode
.PACKAGE
3292 || category
== IDefaultMutableTreeNode
.PLATFORM
3293 || category
== IDefaultMutableTreeNode
.MODULE_PACKAGE
3294 || category
== IDefaultMutableTreeNode
.MODULE_PACKAGE_LIBRARY
3295 || category
== IDefaultMutableTreeNode
.MODULE_PACKAGE_MODULE
) {
3296 jMenuItemToolsClone
.setEnabled(false);
3298 jMenuItemToolsClone
.setEnabled(true);