3 The main GUI for module editor.
5 Copyright (c) 2006, Intel Corporation
6 All rights reserved. This program and the accompanying materials
7 are licensed and made available under the terms and conditions of the BSD License
8 which accompanies this distribution. The full text of the license may be found at
9 http://opensource.org/licenses/bsd-license.php
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
16 package org
.tianocore
.frameworkwizard
;
18 import java
.awt
.event
.ActionEvent
;
19 import java
.awt
.event
.ComponentEvent
;
20 import java
.awt
.event
.ComponentListener
;
21 import java
.awt
.event
.MouseEvent
;
22 import java
.awt
.event
.MouseListener
;
23 import java
.awt
.event
.WindowEvent
;
24 import java
.io
.IOException
;
25 import java
.util
.Vector
;
27 import javax
.swing
.JButton
;
28 import javax
.swing
.JCheckBoxMenuItem
;
29 import javax
.swing
.JDesktopPane
;
30 import javax
.swing
.JFileChooser
;
31 import javax
.swing
.JFrame
;
32 import javax
.swing
.JInternalFrame
;
33 import javax
.swing
.JMenu
;
34 import javax
.swing
.JMenuBar
;
35 import javax
.swing
.JMenuItem
;
36 import javax
.swing
.JOptionPane
;
37 import javax
.swing
.JPanel
;
38 import javax
.swing
.JScrollPane
;
39 import javax
.swing
.JSplitPane
;
40 import javax
.swing
.JTabbedPane
;
41 import javax
.swing
.event
.MenuEvent
;
42 import javax
.swing
.event
.MenuListener
;
43 import javax
.swing
.event
.TreeSelectionEvent
;
44 import javax
.swing
.event
.TreeSelectionListener
;
46 import org
.apache
.xmlbeans
.XmlException
;
47 import org
.tianocore
.ModuleSurfaceAreaDocument
;
48 import org
.tianocore
.PackageSurfaceAreaDocument
;
49 import org
.tianocore
.PlatformSurfaceAreaDocument
;
50 import org
.tianocore
.frameworkwizard
.common
.DataType
;
51 import org
.tianocore
.frameworkwizard
.common
.IFileFilter
;
52 import org
.tianocore
.frameworkwizard
.common
.Log
;
53 import org
.tianocore
.frameworkwizard
.common
.SaveFile
;
54 import org
.tianocore
.frameworkwizard
.common
.Tools
;
55 import org
.tianocore
.frameworkwizard
.common
.Identifications
.Identification
;
56 import org
.tianocore
.frameworkwizard
.common
.Identifications
.OpenFile
;
57 import org
.tianocore
.frameworkwizard
.common
.Identifications
.OpeningModuleList
;
58 import org
.tianocore
.frameworkwizard
.common
.Identifications
.OpeningModuleType
;
59 import org
.tianocore
.frameworkwizard
.common
.Identifications
.OpeningPackageList
;
60 import org
.tianocore
.frameworkwizard
.common
.Identifications
.OpeningPackageType
;
61 import org
.tianocore
.frameworkwizard
.common
.Identifications
.OpeningPlatformList
;
62 import org
.tianocore
.frameworkwizard
.common
.Identifications
.OpeningPlatformType
;
63 import org
.tianocore
.frameworkwizard
.common
.ui
.IDefaultMutableTreeNode
;
64 import org
.tianocore
.frameworkwizard
.common
.ui
.IDesktopManager
;
65 import org
.tianocore
.frameworkwizard
.common
.ui
.IFrame
;
66 import org
.tianocore
.frameworkwizard
.common
.ui
.ITree
;
67 import org
.tianocore
.frameworkwizard
.module
.Identifications
.ModuleIdentification
;
68 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleBootModes
;
69 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleDataHubs
;
70 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleDefinitions
;
71 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleEvents
;
72 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleExterns
;
73 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleGuids
;
74 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleHiiPackages
;
75 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleHobs
;
76 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleLibraryClassDefinitions
;
77 import org
.tianocore
.frameworkwizard
.module
.ui
.ModulePCDs
;
78 import org
.tianocore
.frameworkwizard
.module
.ui
.ModulePackageDependencies
;
79 import org
.tianocore
.frameworkwizard
.module
.ui
.ModulePpis
;
80 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleProtocols
;
81 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleSourceFiles
;
82 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleSystemTables
;
83 import org
.tianocore
.frameworkwizard
.module
.ui
.ModuleVariables
;
84 import org
.tianocore
.frameworkwizard
.module
.ui
.MsaHeader
;
85 import org
.tianocore
.frameworkwizard
.packaging
.PackageIdentification
;
86 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdGuidDecls
;
87 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdHeader
;
88 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdLibClassDecls
;
89 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdMsaFiles
;
90 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdPackageDefinitions
;
91 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdPackageHeaders
;
92 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdPcdDefs
;
93 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdPpiDecls
;
94 import org
.tianocore
.frameworkwizard
.packaging
.ui
.SpdProtocolDecls
;
95 import org
.tianocore
.frameworkwizard
.platform
.PlatformIdentification
;
96 import org
.tianocore
.frameworkwizard
.platform
.ui
.FpdBuildOptions
;
97 import org
.tianocore
.frameworkwizard
.platform
.ui
.FpdDynamicPcdBuildDefinitions
;
98 import org
.tianocore
.frameworkwizard
.platform
.ui
.FpdFlash
;
99 import org
.tianocore
.frameworkwizard
.platform
.ui
.FpdFrameworkModules
;
100 import org
.tianocore
.frameworkwizard
.platform
.ui
.FpdHeader
;
101 import org
.tianocore
.frameworkwizard
.platform
.ui
.FpdPlatformDefs
;
102 import org
.tianocore
.frameworkwizard
.workspace
.Workspace
;
103 import org
.tianocore
.frameworkwizard
.workspace
.WorkspaceTools
;
104 import org
.tianocore
.frameworkwizard
.workspace
.ui
.SwitchWorkspace
;
107 The class is used to show main GUI of ModuleEditor
108 It extends IFrame implements MouseListener, TreeSelectionListener
111 public class FrameworkWizardUI
extends IFrame
implements MouseListener
, TreeSelectionListener
, ComponentListener
,
114 /// Define class Serial Version UID
116 private static final long serialVersionUID
= -7103240960573031772L;
119 // To save information of all files
121 private Vector
<ModuleIdentification
> vModuleList
= new Vector
<ModuleIdentification
>();
123 private Vector
<PackageIdentification
> vPackageList
= new Vector
<PackageIdentification
>();
125 private Vector
<PlatformIdentification
> vPlatformList
= new Vector
<PlatformIdentification
>();
127 private OpeningModuleList openingModuleList
= new OpeningModuleList();
129 private OpeningPackageList openingPackageList
= new OpeningPackageList();
131 private OpeningPlatformList openingPlatformList
= new OpeningPlatformList();
133 private int currentOpeningModuleIndex
= -1;
135 private int currentOpeningPackageIndex
= -1;
137 private int currentOpeningPlatformIndex
= -1;
139 private String projectName
= "FrameworkWizard";
141 private String projectVersion
= "0.5";
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 jMenuItemProjectInstallPackage
= null;
291 private JMenuItem jMenuItemProjectUpdatePackage
= null;
293 private JMenuItem jMenuItemProjectRemovePackage
= null;
295 //private JToolBar jToolBarFile = null;
297 //private JToolBar jToolBarEdit = null;
299 //private JToolBar jToolBarWindow = null;
302 This method initializes jMenuBar
304 @return javax.swing.JMenuBar Main menu bar for the entire GUI
307 private JMenuBar
getjJMenuBar() {
308 if (jMenuBar
== null) {
309 jMenuBar
= new JMenuBar();
310 jMenuBar
.setPreferredSize(new java
.awt
.Dimension(0, 18));
311 jMenuBar
.add(getJMenuFile());
312 jMenuBar
.add(getJMenuEdit());
313 jMenuBar
.add(getJMenuView());
314 jMenuBar
.add(getJMenuProject());
315 jMenuBar
.add(getJMenuTools());
316 jMenuBar
.add(getJMenuWindow());
317 jMenuBar
.add(getJMenuHelp());
323 This method initializes jSplitPane
325 @return javax.swing.JSplitPane
328 private JSplitPane
getJSplitPane() {
329 if (jSplitPane
== null) {
330 jSplitPane
= new JSplitPane(JSplitPane
.HORIZONTAL_SPLIT
, getJTabbedPaneTree(), getJTabbedPaneEditor());
331 jSplitPane
.setBounds(new java
.awt
.Rectangle(0, 1, DataType
.MAIN_FRAME_SPLIT_PANEL_PREFERRED_SIZE_WIDTH
,
332 DataType
.MAIN_FRAME_SPLIT_PANEL_PREFERRED_SIZE_HEIGHT
));
333 jSplitPane
.addComponentListener(this);
339 This method initializes jTabbedPaneEditor
341 @return javax.swing.JTabbedPane
344 private JTabbedPane
getJTabbedPaneEditor() {
345 if (jTabbedPaneEditor
== null) {
346 jTabbedPaneEditor
= new JTabbedPane();
347 jTabbedPaneEditor
.setBounds(new java
.awt
.Rectangle(DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_X
,
348 DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_Y
,
349 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
350 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
352 .setMinimumSize(new java
.awt
.Dimension(
353 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
354 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
355 //jTabbedPaneEditor.addChangeListener(this);
356 jTabbedPaneEditor
.addTab("Module", null, getJDesktopPaneModule(), null);
357 jTabbedPaneEditor
.addTab("Package", null, getJDesktopPanePackage(), null);
358 jTabbedPaneEditor
.addTab("Platform", null, getJDesktopPanePlatform(), null);
360 return jTabbedPaneEditor
;
364 This method initializes jTabbedPaneTree
366 @return javax.swing.JTabbedPane
369 private JTabbedPane
getJTabbedPaneTree() {
370 if (jTabbedPaneTree
== null) {
371 jTabbedPaneTree
= new JTabbedPane();
373 .setPreferredSize(new java
.awt
.Dimension(
374 DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_WIDTH
,
375 DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_HEIGHT
));
377 .setMinimumSize(new java
.awt
.Dimension(DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_WIDTH
,
378 DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_HEIGHT
));
379 jTabbedPaneTree
.addTab("Workspace Explorer", null, getJScrollPaneTree(), null);
381 return jTabbedPaneTree
;
385 This method initializes jMenuFile
387 @return javax.swing.JMenu jMenuModule
390 private JMenu
getJMenuFile() {
391 if (jMenuFile
== null) {
392 jMenuFile
= new JMenu();
393 jMenuFile
.setText("File");
394 jMenuFile
.setMnemonic('F');
395 jMenuFile
.add(getJMenuItemFileNew());
396 jMenuFile
.add(getJMenuItemFileOpen());
397 jMenuFile
.add(getJMenuItemFileClose());
398 jMenuFile
.add(getJMenuItemFileCloseAll());
399 jMenuFile
.addSeparator();
400 jMenuFile
.add(getJMenuFileRecentFiles());
401 //jMenuFile.addSeparator();
402 jMenuFile
.add(getJMenuItemFileSave());
403 jMenuFile
.add(getJMenuItemFileSaveAs());
404 jMenuFile
.add(getJMenuItemFileSaveAll());
405 jMenuFile
.addSeparator();
406 jMenuFile
.add(getJMenuItemFilePageSetup());
407 jMenuFile
.add(getJMenuItemFilePrint());
408 //jMenuFile.addSeparator();
409 jMenuFile
.add(getJMenuItemFileImport());
410 //jMenuFile.addSeparator();
411 jMenuFile
.add(getJMenuItemFileProperties());
412 //jMenuFile.addSeparator();
413 jMenuFile
.add(getJMenuItemFileExit());
414 jMenuFile
.addMenuListener(this);
420 This method initializes jMenuItemFileSaveAs
422 @return javax.swing.JMenuItem jMenuItemFileSaveAs
425 private JMenuItem
getJMenuItemFileSaveAs() {
426 if (jMenuItemFileSaveAs
== null) {
427 jMenuItemFileSaveAs
= new JMenuItem();
428 jMenuItemFileSaveAs
.setText("Save As...");
429 jMenuItemFileSaveAs
.setMnemonic('a');
430 jMenuItemFileSaveAs
.addActionListener(this);
431 jMenuItemFileSaveAs
.setEnabled(false);
432 jMenuItemFileSaveAs
.setVisible(false);
434 return jMenuItemFileSaveAs
;
438 This method initializes jMenuItemModuleExit
440 @return javax.swing.JMenuItem jMenuItemModuleExit
443 private JMenuItem
getJMenuItemFileExit() {
444 if (jMenuItemFileExit
== null) {
445 jMenuItemFileExit
= new JMenuItem();
446 jMenuItemFileExit
.setText("Exit");
447 jMenuItemFileExit
.setMnemonic('x');
448 jMenuItemFileExit
.addActionListener(this);
450 return jMenuItemFileExit
;
454 This method initializes jMenuEdit
456 @return javax.swing.JMenu jMenuEdit
459 private JMenu
getJMenuEdit() {
460 if (jMenuEdit
== null) {
461 jMenuEdit
= new JMenu();
462 jMenuEdit
.setText("Edit");
463 jMenuEdit
.setMnemonic('E');
464 jMenuEdit
.add(getJMenuItemEditUndo());
465 jMenuEdit
.add(getJMenuItemEditRedo());
466 jMenuEdit
.addSeparator();
467 jMenuEdit
.add(getJMenuItemEditCut());
468 jMenuEdit
.add(getJMenuItemEditCopy());
469 jMenuEdit
.add(getJMenuItemEditPaste());
470 jMenuEdit
.add(getJMenuItemEditDelete());
471 jMenuEdit
.addSeparator();
472 jMenuEdit
.add(getJMenuItemEditSelectAll());
473 jMenuEdit
.add(getJMenuItemEditFind());
474 jMenuEdit
.add(getJMenuItemEditFindNext());
475 jMenuEdit
.addSeparator();
476 jMenuEdit
.setVisible(false);
482 This method initializes jDesktopPane
484 @return javax.swing.JDesktopPane jDesktopPane
487 private JDesktopPane
getJDesktopPaneModule() {
488 if (jDesktopPaneModule
== null) {
489 jDesktopPaneModule
= new JDesktopPane();
491 .setBounds(new java
.awt
.Rectangle(DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_X
,
492 DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_Y
,
493 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
494 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
496 .setMinimumSize(new java
.awt
.Dimension(
497 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
498 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
499 jDesktopPaneModule
.setDesktopManager(iDesktopManager
);
500 jDesktopPaneModule
.addComponentListener(this);
502 return jDesktopPaneModule
;
506 This method initializes jDesktopPane
508 @return javax.swing.JDesktopPane jDesktopPane
511 private JDesktopPane
getJDesktopPanePackage() {
512 if (jDesktopPanePackage
== null) {
513 jDesktopPanePackage
= new JDesktopPane();
515 .setBounds(new java
.awt
.Rectangle(DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_X
,
516 DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_Y
,
517 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
518 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
520 .setMinimumSize(new java
.awt
.Dimension(
521 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
522 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
523 jDesktopPanePackage
.setDesktopManager(iDesktopManager
);
524 jDesktopPanePackage
.addComponentListener(this);
526 return jDesktopPanePackage
;
530 This method initializes jDesktopPane
532 @return javax.swing.JDesktopPane jDesktopPane
535 private JDesktopPane
getJDesktopPanePlatform() {
536 if (jDesktopPanePlatform
== null) {
537 jDesktopPanePlatform
= new JDesktopPane();
539 .setBounds(new java
.awt
.Rectangle(
540 DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_X
,
541 DataType
.MAIN_FRAME_EDITOR_PANEL_LOCATION_Y
,
542 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
543 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
545 .setMinimumSize(new java
.awt
.Dimension(
546 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH
,
547 DataType
.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT
));
548 jDesktopPanePlatform
.setDesktopManager(iDesktopManager
);
549 jDesktopPanePlatform
.addComponentListener(this);
551 return jDesktopPanePlatform
;
555 This method initializes jScrollPaneTree
557 @return javax.swing.JScrollPane jScrollPaneTree
560 private JScrollPane
getJScrollPaneTree() {
561 if (jScrollPaneTree
== null) {
562 jScrollPaneTree
= new JScrollPane();
563 //jScrollPaneTree.setBounds(new java.awt.Rectangle(0, 1, 290, 545));
565 .setPreferredSize(new java
.awt
.Dimension(
566 DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_WIDTH
,
567 DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_HEIGHT
));
569 .setMinimumSize(new java
.awt
.Dimension(
570 DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_WIDTH
/ 2,
571 DataType
.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_HEIGHT
));
572 jScrollPaneTree
.setViewportView(getITree());
574 return jScrollPaneTree
;
578 This method initializes iTree
580 @return org.tianocore.packaging.common.ui.ITree iTree
583 private ITree
getITree() {
585 //Before open a real module, use an empty root node for the tree
592 This method initializes jMenuHelp
594 @return javax.swing.JMenu jMenuHelp
597 private JMenu
getJMenuHelp() {
598 if (jMenuHelp
== null) {
599 jMenuHelp
= new JMenu();
600 jMenuHelp
.setText("Help");
601 jMenuHelp
.add(getJMenuItemHelpContents());
602 jMenuHelp
.add(getJMenuItemHelpIndex());
603 jMenuHelp
.add(getJMenuItemHelpSearch());
604 //jMenuHelp.addSeparator();
605 jMenuHelp
.add(getJMenuItemHelpAbout());
611 This method initializes jMenuItemHelpAbout
613 @return javax.swing.JMenuItem jMenuItemHelpAbout
616 private JMenuItem
getJMenuItemHelpAbout() {
617 if (jMenuItemHelpAbout
== null) {
618 jMenuItemHelpAbout
= new JMenuItem();
619 jMenuItemHelpAbout
.setText("About...");
620 jMenuItemHelpAbout
.addActionListener(this);
622 return jMenuItemHelpAbout
;
626 This method initializes jMenuItemEditDelete
628 @return javax.swing.JMenuItem jMenuItemEditDelete
631 private JMenuItem
getJMenuItemEditDelete() {
632 if (jMenuItemEditDelete
== null) {
633 jMenuItemEditDelete
= new JMenuItem();
634 jMenuItemEditDelete
.setText("Delete");
635 jMenuItemEditDelete
.setMnemonic('D');
636 jMenuItemEditDelete
.addActionListener(this);
638 //Disabled when no module is open
640 jMenuItemEditDelete
.setEnabled(false);
642 return jMenuItemEditDelete
;
646 // This method initializes jPopupMenu
648 // @return javax.swing.JPopupMenu jPopupMenu
651 // private JPopupMenu getJPopupMenu() {
652 // if (jPopupMenu == null) {
653 // jPopupMenu = new JPopupMenu();
655 // //Add menu items of popup menu
657 // jPopupMenu.add(getJMenuItemPopupAdd());
658 // jPopupMenu.add(getJMenuItemPopupUpdate());
659 // jPopupMenu.add(getJMenuItemPopupDelete());
660 // jPopupMenu.setBorder(new BevelBorder(BevelBorder.RAISED));
661 // jPopupMenu.addMouseListener(this);
663 // return jPopupMenu;
667 // This method initializes jMenuItemPopupAdd
669 // @return javax.swing.JMenuItem jMenuItemPopupAdd
672 // private JMenuItem getJMenuItemPopupAdd() {
673 // if (jMenuItemPopupAdd == null) {
674 // jMenuItemPopupAdd = new JMenuItem();
675 // jMenuItemPopupAdd.setText("Add");
676 // jMenuItemPopupAdd.addActionListener(this);
677 // jMenuItemPopupAdd.setEnabled(false);
679 // return jMenuItemPopupAdd;
683 // This method initializes jMenuItemPopupUpdate
685 // @return javax.swing.JMenuItem jMenuItemPopupUpdate
688 // private JMenuItem getJMenuItemPopupUpdate() {
689 // if (jMenuItemPopupUpdate == null) {
690 // jMenuItemPopupUpdate = new JMenuItem();
691 // jMenuItemPopupUpdate.setText("Update");
692 // jMenuItemPopupUpdate.addActionListener(this);
693 // jMenuItemPopupUpdate.setEnabled(false);
695 // return jMenuItemPopupUpdate;
699 // This method initializes jMenuItemPopupDelete
701 // @return javax.swing.JMenuItem jMenuItemPopupDelete
704 // private JMenuItem getJMenuItemPopupDelete() {
705 // if (jMenuItemPopupDelete == null) {
706 // jMenuItemPopupDelete = new JMenuItem();
707 // jMenuItemPopupDelete.setText("Delete");
708 // jMenuItemPopupDelete.addActionListener(this);
709 // jMenuItemPopupDelete.setEnabled(false);
711 // return jMenuItemPopupDelete;
715 This method initializes jMenuFileNew
717 @return javax.swing.JMenuItem jMenuFileNew
720 private JMenuItem
getJMenuItemFileNew() {
721 if (jMenuItemFileNew
== null) {
722 jMenuItemFileNew
= new JMenuItem();
723 jMenuItemFileNew
.setText("New...");
724 jMenuItemFileNew
.setMnemonic('N');
725 jMenuItemFileNew
.addActionListener(this);
727 return jMenuItemFileNew
;
731 This method initializes jMenuItemFileSave
733 @return javax.swing.JMenuItem jMenuItemModuleSave
736 private JMenuItem
getJMenuItemFileSave() {
737 if (jMenuItemFileSave
== null) {
738 jMenuItemFileSave
= new JMenuItem();
739 jMenuItemFileSave
.setText("Save");
740 jMenuItemFileSave
.setMnemonic('S');
741 jMenuItemFileSave
.addActionListener(this);
742 jMenuItemFileSave
.setEnabled(true);
744 return jMenuItemFileSave
;
748 This method initializes jMenuItemModuleClose
750 @return javax.swing.JMenuItem jMenuItemModuleClose
753 private JMenuItem
getJMenuItemFileClose() {
754 if (jMenuItemFileClose
== null) {
755 jMenuItemFileClose
= new JMenuItem();
756 jMenuItemFileClose
.setText("Close");
757 jMenuItemFileClose
.setMnemonic('C');
758 jMenuItemFileClose
.setEnabled(true);
759 jMenuItemFileClose
.addActionListener(this);
761 return jMenuItemFileClose
;
765 This method initializes jMenuTools
768 @return javax.swing.JMenu jMenuTools
771 private JMenu
getJMenuTools() {
772 if (jMenuTools
== null) {
773 jMenuTools
= new JMenu();
774 jMenuTools
.setText("Tools");
775 jMenuTools
.setMnemonic('T');
776 jMenuTools
.add(getJMenuItemToolsToolChainConfiguration());
777 jMenuTools
.addSeparator();
778 jMenuTools
.add(getJMenuItemToolsClone());
779 //jMenuTools.addSeparator();
780 jMenuTools
.add(getJMenuItemToolsCodeScan());
781 jMenuTools
.addMenuListener(this);
787 This method initializes jMenuWindow
790 @return javax.swing.JMenu jMenuWindow
793 private JMenu
getJMenuWindow() {
794 if (jMenuWindow
== null) {
795 jMenuWindow
= new JMenu();
796 jMenuWindow
.setText("Window");
797 jMenuWindow
.setMnemonic('W');
798 jMenuWindow
.add(getJMenuItemWindowDisplaySide());
799 jMenuWindow
.add(getJMenuItemWindowDisplayTopBottom());
800 jMenuWindow
.addSeparator();
801 jMenuWindow
.add(getJMenuItemWindowTabView());
802 jMenuWindow
.addSeparator();
803 jMenuWindow
.add(getJMenuItemWindowSource());
804 jMenuWindow
.add(getJMenuItemWindowXML());
805 jMenuWindow
.addSeparator();
806 jMenuWindow
.add(getJMenuItemWindowPreferences());
807 jMenuWindow
.setVisible(false);
813 This method initializes jPanelOperation
815 @return javax.swing.JPanel jPanelOperation
818 private JPanel
getJPanelOperation() {
819 if (jPanelOperation
== null) {
820 jPanelOperation
= new JPanel();
821 jPanelOperation
.setLayout(null);
822 jPanelOperation
.setBounds(new java
.awt
.Rectangle(295, 520, 500, 25));
823 jPanelOperation
.add(getJButtonOk(), null);
824 jPanelOperation
.add(getJButtonCancel(), null);
825 jPanelOperation
.setVisible(false);
827 return jPanelOperation
;
831 This method initializes jButtonOk
833 @return javax.swing.JButton jButtonOk
836 private JButton
getJButtonOk() {
837 if (jButtonOk
== null) {
838 jButtonOk
= new JButton();
839 jButtonOk
.setBounds(new java
.awt
.Rectangle(395, 2, 90, 20));
840 jButtonOk
.setText("Ok");
841 jButtonOk
.setEnabled(false);
842 jButtonOk
.addActionListener(this);
848 This method initializes jButtonCancel
850 @return javax.swing.JButton jButtonCancel
853 private JButton
getJButtonCancel() {
854 if (jButtonCancel
== null) {
855 jButtonCancel
= new JButton();
856 jButtonCancel
.setBounds(new java
.awt
.Rectangle(395, 2, 90, 20));
857 jButtonCancel
.setText("Cancel");
858 jButtonCancel
.setEnabled(false);
859 jButtonCancel
.addActionListener(this);
860 jButtonCancel
.setVisible(false);
862 return jButtonCancel
;
866 This method initializes jMenuItemFileOpen
868 @return javax.swing.JMenuItem jMenuItemFileOpen
870 private JMenuItem
getJMenuItemFileOpen() {
871 if (jMenuItemFileOpen
== null) {
872 jMenuItemFileOpen
= new JMenuItem();
873 jMenuItemFileOpen
.setText("Open...");
874 jMenuItemFileOpen
.setMnemonic('O');
875 jMenuItemFileOpen
.addActionListener(this);
877 return jMenuItemFileOpen
;
881 This method initializes jMenuItemFileCloseAll
883 @return javax.swing.JMenuItem jMenuItemFileOpen
885 private JMenuItem
getJMenuItemFileCloseAll() {
886 if (jMenuItemFileCloseAll
== null) {
887 jMenuItemFileCloseAll
= new JMenuItem();
888 jMenuItemFileCloseAll
.setText("Close All");
889 jMenuItemFileCloseAll
.setEnabled(true);
890 jMenuItemFileCloseAll
.addActionListener(this);
892 return jMenuItemFileCloseAll
;
896 This method initializes jMenuItemFileSaveAll
898 @return javax.swing.JMenuItem jMenuItemFileSaveAll
900 private JMenuItem
getJMenuItemFileSaveAll() {
901 if (jMenuItemFileSaveAll
== null) {
902 jMenuItemFileSaveAll
= new JMenuItem();
903 jMenuItemFileSaveAll
.setText("Save All");
904 jMenuItemFileSaveAll
.setMnemonic('v');
905 jMenuItemFileSaveAll
.setEnabled(true);
906 jMenuItemFileSaveAll
.addActionListener(this);
908 return jMenuItemFileSaveAll
;
912 This method initializes jMenuItemFilePageSetup
914 @return javax.swing.JMenuItem
916 private JMenuItem
getJMenuItemFilePageSetup() {
917 if (jMenuItemFilePageSetup
== null) {
918 jMenuItemFilePageSetup
= new JMenuItem();
919 jMenuItemFilePageSetup
.setText("Page Setup");
920 jMenuItemFilePageSetup
.setMnemonic('u');
921 jMenuItemFilePageSetup
.setEnabled(false);
922 jMenuItemFilePageSetup
.addActionListener(this);
923 jMenuItemFilePageSetup
.setVisible(false);
925 return jMenuItemFilePageSetup
;
929 This method initializes jMenuItemFilePrint
931 @return javax.swing.JMenuItem
933 private JMenuItem
getJMenuItemFilePrint() {
934 if (jMenuItemFilePrint
== null) {
935 jMenuItemFilePrint
= new JMenuItem();
936 jMenuItemFilePrint
.setText("Print");
937 jMenuItemFilePrint
.setMnemonic('P');
938 jMenuItemFilePrint
.setEnabled(false);
939 jMenuItemFilePrint
.addActionListener(this);
940 jMenuItemFilePrint
.setVisible(false);
942 return jMenuItemFilePrint
;
946 This method initializes jMenuItemFileImport
948 @return javax.swing.JMenuItem
950 private JMenuItem
getJMenuItemFileImport() {
951 if (jMenuItemFileImport
== null) {
952 jMenuItemFileImport
= new JMenuItem();
953 jMenuItemFileImport
.setText("Import");
954 jMenuItemFileImport
.setMnemonic('I');
955 jMenuItemFileImport
.setEnabled(false);
956 jMenuItemFileImport
.addActionListener(this);
957 jMenuItemFileImport
.setVisible(false);
959 return jMenuItemFileImport
;
963 * This method initializes jMenuItemFileProperties
965 * @return javax.swing.JMenuItem
967 private JMenuItem
getJMenuItemFileProperties() {
968 if (jMenuItemFileProperties
== null) {
969 jMenuItemFileProperties
= new JMenuItem();
970 jMenuItemFileProperties
.setText("Properties");
971 jMenuItemFileProperties
.setMnemonic('t');
972 jMenuItemFileProperties
.setEnabled(false);
973 jMenuItemFileProperties
.addActionListener(this);
974 jMenuItemFileProperties
.setVisible(false);
976 return jMenuItemFileProperties
;
980 * This method initializes jMenuFileRecentFiles
982 * @return javax.swing.JMenu
984 private JMenu
getJMenuFileRecentFiles() {
985 if (jMenuFileRecentFiles
== null) {
986 jMenuFileRecentFiles
= new JMenu();
987 jMenuFileRecentFiles
.setText("Recent Files");
988 jMenuFileRecentFiles
.setMnemonic('F');
989 jMenuFileRecentFiles
.setEnabled(false);
990 jMenuFileRecentFiles
.addActionListener(this);
991 jMenuFileRecentFiles
.setVisible(false);
993 return jMenuFileRecentFiles
;
997 This method initializes jMenuItemEditUndo
999 @return javax.swing.JMenuItem
1001 private JMenuItem
getJMenuItemEditUndo() {
1002 if (jMenuItemEditUndo
== null) {
1003 jMenuItemEditUndo
= new JMenuItem();
1004 jMenuItemEditUndo
.setText("Undo");
1005 jMenuItemEditUndo
.setMnemonic('U');
1006 jMenuItemEditUndo
.setEnabled(false);
1007 jMenuItemEditUndo
.addActionListener(this);
1009 return jMenuItemEditUndo
;
1013 This method initializes jMenuItemEditRedo
1015 @return javax.swing.JMenuItem
1017 private JMenuItem
getJMenuItemEditRedo() {
1018 if (jMenuItemEditRedo
== null) {
1019 jMenuItemEditRedo
= new JMenuItem();
1020 jMenuItemEditRedo
.setText("Redo");
1021 jMenuItemEditRedo
.setMnemonic('R');
1022 jMenuItemEditRedo
.setEnabled(false);
1023 jMenuItemEditRedo
.addActionListener(this);
1025 return jMenuItemEditRedo
;
1029 This method initializes jMenuItemEditCut
1031 @return javax.swing.JMenuItem
1033 private JMenuItem
getJMenuItemEditCut() {
1034 if (jMenuItemEditCut
== null) {
1035 jMenuItemEditCut
= new JMenuItem();
1036 jMenuItemEditCut
.setText("Cut");
1037 jMenuItemEditCut
.setMnemonic('t');
1038 jMenuItemEditCut
.setEnabled(false);
1039 jMenuItemEditCut
.addActionListener(this);
1041 return jMenuItemEditCut
;
1045 This method initializes jMenuItemEditCopy
1047 @return javax.swing.JMenuItem
1049 private JMenuItem
getJMenuItemEditCopy() {
1050 if (jMenuItemEditCopy
== null) {
1051 jMenuItemEditCopy
= new JMenuItem();
1052 jMenuItemEditCopy
.setText("Copy");
1053 jMenuItemEditCopy
.setMnemonic('C');
1054 jMenuItemEditCopy
.setEnabled(false);
1055 jMenuItemEditCopy
.addActionListener(this);
1057 return jMenuItemEditCopy
;
1061 This method initializes jMenuItemEditPaste
1063 return javax.swing.JMenuItem
1065 private JMenuItem
getJMenuItemEditPaste() {
1066 if (jMenuItemEditPaste
== null) {
1067 jMenuItemEditPaste
= new JMenuItem();
1068 jMenuItemEditPaste
.setText("Paste");
1069 jMenuItemEditPaste
.setMnemonic('P');
1070 jMenuItemEditPaste
.setEnabled(false);
1071 jMenuItemEditPaste
.addActionListener(this);
1073 return jMenuItemEditPaste
;
1077 This method initializes jMenuItem
1079 @return javax.swing.JMenuItem
1081 private JMenuItem
getJMenuItemEditSelectAll() {
1082 if (jMenuItemEditSelectAll
== null) {
1083 jMenuItemEditSelectAll
= new JMenuItem();
1084 jMenuItemEditSelectAll
.setText("Select All");
1085 jMenuItemEditSelectAll
.setMnemonic('A');
1086 jMenuItemEditSelectAll
.setEnabled(false);
1087 jMenuItemEditSelectAll
.addActionListener(this);
1089 return jMenuItemEditSelectAll
;
1093 This method initializes jMenuItemEditFind
1095 @return javax.swing.JMenuItem
1097 private JMenuItem
getJMenuItemEditFind() {
1098 if (jMenuItemEditFind
== null) {
1099 jMenuItemEditFind
= new JMenuItem();
1100 jMenuItemEditFind
.setText("Find");
1101 jMenuItemEditFind
.setMnemonic('F');
1102 jMenuItemEditFind
.setEnabled(false);
1103 jMenuItemEditFind
.addActionListener(this);
1105 return jMenuItemEditFind
;
1109 This method initializes jMenuItemEditFindNext
1111 @return javax.swing.JMenuItem
1114 private JMenuItem
getJMenuItemEditFindNext() {
1115 if (jMenuItemEditFindNext
== null) {
1116 jMenuItemEditFindNext
= new JMenuItem();
1117 jMenuItemEditFindNext
.setText("Find Next");
1118 jMenuItemEditFindNext
.setMnemonic('n');
1119 jMenuItemEditFindNext
.setEnabled(false);
1120 jMenuItemEditFindNext
.addActionListener(this);
1122 return jMenuItemEditFindNext
;
1126 This method initializes jMenuView
1128 @return javax.swing.JMenu
1131 private JMenu
getJMenuView() {
1132 if (jMenuView
== null) {
1133 jMenuView
= new JMenu();
1134 jMenuView
.setText("View");
1135 jMenuView
.setMnemonic('V');
1136 jMenuView
.add(getJMenuViewToolbars());
1137 jMenuView
.add(getJMenuItemViewAdvanced());
1138 jMenuView
.add(getJMenuItemViewStandard());
1139 jMenuView
.add(getJMenuItemViewXML());
1140 jMenuView
.setVisible(false);
1146 This method initializes jMenuViewToolbars
1148 @return javax.swing.JMenu
1151 private JMenu
getJMenuViewToolbars() {
1152 if (jMenuViewToolbars
== null) {
1153 jMenuViewToolbars
= new JMenu();
1154 jMenuViewToolbars
.setText("Toolbars");
1155 jMenuViewToolbars
.setMnemonic('T');
1156 jMenuViewToolbars
.add(getJCheckBoxMenuItemViewToolbarsFile());
1157 jMenuViewToolbars
.add(getJCheckBoxMenuItemViewToolbarsEdit());
1158 jMenuViewToolbars
.add(getJCheckBoxMenuItemViewToolbarsWindow());
1160 return jMenuViewToolbars
;
1164 This method initializes jCheckBoxMenuItemViewToolbarsFile
1166 @return javax.swing.JCheckBoxMenuItem
1169 private JCheckBoxMenuItem
getJCheckBoxMenuItemViewToolbarsFile() {
1170 if (jCheckBoxMenuItemViewToolbarsFile
== null) {
1171 jCheckBoxMenuItemViewToolbarsFile
= new JCheckBoxMenuItem();
1172 jCheckBoxMenuItemViewToolbarsFile
.setText("File");
1173 jCheckBoxMenuItemViewToolbarsFile
.setEnabled(false);
1174 jCheckBoxMenuItemViewToolbarsFile
.addActionListener(this);
1176 return jCheckBoxMenuItemViewToolbarsFile
;
1180 This method initializes jCheckBoxMenuItemViewToolbarsEdit
1182 @return javax.swing.JCheckBoxMenuItem
1185 private JCheckBoxMenuItem
getJCheckBoxMenuItemViewToolbarsEdit() {
1186 if (jCheckBoxMenuItemViewToolbarsEdit
== null) {
1187 jCheckBoxMenuItemViewToolbarsEdit
= new JCheckBoxMenuItem();
1188 jCheckBoxMenuItemViewToolbarsEdit
.setText("Edit");
1189 jCheckBoxMenuItemViewToolbarsEdit
.setEnabled(false);
1190 jCheckBoxMenuItemViewToolbarsEdit
.addActionListener(this);
1192 return jCheckBoxMenuItemViewToolbarsEdit
;
1196 This method initializes jCheckBoxMenuItemViewToolbarsWindow
1198 @return javax.swing.JCheckBoxMenuItem
1201 private JCheckBoxMenuItem
getJCheckBoxMenuItemViewToolbarsWindow() {
1202 if (jCheckBoxMenuItemViewToolbarsWindow
== null) {
1203 jCheckBoxMenuItemViewToolbarsWindow
= new JCheckBoxMenuItem();
1204 jCheckBoxMenuItemViewToolbarsWindow
.setText("Window");
1205 jCheckBoxMenuItemViewToolbarsWindow
.setEnabled(false);
1206 jCheckBoxMenuItemViewToolbarsWindow
.addActionListener(this);
1208 return jCheckBoxMenuItemViewToolbarsWindow
;
1212 This method initializes jMenuItemStandard
1214 @return javax.swing.JMenuItem
1217 private JMenuItem
getJMenuItemViewStandard() {
1218 if (jMenuItemViewStandard
== null) {
1219 jMenuItemViewStandard
= new JMenuItem();
1220 jMenuItemViewStandard
.setText("Standard");
1221 jMenuItemViewStandard
.setMnemonic('S');
1222 jMenuItemViewStandard
.setEnabled(false);
1223 jMenuItemViewStandard
.addActionListener(this);
1225 return jMenuItemViewStandard
;
1229 This method initializes jMenuItemAdvanced
1231 @return javax.swing.JMenuItem
1234 private JMenuItem
getJMenuItemViewAdvanced() {
1235 if (jMenuItemViewAdvanced
== null) {
1236 jMenuItemViewAdvanced
= new JMenuItem();
1237 jMenuItemViewAdvanced
.setText("Advanced");
1238 jMenuItemViewAdvanced
.setMnemonic('A');
1239 jMenuItemViewAdvanced
.setEnabled(false);
1240 jMenuItemViewAdvanced
.addActionListener(this);
1242 return jMenuItemViewAdvanced
;
1246 This method initializes jMenuProject
1248 @return javax.swing.JMenu
1251 private JMenu
getJMenuProject() {
1252 if (jMenuProject
== null) {
1253 jMenuProject
= new JMenu();
1254 jMenuProject
.setText("Project");
1255 jMenuProject
.setMnemonic('P');
1256 jMenuProject
.add(getJMenuItemProjectAdmin());
1257 //jMenuProject.addSeparator();
1258 jMenuProject
.add(getJMenuItemProjectChangeWorkspace());
1259 jMenuProject
.addSeparator();
1260 jMenuProject
.add(getJMenuItemProjectInstallPackage());
1261 jMenuProject
.add(getJMenuItemProjectUpdatePackage());
1262 jMenuProject
.add(getJMenuItemProjectRemovePackage());
1263 //jMenuProject.addSeparator();
1264 jMenuProject
.add(getJMenuProjectBuildTargets());
1266 return jMenuProject
;
1270 This method initializes jMenuItemProjectAdmin
1272 @return javax.swing.JMenuItem
1275 private JMenuItem
getJMenuItemProjectAdmin() {
1276 if (jMenuItemProjectAdmin
== null) {
1277 jMenuItemProjectAdmin
= new JMenuItem();
1278 jMenuItemProjectAdmin
.setText("Admin...");
1279 jMenuItemProjectAdmin
.setMnemonic('A');
1280 jMenuItemProjectAdmin
.setEnabled(false);
1281 jMenuItemProjectAdmin
.addActionListener(this);
1282 jMenuItemProjectAdmin
.setVisible(false);
1284 return jMenuItemProjectAdmin
;
1288 This method initializes jMenuItemProjectChangeWorkspace
1290 @return javax.swing.JMenuItem
1293 private JMenuItem
getJMenuItemProjectChangeWorkspace() {
1294 if (jMenuItemProjectChangeWorkspace
== null) {
1295 jMenuItemProjectChangeWorkspace
= new JMenuItem();
1296 jMenuItemProjectChangeWorkspace
.setText("Change WORKSPACE...");
1297 jMenuItemProjectChangeWorkspace
.setMnemonic('W');
1298 jMenuItemProjectChangeWorkspace
.setEnabled(true);
1299 jMenuItemProjectChangeWorkspace
.addActionListener(this);
1301 return jMenuItemProjectChangeWorkspace
;
1305 This method initializes jMenuProjectBuildTargets
1307 @return javax.swing.JMenu
1310 private JMenu
getJMenuProjectBuildTargets() {
1311 if (jMenuProjectBuildTargets
== null) {
1312 jMenuProjectBuildTargets
= new JMenu();
1313 jMenuProjectBuildTargets
.setText("Build Targets");
1314 jMenuProjectBuildTargets
.setMnemonic('T');
1315 jMenuProjectBuildTargets
.add(getJCheckBoxMenuItemProjectBuildTargetsDebug());
1316 jMenuProjectBuildTargets
.add(getJCheckBoxMenuItemProjectBuildTargetsRelease());
1317 jMenuProjectBuildTargets
.setVisible(false);
1319 return jMenuProjectBuildTargets
;
1323 This method initializes jCheckBoxMenuItemProjectBuildTargetsDebug
1325 @return javax.swing.JCheckBoxMenuItem
1328 private JCheckBoxMenuItem
getJCheckBoxMenuItemProjectBuildTargetsDebug() {
1329 if (jCheckBoxMenuItemProjectBuildTargetsDebug
== null) {
1330 jCheckBoxMenuItemProjectBuildTargetsDebug
= new JCheckBoxMenuItem();
1331 jCheckBoxMenuItemProjectBuildTargetsDebug
.setText("Debug");
1332 jCheckBoxMenuItemProjectBuildTargetsDebug
.setEnabled(false);
1334 return jCheckBoxMenuItemProjectBuildTargetsDebug
;
1338 This method initializes jCheckBoxMenuItemProjectBuildTargetsRelease
1340 @return javax.swing.JCheckBoxMenuItem
1343 private JCheckBoxMenuItem
getJCheckBoxMenuItemProjectBuildTargetsRelease() {
1344 if (jCheckBoxMenuItemProjectBuildTargetsRelease
== null) {
1345 jCheckBoxMenuItemProjectBuildTargetsRelease
= new JCheckBoxMenuItem();
1346 jCheckBoxMenuItemProjectBuildTargetsRelease
.setText("Release");
1347 jCheckBoxMenuItemProjectBuildTargetsRelease
.setEnabled(false);
1349 return jCheckBoxMenuItemProjectBuildTargetsRelease
;
1353 This method initializes jMenuItemToolsToolChainConfiguration
1355 @return javax.swing.JMenuItem
1358 private JMenuItem
getJMenuItemToolsToolChainConfiguration() {
1359 if (jMenuItemToolsToolChainConfiguration
== null) {
1360 jMenuItemToolsToolChainConfiguration
= new JMenuItem();
1361 jMenuItemToolsToolChainConfiguration
.setText("Tool Chain Configuration...");
1362 jMenuItemToolsToolChainConfiguration
.setMnemonic('C');
1363 jMenuItemToolsToolChainConfiguration
.addActionListener(this);
1365 return jMenuItemToolsToolChainConfiguration
;
1369 This method initializes jMenuItemToolsClone
1371 @return javax.swing.JMenuItem
1374 private JMenuItem
getJMenuItemToolsClone() {
1375 if (jMenuItemToolsClone
== null) {
1376 jMenuItemToolsClone
= new JMenuItem();
1377 jMenuItemToolsClone
.setText("Clone...");
1378 jMenuItemToolsClone
.setMnemonic('l');
1379 jMenuItemToolsClone
.setEnabled(true);
1380 jMenuItemToolsClone
.addActionListener(this);
1382 return jMenuItemToolsClone
;
1386 This method initializes jMenuItemToolsCodeScan
1388 @return javax.swing.JMenuItem
1391 private JMenuItem
getJMenuItemToolsCodeScan() {
1392 if (jMenuItemToolsCodeScan
== null) {
1393 jMenuItemToolsCodeScan
= new JMenuItem();
1394 jMenuItemToolsCodeScan
.setText("Code Scan...");
1395 jMenuItemToolsCodeScan
.setMnemonic('S');
1396 jMenuItemToolsCodeScan
.setEnabled(false);
1397 jMenuItemToolsCodeScan
.addActionListener(this);
1398 jMenuItemToolsCodeScan
.setVisible(false);
1400 return jMenuItemToolsCodeScan
;
1404 This method initializes jMenuItemWindowSplitVertical
1406 @return javax.swing.JMenuItem
1409 private JMenuItem
getJMenuItemWindowDisplaySide() {
1410 if (jMenuItemWindowDisplaySide
== null) {
1411 jMenuItemWindowDisplaySide
= new JMenuItem();
1412 jMenuItemWindowDisplaySide
.setText("Display Side by Side");
1413 jMenuItemWindowDisplaySide
.setMnemonic('S');
1414 jMenuItemWindowDisplaySide
.setEnabled(false);
1415 jMenuItemWindowDisplaySide
.addActionListener(this);
1417 return jMenuItemWindowDisplaySide
;
1421 This method initializes jMenuItemWindowSplitHorizontal
1423 @return javax.swing.JMenuItem
1426 private JMenuItem
getJMenuItemWindowDisplayTopBottom() {
1427 if (jMenuItemWindowDisplayTopBottom
== null) {
1428 jMenuItemWindowDisplayTopBottom
= new JMenuItem();
1429 jMenuItemWindowDisplayTopBottom
.setText("Display Top and Bottom");
1430 jMenuItemWindowDisplayTopBottom
.setMnemonic('B');
1431 jMenuItemWindowDisplayTopBottom
.setEnabled(false);
1432 jMenuItemWindowDisplayTopBottom
.addActionListener(this);
1434 return jMenuItemWindowDisplayTopBottom
;
1438 This method initializes jMenuItemViewXML
1440 @return javax.swing.JMenuItem
1443 private JMenuItem
getJMenuItemViewXML() {
1444 if (jMenuItemViewXML
== null) {
1445 jMenuItemViewXML
= new JMenuItem();
1446 jMenuItemViewXML
.setText("XML");
1447 jMenuItemViewXML
.setMnemonic('X');
1448 jMenuItemViewXML
.setEnabled(false);
1449 jMenuItemViewXML
.addActionListener(this);
1451 return jMenuItemViewXML
;
1455 This method initializes jMenuItemWindowTabView
1457 @return javax.swing.JMenuItem
1460 private JMenuItem
getJMenuItemWindowTabView() {
1461 if (jMenuItemWindowTabView
== null) {
1462 jMenuItemWindowTabView
= new JMenuItem();
1463 jMenuItemWindowTabView
.setText("Tab View");
1464 jMenuItemWindowTabView
.setMnemonic('T');
1465 jMenuItemWindowTabView
.setEnabled(false);
1466 jMenuItemWindowTabView
.addActionListener(this);
1468 return jMenuItemWindowTabView
;
1472 This method initializes jMenuItemWindowSource
1474 @return javax.swing.JMenuItem
1477 private JMenuItem
getJMenuItemWindowSource() {
1478 if (jMenuItemWindowSource
== null) {
1479 jMenuItemWindowSource
= new JMenuItem();
1480 jMenuItemWindowSource
.setText("Source");
1481 jMenuItemWindowSource
.setMnemonic('S');
1482 jMenuItemWindowSource
.setEnabled(false);
1483 jMenuItemWindowSource
.addActionListener(this);
1485 return jMenuItemWindowSource
;
1489 This method initializes jMenuItemWindowXML
1491 @return javax.swing.JMenuItem
1494 private JMenuItem
getJMenuItemWindowXML() {
1495 if (jMenuItemWindowXML
== null) {
1496 jMenuItemWindowXML
= new JMenuItem();
1497 jMenuItemWindowXML
.setText("XML");
1498 jMenuItemWindowXML
.setMnemonic('X');
1499 jMenuItemWindowXML
.setEnabled(false);
1500 jMenuItemWindowXML
.addActionListener(this);
1502 return jMenuItemWindowXML
;
1506 This method initializes jMenuItemWindowPreferences
1508 @return javax.swing.JMenuItem
1511 private JMenuItem
getJMenuItemWindowPreferences() {
1512 if (jMenuItemWindowPreferences
== null) {
1513 jMenuItemWindowPreferences
= new JMenuItem();
1514 jMenuItemWindowPreferences
.setText("Preferences");
1515 jMenuItemWindowPreferences
.setMnemonic('P');
1516 jMenuItemWindowPreferences
.setEnabled(false);
1517 jMenuItemWindowPreferences
.addActionListener(this);
1519 return jMenuItemWindowPreferences
;
1523 This method initializes jMenuItemHelpContents
1525 @return javax.swing.JMenuItem
1528 private JMenuItem
getJMenuItemHelpContents() {
1529 if (jMenuItemHelpContents
== null) {
1530 jMenuItemHelpContents
= new JMenuItem();
1531 jMenuItemHelpContents
.setText("Contents");
1532 jMenuItemHelpContents
.setMnemonic('C');
1533 jMenuItemHelpContents
.setEnabled(false);
1534 jMenuItemHelpContents
.addActionListener(this);
1535 jMenuItemHelpContents
.setVisible(false);
1537 return jMenuItemHelpContents
;
1541 This method initializes jMenuItemHelpIndex
1543 @return javax.swing.JMenuItem
1546 private JMenuItem
getJMenuItemHelpIndex() {
1547 if (jMenuItemHelpIndex
== null) {
1548 jMenuItemHelpIndex
= new JMenuItem();
1549 jMenuItemHelpIndex
.setText("Index");
1550 jMenuItemHelpIndex
.setMnemonic('I');
1551 jMenuItemHelpIndex
.setEnabled(false);
1552 jMenuItemHelpIndex
.addActionListener(this);
1553 jMenuItemHelpIndex
.setVisible(false);
1555 return jMenuItemHelpIndex
;
1559 This method initializes jMenuItemHelpSearch
1561 @return javax.swing.JMenuItem
1564 private JMenuItem
getJMenuItemHelpSearch() {
1565 if (jMenuItemHelpSearch
== null) {
1566 jMenuItemHelpSearch
= new JMenuItem();
1567 jMenuItemHelpSearch
.setText("Search");
1568 jMenuItemHelpSearch
.setMnemonic('S');
1569 jMenuItemHelpSearch
.setEnabled(false);
1570 jMenuItemHelpSearch
.addActionListener(this);
1571 jMenuItemHelpSearch
.setVisible(false);
1573 return jMenuItemHelpSearch
;
1577 * This method initializes jToolBar
1579 * @return javax.swing.JToolBar
1581 // private JToolBar getJToolBarFile() {
1582 // if (jToolBarFile == null) {
1583 // jToolBarFile = new JToolBar();
1584 // jToolBarFile.setFloatable(false);
1586 // return jToolBarFile;
1589 * This method initializes jToolBarEdit
1591 * @return javax.swing.JToolBar
1593 // private JToolBar getJToolBarEdit() {
1594 // if (jToolBarEdit == null) {
1595 // jToolBarEdit = new JToolBar();
1596 // jToolBarEdit.setFloatable(false);
1598 // return jToolBarEdit;
1601 * This method initializes jMenuItemToolsInstallPackage
1603 * @return javax.swing.JMenuItem
1605 private JMenuItem
getJMenuItemProjectInstallPackage() {
1606 if (jMenuItemProjectInstallPackage
== null) {
1607 jMenuItemProjectInstallPackage
= new JMenuItem();
1608 jMenuItemProjectInstallPackage
.setText("Install Distribution Package");
1609 jMenuItemProjectInstallPackage
.setMnemonic('I');
1610 jMenuItemProjectInstallPackage
.setEnabled(false);
1611 jMenuItemProjectInstallPackage
.addActionListener(this);
1613 return jMenuItemProjectInstallPackage
;
1617 * This method initializes jMenuItemToolsUpdatePackage
1619 * @return javax.swing.JMenuItem
1621 private JMenuItem
getJMenuItemProjectUpdatePackage() {
1622 if (jMenuItemProjectUpdatePackage
== null) {
1623 jMenuItemProjectUpdatePackage
= new JMenuItem();
1624 jMenuItemProjectUpdatePackage
.setText("Update Disstribution Package");
1625 jMenuItemProjectUpdatePackage
.setMnemonic('U');
1626 jMenuItemProjectUpdatePackage
.setEnabled(false);
1627 jMenuItemProjectUpdatePackage
.addActionListener(this);
1629 return jMenuItemProjectUpdatePackage
;
1633 * This method initializes jMenuItemRemovePackage
1635 * @return javax.swing.JMenuItem
1637 private JMenuItem
getJMenuItemProjectRemovePackage() {
1638 if (jMenuItemProjectRemovePackage
== null) {
1639 jMenuItemProjectRemovePackage
= new JMenuItem();
1640 jMenuItemProjectRemovePackage
.setText("Remove Distribution Package");
1641 jMenuItemProjectRemovePackage
.setMnemonic('R');
1642 jMenuItemProjectRemovePackage
.setEnabled(false);
1643 jMenuItemProjectRemovePackage
.addActionListener(this);
1645 return jMenuItemProjectRemovePackage
;
1649 * @see org.tianocore.packaging.common.ui.IFrame#main(java.lang.String[])
1651 * Main class, start the GUI
1654 public static void main(String
[] args
) {
1655 FrameworkWizardUI module
= new FrameworkWizardUI();
1656 module
.setVisible(true);
1660 This is the default constructor
1663 public FrameworkWizardUI() {
1669 This method initializes this
1673 private void init() {
1675 // Set current workspace and check
1676 // Check if exists WORKSPACE
1679 Workspace
.setCurrentWorkspace(System
.getenv("WORKSPACE"));
1680 if (!Workspace
.checkCurrentWorkspace()) {
1681 JOptionPane
.showConfirmDialog(null, "Workspace is not setup correctly. Please setup first.", "Warning",
1682 JOptionPane
.DEFAULT_OPTION
, JOptionPane
.WARNING_MESSAGE
);
1687 this.setSize(DataType
.MAIN_FRAME_PREFERRED_SIZE_WIDTH
, DataType
.MAIN_FRAME_PREFERRED_SIZE_HEIGHT
);
1688 this.setResizable(true);
1689 this.setJMenuBar(getjJMenuBar());
1690 this.addComponentListener(this);
1691 this.getCompontentsFromFrameworkDatabase();
1692 this.setContentPane(getJContentPane());
1693 this.setTitle(projectName
+ " " + projectVersion
+ " " + "- [" + Workspace
.getCurrentWorkspace() + "]");
1694 this.setExitType(1);
1699 this.setExtendedState(JFrame
.MAXIMIZED_BOTH
);
1703 This method initializes jContentPane
1705 @return javax.swing.JPanel jContentPane
1708 private JPanel
getJContentPane() {
1709 if (jContentPane
== null) {
1710 jContentPane
= new JPanel();
1711 jContentPane
.setLayout(null);
1712 jContentPane
.add(getJPanelOperation(), null);
1713 jContentPane
.add(getJSplitPane(), null);
1715 return jContentPane
;
1719 * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
1721 * Override actionPerformed to listen all actions
1724 public void actionPerformed(ActionEvent arg0
) {
1726 // Operations of Menu
1728 if (arg0
.getSource() == jMenuItemFileNew
) {
1732 if (arg0
.getSource() == jMenuItemFileOpen
) {
1736 if (arg0
.getSource() == jMenuItemFileClose
) {
1740 if (arg0
.getSource() == jMenuItemFileCloseAll
) {
1744 if (arg0
.getSource() == jMenuItemFileSave
) {
1748 if (arg0
.getSource() == jMenuItemFileSaveAs
) {
1752 if (arg0
.getSource() == jMenuItemFileSaveAll
) {
1756 if (arg0
.getSource() == jMenuItemFileExit
) {
1760 if (arg0
.getSource() == jMenuItemProjectChangeWorkspace
) {
1764 if (arg0
.getSource() == jMenuItemToolsClone
) {
1768 if (arg0
.getSource() == jMenuItemToolsToolChainConfiguration
) {
1769 setupToolChainConfiguration();
1772 if (arg0
.getSource() == jMenuItemHelpAbout
) {
1773 About a
= new About(this, true);
1774 int result
= a
.showDialog();
1775 if (result
== DataType
.RETURN_TYPE_OK
) {
1782 Create an empty tree if no file is open
1785 private void makeEmptyTree() {
1787 dmtnRoot
= new IDefaultMutableTreeNode("WORKSPACE", IDefaultMutableTreeNode
.WORKSPACE
, -1);
1789 // Make Module Description
1790 dmtnModuleDescription
= new IDefaultMutableTreeNode("ModuleDescription", IDefaultMutableTreeNode
.MODULE
, -1);
1792 if (this.vModuleList
.size() > 0) {
1793 for (int index
= 0; index
< this.vModuleList
.size(); index
++) {
1794 dmtnModuleDescription
.add(new IDefaultMutableTreeNode(this.vModuleList
.elementAt(index
).getName(),
1795 IDefaultMutableTreeNode
.MSA_HEADER
, false,
1796 this.vModuleList
.elementAt(index
)));
1800 // Make Package Description
1801 dmtnPackageDescription
= new IDefaultMutableTreeNode("PackageDescription", IDefaultMutableTreeNode
.PACKAGE
, -1);
1802 if (this.vPackageList
.size() > 0) {
1803 for (int index
= 0; index
< this.vPackageList
.size(); index
++) {
1804 dmtnPackageDescription
.add(new IDefaultMutableTreeNode(this.vPackageList
.elementAt(index
).getName(),
1805 IDefaultMutableTreeNode
.SPD_HEADER
, false,
1806 this.vPackageList
.elementAt(index
)));
1810 // Make Platform Description
1811 dmtnPlatformDescription
= new IDefaultMutableTreeNode("PlatformDescription", IDefaultMutableTreeNode
.PLATFORM
,
1813 if (this.vPlatformList
.size() > 0) {
1814 for (int index
= 0; index
< this.vPlatformList
.size(); index
++) {
1815 dmtnPlatformDescription
.add(new IDefaultMutableTreeNode(this.vPlatformList
.elementAt(index
).getName(),
1816 IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
,
1817 false, this.vPlatformList
.elementAt(index
)));
1821 dmtnRoot
.add(dmtnModuleDescription
);
1822 dmtnRoot
.add(dmtnPackageDescription
);
1823 dmtnRoot
.add(dmtnPlatformDescription
);
1824 iTree
= new ITree(dmtnRoot
);
1825 iTree
.addMouseListener(this);
1826 jScrollPaneTree
.setViewportView(iTree
);
1830 * @see java.awt.event.WindowListener#windowClosing(java.awt.event.WindowEvent)
1832 * Override windowClosing to popup warning message to confirm quit
1835 public void windowClosing(WindowEvent arg0
) {
1840 * @see java.awt.event.MouseListener#mouseClicked(java.awt.event.MouseEvent)
1842 * Override mouseClicked to check if need display popup menu
1845 public void mouseClicked(MouseEvent arg0
) {
1846 if (arg0
.getButton() == MouseEvent
.BUTTON1
) {
1848 if (arg0
.getButton() == MouseEvent
.BUTTON3
) {
1851 // When double click
1853 if (arg0
.getClickCount() == 2) {
1854 doubleClickModuleTreeNode();
1858 public void mouseEntered(MouseEvent arg0
) {
1859 // TODO Auto-generated method stub
1862 public void mouseExited(MouseEvent arg0
) {
1863 // TODO Auto-generated method stub
1866 public void mousePressed(MouseEvent arg0
) {
1867 // TODO Auto-generated method stub
1870 public void mouseReleased(MouseEvent arg0
) {
1871 // TODO Auto-generated method stub
1875 Remove all Internal Frame of Module Desktop Pane
1878 private void cleanDesktopPaneModule() {
1879 if (jDesktopPaneModule
!= null) {
1880 JInternalFrame
[] iif
= this.jDesktopPaneModule
.getAllFrames();
1881 for (int index
= 0; index
< iif
.length
; index
++) {
1882 iif
[index
].dispose();
1888 Remove all Internal Frame of package Desktop Pane
1891 private void cleanDesktopPanePackage() {
1892 if (jDesktopPanePlatform
!= null) {
1893 JInternalFrame
[] iif
= this.jDesktopPanePackage
.getAllFrames();
1894 for (int index
= 0; index
< iif
.length
; index
++) {
1895 iif
[index
].dispose();
1901 Remove all Internal Frame of platform Desktop Pane
1904 private void cleanDesktopPanePlatform() {
1905 if (jDesktopPanePlatform
!= null) {
1906 JInternalFrame
[] iif
= this.jDesktopPanePlatform
.getAllFrames();
1907 for (int index
= 0; index
< iif
.length
; index
++) {
1908 iif
[index
].dispose();
1914 Remove all Internal Frame of all Desktop Panes
1917 private void cleanDesktopPane() {
1918 cleanDesktopPaneModule();
1919 cleanDesktopPanePackage();
1920 cleanDesktopPanePlatform();
1924 Set file filter as input ext
1930 private int getNewFilePath(String ext
) {
1931 JFileChooser fc
= new JFileChooser(Workspace
.getCurrentWorkspace());
1932 fc
.setAcceptAllFileFilterUsed(false);
1933 fc
.addChoosableFileFilter(new IFileFilter(ext
));
1934 return fc
.showSaveDialog(new JPanel());
1940 @param path input file path
1943 private void openModule(String path
) {
1944 ModuleSurfaceAreaDocument
.ModuleSurfaceArea msa
= null;
1946 msa
= OpenFile
.openMsaFile(path
);
1947 } catch (IOException e
) {
1948 Log
.err("Open Module Surface Area " + path
, e
.getMessage());
1950 } catch (XmlException e
) {
1951 Log
.err("Open Module Surface Area " + path
, e
.getMessage());
1953 } catch (Exception e
) {
1954 Log
.err("Open Module Surface Area " + path
, "Invalid file type");
1957 Identification id
= new Identification(msa
.getMsaHeader().getModuleName(), msa
.getMsaHeader().getGuidValue(),
1958 msa
.getMsaHeader().getVersion(), path
);
1960 // Generate module id
1962 PackageIdentification pid
= wt
.getPackageIdByModuleId(id
);
1965 // To judge if the module existed in vModuleList
1966 // If not, add it to vModuleList
1968 boolean isFind
= false;
1969 for (int index
= 0; index
< vModuleList
.size(); index
++) {
1970 if (vModuleList
.elementAt(index
).equals(id
)) {
1976 vModuleList
.addElement(new ModuleIdentification(id
, pid
));
1978 // Add new MsaHeader node to the tree
1980 IDefaultMutableTreeNode node
= new IDefaultMutableTreeNode(vModuleList
.lastElement().getName(),
1981 IDefaultMutableTreeNode
.MSA_HEADER
, true,
1982 vModuleList
.lastElement());
1983 iTree
.addNode(dmtnModuleDescription
, node
);
1987 // The module is not in existing packages
1989 Log
.err("The module hasn't been added to any package of current workspace!");
1993 // Make the node selected
1995 iTree
.setSelectionPath(iTree
.getPathOfNode(iTree
.getNodeById(this.dmtnModuleDescription
, id
,
1996 IDefaultMutableTreeNode
.MSA_HEADER
)));
1998 // Update opening Module list information
2000 if (!openingModuleList
.existsModule(id
)) {
2002 // Insert sub node of module
2004 insertModuleTreeNode(id
);
2005 iTree
.getSelectNode().setOpening(true);
2008 // Update opening module list
2010 openingModuleList
.insertToOpeningModuleList(id
, msa
);
2011 openingModuleList
.setTreePathById(id
, iTree
.getSelectionPath());
2014 // Show msa header in editor panel
2016 showModuleElement(IDefaultMutableTreeNode
.MSA_HEADER
, openingModuleList
.getOpeningModuleById(id
));
2017 this.currentOpeningModuleIndex
= openingModuleList
.findIndexOfListById(id
);
2023 @param path input file path
2026 private void openPackage(String path
) {
2027 PackageSurfaceAreaDocument
.PackageSurfaceArea spd
= null;
2029 spd
= OpenFile
.openSpdFile(path
);
2030 } catch (IOException e
) {
2031 Log
.err("Open Package Surface Area " + path
, e
.getMessage());
2033 } catch (XmlException e
) {
2034 Log
.err("Open Package Surface Area " + path
, e
.getMessage());
2036 } catch (Exception e
) {
2037 Log
.err("Open Package Surface Area " + path
, "Invalid file type");
2040 Identification id
= new Identification(spd
.getSpdHeader().getPackageName(), spd
.getSpdHeader().getGuidValue(),
2041 spd
.getSpdHeader().getVersion(), path
);
2043 // To judge if the package existed in vPackageList
2044 // If not, add it to vPackageList
2046 boolean isFind
= false;
2047 for (int index
= 0; index
< vPackageList
.size(); index
++) {
2048 if (vPackageList
.elementAt(index
).equals(id
)) {
2055 // The module is not in existing packages
2057 Log
.err("The package hasn't been added to current workspace!");
2062 // Make the node selected
2064 iTree
.setSelectionPath(iTree
.getPathOfNode(iTree
.getNodeById(this.dmtnPackageDescription
, id
,
2065 IDefaultMutableTreeNode
.SPD_HEADER
)));
2067 // Update opening package list information
2069 if (!openingPackageList
.existsPackage(id
)) {
2071 // Insert sub node of module
2073 insertPackageTreeNode(id
);
2074 iTree
.getSelectNode().setOpening(true);
2077 // Update opening module list
2079 openingPackageList
.insertToOpeningPackageList(id
, spd
);
2080 openingPackageList
.setTreePathById(id
, iTree
.getSelectionPath());
2083 // Show spd header in editor panel
2085 showPackageElement(IDefaultMutableTreeNode
.SPD_HEADER
, openingPackageList
.getOpeningPackageById(id
));
2086 this.currentOpeningPackageIndex
= openingPackageList
.findIndexOfListById(id
);
2092 @param path input file path
2095 private void openPlatform(String path
) {
2096 PlatformSurfaceAreaDocument
.PlatformSurfaceArea fpd
= null;
2098 fpd
= OpenFile
.openFpdFile(path
);
2099 } catch (IOException e
) {
2100 Log
.err("Open Platform Surface Area " + path
, e
.getMessage());
2102 } catch (XmlException e
) {
2103 Log
.err("Open Platform Surface Area " + path
, e
.getMessage());
2105 } catch (Exception e
) {
2106 Log
.err("Open Platform Surface Area " + path
, "Invalid file type");
2109 Identification id
= new Identification(fpd
.getPlatformHeader().getPlatformName(), fpd
.getPlatformHeader()
2111 fpd
.getPlatformHeader().getVersion(), path
);
2113 // To judge if the platform existed in vPlatformList
2114 // If not, add it to vPlatformList
2116 boolean isFind
= false;
2117 for (int index
= 0; index
< vPlatformList
.size(); index
++) {
2118 if (vPlatformList
.elementAt(index
).equals(id
)) {
2125 // The module is not in existing packages
2127 Log
.err("The platform hasn't been added to current workspace!");
2132 // Make the node selected
2134 iTree
.setSelectionPath(iTree
.getPathOfNode(iTree
.getNodeById(this.dmtnPlatformDescription
, id
,
2135 IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
)));
2137 // Update opening package list information
2139 if (!openingPlatformList
.existsPlatform(id
)) {
2141 // Insert sub node of module
2143 insertPlatformTreeNode(id
);
2144 iTree
.getSelectNode().setOpening(true);
2147 // Update opening module list
2149 openingPlatformList
.insertToOpeningPlatformList(id
, fpd
);
2150 openingPlatformList
.setTreePathById(id
, iTree
.getSelectionPath());
2153 // Show fpd header in editor panel
2155 showPlatformElement(IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
, openingPlatformList
.getOpeningPlatformById(id
));
2156 this.currentOpeningPlatformIndex
= openingPlatformList
.findIndexOfListById(id
);
2163 private void saveModule(int index
) {
2164 OpeningModuleType omt
= openingModuleList
.getOpeningModuleByIndex(index
);
2166 if (getNewFilePath(DataType
.MODULE_SURFACE_AREA_EXT
) != JFileChooser
.APPROVE_OPTION
) {
2171 SaveFile
.saveMsaFile(omt
.getId().getPath(), omt
.getXmlMsa());
2172 openingModuleList
.setNew(omt
.getId(), false);
2173 openingModuleList
.setModuleSaved(omt
.getId(), true);
2174 } catch (Exception e
) {
2175 Log
.err("Save Module", e
.getMessage());
2183 private void savePackage(int index
) {
2184 OpeningPackageType opt
= openingPackageList
.getOpeningPackageByIndex(index
);
2186 if (getNewFilePath(DataType
.PACKAGE_SURFACE_AREA_EXT
) != JFileChooser
.APPROVE_OPTION
) {
2191 SaveFile
.saveSpdFile(opt
.getId().getPath(), opt
.getXmlSpd());
2192 openingPackageList
.setNew(opt
.getId(), false);
2193 openingPackageList
.setPackageSaved(opt
.getId(), true);
2194 } catch (Exception e
) {
2195 Log
.err("Save Package", e
.getMessage());
2203 private void savePlatform(int index
) {
2204 OpeningPlatformType opt
= openingPlatformList
.getOpeningPlatformByIndex(index
);
2206 if (getNewFilePath(DataType
.PACKAGE_SURFACE_AREA_EXT
) != JFileChooser
.APPROVE_OPTION
) {
2211 SaveFile
.saveFpdFile(opt
.getId().getPath(), opt
.getXmlFpd());
2212 openingPlatformList
.setNew(opt
.getId(), false);
2213 openingPlatformList
.setPlatformSaved(opt
.getId(), true);
2214 } catch (Exception e
) {
2215 Log
.err("Save Package", e
.getMessage());
2219 public void componentHidden(ComponentEvent arg0
) {
2220 // TODO Auto-generated method stub
2224 public void componentMoved(ComponentEvent arg0
) {
2225 // TODO Auto-generated method stub
2229 public void componentResized(ComponentEvent arg0
) {
2230 this.jSplitPane
.setSize(this.getWidth() - DataType
.MAIN_FRAME_WIDTH_SPACING
,
2231 this.getHeight() - DataType
.MAIN_FRAME_HEIGHT_SPACING
);
2232 this.jSplitPane
.validate();
2233 resizeDesktopPanel();
2236 public void componentShown(ComponentEvent arg0
) {
2237 // TODO Auto-generated method stub
2242 Resize JDesktopPanel
2245 private void resizeDesktopPanel() {
2246 resizeDesktopPanel(this.jDesktopPaneModule
);
2247 resizeDesktopPanel(this.jDesktopPanePackage
);
2248 resizeDesktopPanel(this.jDesktopPanePlatform
);
2252 Resize JDesktopPanel
2255 private void resizeDesktopPanel(JDesktopPane jdk
) {
2256 JInternalFrame
[] iif
= jdk
.getAllFrames();
2257 for (int index
= 0; index
< iif
.length
; index
++) {
2258 iif
[index
].setSize(jdk
.getWidth(), jdk
.getHeight());
2262 private void getCompontentsFromFrameworkDatabase() {
2263 this.vModuleList
= wt
.getAllModules();
2264 this.vPackageList
= wt
.getAllPackages();
2265 this.vPlatformList
= wt
.getAllPlatforms();
2268 private void insertModuleTreeNode(Identification id
) {
2269 iTree
.addNode(new IDefaultMutableTreeNode("Module Definitions", IDefaultMutableTreeNode
.MSA_MODULEDEFINITIONS
,
2271 iTree
.addNode(new IDefaultMutableTreeNode("Library Class Definitions",
2272 IDefaultMutableTreeNode
.MSA_LIBRARYCLASSDEFINITIONS
, true, id
));
2273 iTree
.addNode(new IDefaultMutableTreeNode("Source Files", IDefaultMutableTreeNode
.MSA_SOURCEFILES
, true, id
));
2274 iTree
.addNode(new IDefaultMutableTreeNode("Package Dependencies",
2275 IDefaultMutableTreeNode
.MSA_PACKAGEDEPENDENCIES
, true, id
));
2276 iTree
.addNode(new IDefaultMutableTreeNode("Protocols", IDefaultMutableTreeNode
.MSA_PROTOCOLS
, true, id
));
2277 iTree
.addNode(new IDefaultMutableTreeNode("Events", IDefaultMutableTreeNode
.MSA_EVENTS
, true, id
));
2278 iTree
.addNode(new IDefaultMutableTreeNode("Hobs", IDefaultMutableTreeNode
.MSA_HOBS
, true, id
));
2279 iTree
.addNode(new IDefaultMutableTreeNode("Ppis", IDefaultMutableTreeNode
.MSA_PPIS
, true, id
));
2280 iTree
.addNode(new IDefaultMutableTreeNode("Variables", IDefaultMutableTreeNode
.MSA_VARIABLES
, true, id
));
2281 iTree
.addNode(new IDefaultMutableTreeNode("Boot Modes", IDefaultMutableTreeNode
.MSA_BOOTMODES
, true, id
));
2282 iTree
.addNode(new IDefaultMutableTreeNode("System Tables", IDefaultMutableTreeNode
.MSA_SYSTEMTABLES
, true, id
));
2283 iTree
.addNode(new IDefaultMutableTreeNode("Data Hubs", IDefaultMutableTreeNode
.MSA_DATAHUBS
, true, id
));
2284 iTree
.addNode(new IDefaultMutableTreeNode("Hii Packages", IDefaultMutableTreeNode
.MSA_HIIPACKAGES
, true, id
));
2285 iTree
.addNode(new IDefaultMutableTreeNode("Guids", IDefaultMutableTreeNode
.MSA_GUIDS
, true, id
));
2286 iTree
.addNode(new IDefaultMutableTreeNode("Externs", IDefaultMutableTreeNode
.MSA_EXTERNS
, true, id
));
2287 iTree
.addNode(new IDefaultMutableTreeNode("PcdCoded", IDefaultMutableTreeNode
.MSA_PCDS
, true, id
));
2290 private void insertPackageTreeNode(Identification id
) {
2291 iTree
.addNode(new IDefaultMutableTreeNode("Package Definitions",
2292 IDefaultMutableTreeNode
.SPD_PACKAGEDEFINITIONS
, true, id
));
2293 iTree
.addNode(new IDefaultMutableTreeNode("Library Class Declarations",
2294 IDefaultMutableTreeNode
.SPD_LIBRARYCLASSDECLARATIONS
, true, id
));
2295 iTree
.addNode(new IDefaultMutableTreeNode("Msa Files", IDefaultMutableTreeNode
.SPD_MSAFILES
, false, id
));
2296 iTree
.addNode(new IDefaultMutableTreeNode("Package Headers", IDefaultMutableTreeNode
.SPD_PACKAGEHEADERS
, true,
2298 iTree
.addNode(new IDefaultMutableTreeNode("Guid Declarations", IDefaultMutableTreeNode
.SPD_GUIDDECLARATIONS
,
2300 iTree
.addNode(new IDefaultMutableTreeNode("Protocol Declarations",
2301 IDefaultMutableTreeNode
.SPD_PROTOCOLDECLARATIONS
, true, id
));
2302 iTree
.addNode(new IDefaultMutableTreeNode("Ppi Declarations", IDefaultMutableTreeNode
.SPD_PPIDECLARATIONS
,
2304 iTree
.addNode(new IDefaultMutableTreeNode("Pcd Declarations", IDefaultMutableTreeNode
.SPD_PCDDECLARATIONS
,
2308 private void insertPlatformTreeNode(Identification id
) {
2309 iTree
.addNode(new IDefaultMutableTreeNode("Platform Definitions", IDefaultMutableTreeNode
.FPD_PLATFORMDEFINITIONS
, true, id
));
2310 iTree
.addNode(new IDefaultMutableTreeNode("Flash", IDefaultMutableTreeNode
.FPD_FLASH
, true, id
));
2311 iTree
.addNode(new IDefaultMutableTreeNode("Framework Modules", IDefaultMutableTreeNode
.FPD_FRAMEWORKMODULES
,
2313 iTree
.addNode(new IDefaultMutableTreeNode("Pcd Dynamic Build Declarations",
2314 IDefaultMutableTreeNode
.FPD_PCDDYNAMICBUILDDECLARATIONS
, true, id
));
2315 iTree
.addNode(new IDefaultMutableTreeNode("Build Options", IDefaultMutableTreeNode
.FPD_BUILDOPTIONS
, true, id
));
2319 Operate when double click a tree node
2322 private void doubleClickModuleTreeNode() {
2323 Identification id
= iTree
.getSelectNode().getId();
2324 int intCategory
= iTree
.getSelectCategory();
2327 // If the node is not opened yet
2328 // Insert top level elements first
2330 //if (intCategory == IDefaultMutableTreeNode.MSA_HEADER || intCategory == IDefaultMutableTreeNode.SPD_MSAFILES) {
2331 if (intCategory
== IDefaultMutableTreeNode
.MSA_HEADER
) {
2333 if (intCategory
== IDefaultMutableTreeNode
.MSA_HEADER
) {
2334 path
= iTree
.getSelectNode().getId().getPath();
2336 if (intCategory
== IDefaultMutableTreeNode
.SPD_MSAFILES
) {
2337 path
= iTree
.getSelectNode().getId().getPath();
2342 if (intCategory
== IDefaultMutableTreeNode
.SPD_HEADER
) {
2343 path
= iTree
.getSelectNode().getId().getPath();
2347 if (intCategory
== IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
) {
2348 path
= iTree
.getSelectNode().getId().getPath();
2353 // Show editor panel
2355 if (intCategory
>= IDefaultMutableTreeNode
.MSA_HEADER
&& intCategory
< IDefaultMutableTreeNode
.SPD_HEADER
) {
2356 showModuleElement(intCategory
, openingModuleList
.getOpeningModuleById(id
));
2357 this.currentOpeningModuleIndex
= openingModuleList
.findIndexOfListById(id
);
2359 if (intCategory
>= IDefaultMutableTreeNode
.SPD_HEADER
2360 && intCategory
< IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
) {
2361 showPackageElement(intCategory
, openingPackageList
.getOpeningPackageById(id
));
2362 this.currentOpeningPackageIndex
= openingPackageList
.findIndexOfListById(id
);
2364 if (intCategory
>= IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
) {
2365 showPlatformElement(intCategory
, openingPlatformList
.getOpeningPlatformById(id
));
2366 this.currentOpeningPlatformIndex
= openingPlatformList
.findIndexOfListById(id
);
2371 Show content of editor panel via selected element
2377 private void showPlatformElement(int elementType
, OpeningPlatformType fpd
) {
2378 this.cleanDesktopPanePlatform();
2379 fpd
.setSaved(false);
2380 switch (elementType
) {
2381 case IDefaultMutableTreeNode
.FPD_PLATFORMDEFINITIONS
:
2382 FpdPlatformDefs frmFpdPlatformDefs
= new FpdPlatformDefs(fpd
.getXmlFpd());
2383 getJDesktopPanePlatform().add(frmFpdPlatformDefs
, 1);
2385 case IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
:
2386 FpdHeader frmFpdHeader
= new FpdHeader(fpd
.getXmlFpd());
2387 getJDesktopPanePlatform().add(frmFpdHeader
, 1);
2389 case IDefaultMutableTreeNode
.FPD_FLASH
:
2390 FpdFlash frmFpdFlash
= new FpdFlash(fpd
.getXmlFpd());
2391 getJDesktopPanePlatform().add(frmFpdFlash
, 1);
2393 case IDefaultMutableTreeNode
.FPD_FRAMEWORKMODULES
:
2394 FpdFrameworkModules frmFpdFrameworkModules
= new FpdFrameworkModules(fpd
.getXmlFpd());
2395 getJDesktopPanePlatform().add(frmFpdFrameworkModules
, 1);
2397 case IDefaultMutableTreeNode
.FPD_PCDDYNAMICBUILDDECLARATIONS
:
2398 FpdDynamicPcdBuildDefinitions frmFpdDynamicPcdBuildDefinitions
= new FpdDynamicPcdBuildDefinitions(
2401 getJDesktopPanePlatform().add(frmFpdDynamicPcdBuildDefinitions
, 1);
2403 case IDefaultMutableTreeNode
.FPD_BUILDOPTIONS
:
2404 FpdBuildOptions frmFpdBuildOptions
= new FpdBuildOptions(fpd
.getXmlFpd());
2405 getJDesktopPanePlatform().add(frmFpdBuildOptions
, 1);
2408 this.jTabbedPaneEditor
.setSelectedIndex(2);
2409 resizeDesktopPanel();
2413 Show content of editor panel via selected element
2419 private void showPackageElement(int elementType
, OpeningPackageType spd
) {
2420 this.cleanDesktopPanePackage();
2421 Tools
.dirForNewSpd
= spd
.getId().getPath();
2422 spd
.setSaved(false);
2423 switch (elementType
) {
2424 case IDefaultMutableTreeNode
.SPD_HEADER
:
2425 SpdHeader frmSpdHeader
= new SpdHeader(spd
.getXmlSpd());
2426 getJDesktopPanePackage().add(frmSpdHeader
, 1);
2428 case IDefaultMutableTreeNode
.SPD_PACKAGEDEFINITIONS
:
2429 SpdPackageDefinitions frmSpdPackageDefinitions
= new SpdPackageDefinitions(spd
.getXmlSpd());
2430 getJDesktopPanePackage().add(frmSpdPackageDefinitions
, 1);
2432 case IDefaultMutableTreeNode
.SPD_LIBRARYCLASSDECLARATIONS
:
2433 SpdLibClassDecls frmSlcd
= new SpdLibClassDecls(spd
.getXmlSpd());
2434 getJDesktopPanePackage().add(frmSlcd
, 1);
2436 case IDefaultMutableTreeNode
.SPD_MSAFILES
:
2437 SpdMsaFiles frmSmf
= new SpdMsaFiles(spd
.getXmlSpd());
2438 getJDesktopPanePackage().add(frmSmf
, 1);
2440 case IDefaultMutableTreeNode
.SPD_PACKAGEHEADERS
:
2441 SpdPackageHeaders frmSph
= new SpdPackageHeaders(spd
.getXmlSpd());
2442 getJDesktopPanePackage().add(frmSph
, 1);
2444 case IDefaultMutableTreeNode
.SPD_GUIDDECLARATIONS
:
2445 SpdGuidDecls frmSgd
= new SpdGuidDecls(spd
.getXmlSpd());
2446 getJDesktopPanePackage().add(frmSgd
, 1);
2448 case IDefaultMutableTreeNode
.SPD_PROTOCOLDECLARATIONS
:
2449 SpdProtocolDecls frmSprod
= new SpdProtocolDecls(spd
.getXmlSpd());
2450 getJDesktopPanePackage().add(frmSprod
, 1);
2452 case IDefaultMutableTreeNode
.SPD_PPIDECLARATIONS
:
2453 SpdPpiDecls frmSppid
= new SpdPpiDecls(spd
.getXmlSpd());
2454 getJDesktopPanePackage().add(frmSppid
, 1);
2456 case IDefaultMutableTreeNode
.SPD_PCDDECLARATIONS
:
2457 SpdPcdDefs frmSpcdd
= new SpdPcdDefs(spd
.getXmlSpd());
2458 getJDesktopPanePackage().add(frmSpcdd
, 1);
2461 this.jTabbedPaneEditor
.setSelectedIndex(1);
2462 resizeDesktopPanel();
2466 Show content of editor panel via selected element
2472 private void showModuleElement(int elementType
, OpeningModuleType msa
) {
2473 this.cleanDesktopPaneModule();
2474 switch (elementType
) {
2475 case IDefaultMutableTreeNode
.MSA_HEADER
:
2476 MsaHeader frmMsaHeader
= new MsaHeader(msa
);
2477 getJDesktopPaneModule().add(frmMsaHeader
, 1);
2479 case IDefaultMutableTreeNode
.MSA_MODULEDEFINITIONS
:
2480 ModuleDefinitions frmMd
= new ModuleDefinitions(msa
);
2481 getJDesktopPaneModule().add(frmMd
, 1);
2483 case IDefaultMutableTreeNode
.MSA_LIBRARYCLASSDEFINITIONS
:
2484 ModuleLibraryClassDefinitions frmMlcd
= new ModuleLibraryClassDefinitions(msa
);
2485 getJDesktopPaneModule().add(frmMlcd
, 1);
2487 case IDefaultMutableTreeNode
.MSA_PACKAGEDEPENDENCIES
:
2488 ModulePackageDependencies frmMpd
= new ModulePackageDependencies(msa
);
2489 getJDesktopPaneModule().add(frmMpd
, 1);
2491 case IDefaultMutableTreeNode
.MSA_SOURCEFILES
:
2492 ModuleSourceFiles frmMsf
= new ModuleSourceFiles(msa
);
2493 getJDesktopPaneModule().add(frmMsf
, 1);
2495 case IDefaultMutableTreeNode
.MSA_PROTOCOLS
:
2496 ModuleProtocols frmMp
= new ModuleProtocols(msa
);
2497 getJDesktopPaneModule().add(frmMp
, 1);
2499 case IDefaultMutableTreeNode
.MSA_EVENTS
:
2500 ModuleEvents frmMe
= new ModuleEvents(msa
);
2501 getJDesktopPaneModule().add(frmMe
, 1);
2503 case IDefaultMutableTreeNode
.MSA_HOBS
:
2504 ModuleHobs frmMh
= new ModuleHobs(msa
);
2505 getJDesktopPaneModule().add(frmMh
, 1);
2507 case IDefaultMutableTreeNode
.MSA_PPIS
:
2508 ModulePpis frmMpp
= new ModulePpis(msa
);
2509 getJDesktopPaneModule().add(frmMpp
, 1);
2511 case IDefaultMutableTreeNode
.MSA_VARIABLES
:
2512 ModuleVariables frmMv
= new ModuleVariables(msa
);
2513 getJDesktopPaneModule().add(frmMv
, 1);
2515 case IDefaultMutableTreeNode
.MSA_BOOTMODES
:
2516 ModuleBootModes frmMbm
= new ModuleBootModes(msa
);
2517 getJDesktopPaneModule().add(frmMbm
, 1);
2519 case IDefaultMutableTreeNode
.MSA_SYSTEMTABLES
:
2520 ModuleSystemTables frmMst
= new ModuleSystemTables(msa
);
2521 getJDesktopPaneModule().add(frmMst
, 1);
2523 case IDefaultMutableTreeNode
.MSA_DATAHUBS
:
2524 ModuleDataHubs frmMdh
= new ModuleDataHubs(msa
);
2525 getJDesktopPaneModule().add(frmMdh
, 1);
2527 case IDefaultMutableTreeNode
.MSA_HIIPACKAGES
:
2528 ModuleHiiPackages frmMf
= new ModuleHiiPackages(msa
);
2529 getJDesktopPaneModule().add(frmMf
, 1);
2531 case IDefaultMutableTreeNode
.MSA_GUIDS
:
2532 ModuleGuids frmGuid
= new ModuleGuids(msa
);
2533 getJDesktopPaneModule().add(frmGuid
, 1);
2535 case IDefaultMutableTreeNode
.MSA_EXTERNS
:
2536 ModuleExterns frmMex
= new ModuleExterns(msa
);
2537 getJDesktopPaneModule().add(frmMex
, 1);
2539 case IDefaultMutableTreeNode
.MSA_PCDS
:
2540 ModulePCDs frmPcd
= new ModulePCDs(msa
);
2541 getJDesktopPaneModule().add(frmPcd
, 1);
2544 this.jTabbedPaneEditor
.setSelectedIndex(0);
2545 resizeDesktopPanel();
2549 // Define operations of menu
2555 private void fileNew() {
2558 // Selece new file type
2560 NewFileChooser nfc
= new NewFileChooser(this, true);
2561 result
= nfc
.showDialog();
2563 if (result
== DataType
.RETURN_TYPE_CANCEL
) {
2566 } else if (result
== DataType
.RETURN_TYPE_MODULE_SURFACE_AREA
) {
2570 SelectModuleBelong smb
= new SelectModuleBelong(this, true, result
);
2571 result
= smb
.showDialog();
2573 if (result
== DataType
.RETURN_TYPE_CANCEL
) {
2577 } else if (result
== DataType
.RETURN_TYPE_OK
) {
2578 PackageSurfaceAreaDocument
.PackageSurfaceArea psa
= null;
2579 if (this.openingPackageList
.existsPackage(smb
.getMid().getPackageId())) {
2580 psa
= openingPackageList
.getPackageSurfaceAreaFromId(smb
.getMid().getPackageId());
2583 wt
.addModuleToPackage(smb
.getMid(), psa
);
2584 } catch (IOException e
) {
2585 Log
.err("Upddate MsaFiles of Package", e
.getMessage());
2586 e
.printStackTrace();
2588 } catch (XmlException e
) {
2589 Log
.err("Upddate MsaFiles of Package", e
.getMessage());
2590 e
.printStackTrace();
2592 } catch (Exception e
) {
2593 Log
.err("Upddate MsaFiles of Package", e
.getMessage());
2594 e
.printStackTrace();
2597 this.openModule(smb
.getMid().getPath());
2599 } else if (result
== DataType
.RETURN_TYPE_PACKAGE_SURFACE_AREA
) {
2603 SelectModuleBelong smb
= new SelectModuleBelong(this, true, result
);
2604 result
= smb
.showDialog();
2606 if (result
== DataType
.RETURN_TYPE_CANCEL
) {
2610 } else if (result
== DataType
.RETURN_TYPE_OK
) {
2612 wt
.addPackageToDatabase(smb
.getPid());
2613 } catch (Exception e
) {
2614 // TODO Auto-generated catch block
2615 e
.printStackTrace();
2617 vPackageList
.addElement(smb
.getPid());
2619 // Add new SpdHeader node to the tree
2621 IDefaultMutableTreeNode node
= new IDefaultMutableTreeNode(vPackageList
.lastElement().getName(),
2622 IDefaultMutableTreeNode
.SPD_HEADER
, true,
2623 vPackageList
.lastElement());
2624 iTree
.addNode(dmtnPackageDescription
, node
);
2625 this.openPackage(smb
.getPid().getPath());
2627 } else if (result
== DataType
.RETURN_TYPE_PLATFORM_SURFACE_AREA
) {
2629 // To new a platform
2631 SelectModuleBelong smb
= new SelectModuleBelong(this, true, result
);
2632 result
= smb
.showDialog();
2634 if (result
== DataType
.RETURN_TYPE_CANCEL
) {
2638 } else if (result
== DataType
.RETURN_TYPE_OK
) {
2640 wt
.addPlatformToDatabase(smb
.getFid());
2641 } catch (Exception e
) {
2642 // TODO Auto-generated catch block
2643 e
.printStackTrace();
2645 vPlatformList
.addElement(smb
.getFid());
2647 // Add new SpdHeader node to the tree
2649 IDefaultMutableTreeNode node
= new IDefaultMutableTreeNode(vPlatformList
.lastElement().getName(),
2650 IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
,
2651 true, vPlatformList
.lastElement());
2652 iTree
.addNode(dmtnPlatformDescription
, node
);
2653 this.openPlatform(smb
.getFid().getPath());
2662 private void open() {
2663 JFileChooser fc
= new JFileChooser(Workspace
.getCurrentWorkspace());
2664 fc
.setAcceptAllFileFilterUsed(false);
2665 IFileFilter iffM
= new IFileFilter(DataType
.MODULE_SURFACE_AREA_EXT
);
2666 IFileFilter iffP
= new IFileFilter(DataType
.PACKAGE_SURFACE_AREA_EXT
);
2667 IFileFilter iffF
= new IFileFilter(DataType
.PLATFORM_SURFACE_AREA_EXT
);
2668 fc
.addChoosableFileFilter(iffM
);
2669 fc
.addChoosableFileFilter(iffP
);
2670 fc
.addChoosableFileFilter(iffF
);
2671 fc
.setFileFilter(iffM
);
2673 int result
= fc
.showOpenDialog(new JPanel());
2675 if (result
== JFileChooser
.APPROVE_OPTION
) {
2676 String path
= fc
.getSelectedFile().getPath();
2677 String match
= path
.substring(path
.length() - 4);
2678 if (match
.equals(DataType
.FILE_EXT_SEPARATOR
+ DataType
.MODULE_SURFACE_AREA_EXT
)) {
2680 } else if (match
.equals(DataType
.FILE_EXT_SEPARATOR
+ DataType
.PACKAGE_SURFACE_AREA_EXT
)) {
2682 } else if (match
.equals(DataType
.FILE_EXT_SEPARATOR
+ DataType
.PLATFORM_SURFACE_AREA_EXT
)) {
2692 private void close() {
2693 switch (this.jTabbedPaneEditor
.getSelectedIndex()) {
2695 // Current is module
2698 if (this.currentOpeningModuleIndex
> -1) {
2699 if (!openingModuleList
.getModuleSaved(currentOpeningModuleIndex
)) {
2700 int result
= showSaveDialog();
2701 if (result
== JOptionPane
.YES_OPTION
) {
2704 if (result
== JOptionPane
.NO_OPTION
) {
2707 if (result
== JOptionPane
.CANCEL_OPTION
) {
2711 iTree
.removeNodeChildrenByPath(openingModuleList
.getTreePathByIndex(currentOpeningModuleIndex
));
2712 this.openingModuleList
.removeFromOpeningModuleListByIndex(this.currentOpeningModuleIndex
);
2713 this.cleanDesktopPaneModule();
2714 this.currentOpeningModuleIndex
= -1;
2718 // Current is package
2721 if (this.currentOpeningPackageIndex
> -1) {
2722 if (!openingPackageList
.getPackageSaved(currentOpeningPackageIndex
)) {
2723 int result
= showSaveDialog();
2724 if (result
== JOptionPane
.YES_OPTION
) {
2727 if (result
== JOptionPane
.NO_OPTION
) {
2730 if (result
== JOptionPane
.CANCEL_OPTION
) {
2734 iTree
.removeNodeChildrenByPath(openingPackageList
.getTreePathByIndex(currentOpeningPackageIndex
));
2735 this.openingPackageList
.removeFromOpeningPackageListByIndex(this.currentOpeningPackageIndex
);
2736 this.cleanDesktopPanePackage();
2737 this.currentOpeningPackageIndex
= -1;
2741 // Current is platform
2744 if (this.currentOpeningPlatformIndex
> -1) {
2745 if (!openingPlatformList
.getPlatformSaved(currentOpeningPlatformIndex
)) {
2746 int result
= showSaveDialog();
2747 if (result
== JOptionPane
.YES_OPTION
) {
2750 if (result
== JOptionPane
.NO_OPTION
) {
2753 if (result
== JOptionPane
.CANCEL_OPTION
) {
2757 iTree
.removeNodeChildrenByPath(openingPlatformList
.getTreePathByIndex(currentOpeningPlatformIndex
));
2758 this.openingPlatformList
.removeFromOpeningPlatformListByIndex(this.currentOpeningPlatformIndex
);
2759 this.cleanDesktopPanePlatform();
2760 this.currentOpeningPlatformIndex
= -1;
2767 Close all opening files and clean all showing internal frame
2770 private void closeAll() {
2772 if (!openingModuleList
.isSaved() || !openingPackageList
.isSaved() || !openingPlatformList
.isSaved()) {
2773 result
= showSaveDialog();
2775 if (result
== JOptionPane
.YES_OPTION
) {
2778 if (result
== JOptionPane
.NO_OPTION
) {
2781 if (result
== JOptionPane
.CANCEL_OPTION
) {
2784 this.cleanDesktopPane();
2785 this.getCompontentsFromFrameworkDatabase();
2786 openingModuleList
.removeAllFromOpeningModuleList();
2787 openingPackageList
.removeAllFromOpeningPackageList();
2788 openingPlatformList
.removeAllFromOpeningPlatformList();
2789 this.makeEmptyTree();
2793 Save currentModule when press button OK
2796 private void save() {
2797 switch (this.jTabbedPaneEditor
.getSelectedIndex()) {
2799 if (this.currentOpeningModuleIndex
> -1) {
2800 saveModule(this.currentOpeningModuleIndex
);
2804 if (this.currentOpeningPackageIndex
> -1) {
2805 savePackage(this.currentOpeningPackageIndex
);
2809 if (this.currentOpeningPlatformIndex
> -1) {
2810 savePlatform(this.currentOpeningPlatformIndex
);
2816 private void saveAs() {
2820 private void saveAll() {
2824 for (int index
= 0; index
< openingModuleList
.size(); index
++) {
2825 if (!openingModuleList
.getModuleSaved(index
)) {
2831 // Save all packages
2833 for (int index
= 0; index
< openingPackageList
.size(); index
++) {
2834 if (!openingPackageList
.getPackageSaved(index
)) {
2840 // Save all platforms
2842 for (int index
= 0; index
< openingPlatformList
.size(); index
++) {
2843 if (!openingPlatformList
.getPlatformSaved(index
)) {
2844 savePlatform(index
);
2850 To save changed items before exit.
2853 private void exit() {
2855 if (!openingModuleList
.isSaved() || !openingPackageList
.isSaved() || !openingPlatformList
.isSaved()) {
2856 result
= showSaveDialog();
2858 if (result
== JOptionPane
.YES_OPTION
) {
2861 if (result
== JOptionPane
.NO_OPTION
) {
2864 if (result
== JOptionPane
.CANCEL_OPTION
) {
2872 Switch current workspace to others
2875 private void changeWorkspace() {
2876 SwitchWorkspace sw
= new SwitchWorkspace(this, true);
2877 int result
= sw
.showDialog();
2878 if (result
== DataType
.RETURN_TYPE_CANCEL
) {
2880 } else if (result
== DataType
.RETURN_TYPE_OK
) {
2882 // Reinit whole window
2885 this.setTitle(projectName
+ " " + projectVersion
+ " " + "- [" + Workspace
.getCurrentWorkspace() + "]");
2891 Show Tool Chain Configuration Dialog to setup Tool Chain
2894 private void setupToolChainConfiguration() {
2895 ToolChainConfig tcc
= new ToolChainConfig(this, true);
2896 int result
= tcc
.showDialog();
2898 if (result
== DataType
.RETURN_TYPE_CANCEL
) {
2907 private void cloneItem() {
2911 // Check if there is any item can be cloned
2913 if (iTree
.getSelectionPath() == null) {
2914 Log
.err("Please select a target to clone!");
2917 int category
= iTree
.getSelectCategory();
2918 Identification id
= iTree
.getSelectNode().getId();
2919 if (category
== IDefaultMutableTreeNode
.MODULE
|| category
== IDefaultMutableTreeNode
.PACKAGE
2920 || category
== IDefaultMutableTreeNode
.PLATFORM
) {
2921 Log
.err("Please select a target to clone!");
2925 if (category
== IDefaultMutableTreeNode
.WORKSPACE
) {
2926 mode
= DataType
.RETURN_TYPE_WORKSPACE
;
2929 if (category
>= IDefaultMutableTreeNode
.MSA_HEADER
&& category
< IDefaultMutableTreeNode
.SPD_HEADER
) {
2930 mode
= DataType
.RETURN_TYPE_MODULE_SURFACE_AREA
;
2932 if (category
>= IDefaultMutableTreeNode
.SPD_HEADER
&& category
< IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
) {
2933 mode
= DataType
.RETURN_TYPE_PACKAGE_SURFACE_AREA
;
2935 if (category
>= IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
) {
2936 mode
= DataType
.RETURN_TYPE_PLATFORM_SURFACE_AREA
;
2939 Clone c
= new Clone(this, true, mode
, id
);
2940 int result
= c
.showDialog();
2942 if (result
== DataType
.RETURN_TYPE_CANCEL
) {
2945 if (result
== DataType
.RETURN_TYPE_WORKSPACE
) {
2946 Tools
.showInformationMessage("Workspace Clone Finished");
2948 if (result
== DataType
.RETURN_TYPE_MODULE_SURFACE_AREA
) {
2949 Tools
.showInformationMessage("Module Surface Area Clone Finished");
2950 vModuleList
.addElement(c
.getMid());
2952 // Add new MsaHeader node to the tree
2954 IDefaultMutableTreeNode node
= new IDefaultMutableTreeNode(vModuleList
.lastElement().getName(),
2955 IDefaultMutableTreeNode
.MSA_HEADER
, true,
2956 vModuleList
.lastElement());
2957 iTree
.addNode(dmtnModuleDescription
, node
);
2959 if (result
== DataType
.RETURN_TYPE_PACKAGE_SURFACE_AREA
) {
2960 Tools
.showInformationMessage("Package Surface Area Clone Finished");
2961 vPackageList
.addElement(c
.getPid());
2963 // Add new SpdHeader node to the tree
2965 IDefaultMutableTreeNode node
= new IDefaultMutableTreeNode(vPackageList
.lastElement().getName(),
2966 IDefaultMutableTreeNode
.SPD_HEADER
, true,
2967 vPackageList
.lastElement());
2968 iTree
.addNode(dmtnPackageDescription
, node
);
2970 if (result
== DataType
.RETURN_TYPE_PLATFORM_SURFACE_AREA
) {
2971 Tools
.showInformationMessage("Platform Surface Area Clone Finished");
2972 vPlatformList
.addElement(c
.getFid());
2974 // Add new SpdHeader node to the tree
2976 IDefaultMutableTreeNode node
= new IDefaultMutableTreeNode(vPlatformList
.lastElement().getName(),
2977 IDefaultMutableTreeNode
.FPD_PLATFORMHEADER
,
2978 true, vPlatformList
.lastElement());
2979 iTree
.addNode(dmtnPlatformDescription
, node
);
2980 //this.openPlatform(c.getFid().getPath());
2982 if (result
== DataType
.RETURN_TYPE_OK
) {
2987 public void valueChanged(TreeSelectionEvent arg0
) {
2988 // TODO Auto-generated method stub
2992 public void menuCanceled(MenuEvent arg0
) {
2993 // TODO Auto-generated method stub
2997 public void menuDeselected(MenuEvent arg0
) {
2998 // TODO Auto-generated method stub
3002 public void menuSelected(MenuEvent arg0
) {
3003 if (arg0
.getSource() == jMenuFile
) {
3005 // Enable close/close all if some files are opened
3007 jMenuItemFileClose
.setEnabled(openingModuleList
.isOpend() || openingPackageList
.isOpend()
3008 || openingPlatformList
.isOpend());
3009 jMenuItemFileCloseAll
.setEnabled(openingModuleList
.isOpend() || openingPackageList
.isOpend()
3010 || openingPlatformList
.isOpend());
3013 // Enable save/save all if some files are changed
3015 jMenuItemFileSave
.setEnabled(!openingModuleList
.isSaved() || !openingPackageList
.isSaved()
3016 || !openingPlatformList
.isSaved());
3017 jMenuItemFileSaveAll
.setEnabled(!openingModuleList
.isSaved() || !openingPackageList
.isSaved()
3018 || !openingPlatformList
.isSaved());
3021 if (arg0
.getSource() == jMenuTools
) {
3023 // Enable clone when select some items
3025 if (iTree
.getSelectionPath() == null) {
3026 jMenuItemToolsClone
.setEnabled(false);
3028 int category
= iTree
.getSelectCategory();
3029 if (category
== IDefaultMutableTreeNode
.MODULE
|| category
== IDefaultMutableTreeNode
.PACKAGE
3030 || category
== IDefaultMutableTreeNode
.PLATFORM
) {
3031 jMenuItemToolsClone
.setEnabled(false);
3033 jMenuItemToolsClone
.setEnabled(true);