]> git.proxmox.com Git - mirror_edk2.git/blame - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/FrameworkWizardUI.java
1. Add a splash screen when starting, fix EDKT228
[mirror_edk2.git] / Tools / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / FrameworkWizardUI.java
CommitLineData
a13899c5 1/** @file\r
2 \r
3 The main GUI for module editor. \r
4 \r
5 Copyright (c) 2006, Intel Corporation\r
6 All rights reserved. This program and the accompanying materials\r
7 are licensed and made available under the terms and conditions of the BSD License\r
8 which accompanies this distribution. The full text of the license may be found at\r
9 http://opensource.org/licenses/bsd-license.php\r
10 \r
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
13 \r
14 **/\r
15\r
16package org.tianocore.frameworkwizard;\r
17\r
18import java.awt.event.ActionEvent;\r
19import java.awt.event.ComponentEvent;\r
a13899c5 20import java.awt.event.MouseEvent;\r
21import java.awt.event.MouseListener;\r
22import java.awt.event.WindowEvent;\r
23import java.io.IOException;\r
24import java.util.Vector;\r
25\r
26import javax.swing.JButton;\r
27import javax.swing.JCheckBoxMenuItem;\r
28import javax.swing.JDesktopPane;\r
29import javax.swing.JFileChooser;\r
30import javax.swing.JFrame;\r
31import javax.swing.JInternalFrame;\r
32import javax.swing.JMenu;\r
33import javax.swing.JMenuBar;\r
34import javax.swing.JMenuItem;\r
35import javax.swing.JOptionPane;\r
36import javax.swing.JPanel;\r
37import javax.swing.JScrollPane;\r
38import javax.swing.JSplitPane;\r
39import javax.swing.JTabbedPane;\r
40import javax.swing.event.MenuEvent;\r
41import javax.swing.event.MenuListener;\r
42import javax.swing.event.TreeSelectionEvent;\r
43import javax.swing.event.TreeSelectionListener;\r
44\r
45import org.apache.xmlbeans.XmlException;\r
a13899c5 46import org.tianocore.PackageSurfaceAreaDocument;\r
a13899c5 47import org.tianocore.frameworkwizard.common.DataType;\r
739c6b04 48import org.tianocore.frameworkwizard.common.GlobalData;\r
a13899c5 49import org.tianocore.frameworkwizard.common.IFileFilter;\r
a13899c5 50import org.tianocore.frameworkwizard.common.Log;\r
a13899c5 51import org.tianocore.frameworkwizard.common.SaveFile;\r
52import org.tianocore.frameworkwizard.common.Tools;\r
79cb6fdb 53import org.tianocore.frameworkwizard.common.Identifications.Identification;\r
79cb6fdb 54import org.tianocore.frameworkwizard.common.Identifications.OpeningModuleType;\r
79cb6fdb 55import org.tianocore.frameworkwizard.common.Identifications.OpeningPackageType;\r
79cb6fdb 56import org.tianocore.frameworkwizard.common.Identifications.OpeningPlatformType;\r
55e83b18 57import org.tianocore.frameworkwizard.common.find.FindResult;\r
a13899c5 58import org.tianocore.frameworkwizard.common.ui.IDefaultMutableTreeNode;\r
59import org.tianocore.frameworkwizard.common.ui.IDesktopManager;\r
60import org.tianocore.frameworkwizard.common.ui.IFrame;\r
61import org.tianocore.frameworkwizard.common.ui.ITree;\r
5a24e806 62import org.tianocore.frameworkwizard.far.createui.CreateStepOne;\r
63import org.tianocore.frameworkwizard.far.deleteui.DeleteStepOne;\r
64import org.tianocore.frameworkwizard.far.installui.InstallStepOne;\r
65import org.tianocore.frameworkwizard.far.updateui.UpdateStepOne;\r
79cb6fdb 66import org.tianocore.frameworkwizard.module.Identifications.ModuleIdentification;\r
a13899c5 67import org.tianocore.frameworkwizard.module.ui.ModuleBootModes;\r
68import org.tianocore.frameworkwizard.module.ui.ModuleDataHubs;\r
a13899c5 69import org.tianocore.frameworkwizard.module.ui.ModuleEvents;\r
70import org.tianocore.frameworkwizard.module.ui.ModuleExterns;\r
71import org.tianocore.frameworkwizard.module.ui.ModuleGuids;\r
72import org.tianocore.frameworkwizard.module.ui.ModuleHiiPackages;\r
73import org.tianocore.frameworkwizard.module.ui.ModuleHobs;\r
74import org.tianocore.frameworkwizard.module.ui.ModuleLibraryClassDefinitions;\r
75import org.tianocore.frameworkwizard.module.ui.ModulePCDs;\r
76import org.tianocore.frameworkwizard.module.ui.ModulePackageDependencies;\r
77import org.tianocore.frameworkwizard.module.ui.ModulePpis;\r
78import org.tianocore.frameworkwizard.module.ui.ModuleProtocols;\r
79import org.tianocore.frameworkwizard.module.ui.ModuleSourceFiles;\r
80import org.tianocore.frameworkwizard.module.ui.ModuleSystemTables;\r
81import org.tianocore.frameworkwizard.module.ui.ModuleVariables;\r
82import org.tianocore.frameworkwizard.module.ui.MsaHeader;\r
83import org.tianocore.frameworkwizard.packaging.PackageIdentification;\r
84import org.tianocore.frameworkwizard.packaging.ui.SpdGuidDecls;\r
85import org.tianocore.frameworkwizard.packaging.ui.SpdHeader;\r
86import org.tianocore.frameworkwizard.packaging.ui.SpdLibClassDecls;\r
87import org.tianocore.frameworkwizard.packaging.ui.SpdMsaFiles;\r
a13899c5 88import org.tianocore.frameworkwizard.packaging.ui.SpdPackageHeaders;\r
89import org.tianocore.frameworkwizard.packaging.ui.SpdPcdDefs;\r
90import org.tianocore.frameworkwizard.packaging.ui.SpdPpiDecls;\r
91import org.tianocore.frameworkwizard.packaging.ui.SpdProtocolDecls;\r
92import org.tianocore.frameworkwizard.platform.PlatformIdentification;\r
93import org.tianocore.frameworkwizard.platform.ui.FpdBuildOptions;\r
94import org.tianocore.frameworkwizard.platform.ui.FpdDynamicPcdBuildDefinitions;\r
95import org.tianocore.frameworkwizard.platform.ui.FpdFlash;\r
96import org.tianocore.frameworkwizard.platform.ui.FpdFrameworkModules;\r
97import org.tianocore.frameworkwizard.platform.ui.FpdHeader;\r
98import org.tianocore.frameworkwizard.platform.ui.FpdPlatformDefs;\r
99import org.tianocore.frameworkwizard.workspace.Workspace;\r
100import org.tianocore.frameworkwizard.workspace.WorkspaceTools;\r
101import org.tianocore.frameworkwizard.workspace.ui.SwitchWorkspace;\r
dbf5dd75 102import org.tianocore.frameworkwizard.toolchain.Preferences;\r
a13899c5 103\r
104/**\r
43dc3851 105 The class is used to show main GUI of FrameworkWizard\r
106 It extends IFrame implements MouseListener, TreeSelectionListener, ComponentListener and MenuListener\r
a13899c5 107\r
108 **/\r
8792f60f 109public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSelectionListener, MenuListener {\r
a13899c5 110 ///\r
111 /// Define class Serial Version UID\r
112 ///\r
113 private static final long serialVersionUID = -7103240960573031772L;\r
92e29378 114\r
43dc3851 115 ///\r
739c6b04 116 /// Used to record current operation target\r
43dc3851 117 ///\r
a13899c5 118 private int currentOpeningModuleIndex = -1;\r
119\r
120 private int currentOpeningPackageIndex = -1;\r
121\r
122 private int currentOpeningPlatformIndex = -1;\r
123\r
43dc3851 124 ///\r
125 /// Used to generate tree structure\r
126 ///\r
a13899c5 127 private IDefaultMutableTreeNode dmtnRoot = null;\r
128\r
129 private IDefaultMutableTreeNode dmtnModuleDescription = null;\r
130\r
131 private IDefaultMutableTreeNode dmtnPackageDescription = null;\r
132\r
133 private IDefaultMutableTreeNode dmtnPlatformDescription = null;\r
134\r
43dc3851 135 ///\r
136 /// Used for UI\r
137 ///\r
a13899c5 138 private JPanel jContentPane = null;\r
139\r
140 private JMenuBar jMenuBar = null;\r
141\r
142 private JMenu jMenuFile = null;\r
143\r
144 private JMenuItem jMenuItemFileNew = null;\r
145\r
146 private JMenuItem jMenuItemFileSaveAs = null;\r
147\r
148 private JMenuItem jMenuItemFileExit = null;\r
149\r
150 private JMenu jMenuEdit = null;\r
151\r
152 private JDesktopPane jDesktopPaneModule = null;\r
153\r
154 private JDesktopPane jDesktopPanePackage = null;\r
155\r
156 private JDesktopPane jDesktopPanePlatform = null;\r
157\r
158 private JTabbedPane jTabbedPaneTree = null;\r
159\r
160 private JTabbedPane jTabbedPaneEditor = null;\r
161\r
162 private IDesktopManager iDesktopManager = new IDesktopManager();\r
163\r
164 private JScrollPane jScrollPaneTree = null;\r
165\r
166 private ITree iTree = null;\r
167\r
168 private JMenu jMenuHelp = null;\r
169\r
170 private JMenuItem jMenuItemHelpAbout = null;\r
171\r
172 private JMenuItem jMenuItemEditDelete = null;\r
173\r
174 private WorkspaceTools wt = new WorkspaceTools();\r
175\r
176 private JMenuItem jMenuItemFileSave = null;\r
177\r
178 private JMenuItem jMenuItemFileClose = null;\r
179\r
180 private JMenu jMenuTools = null;\r
181\r
182 private JMenu jMenuWindow = null;\r
183\r
184 private JPanel jPanelOperation = null;\r
185\r
186 private JButton jButtonOk = null;\r
187\r
188 private JButton jButtonCancel = null;\r
189\r
190 private JMenuItem jMenuItemFileOpen = null;\r
191\r
192 private JMenuItem jMenuItemFileCloseAll = null;\r
193\r
194 private JMenuItem jMenuItemFileSaveAll = null;\r
195\r
196 private JMenuItem jMenuItemFilePageSetup = null;\r
197\r
198 private JMenuItem jMenuItemFilePrint = null;\r
199\r
200 private JMenuItem jMenuItemFileImport = null;\r
201\r
202 private JMenuItem jMenuItemFileProperties = null;\r
203\r
204 private JMenu jMenuFileRecentFiles = null;\r
205\r
206 private JSplitPane jSplitPane = null;\r
207\r
208 private JMenuItem jMenuItemEditUndo = null;\r
209\r
210 private JMenuItem jMenuItemEditRedo = null;\r
211\r
212 private JMenuItem jMenuItemEditCut = null;\r
213\r
214 private JMenuItem jMenuItemEditCopy = null;\r
215\r
216 private JMenuItem jMenuItemEditPaste = null;\r
217\r
218 private JMenuItem jMenuItemEditSelectAll = null;\r
219\r
a13899c5 220 private JMenuItem jMenuItemEditFindNext = null;\r
221\r
222 private JMenu jMenuView = null;\r
223\r
224 private JMenu jMenuViewToolbars = null;\r
225\r
226 private JCheckBoxMenuItem jCheckBoxMenuItemViewToolbarsFile = null;\r
227\r
228 private JCheckBoxMenuItem jCheckBoxMenuItemViewToolbarsEdit = null;\r
229\r
230 private JCheckBoxMenuItem jCheckBoxMenuItemViewToolbarsWindow = null;\r
231\r
232 private JMenuItem jMenuItemViewStandard = null;\r
233\r
234 private JMenuItem jMenuItemViewAdvanced = null;\r
235\r
236 private JMenu jMenuProject = null;\r
237\r
238 private JMenuItem jMenuItemProjectAdmin = null;\r
239\r
240 private JMenuItem jMenuItemProjectChangeWorkspace = null;\r
241\r
dbf5dd75 242 private JMenuItem jMenuItemToolsBuildPreferences = null;\r
a13899c5 243\r
55e83b18 244 // private JCheckBoxMenuItem jCheckBoxMenuItemProjectBuildTargetsDebug = null;\r
a13899c5 245\r
55e83b18 246 // private JCheckBoxMenuItem jCheckBoxMenuItemProjectBuildTargetsRelease = null;\r
a13899c5 247\r
248 private JMenuItem jMenuItemToolsToolChainConfiguration = null;\r
249\r
250 private JMenuItem jMenuItemToolsClone = null;\r
251\r
252 private JMenuItem jMenuItemToolsCodeScan = null;\r
253\r
254 private JMenuItem jMenuItemWindowDisplaySide = null;\r
255\r
256 private JMenuItem jMenuItemWindowDisplayTopBottom = null;\r
257\r
258 private JMenuItem jMenuItemViewXML = null;\r
259\r
260 private JMenuItem jMenuItemWindowTabView = null;\r
261\r
262 private JMenuItem jMenuItemWindowSource = null;\r
263\r
264 private JMenuItem jMenuItemWindowXML = null;\r
265\r
266 private JMenuItem jMenuItemWindowPreferences = null;\r
267\r
268 private JMenuItem jMenuItemHelpContents = null;\r
269\r
270 private JMenuItem jMenuItemHelpIndex = null;\r
271\r
272 private JMenuItem jMenuItemHelpSearch = null;\r
273\r
92e29378 274 private JMenuItem jMenuItemProjectInstallFar = null;\r
a13899c5 275\r
92e29378 276 private JMenuItem jMenuItemProjectUpdateFar = null;\r
a13899c5 277\r
92e29378 278 private JMenuItem jMenuItemProjectRemoveFar = null;\r
a13899c5 279\r
43dc3851 280 private JMenuItem jMenuItemProjectCreateFar = null;\r
92e29378 281\r
8792f60f 282 private JMenu jMenuEditFind = null;\r
283\r
284 private JMenuItem jMenuItemEditFindPcd = null;\r
285\r
286 private JMenuItem jMenuItemEditFindLibraryClass = null;\r
287\r
288 private JMenuItem jMenuItemEditFindPpi = null;\r
289\r
290 private JMenuItem jMenuItemEditFindProtocol = null;\r
291\r
292 private JMenuItem jMenuItemEditFindGuid = null;\r
293\r
294 private JMenuItem jMenuItemEditFindLibraryInstance = null;\r
295\r
43dc3851 296 ///\r
297 /// A static definition for this class itself\r
298 ///\r
8f4f211c 299 private static FrameworkWizardUI fwui = null;\r
92e29378 300\r
43dc3851 301 /**\r
302 If the class hasn't an instnace, new one.\r
303 \r
304 @return FrameworkWizardUI The instance of this class\r
305 \r
306 **/\r
8f4f211c 307 public static FrameworkWizardUI getInstance() {\r
308 if (fwui == null) {\r
309 fwui = new FrameworkWizardUI();\r
310 }\r
311 return fwui;\r
312 }\r
a13899c5 313\r
314 /**\r
315 This method initializes jMenuBar \r
316 \r
317 @return javax.swing.JMenuBar Main menu bar for the entire GUI\r
318 \r
319 **/\r
320 private JMenuBar getjJMenuBar() {\r
321 if (jMenuBar == null) {\r
322 jMenuBar = new JMenuBar();\r
323 jMenuBar.setPreferredSize(new java.awt.Dimension(0, 18));\r
324 jMenuBar.add(getJMenuFile());\r
325 jMenuBar.add(getJMenuEdit());\r
326 jMenuBar.add(getJMenuView());\r
327 jMenuBar.add(getJMenuProject());\r
328 jMenuBar.add(getJMenuTools());\r
329 jMenuBar.add(getJMenuWindow());\r
330 jMenuBar.add(getJMenuHelp());\r
331 }\r
332 return jMenuBar;\r
333 }\r
334\r
335 /**\r
336 This method initializes jSplitPane\r
337 \r
338 @return javax.swing.JSplitPane\r
339 \r
340 **/\r
341 private JSplitPane getJSplitPane() {\r
342 if (jSplitPane == null) {\r
343 jSplitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, getJTabbedPaneTree(), getJTabbedPaneEditor());\r
344 jSplitPane.setBounds(new java.awt.Rectangle(0, 1, DataType.MAIN_FRAME_SPLIT_PANEL_PREFERRED_SIZE_WIDTH,\r
345 DataType.MAIN_FRAME_SPLIT_PANEL_PREFERRED_SIZE_HEIGHT));\r
346 jSplitPane.addComponentListener(this);\r
347 }\r
348 return jSplitPane;\r
349 }\r
350\r
351 /**\r
352 This method initializes jTabbedPaneEditor \r
353 \r
354 @return javax.swing.JTabbedPane \r
355 \r
43dc3851 356 **/\r
a13899c5 357 private JTabbedPane getJTabbedPaneEditor() {\r
358 if (jTabbedPaneEditor == null) {\r
359 jTabbedPaneEditor = new JTabbedPane();\r
360 jTabbedPaneEditor.setBounds(new java.awt.Rectangle(DataType.MAIN_FRAME_EDITOR_PANEL_LOCATION_X,\r
361 DataType.MAIN_FRAME_EDITOR_PANEL_LOCATION_Y,\r
362 DataType.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH,\r
363 DataType.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT));\r
364 jTabbedPaneEditor\r
365 .setMinimumSize(new java.awt.Dimension(\r
366 DataType.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH,\r
367 DataType.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT));\r
a13899c5 368 jTabbedPaneEditor.addTab("Module", null, getJDesktopPaneModule(), null);\r
369 jTabbedPaneEditor.addTab("Package", null, getJDesktopPanePackage(), null);\r
370 jTabbedPaneEditor.addTab("Platform", null, getJDesktopPanePlatform(), null);\r
371 }\r
372 return jTabbedPaneEditor;\r
373 }\r
374\r
375 /**\r
376 This method initializes jTabbedPaneTree\r
377 \r
378 @return javax.swing.JTabbedPane \r
379 \r
43dc3851 380 **/\r
a13899c5 381 private JTabbedPane getJTabbedPaneTree() {\r
382 if (jTabbedPaneTree == null) {\r
383 jTabbedPaneTree = new JTabbedPane();\r
384 jTabbedPaneTree\r
385 .setPreferredSize(new java.awt.Dimension(\r
386 DataType.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_WIDTH,\r
387 DataType.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_HEIGHT));\r
388 jTabbedPaneTree\r
389 .setMinimumSize(new java.awt.Dimension(DataType.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_WIDTH,\r
390 DataType.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_HEIGHT));\r
391 jTabbedPaneTree.addTab("Workspace Explorer", null, getJScrollPaneTree(), null);\r
392 }\r
393 return jTabbedPaneTree;\r
394 }\r
395\r
396 /**\r
397 This method initializes jMenuFile \r
398 \r
399 @return javax.swing.JMenu jMenuModule\r
400 \r
401 **/\r
402 private JMenu getJMenuFile() {\r
403 if (jMenuFile == null) {\r
43dc3851 404 //\r
405 // Set jMenuFile's attributes\r
406 //\r
a13899c5 407 jMenuFile = new JMenu();\r
408 jMenuFile.setText("File");\r
409 jMenuFile.setMnemonic('F');\r
43dc3851 410 jMenuFile.addMenuListener(this);\r
411\r
412 //\r
413 // Add sub menu items\r
414 //\r
a13899c5 415 jMenuFile.add(getJMenuItemFileNew());\r
416 jMenuFile.add(getJMenuItemFileOpen());\r
417 jMenuFile.add(getJMenuItemFileClose());\r
418 jMenuFile.add(getJMenuItemFileCloseAll());\r
419 jMenuFile.addSeparator();\r
43dc3851 420\r
a13899c5 421 jMenuFile.add(getJMenuFileRecentFiles());\r
a13899c5 422 jMenuFile.add(getJMenuItemFileSave());\r
423 jMenuFile.add(getJMenuItemFileSaveAs());\r
424 jMenuFile.add(getJMenuItemFileSaveAll());\r
425 jMenuFile.addSeparator();\r
43dc3851 426\r
a13899c5 427 jMenuFile.add(getJMenuItemFilePageSetup());\r
428 jMenuFile.add(getJMenuItemFilePrint());\r
a13899c5 429 jMenuFile.add(getJMenuItemFileImport());\r
a13899c5 430 jMenuFile.add(getJMenuItemFileProperties());\r
43dc3851 431\r
a13899c5 432 jMenuFile.add(getJMenuItemFileExit());\r
a13899c5 433 }\r
434 return jMenuFile;\r
435 }\r
436\r
437 /**\r
438 This method initializes jMenuItemFileSaveAs \r
439 \r
440 @return javax.swing.JMenuItem jMenuItemFileSaveAs\r
441 \r
442 **/\r
443 private JMenuItem getJMenuItemFileSaveAs() {\r
444 if (jMenuItemFileSaveAs == null) {\r
445 jMenuItemFileSaveAs = new JMenuItem();\r
446 jMenuItemFileSaveAs.setText("Save As...");\r
447 jMenuItemFileSaveAs.setMnemonic('a');\r
448 jMenuItemFileSaveAs.addActionListener(this);\r
449 jMenuItemFileSaveAs.setEnabled(false);\r
450 jMenuItemFileSaveAs.setVisible(false);\r
451 }\r
452 return jMenuItemFileSaveAs;\r
453 }\r
454\r
455 /**\r
456 This method initializes jMenuItemModuleExit \r
457 \r
458 @return javax.swing.JMenuItem jMenuItemModuleExit\r
459 \r
460 **/\r
461 private JMenuItem getJMenuItemFileExit() {\r
462 if (jMenuItemFileExit == null) {\r
463 jMenuItemFileExit = new JMenuItem();\r
464 jMenuItemFileExit.setText("Exit");\r
465 jMenuItemFileExit.setMnemonic('x');\r
466 jMenuItemFileExit.addActionListener(this);\r
467 }\r
468 return jMenuItemFileExit;\r
469 }\r
470\r
471 /**\r
472 This method initializes jMenuEdit \r
473 \r
474 @return javax.swing.JMenu jMenuEdit\r
475 \r
476 **/\r
477 private JMenu getJMenuEdit() {\r
478 if (jMenuEdit == null) {\r
43dc3851 479 //\r
480 // Set jMenuEdit's attributes\r
481 //\r
a13899c5 482 jMenuEdit = new JMenu();\r
483 jMenuEdit.setText("Edit");\r
484 jMenuEdit.setMnemonic('E');\r
55e83b18 485 jMenuEdit.setVisible(true);\r
43dc3851 486\r
487 //\r
488 // Add sub menu items\r
489 //\r
a13899c5 490 jMenuEdit.add(getJMenuItemEditUndo());\r
491 jMenuEdit.add(getJMenuItemEditRedo());\r
8792f60f 492 //jMenuEdit.addSeparator();\r
43dc3851 493\r
a13899c5 494 jMenuEdit.add(getJMenuItemEditCut());\r
495 jMenuEdit.add(getJMenuItemEditCopy());\r
496 jMenuEdit.add(getJMenuItemEditPaste());\r
497 jMenuEdit.add(getJMenuItemEditDelete());\r
8792f60f 498 //jMenuEdit.addSeparator();\r
43dc3851 499\r
a13899c5 500 jMenuEdit.add(getJMenuItemEditSelectAll());\r
8792f60f 501 jMenuEdit.add(getJMenuEditFind());\r
a13899c5 502 jMenuEdit.add(getJMenuItemEditFindNext());\r
8792f60f 503 //jMenuEdit.addSeparator();\r
a13899c5 504 }\r
505 return jMenuEdit;\r
506 }\r
507\r
508 /**\r
509 This method initializes jDesktopPane \r
510 \r
511 @return javax.swing.JDesktopPane jDesktopPane\r
512 \r
513 **/\r
514 private JDesktopPane getJDesktopPaneModule() {\r
515 if (jDesktopPaneModule == null) {\r
516 jDesktopPaneModule = new JDesktopPane();\r
517 jDesktopPaneModule\r
518 .setBounds(new java.awt.Rectangle(DataType.MAIN_FRAME_EDITOR_PANEL_LOCATION_X,\r
519 DataType.MAIN_FRAME_EDITOR_PANEL_LOCATION_Y,\r
520 DataType.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH,\r
521 DataType.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT));\r
522 jDesktopPaneModule\r
523 .setMinimumSize(new java.awt.Dimension(\r
524 DataType.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH,\r
525 DataType.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT));\r
526 jDesktopPaneModule.setDesktopManager(iDesktopManager);\r
527 jDesktopPaneModule.addComponentListener(this);\r
528 }\r
529 return jDesktopPaneModule;\r
530 }\r
531\r
532 /**\r
533 This method initializes jDesktopPane \r
534 \r
535 @return javax.swing.JDesktopPane jDesktopPane\r
536 \r
537 **/\r
538 private JDesktopPane getJDesktopPanePackage() {\r
539 if (jDesktopPanePackage == null) {\r
540 jDesktopPanePackage = new JDesktopPane();\r
541 jDesktopPanePackage\r
542 .setBounds(new java.awt.Rectangle(DataType.MAIN_FRAME_EDITOR_PANEL_LOCATION_X,\r
543 DataType.MAIN_FRAME_EDITOR_PANEL_LOCATION_Y,\r
544 DataType.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH,\r
545 DataType.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT));\r
546 jDesktopPanePackage\r
547 .setMinimumSize(new java.awt.Dimension(\r
548 DataType.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH,\r
549 DataType.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT));\r
550 jDesktopPanePackage.setDesktopManager(iDesktopManager);\r
551 jDesktopPanePackage.addComponentListener(this);\r
552 }\r
553 return jDesktopPanePackage;\r
554 }\r
555\r
556 /**\r
557 This method initializes jDesktopPane \r
558 \r
559 @return javax.swing.JDesktopPane jDesktopPane\r
560 \r
561 **/\r
562 private JDesktopPane getJDesktopPanePlatform() {\r
563 if (jDesktopPanePlatform == null) {\r
564 jDesktopPanePlatform = new JDesktopPane();\r
565 jDesktopPanePlatform\r
566 .setBounds(new java.awt.Rectangle(\r
567 DataType.MAIN_FRAME_EDITOR_PANEL_LOCATION_X,\r
568 DataType.MAIN_FRAME_EDITOR_PANEL_LOCATION_Y,\r
569 DataType.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH,\r
570 DataType.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT));\r
571 jDesktopPanePlatform\r
572 .setMinimumSize(new java.awt.Dimension(\r
573 DataType.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_WIDTH,\r
574 DataType.MAIN_FRAME_EDITOR_PANEL_PREFERRED_SIZE_HEIGHT));\r
575 jDesktopPanePlatform.setDesktopManager(iDesktopManager);\r
576 jDesktopPanePlatform.addComponentListener(this);\r
577 }\r
578 return jDesktopPanePlatform;\r
579 }\r
580\r
581 /**\r
582 This method initializes jScrollPaneTree \r
583 \r
584 @return javax.swing.JScrollPane jScrollPaneTree\r
585 \r
586 **/\r
587 private JScrollPane getJScrollPaneTree() {\r
588 if (jScrollPaneTree == null) {\r
589 jScrollPaneTree = new JScrollPane();\r
a13899c5 590 jScrollPaneTree\r
591 .setPreferredSize(new java.awt.Dimension(\r
592 DataType.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_WIDTH,\r
593 DataType.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_HEIGHT));\r
594 jScrollPaneTree\r
595 .setMinimumSize(new java.awt.Dimension(\r
596 DataType.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_WIDTH / 2,\r
597 DataType.MAIN_FRAME_TREE_PANEL_PREFERRED_SIZE_HEIGHT));\r
598 jScrollPaneTree.setViewportView(getITree());\r
599 }\r
600 return jScrollPaneTree;\r
601 }\r
602\r
603 /**\r
604 This method initializes iTree \r
605 \r
606 @return org.tianocore.packaging.common.ui.ITree iTree\r
607 \r
608 **/\r
609 private ITree getITree() {\r
610 //\r
611 //Before open a real module, use an empty root node for the tree\r
612 //\r
613 makeEmptyTree();\r
614 return iTree;\r
615 }\r
616\r
617 /**\r
618 This method initializes jMenuHelp \r
619 \r
620 @return javax.swing.JMenu jMenuHelp\r
621 \r
622 **/\r
623 private JMenu getJMenuHelp() {\r
624 if (jMenuHelp == null) {\r
43dc3851 625 //\r
626 // Set jMenuHelp's attributes\r
627 //\r
a13899c5 628 jMenuHelp = new JMenu();\r
629 jMenuHelp.setText("Help");\r
43dc3851 630\r
631 //\r
632 // Add sub menu items\r
633 //\r
a13899c5 634 jMenuHelp.add(getJMenuItemHelpContents());\r
635 jMenuHelp.add(getJMenuItemHelpIndex());\r
636 jMenuHelp.add(getJMenuItemHelpSearch());\r
43dc3851 637\r
a13899c5 638 jMenuHelp.add(getJMenuItemHelpAbout());\r
639 }\r
640 return jMenuHelp;\r
641 }\r
642\r
643 /**\r
644 This method initializes jMenuItemHelpAbout \r
645 \r
646 @return javax.swing.JMenuItem jMenuItemHelpAbout\r
647 \r
648 **/\r
649 private JMenuItem getJMenuItemHelpAbout() {\r
650 if (jMenuItemHelpAbout == null) {\r
651 jMenuItemHelpAbout = new JMenuItem();\r
652 jMenuItemHelpAbout.setText("About...");\r
653 jMenuItemHelpAbout.addActionListener(this);\r
654 }\r
655 return jMenuItemHelpAbout;\r
656 }\r
657\r
658 /**\r
659 This method initializes jMenuItemEditDelete \r
660 \r
661 @return javax.swing.JMenuItem jMenuItemEditDelete\r
662 \r
663 **/\r
664 private JMenuItem getJMenuItemEditDelete() {\r
665 if (jMenuItemEditDelete == null) {\r
666 jMenuItemEditDelete = new JMenuItem();\r
667 jMenuItemEditDelete.setText("Delete");\r
668 jMenuItemEditDelete.setMnemonic('D');\r
8792f60f 669 jMenuItemEditDelete.setVisible(false);\r
670 jMenuItemEditDelete.setEnabled(false);\r
a13899c5 671 jMenuItemEditDelete.addActionListener(this);\r
672 //\r
43dc3851 673 //Disabled first when no module is open\r
a13899c5 674 //\r
675 jMenuItemEditDelete.setEnabled(false);\r
676 }\r
677 return jMenuItemEditDelete;\r
678 }\r
679\r
a13899c5 680 /**\r
681 This method initializes jMenuFileNew \r
682 \r
683 @return javax.swing.JMenuItem jMenuFileNew\r
684 \r
685 **/\r
686 private JMenuItem getJMenuItemFileNew() {\r
687 if (jMenuItemFileNew == null) {\r
688 jMenuItemFileNew = new JMenuItem();\r
689 jMenuItemFileNew.setText("New...");\r
690 jMenuItemFileNew.setMnemonic('N');\r
691 jMenuItemFileNew.addActionListener(this);\r
692 }\r
693 return jMenuItemFileNew;\r
694 }\r
695\r
696 /**\r
697 This method initializes jMenuItemFileSave \r
698 \r
699 @return javax.swing.JMenuItem jMenuItemModuleSave\r
700 \r
701 **/\r
702 private JMenuItem getJMenuItemFileSave() {\r
703 if (jMenuItemFileSave == null) {\r
704 jMenuItemFileSave = new JMenuItem();\r
705 jMenuItemFileSave.setText("Save");\r
706 jMenuItemFileSave.setMnemonic('S');\r
707 jMenuItemFileSave.addActionListener(this);\r
708 jMenuItemFileSave.setEnabled(true);\r
709 }\r
710 return jMenuItemFileSave;\r
711 }\r
712\r
713 /**\r
714 This method initializes jMenuItemModuleClose \r
715 \r
716 @return javax.swing.JMenuItem jMenuItemModuleClose\r
717 \r
718 **/\r
719 private JMenuItem getJMenuItemFileClose() {\r
720 if (jMenuItemFileClose == null) {\r
721 jMenuItemFileClose = new JMenuItem();\r
722 jMenuItemFileClose.setText("Close");\r
723 jMenuItemFileClose.setMnemonic('C');\r
724 jMenuItemFileClose.setEnabled(true);\r
725 jMenuItemFileClose.addActionListener(this);\r
726 }\r
727 return jMenuItemFileClose;\r
728 }\r
729\r
730 /**\r
731 This method initializes jMenuTools\r
732 Reserved \r
733 \r
734 @return javax.swing.JMenu jMenuTools\r
735 \r
736 **/\r
737 private JMenu getJMenuTools() {\r
738 if (jMenuTools == null) {\r
43dc3851 739 //\r
740 // Set jMenuTools's attributes\r
741 //\r
a13899c5 742 jMenuTools = new JMenu();\r
743 jMenuTools.setText("Tools");\r
744 jMenuTools.setMnemonic('T');\r
43dc3851 745 jMenuTools.addMenuListener(this);\r
746\r
747 //\r
748 // Add sub menu items\r
749 //\r
43dc3851 750\r
a13899c5 751 jMenuTools.add(getJMenuItemToolsClone());\r
a13899c5 752 jMenuTools.add(getJMenuItemToolsCodeScan());\r
dbf5dd75 753 jMenuTools.addSeparator();\r
55e83b18 754\r
dbf5dd75 755 jMenuTools.add(getJMenuItemToolsToolChainConfiguration());\r
756 jMenuTools.add(getJMenuItemToolsBuildPreferences());\r
a13899c5 757 }\r
758 return jMenuTools;\r
759 }\r
760\r
761 /**\r
762 This method initializes jMenuWindow \r
763 Reserved\r
764 \r
765 @return javax.swing.JMenu jMenuWindow\r
766 \r
767 **/\r
768 private JMenu getJMenuWindow() {\r
769 if (jMenuWindow == null) {\r
43dc3851 770 //\r
771 // Set jMenuWindow's attribute\r
772 //\r
a13899c5 773 jMenuWindow = new JMenu();\r
774 jMenuWindow.setText("Window");\r
775 jMenuWindow.setMnemonic('W');\r
43dc3851 776 jMenuWindow.setVisible(false);\r
777\r
778 //\r
779 // Add sub menu items\r
780 //\r
a13899c5 781 jMenuWindow.add(getJMenuItemWindowDisplaySide());\r
782 jMenuWindow.add(getJMenuItemWindowDisplayTopBottom());\r
783 jMenuWindow.addSeparator();\r
43dc3851 784\r
a13899c5 785 jMenuWindow.add(getJMenuItemWindowTabView());\r
786 jMenuWindow.addSeparator();\r
43dc3851 787\r
a13899c5 788 jMenuWindow.add(getJMenuItemWindowSource());\r
789 jMenuWindow.add(getJMenuItemWindowXML());\r
790 jMenuWindow.addSeparator();\r
43dc3851 791\r
a13899c5 792 jMenuWindow.add(getJMenuItemWindowPreferences());\r
a13899c5 793 }\r
794 return jMenuWindow;\r
795 }\r
796\r
797 /**\r
43dc3851 798 This method initializes jPanelOperation\r
799 Reserved\r
a13899c5 800 \r
801 @return javax.swing.JPanel jPanelOperation\r
802 \r
803 **/\r
804 private JPanel getJPanelOperation() {\r
805 if (jPanelOperation == null) {\r
806 jPanelOperation = new JPanel();\r
807 jPanelOperation.setLayout(null);\r
808 jPanelOperation.setBounds(new java.awt.Rectangle(295, 520, 500, 25));\r
809 jPanelOperation.add(getJButtonOk(), null);\r
810 jPanelOperation.add(getJButtonCancel(), null);\r
811 jPanelOperation.setVisible(false);\r
812 }\r
813 return jPanelOperation;\r
814 }\r
815\r
816 /**\r
43dc3851 817 This method initializes jButtonOk\r
818 Reserved\r
a13899c5 819 \r
820 @return javax.swing.JButton jButtonOk\r
821 \r
822 **/\r
823 private JButton getJButtonOk() {\r
824 if (jButtonOk == null) {\r
825 jButtonOk = new JButton();\r
826 jButtonOk.setBounds(new java.awt.Rectangle(395, 2, 90, 20));\r
827 jButtonOk.setText("Ok");\r
828 jButtonOk.setEnabled(false);\r
829 jButtonOk.addActionListener(this);\r
830 }\r
831 return jButtonOk;\r
832 }\r
833\r
834 /**\r
43dc3851 835 This method initializes jButtonCancel\r
836 Reserved\r
a13899c5 837 \r
838 @return javax.swing.JButton jButtonCancel\r
839 \r
840 **/\r
841 private JButton getJButtonCancel() {\r
842 if (jButtonCancel == null) {\r
843 jButtonCancel = new JButton();\r
844 jButtonCancel.setBounds(new java.awt.Rectangle(395, 2, 90, 20));\r
845 jButtonCancel.setText("Cancel");\r
846 jButtonCancel.setEnabled(false);\r
847 jButtonCancel.addActionListener(this);\r
848 jButtonCancel.setVisible(false);\r
849 }\r
850 return jButtonCancel;\r
851 }\r
852\r
853 /**\r
854 This method initializes jMenuItemFileOpen \r
855 \r
856 @return javax.swing.JMenuItem jMenuItemFileOpen\r
43dc3851 857 \r
858 **/\r
a13899c5 859 private JMenuItem getJMenuItemFileOpen() {\r
860 if (jMenuItemFileOpen == null) {\r
861 jMenuItemFileOpen = new JMenuItem();\r
862 jMenuItemFileOpen.setText("Open...");\r
863 jMenuItemFileOpen.setMnemonic('O');\r
864 jMenuItemFileOpen.addActionListener(this);\r
865 }\r
866 return jMenuItemFileOpen;\r
867 }\r
868\r
869 /**\r
870 This method initializes jMenuItemFileCloseAll \r
871 \r
872 @return javax.swing.JMenuItem jMenuItemFileOpen\r
43dc3851 873 \r
874 **/\r
a13899c5 875 private JMenuItem getJMenuItemFileCloseAll() {\r
876 if (jMenuItemFileCloseAll == null) {\r
877 jMenuItemFileCloseAll = new JMenuItem();\r
878 jMenuItemFileCloseAll.setText("Close All");\r
879 jMenuItemFileCloseAll.setEnabled(true);\r
880 jMenuItemFileCloseAll.addActionListener(this);\r
881 }\r
882 return jMenuItemFileCloseAll;\r
883 }\r
884\r
885 /**\r
886 This method initializes jMenuItemFileSaveAll \r
887 \r
888 @return javax.swing.JMenuItem jMenuItemFileSaveAll\r
43dc3851 889 \r
890 **/\r
a13899c5 891 private JMenuItem getJMenuItemFileSaveAll() {\r
892 if (jMenuItemFileSaveAll == null) {\r
893 jMenuItemFileSaveAll = new JMenuItem();\r
894 jMenuItemFileSaveAll.setText("Save All");\r
895 jMenuItemFileSaveAll.setMnemonic('v');\r
896 jMenuItemFileSaveAll.setEnabled(true);\r
897 jMenuItemFileSaveAll.addActionListener(this);\r
898 }\r
899 return jMenuItemFileSaveAll;\r
900 }\r
901\r
902 /**\r
903 This method initializes jMenuItemFilePageSetup \r
904 \r
905 @return javax.swing.JMenuItem \r
43dc3851 906 \r
907 **/\r
a13899c5 908 private JMenuItem getJMenuItemFilePageSetup() {\r
909 if (jMenuItemFilePageSetup == null) {\r
910 jMenuItemFilePageSetup = new JMenuItem();\r
911 jMenuItemFilePageSetup.setText("Page Setup");\r
912 jMenuItemFilePageSetup.setMnemonic('u');\r
913 jMenuItemFilePageSetup.setEnabled(false);\r
914 jMenuItemFilePageSetup.addActionListener(this);\r
915 jMenuItemFilePageSetup.setVisible(false);\r
916 }\r
917 return jMenuItemFilePageSetup;\r
918 }\r
919\r
920 /**\r
921 This method initializes jMenuItemFilePrint \r
922 \r
923 @return javax.swing.JMenuItem \r
43dc3851 924 \r
925 **/\r
a13899c5 926 private JMenuItem getJMenuItemFilePrint() {\r
927 if (jMenuItemFilePrint == null) {\r
928 jMenuItemFilePrint = new JMenuItem();\r
929 jMenuItemFilePrint.setText("Print");\r
930 jMenuItemFilePrint.setMnemonic('P');\r
931 jMenuItemFilePrint.setEnabled(false);\r
932 jMenuItemFilePrint.addActionListener(this);\r
933 jMenuItemFilePrint.setVisible(false);\r
934 }\r
935 return jMenuItemFilePrint;\r
936 }\r
937\r
938 /**\r
939 This method initializes jMenuItemFileImport \r
940 \r
941 @return javax.swing.JMenuItem \r
43dc3851 942 \r
943 **/\r
a13899c5 944 private JMenuItem getJMenuItemFileImport() {\r
945 if (jMenuItemFileImport == null) {\r
946 jMenuItemFileImport = new JMenuItem();\r
947 jMenuItemFileImport.setText("Import");\r
948 jMenuItemFileImport.setMnemonic('I');\r
949 jMenuItemFileImport.setEnabled(false);\r
950 jMenuItemFileImport.addActionListener(this);\r
951 jMenuItemFileImport.setVisible(false);\r
952 }\r
953 return jMenuItemFileImport;\r
954 }\r
955\r
956 /**\r
43dc3851 957 This method initializes jMenuItemFileProperties \r
958 \r
959 @return javax.swing.JMenuItem \r
960 \r
961 **/\r
a13899c5 962 private JMenuItem getJMenuItemFileProperties() {\r
963 if (jMenuItemFileProperties == null) {\r
964 jMenuItemFileProperties = new JMenuItem();\r
965 jMenuItemFileProperties.setText("Properties");\r
966 jMenuItemFileProperties.setMnemonic('t');\r
967 jMenuItemFileProperties.setEnabled(false);\r
968 jMenuItemFileProperties.addActionListener(this);\r
969 jMenuItemFileProperties.setVisible(false);\r
970 }\r
971 return jMenuItemFileProperties;\r
972 }\r
973\r
974 /**\r
43dc3851 975 This method initializes jMenuFileRecentFiles \r
976 \r
977 @return javax.swing.JMenu \r
978 \r
979 **/\r
a13899c5 980 private JMenu getJMenuFileRecentFiles() {\r
981 if (jMenuFileRecentFiles == null) {\r
982 jMenuFileRecentFiles = new JMenu();\r
983 jMenuFileRecentFiles.setText("Recent Files");\r
984 jMenuFileRecentFiles.setMnemonic('F');\r
985 jMenuFileRecentFiles.setEnabled(false);\r
986 jMenuFileRecentFiles.addActionListener(this);\r
987 jMenuFileRecentFiles.setVisible(false);\r
988 }\r
989 return jMenuFileRecentFiles;\r
990 }\r
991\r
992 /**\r
993 This method initializes jMenuItemEditUndo \r
994 \r
43dc3851 995 @return javax.swing.JMenuItem\r
996 \r
997 **/\r
a13899c5 998 private JMenuItem getJMenuItemEditUndo() {\r
999 if (jMenuItemEditUndo == null) {\r
1000 jMenuItemEditUndo = new JMenuItem();\r
1001 jMenuItemEditUndo.setText("Undo");\r
1002 jMenuItemEditUndo.setMnemonic('U');\r
1003 jMenuItemEditUndo.setEnabled(false);\r
8792f60f 1004 jMenuItemEditUndo.setVisible(false);\r
a13899c5 1005 jMenuItemEditUndo.addActionListener(this);\r
1006 }\r
1007 return jMenuItemEditUndo;\r
1008 }\r
1009\r
1010 /**\r
1011 This method initializes jMenuItemEditRedo \r
1012 \r
1013 @return javax.swing.JMenuItem \r
43dc3851 1014 \r
1015 **/\r
a13899c5 1016 private JMenuItem getJMenuItemEditRedo() {\r
1017 if (jMenuItemEditRedo == null) {\r
1018 jMenuItemEditRedo = new JMenuItem();\r
1019 jMenuItemEditRedo.setText("Redo");\r
1020 jMenuItemEditRedo.setMnemonic('R');\r
1021 jMenuItemEditRedo.setEnabled(false);\r
8792f60f 1022 jMenuItemEditRedo.setVisible(false);\r
a13899c5 1023 jMenuItemEditRedo.addActionListener(this);\r
1024 }\r
1025 return jMenuItemEditRedo;\r
1026 }\r
1027\r
1028 /**\r
1029 This method initializes jMenuItemEditCut \r
1030 \r
1031 @return javax.swing.JMenuItem \r
43dc3851 1032 \r
1033 **/\r
a13899c5 1034 private JMenuItem getJMenuItemEditCut() {\r
1035 if (jMenuItemEditCut == null) {\r
1036 jMenuItemEditCut = new JMenuItem();\r
1037 jMenuItemEditCut.setText("Cut");\r
1038 jMenuItemEditCut.setMnemonic('t');\r
1039 jMenuItemEditCut.setEnabled(false);\r
8792f60f 1040 jMenuItemEditCut.setVisible(false);\r
a13899c5 1041 jMenuItemEditCut.addActionListener(this);\r
1042 }\r
1043 return jMenuItemEditCut;\r
1044 }\r
1045\r
1046 /**\r
1047 This method initializes jMenuItemEditCopy \r
1048 \r
1049 @return javax.swing.JMenuItem \r
43dc3851 1050 \r
1051 **/\r
a13899c5 1052 private JMenuItem getJMenuItemEditCopy() {\r
1053 if (jMenuItemEditCopy == null) {\r
1054 jMenuItemEditCopy = new JMenuItem();\r
1055 jMenuItemEditCopy.setText("Copy");\r
1056 jMenuItemEditCopy.setMnemonic('C');\r
1057 jMenuItemEditCopy.setEnabled(false);\r
8792f60f 1058 jMenuItemEditCopy.setVisible(false);\r
a13899c5 1059 jMenuItemEditCopy.addActionListener(this);\r
1060 }\r
1061 return jMenuItemEditCopy;\r
1062 }\r
1063\r
1064 /**\r
1065 This method initializes jMenuItemEditPaste \r
1066 \r
1067 return javax.swing.JMenuItem \r
43dc3851 1068 \r
1069 **/\r
a13899c5 1070 private JMenuItem getJMenuItemEditPaste() {\r
1071 if (jMenuItemEditPaste == null) {\r
1072 jMenuItemEditPaste = new JMenuItem();\r
1073 jMenuItemEditPaste.setText("Paste");\r
1074 jMenuItemEditPaste.setMnemonic('P');\r
1075 jMenuItemEditPaste.setEnabled(false);\r
8792f60f 1076 jMenuItemEditPaste.setVisible(false);\r
a13899c5 1077 jMenuItemEditPaste.addActionListener(this);\r
1078 }\r
1079 return jMenuItemEditPaste;\r
1080 }\r
1081\r
1082 /**\r
1083 This method initializes jMenuItem \r
1084 \r
1085 @return javax.swing.JMenuItem \r
43dc3851 1086 \r
1087 **/\r
a13899c5 1088 private JMenuItem getJMenuItemEditSelectAll() {\r
1089 if (jMenuItemEditSelectAll == null) {\r
1090 jMenuItemEditSelectAll = new JMenuItem();\r
1091 jMenuItemEditSelectAll.setText("Select All");\r
1092 jMenuItemEditSelectAll.setMnemonic('A');\r
1093 jMenuItemEditSelectAll.setEnabled(false);\r
8792f60f 1094 jMenuItemEditSelectAll.setVisible(false);\r
a13899c5 1095 jMenuItemEditSelectAll.addActionListener(this);\r
1096 }\r
1097 return jMenuItemEditSelectAll;\r
1098 }\r
1099\r
a13899c5 1100 /**\r
1101 This method initializes jMenuItemEditFindNext \r
1102 \r
1103 @return javax.swing.JMenuItem \r
1104 \r
43dc3851 1105 **/\r
a13899c5 1106 private JMenuItem getJMenuItemEditFindNext() {\r
1107 if (jMenuItemEditFindNext == null) {\r
1108 jMenuItemEditFindNext = new JMenuItem();\r
1109 jMenuItemEditFindNext.setText("Find Next");\r
1110 jMenuItemEditFindNext.setMnemonic('n');\r
1111 jMenuItemEditFindNext.setEnabled(false);\r
8792f60f 1112 jMenuItemEditFindNext.setVisible(false);\r
a13899c5 1113 jMenuItemEditFindNext.addActionListener(this);\r
1114 }\r
1115 return jMenuItemEditFindNext;\r
1116 }\r
1117\r
1118 /**\r
1119 This method initializes jMenuView \r
1120 \r
1121 @return javax.swing.JMenu \r
1122 \r
43dc3851 1123 **/\r
a13899c5 1124 private JMenu getJMenuView() {\r
1125 if (jMenuView == null) {\r
43dc3851 1126 //\r
1127 // Set jMenuView's attributes\r
1128 //\r
a13899c5 1129 jMenuView = new JMenu();\r
1130 jMenuView.setText("View");\r
1131 jMenuView.setMnemonic('V');\r
43dc3851 1132 jMenuView.setVisible(false);\r
1133\r
1134 //\r
1135 // Add sub menu items\r
1136 //\r
a13899c5 1137 jMenuView.add(getJMenuViewToolbars());\r
1138 jMenuView.add(getJMenuItemViewAdvanced());\r
1139 jMenuView.add(getJMenuItemViewStandard());\r
1140 jMenuView.add(getJMenuItemViewXML());\r
a13899c5 1141 }\r
1142 return jMenuView;\r
1143 }\r
1144\r
1145 /**\r
1146 This method initializes jMenuViewToolbars \r
1147 \r
1148 @return javax.swing.JMenu \r
1149 \r
43dc3851 1150 **/\r
a13899c5 1151 private JMenu getJMenuViewToolbars() {\r
1152 if (jMenuViewToolbars == null) {\r
1153 jMenuViewToolbars = new JMenu();\r
1154 jMenuViewToolbars.setText("Toolbars");\r
1155 jMenuViewToolbars.setMnemonic('T');\r
43dc3851 1156\r
a13899c5 1157 jMenuViewToolbars.add(getJCheckBoxMenuItemViewToolbarsFile());\r
1158 jMenuViewToolbars.add(getJCheckBoxMenuItemViewToolbarsEdit());\r
1159 jMenuViewToolbars.add(getJCheckBoxMenuItemViewToolbarsWindow());\r
1160 }\r
1161 return jMenuViewToolbars;\r
1162 }\r
1163\r
1164 /**\r
1165 This method initializes jCheckBoxMenuItemViewToolbarsFile \r
1166 \r
1167 @return javax.swing.JCheckBoxMenuItem \r
1168 \r
43dc3851 1169 **/\r
a13899c5 1170 private JCheckBoxMenuItem getJCheckBoxMenuItemViewToolbarsFile() {\r
1171 if (jCheckBoxMenuItemViewToolbarsFile == null) {\r
1172 jCheckBoxMenuItemViewToolbarsFile = new JCheckBoxMenuItem();\r
1173 jCheckBoxMenuItemViewToolbarsFile.setText("File");\r
1174 jCheckBoxMenuItemViewToolbarsFile.setEnabled(false);\r
1175 jCheckBoxMenuItemViewToolbarsFile.addActionListener(this);\r
1176 }\r
1177 return jCheckBoxMenuItemViewToolbarsFile;\r
1178 }\r
1179\r
1180 /**\r
1181 This method initializes jCheckBoxMenuItemViewToolbarsEdit \r
1182 \r
1183 @return javax.swing.JCheckBoxMenuItem \r
1184 \r
43dc3851 1185 **/\r
a13899c5 1186 private JCheckBoxMenuItem getJCheckBoxMenuItemViewToolbarsEdit() {\r
1187 if (jCheckBoxMenuItemViewToolbarsEdit == null) {\r
1188 jCheckBoxMenuItemViewToolbarsEdit = new JCheckBoxMenuItem();\r
1189 jCheckBoxMenuItemViewToolbarsEdit.setText("Edit");\r
1190 jCheckBoxMenuItemViewToolbarsEdit.setEnabled(false);\r
1191 jCheckBoxMenuItemViewToolbarsEdit.addActionListener(this);\r
1192 }\r
1193 return jCheckBoxMenuItemViewToolbarsEdit;\r
1194 }\r
1195\r
1196 /**\r
1197 This method initializes jCheckBoxMenuItemViewToolbarsWindow \r
1198 \r
1199 @return javax.swing.JCheckBoxMenuItem \r
1200 \r
43dc3851 1201 **/\r
a13899c5 1202 private JCheckBoxMenuItem getJCheckBoxMenuItemViewToolbarsWindow() {\r
1203 if (jCheckBoxMenuItemViewToolbarsWindow == null) {\r
1204 jCheckBoxMenuItemViewToolbarsWindow = new JCheckBoxMenuItem();\r
1205 jCheckBoxMenuItemViewToolbarsWindow.setText("Window");\r
1206 jCheckBoxMenuItemViewToolbarsWindow.setEnabled(false);\r
1207 jCheckBoxMenuItemViewToolbarsWindow.addActionListener(this);\r
1208 }\r
1209 return jCheckBoxMenuItemViewToolbarsWindow;\r
1210 }\r
1211\r
1212 /**\r
1213 This method initializes jMenuItemStandard \r
1214 \r
1215 @return javax.swing.JMenuItem \r
1216 \r
43dc3851 1217 **/\r
a13899c5 1218 private JMenuItem getJMenuItemViewStandard() {\r
1219 if (jMenuItemViewStandard == null) {\r
1220 jMenuItemViewStandard = new JMenuItem();\r
1221 jMenuItemViewStandard.setText("Standard");\r
1222 jMenuItemViewStandard.setMnemonic('S');\r
1223 jMenuItemViewStandard.setEnabled(false);\r
1224 jMenuItemViewStandard.addActionListener(this);\r
1225 }\r
1226 return jMenuItemViewStandard;\r
1227 }\r
1228\r
1229 /**\r
1230 This method initializes jMenuItemAdvanced \r
1231 \r
1232 @return javax.swing.JMenuItem \r
1233 \r
43dc3851 1234 **/\r
a13899c5 1235 private JMenuItem getJMenuItemViewAdvanced() {\r
1236 if (jMenuItemViewAdvanced == null) {\r
1237 jMenuItemViewAdvanced = new JMenuItem();\r
1238 jMenuItemViewAdvanced.setText("Advanced");\r
1239 jMenuItemViewAdvanced.setMnemonic('A');\r
1240 jMenuItemViewAdvanced.setEnabled(false);\r
1241 jMenuItemViewAdvanced.addActionListener(this);\r
1242 }\r
1243 return jMenuItemViewAdvanced;\r
1244 }\r
1245\r
1246 /**\r
1247 This method initializes jMenuProject \r
1248 \r
1249 @return javax.swing.JMenu \r
1250 \r
43dc3851 1251 **/\r
a13899c5 1252 private JMenu getJMenuProject() {\r
1253 if (jMenuProject == null) {\r
43dc3851 1254 //\r
1255 // Set jMenuProject's attributes\r
1256 //\r
a13899c5 1257 jMenuProject = new JMenu();\r
1258 jMenuProject.setText("Project");\r
1259 jMenuProject.setMnemonic('P');\r
43dc3851 1260\r
1261 //\r
1262 // Add sub menu items\r
1263 //\r
a13899c5 1264 jMenuProject.add(getJMenuItemProjectAdmin());\r
43dc3851 1265\r
a13899c5 1266 jMenuProject.add(getJMenuItemProjectChangeWorkspace());\r
1267 jMenuProject.addSeparator();\r
43dc3851 1268\r
92e29378 1269 jMenuProject.add(getJMenuItemProjectCreateFar());\r
1270 jMenuProject.add(getJMenuItemProjectInstallFar());\r
1271 jMenuProject.add(getJMenuItemProjectUpdateFar());\r
1272 jMenuProject.add(getJMenuItemProjectRemoveFar());\r
43dc3851 1273\r
a13899c5 1274 }\r
1275 return jMenuProject;\r
1276 }\r
1277\r
1278 /**\r
1279 This method initializes jMenuItemProjectAdmin \r
1280 \r
1281 @return javax.swing.JMenuItem \r
1282 \r
43dc3851 1283 **/\r
a13899c5 1284 private JMenuItem getJMenuItemProjectAdmin() {\r
1285 if (jMenuItemProjectAdmin == null) {\r
1286 jMenuItemProjectAdmin = new JMenuItem();\r
1287 jMenuItemProjectAdmin.setText("Admin...");\r
1288 jMenuItemProjectAdmin.setMnemonic('A');\r
1289 jMenuItemProjectAdmin.setEnabled(false);\r
1290 jMenuItemProjectAdmin.addActionListener(this);\r
1291 jMenuItemProjectAdmin.setVisible(false);\r
1292 }\r
1293 return jMenuItemProjectAdmin;\r
1294 }\r
1295\r
1296 /**\r
1297 This method initializes jMenuItemProjectChangeWorkspace \r
1298 \r
1299 @return javax.swing.JMenuItem \r
1300 \r
43dc3851 1301 **/\r
a13899c5 1302 private JMenuItem getJMenuItemProjectChangeWorkspace() {\r
1303 if (jMenuItemProjectChangeWorkspace == null) {\r
1304 jMenuItemProjectChangeWorkspace = new JMenuItem();\r
1305 jMenuItemProjectChangeWorkspace.setText("Change WORKSPACE...");\r
1306 jMenuItemProjectChangeWorkspace.setMnemonic('W');\r
1307 jMenuItemProjectChangeWorkspace.setEnabled(true);\r
1308 jMenuItemProjectChangeWorkspace.addActionListener(this);\r
1309 }\r
1310 return jMenuItemProjectChangeWorkspace;\r
1311 }\r
1312\r
1313 /**\r
dbf5dd75 1314 This method initializes jMenuProjectBuildPreferences \r
a13899c5 1315 \r
1316 @return javax.swing.JMenu \r
1317 \r
43dc3851 1318 **/\r
dbf5dd75 1319 private JMenuItem getJMenuItemToolsBuildPreferences() {\r
1320 if (jMenuItemToolsBuildPreferences == null) {\r
1321 jMenuItemToolsBuildPreferences = new JMenuItem();\r
1322 jMenuItemToolsBuildPreferences.setText("Build Preferences");\r
1323 jMenuItemToolsBuildPreferences.setMnemonic('P');\r
1324 jMenuItemToolsBuildPreferences.setEnabled(true);\r
1325 jMenuItemToolsBuildPreferences.addActionListener(this);\r
a13899c5 1326 }\r
dbf5dd75 1327 return jMenuItemToolsBuildPreferences;\r
a13899c5 1328 }\r
1329\r
1330 /**\r
1331 This method initializes jMenuItemToolsToolChainConfiguration \r
1332 \r
1333 @return javax.swing.JMenuItem \r
1334 \r
43dc3851 1335 **/\r
a13899c5 1336 private JMenuItem getJMenuItemToolsToolChainConfiguration() {\r
1337 if (jMenuItemToolsToolChainConfiguration == null) {\r
1338 jMenuItemToolsToolChainConfiguration = new JMenuItem();\r
1339 jMenuItemToolsToolChainConfiguration.setText("Tool Chain Configuration...");\r
1340 jMenuItemToolsToolChainConfiguration.setMnemonic('C');\r
1341 jMenuItemToolsToolChainConfiguration.addActionListener(this);\r
a13899c5 1342 }\r
1343 return jMenuItemToolsToolChainConfiguration;\r
1344 }\r
1345\r
1346 /**\r
1347 This method initializes jMenuItemToolsClone \r
1348 \r
1349 @return javax.swing.JMenuItem \r
1350 \r
43dc3851 1351 **/\r
a13899c5 1352 private JMenuItem getJMenuItemToolsClone() {\r
1353 if (jMenuItemToolsClone == null) {\r
1354 jMenuItemToolsClone = new JMenuItem();\r
1355 jMenuItemToolsClone.setText("Clone...");\r
1356 jMenuItemToolsClone.setMnemonic('l');\r
1357 jMenuItemToolsClone.setEnabled(true);\r
1358 jMenuItemToolsClone.addActionListener(this);\r
1359 }\r
1360 return jMenuItemToolsClone;\r
1361 }\r
1362\r
1363 /**\r
1364 This method initializes jMenuItemToolsCodeScan \r
1365 \r
1366 @return javax.swing.JMenuItem \r
1367 \r
43dc3851 1368 **/\r
a13899c5 1369 private JMenuItem getJMenuItemToolsCodeScan() {\r
1370 if (jMenuItemToolsCodeScan == null) {\r
1371 jMenuItemToolsCodeScan = new JMenuItem();\r
1372 jMenuItemToolsCodeScan.setText("Code Scan...");\r
1373 jMenuItemToolsCodeScan.setMnemonic('S');\r
1374 jMenuItemToolsCodeScan.setEnabled(false);\r
1375 jMenuItemToolsCodeScan.addActionListener(this);\r
1376 jMenuItemToolsCodeScan.setVisible(false);\r
1377 }\r
1378 return jMenuItemToolsCodeScan;\r
1379 }\r
1380\r
1381 /**\r
1382 This method initializes jMenuItemWindowSplitVertical \r
1383 \r
1384 @return javax.swing.JMenuItem \r
1385 \r
43dc3851 1386 **/\r
a13899c5 1387 private JMenuItem getJMenuItemWindowDisplaySide() {\r
1388 if (jMenuItemWindowDisplaySide == null) {\r
1389 jMenuItemWindowDisplaySide = new JMenuItem();\r
1390 jMenuItemWindowDisplaySide.setText("Display Side by Side");\r
1391 jMenuItemWindowDisplaySide.setMnemonic('S');\r
1392 jMenuItemWindowDisplaySide.setEnabled(false);\r
1393 jMenuItemWindowDisplaySide.addActionListener(this);\r
1394 }\r
1395 return jMenuItemWindowDisplaySide;\r
1396 }\r
1397\r
1398 /**\r
1399 This method initializes jMenuItemWindowSplitHorizontal \r
1400 \r
1401 @return javax.swing.JMenuItem \r
1402 \r
43dc3851 1403 **/\r
a13899c5 1404 private JMenuItem getJMenuItemWindowDisplayTopBottom() {\r
1405 if (jMenuItemWindowDisplayTopBottom == null) {\r
1406 jMenuItemWindowDisplayTopBottom = new JMenuItem();\r
1407 jMenuItemWindowDisplayTopBottom.setText("Display Top and Bottom");\r
1408 jMenuItemWindowDisplayTopBottom.setMnemonic('B');\r
1409 jMenuItemWindowDisplayTopBottom.setEnabled(false);\r
1410 jMenuItemWindowDisplayTopBottom.addActionListener(this);\r
1411 }\r
1412 return jMenuItemWindowDisplayTopBottom;\r
1413 }\r
1414\r
1415 /**\r
1416 This method initializes jMenuItemViewXML \r
1417 \r
1418 @return javax.swing.JMenuItem \r
1419 \r
43dc3851 1420 **/\r
a13899c5 1421 private JMenuItem getJMenuItemViewXML() {\r
1422 if (jMenuItemViewXML == null) {\r
1423 jMenuItemViewXML = new JMenuItem();\r
1424 jMenuItemViewXML.setText("XML");\r
1425 jMenuItemViewXML.setMnemonic('X');\r
1426 jMenuItemViewXML.setEnabled(false);\r
1427 jMenuItemViewXML.addActionListener(this);\r
1428 }\r
1429 return jMenuItemViewXML;\r
1430 }\r
1431\r
1432 /**\r
1433 This method initializes jMenuItemWindowTabView \r
1434 \r
1435 @return javax.swing.JMenuItem \r
1436 \r
43dc3851 1437 **/\r
a13899c5 1438 private JMenuItem getJMenuItemWindowTabView() {\r
1439 if (jMenuItemWindowTabView == null) {\r
1440 jMenuItemWindowTabView = new JMenuItem();\r
1441 jMenuItemWindowTabView.setText("Tab View");\r
1442 jMenuItemWindowTabView.setMnemonic('T');\r
1443 jMenuItemWindowTabView.setEnabled(false);\r
1444 jMenuItemWindowTabView.addActionListener(this);\r
1445 }\r
1446 return jMenuItemWindowTabView;\r
1447 }\r
1448\r
1449 /**\r
1450 This method initializes jMenuItemWindowSource \r
1451 \r
1452 @return javax.swing.JMenuItem \r
1453 \r
43dc3851 1454 **/\r
a13899c5 1455 private JMenuItem getJMenuItemWindowSource() {\r
1456 if (jMenuItemWindowSource == null) {\r
1457 jMenuItemWindowSource = new JMenuItem();\r
1458 jMenuItemWindowSource.setText("Source");\r
1459 jMenuItemWindowSource.setMnemonic('S');\r
1460 jMenuItemWindowSource.setEnabled(false);\r
1461 jMenuItemWindowSource.addActionListener(this);\r
1462 }\r
1463 return jMenuItemWindowSource;\r
1464 }\r
1465\r
1466 /**\r
1467 This method initializes jMenuItemWindowXML \r
1468 \r
1469 @return javax.swing.JMenuItem \r
1470 \r
43dc3851 1471 **/\r
a13899c5 1472 private JMenuItem getJMenuItemWindowXML() {\r
1473 if (jMenuItemWindowXML == null) {\r
1474 jMenuItemWindowXML = new JMenuItem();\r
1475 jMenuItemWindowXML.setText("XML");\r
1476 jMenuItemWindowXML.setMnemonic('X');\r
1477 jMenuItemWindowXML.setEnabled(false);\r
1478 jMenuItemWindowXML.addActionListener(this);\r
1479 }\r
1480 return jMenuItemWindowXML;\r
1481 }\r
1482\r
1483 /**\r
1484 This method initializes jMenuItemWindowPreferences \r
1485 \r
1486 @return javax.swing.JMenuItem \r
1487 \r
43dc3851 1488 **/\r
a13899c5 1489 private JMenuItem getJMenuItemWindowPreferences() {\r
1490 if (jMenuItemWindowPreferences == null) {\r
1491 jMenuItemWindowPreferences = new JMenuItem();\r
1492 jMenuItemWindowPreferences.setText("Preferences");\r
1493 jMenuItemWindowPreferences.setMnemonic('P');\r
1494 jMenuItemWindowPreferences.setEnabled(false);\r
1495 jMenuItemWindowPreferences.addActionListener(this);\r
1496 }\r
1497 return jMenuItemWindowPreferences;\r
1498 }\r
1499\r
1500 /**\r
1501 This method initializes jMenuItemHelpContents \r
1502 \r
1503 @return javax.swing.JMenuItem \r
1504 \r
43dc3851 1505 **/\r
a13899c5 1506 private JMenuItem getJMenuItemHelpContents() {\r
1507 if (jMenuItemHelpContents == null) {\r
1508 jMenuItemHelpContents = new JMenuItem();\r
1509 jMenuItemHelpContents.setText("Contents");\r
1510 jMenuItemHelpContents.setMnemonic('C');\r
1511 jMenuItemHelpContents.setEnabled(false);\r
1512 jMenuItemHelpContents.addActionListener(this);\r
1513 jMenuItemHelpContents.setVisible(false);\r
1514 }\r
1515 return jMenuItemHelpContents;\r
1516 }\r
1517\r
1518 /**\r
1519 This method initializes jMenuItemHelpIndex \r
1520 \r
1521 @return javax.swing.JMenuItem \r
1522 \r
43dc3851 1523 **/\r
a13899c5 1524 private JMenuItem getJMenuItemHelpIndex() {\r
1525 if (jMenuItemHelpIndex == null) {\r
1526 jMenuItemHelpIndex = new JMenuItem();\r
1527 jMenuItemHelpIndex.setText("Index");\r
1528 jMenuItemHelpIndex.setMnemonic('I');\r
1529 jMenuItemHelpIndex.setEnabled(false);\r
1530 jMenuItemHelpIndex.addActionListener(this);\r
1531 jMenuItemHelpIndex.setVisible(false);\r
1532 }\r
1533 return jMenuItemHelpIndex;\r
1534 }\r
1535\r
1536 /**\r
1537 This method initializes jMenuItemHelpSearch \r
1538 \r
1539 @return javax.swing.JMenuItem \r
1540 \r
1541 */\r
1542 private JMenuItem getJMenuItemHelpSearch() {\r
1543 if (jMenuItemHelpSearch == null) {\r
1544 jMenuItemHelpSearch = new JMenuItem();\r
1545 jMenuItemHelpSearch.setText("Search");\r
1546 jMenuItemHelpSearch.setMnemonic('S');\r
1547 jMenuItemHelpSearch.setEnabled(false);\r
1548 jMenuItemHelpSearch.addActionListener(this);\r
1549 jMenuItemHelpSearch.setVisible(false);\r
1550 }\r
1551 return jMenuItemHelpSearch;\r
1552 }\r
1553\r
a13899c5 1554 /**\r
1555 * This method initializes jMenuItemToolsInstallPackage \r
1556 * \r
1557 * @return javax.swing.JMenuItem \r
1558 */\r
92e29378 1559 private JMenuItem getJMenuItemProjectInstallFar() {\r
1560 if (jMenuItemProjectInstallFar == null) {\r
1561 jMenuItemProjectInstallFar = new JMenuItem();\r
1562 jMenuItemProjectInstallFar.setText("Install FAR");\r
1563 jMenuItemProjectInstallFar.setMnemonic('I');\r
1564 jMenuItemProjectInstallFar.setEnabled(true);\r
1565 jMenuItemProjectInstallFar.addActionListener(this);\r
a13899c5 1566 }\r
92e29378 1567 return jMenuItemProjectInstallFar;\r
a13899c5 1568 }\r
1569\r
1570 /**\r
1571 * This method initializes jMenuItemToolsUpdatePackage \r
1572 * \r
1573 * @return javax.swing.JMenuItem \r
1574 */\r
92e29378 1575 private JMenuItem getJMenuItemProjectUpdateFar() {\r
1576 if (jMenuItemProjectUpdateFar == null) {\r
1577 jMenuItemProjectUpdateFar = new JMenuItem();\r
1578 jMenuItemProjectUpdateFar.setText("Update FAR");\r
1579 jMenuItemProjectUpdateFar.setMnemonic('U');\r
1580 jMenuItemProjectUpdateFar.setEnabled(true);\r
1581 jMenuItemProjectUpdateFar.addActionListener(this);\r
ef6e2efe 1582 jMenuItemProjectUpdateFar.setVisible(true);\r
a13899c5 1583 }\r
92e29378 1584 return jMenuItemProjectUpdateFar;\r
a13899c5 1585 }\r
1586\r
1587 /**\r
1588 * This method initializes jMenuItemRemovePackage \r
1589 * \r
1590 * @return javax.swing.JMenuItem \r
1591 */\r
92e29378 1592 private JMenuItem getJMenuItemProjectRemoveFar() {\r
1593 if (jMenuItemProjectRemoveFar == null) {\r
1594 jMenuItemProjectRemoveFar = new JMenuItem();\r
1595 jMenuItemProjectRemoveFar.setText("Remove FAR");\r
1596 jMenuItemProjectRemoveFar.setMnemonic('R');\r
1597 jMenuItemProjectRemoveFar.setEnabled(true);\r
1598 jMenuItemProjectRemoveFar.addActionListener(this);\r
1599 }\r
1600 return jMenuItemProjectRemoveFar;\r
1601 }\r
1602\r
1603 /**\r
1604 * This method initializes jMenuItemProjectCreateFar \r
1605 * \r
1606 * @return javax.swing.JMenuItem \r
1607 */\r
1608 private JMenuItem getJMenuItemProjectCreateFar() {\r
1609 if (jMenuItemProjectCreateFar == null) {\r
1610 jMenuItemProjectCreateFar = new JMenuItem();\r
1611 jMenuItemProjectCreateFar.setText("Create FAR");\r
1612 jMenuItemProjectCreateFar.setMnemonic('C');\r
1613 jMenuItemProjectCreateFar.addActionListener(this);\r
a13899c5 1614 }\r
92e29378 1615 return jMenuItemProjectCreateFar;\r
a13899c5 1616 }\r
1617\r
8792f60f 1618 /**\r
1619 * This method initializes jMenuEditFind \r
1620 * \r
1621 * @return javax.swing.JMenu \r
1622 */\r
1623 private JMenu getJMenuEditFind() {\r
1624 if (jMenuEditFind == null) {\r
1625 jMenuEditFind = new JMenu();\r
1626 jMenuEditFind.setText("Find");\r
1627 jMenuEditFind.setMnemonic('F');\r
1628\r
1629 jMenuEditFind.add(getJMenuItemEditFindPpi());\r
1630 jMenuEditFind.add(getJMenuItemEditFindProtocol());\r
1631 jMenuEditFind.add(getJMenuItemEditFindGuid());\r
1632 jMenuEditFind.add(getJMenuItemEditFindPcd());\r
8792f60f 1633 jMenuEditFind.add(getJMenuItemEditFindLibraryClass());\r
1634 jMenuEditFind.add(getJMenuItemEditFindLibraryInstance());\r
1635 }\r
1636 return jMenuEditFind;\r
1637 }\r
1638\r
1639 /**\r
1640 * This method initializes jMenuItemEditFindPcd \r
1641 * \r
1642 * @return javax.swing.JMenuItem \r
1643 */\r
1644 private JMenuItem getJMenuItemEditFindPcd() {\r
1645 if (jMenuItemEditFindPcd == null) {\r
1646 jMenuItemEditFindPcd = new JMenuItem();\r
1647 jMenuItemEditFindPcd.setText("All PCD entries");\r
1648 jMenuItemEditFindPcd.setMnemonic('P');\r
1649 jMenuItemEditFindPcd.addActionListener(this);\r
1650 }\r
1651 return jMenuItemEditFindPcd;\r
1652 }\r
1653\r
1654 /**\r
1655 * This method initializes jMenuItemEditFindLibraryClass \r
1656 * \r
1657 * @return javax.swing.JMenuItem \r
1658 */\r
1659 private JMenuItem getJMenuItemEditFindLibraryClass() {\r
1660 if (jMenuItemEditFindLibraryClass == null) {\r
1661 jMenuItemEditFindLibraryClass = new JMenuItem();\r
1662 jMenuItemEditFindLibraryClass.setText("All Library Classes");\r
1663 jMenuItemEditFindLibraryClass.setMnemonic('C');\r
1664 jMenuItemEditFindLibraryClass.addActionListener(this);\r
1665 }\r
1666 return jMenuItemEditFindLibraryClass;\r
1667 }\r
1668\r
1669 /**\r
1670 * This method initializes jMenuItemEditFindPpi \r
1671 * \r
1672 * @return javax.swing.JMenuItem \r
1673 */\r
1674 private JMenuItem getJMenuItemEditFindPpi() {\r
1675 if (jMenuItemEditFindPpi == null) {\r
1676 jMenuItemEditFindPpi = new JMenuItem();\r
1677 jMenuItemEditFindPpi.setText("All PPIs");\r
1678 jMenuItemEditFindPpi.setMnemonic('I');\r
1679 jMenuItemEditFindPpi.addActionListener(this);\r
1680 }\r
1681 return jMenuItemEditFindPpi;\r
1682 }\r
1683\r
1684 /**\r
1685 * This method initializes jMenuItemEditFindProtocol \r
1686 * \r
1687 * @return javax.swing.JMenuItem \r
1688 */\r
1689 private JMenuItem getJMenuItemEditFindProtocol() {\r
1690 if (jMenuItemEditFindProtocol == null) {\r
1691 jMenuItemEditFindProtocol = new JMenuItem();\r
1692 jMenuItemEditFindProtocol.setText("All Protocols");\r
1693 jMenuItemEditFindProtocol.setMnemonic('r');\r
1694 jMenuItemEditFindProtocol.addActionListener(this);\r
1695 }\r
1696 return jMenuItemEditFindProtocol;\r
1697 }\r
1698\r
1699 /**\r
1700 * This method initializes jMenuItemEditFindGuid \r
1701 * \r
1702 * @return javax.swing.JMenuItem \r
1703 */\r
1704 private JMenuItem getJMenuItemEditFindGuid() {\r
1705 if (jMenuItemEditFindGuid == null) {\r
1706 jMenuItemEditFindGuid = new JMenuItem();\r
1707 jMenuItemEditFindGuid.setText("All GUIDs");\r
1708 jMenuItemEditFindGuid.setMnemonic('G');\r
1709 jMenuItemEditFindGuid.addActionListener(this);\r
1710 }\r
1711 return jMenuItemEditFindGuid;\r
1712 }\r
1713\r
1714 /**\r
1715 * This method initializes jMenuItemEditFindLibraryInstance \r
1716 * \r
1717 * @return javax.swing.JMenuItem \r
1718 */\r
1719 private JMenuItem getJMenuItemEditFindLibraryInstance() {\r
1720 if (jMenuItemEditFindLibraryInstance == null) {\r
1721 jMenuItemEditFindLibraryInstance = new JMenuItem();\r
1722 jMenuItemEditFindLibraryInstance.setText("All Library Instances");\r
1723 jMenuItemEditFindLibraryInstance.setMnemonic('n');\r
1724 jMenuItemEditFindLibraryInstance.addActionListener(this);\r
55e83b18 1725 jMenuItemEditFindLibraryInstance.setVisible(false);\r
8792f60f 1726 }\r
1727 return jMenuItemEditFindLibraryInstance;\r
1728 }\r
1729\r
a13899c5 1730 /* (non-Javadoc)\r
1731 * @see org.tianocore.packaging.common.ui.IFrame#main(java.lang.String[])\r
1732 *\r
1733 * Main class, start the GUI\r
1734 * \r
1735 */\r
1736 public static void main(String[] args) {\r
8f4f211c 1737 FrameworkWizardUI module = FrameworkWizardUI.getInstance();\r
a13899c5 1738 module.setVisible(true);\r
1739 }\r
1740\r
1741 /**\r
1742 This is the default constructor\r
1743 \r
1744 **/\r
1745 public FrameworkWizardUI() {\r
1746 super();\r
1747 init();\r
1748 }\r
1749\r
1750 /**\r
1751 This method initializes this\r
1752 \r
1753 \r
1754 **/\r
1755 private void init() {\r
7f492c43 1756 //\r
1757 // Show splash screen\r
1758 //\r
1759 SplashScreen ss = new SplashScreen();\r
1760 ss.setVisible(true);\r
1761 \r
a13899c5 1762 //\r
1763 // Set current workspace and check\r
1764 // Check if exists WORKSPACE\r
1765 // \r
1766 //\r
1767 Workspace.setCurrentWorkspace(System.getenv("WORKSPACE"));\r
1768 if (!Workspace.checkCurrentWorkspace()) {\r
1769 JOptionPane.showConfirmDialog(null, "Workspace is not setup correctly. Please setup first.", "Warning",\r
1770 JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE);\r
1771 this.dispose();\r
1772 System.exit(0);\r
1773 }\r
1774\r
739c6b04 1775 //\r
1776 // Init Global Data\r
1777 //\r
1778 GlobalData.init();\r
7f492c43 1779 \r
1780 //\r
1781 // Close splash screen\r
1782 //\r
1783 ss.dispose();\r
739c6b04 1784\r
1785 //\r
1786 // Init the frame\r
1787 //\r
a13899c5 1788 this.setSize(DataType.MAIN_FRAME_PREFERRED_SIZE_WIDTH, DataType.MAIN_FRAME_PREFERRED_SIZE_HEIGHT);\r
1789 this.setResizable(true);\r
1790 this.setJMenuBar(getjJMenuBar());\r
a13899c5 1791 this.setContentPane(getJContentPane());\r
92e29378 1792 this.setTitle(DataType.PROJECT_NAME + " " + DataType.PROJECT_VERSION + " " + "- ["\r
1793 + Workspace.getCurrentWorkspace() + "]");\r
a13899c5 1794 this.setExitType(1);\r
79cb6fdb 1795\r
a13899c5 1796 //\r
1797 // max the window\r
1798 //\r
1799 this.setExtendedState(JFrame.MAXIMIZED_BOTH);\r
1800 }\r
1801\r
1802 /**\r
1803 This method initializes jContentPane\r
1804 \r
1805 @return javax.swing.JPanel jContentPane\r
1806 \r
1807 **/\r
1808 private JPanel getJContentPane() {\r
1809 if (jContentPane == null) {\r
1810 jContentPane = new JPanel();\r
1811 jContentPane.setLayout(null);\r
1812 jContentPane.add(getJPanelOperation(), null);\r
1813 jContentPane.add(getJSplitPane(), null);\r
1814 }\r
1815 return jContentPane;\r
1816 }\r
1817\r
1818 /* (non-Javadoc)\r
1819 * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)\r
1820 *\r
1821 * Override actionPerformed to listen all actions\r
1822 *\r
1823 */\r
1824 public void actionPerformed(ActionEvent arg0) {\r
1825 //\r
1826 // Operations of Menu\r
1827 //\r
8792f60f 1828 if (arg0.getSource() == this.jMenuItemFileNew) {\r
a13899c5 1829 this.fileNew();\r
1830 }\r
1831\r
8792f60f 1832 if (arg0.getSource() == this.jMenuItemFileOpen) {\r
a13899c5 1833 this.open();\r
1834 }\r
1835\r
8792f60f 1836 if (arg0.getSource() == this.jMenuItemFileClose) {\r
a13899c5 1837 this.close();\r
1838 }\r
1839\r
8792f60f 1840 if (arg0.getSource() == this.jMenuItemFileCloseAll) {\r
a13899c5 1841 this.closeAll();\r
ff383de4 1842 this.makeEmptyTree();\r
a13899c5 1843 }\r
1844\r
8792f60f 1845 if (arg0.getSource() == this.jMenuItemFileSave) {\r
a13899c5 1846 this.save();\r
1847 }\r
1848\r
8792f60f 1849 if (arg0.getSource() == this.jMenuItemFileSaveAs) {\r
a13899c5 1850 this.saveAs();\r
1851 }\r
1852\r
8792f60f 1853 if (arg0.getSource() == this.jMenuItemFileSaveAll) {\r
a13899c5 1854 this.saveAll();\r
1855 }\r
1856\r
8792f60f 1857 if (arg0.getSource() == this.jMenuItemFileExit) {\r
a13899c5 1858 this.exit();\r
1859 }\r
1860\r
8792f60f 1861 if (arg0.getSource() == this.jMenuItemEditFindPpi) {\r
55e83b18 1862 this.findPpi();\r
1863 }\r
1864\r
1865 if (arg0.getSource() == this.jMenuItemEditFindProtocol) {\r
1866 this.findProtocol();\r
1867 }\r
1868\r
1869 if (arg0.getSource() == this.jMenuItemEditFindGuid) {\r
1870 this.findGuid();\r
1871 }\r
1872\r
1873 if (arg0.getSource() == this.jMenuItemEditFindPcd) {\r
1874 this.findPcd();\r
1875 }\r
1876\r
1877 if (arg0.getSource() == this.jMenuItemEditFindLibraryClass) {\r
1878 this.findLibraryClass();\r
8792f60f 1879 }\r
fe1543a5 1880\r
55e83b18 1881 if (arg0.getSource() == this.jMenuItemEditFindLibraryInstance) {\r
1882 this.findLibraryInstance();\r
1883 }\r
1884\r
dbf5dd75 1885 if (arg0.getSource() == jMenuItemToolsBuildPreferences) {\r
1886 configBuildPreferences();\r
1887 }\r
8792f60f 1888\r
1889 if (arg0.getSource() == this.jMenuItemProjectChangeWorkspace) {\r
1890 this.changeWorkspace();\r
a13899c5 1891 }\r
1892\r
8792f60f 1893 if (arg0.getSource() == this.jMenuItemProjectCreateFar) {\r
1894 this.createFar();\r
92e29378 1895 }\r
1896\r
8792f60f 1897 if (arg0.getSource() == this.jMenuItemProjectInstallFar) {\r
1898 this.installFar();\r
92e29378 1899 }\r
1900\r
8792f60f 1901 if (arg0.getSource() == this.jMenuItemProjectRemoveFar) {\r
1902 this.removeFar();\r
92e29378 1903 }\r
1904\r
8792f60f 1905 if (arg0.getSource() == this.jMenuItemProjectUpdateFar) {\r
1906 this.updateFar();\r
92e29378 1907 }\r
1908\r
8792f60f 1909 if (arg0.getSource() == this.jMenuItemToolsClone) {\r
1910 this.cloneItem();\r
a13899c5 1911 }\r
92e29378 1912\r
8792f60f 1913 if (arg0.getSource() == this.jMenuItemToolsToolChainConfiguration) {\r
1914 this.setupToolChainConfiguration();\r
79cb6fdb 1915 }\r
a13899c5 1916\r
8792f60f 1917 if (arg0.getSource() == this.jMenuItemHelpAbout) {\r
a13899c5 1918 About a = new About(this, true);\r
1919 int result = a.showDialog();\r
1920 if (result == DataType.RETURN_TYPE_OK) {\r
1921 a.dispose();\r
1922 }\r
1923 }\r
1924 }\r
1925\r
1926 /**\r
1927 Create an empty tree if no file is open\r
1928 \r
1929 **/\r
1930 private void makeEmptyTree() {\r
43dc3851 1931 //\r
a13899c5 1932 // Make root\r
43dc3851 1933 //\r
a13899c5 1934 dmtnRoot = new IDefaultMutableTreeNode("WORKSPACE", IDefaultMutableTreeNode.WORKSPACE, -1);\r
1935\r
43dc3851 1936 //\r
a13899c5 1937 // Make Module Description\r
43dc3851 1938 //\r
ea7f8a93 1939 dmtnModuleDescription = new IDefaultMutableTreeNode("Modules", IDefaultMutableTreeNode.MODULE, -1);\r
a13899c5 1940\r
92e29378 1941 //\r
1942 // First add package\r
1943 //\r
739c6b04 1944 if (GlobalData.vPackageList.size() > 0) {\r
1945 for (int index = 0; index < GlobalData.vPackageList.size(); index++) {\r
92e29378 1946 IDefaultMutableTreeNode dmtnModulePackage = null;\r
1947 IDefaultMutableTreeNode dmtnModulePackageLibrary = null;\r
1948 IDefaultMutableTreeNode dmtnModulePackageModule = null;\r
1949\r
739c6b04 1950 dmtnModulePackage = new IDefaultMutableTreeNode(GlobalData.vPackageList.elementAt(index).getName(),\r
92e29378 1951 IDefaultMutableTreeNode.MODULE_PACKAGE, false,\r
739c6b04 1952 GlobalData.vPackageList.elementAt(index));\r
92e29378 1953 dmtnModulePackageLibrary = new IDefaultMutableTreeNode("Library",\r
1954 IDefaultMutableTreeNode.MODULE_PACKAGE_LIBRARY,\r
739c6b04 1955 false, GlobalData.vPackageList.elementAt(index));\r
92e29378 1956 dmtnModulePackageModule = new IDefaultMutableTreeNode("Module",\r
1957 IDefaultMutableTreeNode.MODULE_PACKAGE_MODULE,\r
739c6b04 1958 false, GlobalData.vPackageList.elementAt(index));\r
43dc3851 1959 //\r
1960 // And then add each module in its package\r
1961 //\r
739c6b04 1962 Vector<ModuleIdentification> vModule = wt.getAllModules(GlobalData.vPackageList.elementAt(index));\r
92e29378 1963 for (int indexJ = 0; indexJ < vModule.size(); indexJ++) {\r
1964 if (vModule.get(indexJ).isLibrary()) {\r
1965 dmtnModulePackageLibrary.add(new IDefaultMutableTreeNode(vModule.get(indexJ).getName(),\r
739c6b04 1966 IDefaultMutableTreeNode.MODULE, false,\r
1967 vModule.get(indexJ)));\r
92e29378 1968 } else {\r
1969 dmtnModulePackageModule.add(new IDefaultMutableTreeNode(vModule.get(indexJ).getName(),\r
739c6b04 1970 IDefaultMutableTreeNode.MODULE, false,\r
1971 vModule.get(indexJ)));\r
92e29378 1972 }\r
1973 }\r
1974 if (dmtnModulePackageModule.getChildCount() > 0) {\r
1975 dmtnModulePackage.add(dmtnModulePackageModule);\r
1976 }\r
1977 if (dmtnModulePackageLibrary.getChildCount() > 0) {\r
1978 dmtnModulePackage.add(dmtnModulePackageLibrary);\r
1979 }\r
1980\r
1981 dmtnModuleDescription.add(dmtnModulePackage);\r
a13899c5 1982 }\r
1983 }\r
1984\r
43dc3851 1985 //\r
a13899c5 1986 // Make Package Description\r
43dc3851 1987 //\r
ea7f8a93 1988 dmtnPackageDescription = new IDefaultMutableTreeNode("Packages", IDefaultMutableTreeNode.PACKAGE, -1);\r
739c6b04 1989 if (GlobalData.vPackageList.size() > 0) {\r
1990 for (int index = 0; index < GlobalData.vPackageList.size(); index++) {\r
1991 dmtnPackageDescription.add(new IDefaultMutableTreeNode(GlobalData.vPackageList.elementAt(index)\r
1992 .getName(),\r
535329b5 1993 IDefaultMutableTreeNode.PACKAGE, false,\r
739c6b04 1994 GlobalData.vPackageList.elementAt(index)));\r
a13899c5 1995 }\r
1996 }\r
1997\r
43dc3851 1998 //\r
a13899c5 1999 // Make Platform Description\r
43dc3851 2000 //\r
55e83b18 2001 dmtnPlatformDescription = new IDefaultMutableTreeNode("Platforms", IDefaultMutableTreeNode.PLATFORM, -1);\r
739c6b04 2002 if (GlobalData.vPlatformList.size() > 0) {\r
2003 for (int index = 0; index < GlobalData.vPlatformList.size(); index++) {\r
2004 dmtnPlatformDescription.add(new IDefaultMutableTreeNode(GlobalData.vPlatformList.elementAt(index)\r
2005 .getName(),\r
2006 IDefaultMutableTreeNode.PLATFORM, false,\r
2007 GlobalData.vPlatformList.elementAt(index)));\r
a13899c5 2008 }\r
2009 }\r
2010\r
43dc3851 2011 //\r
2012 // Add sub nodes to root node\r
2013 //\r
a13899c5 2014 dmtnRoot.add(dmtnModuleDescription);\r
2015 dmtnRoot.add(dmtnPackageDescription);\r
2016 dmtnRoot.add(dmtnPlatformDescription);\r
2017 iTree = new ITree(dmtnRoot);\r
2018 iTree.addMouseListener(this);\r
2019 jScrollPaneTree.setViewportView(iTree);\r
2020 }\r
2021\r
2022 /* (non-Javadoc)\r
2023 * @see java.awt.event.WindowListener#windowClosing(java.awt.event.WindowEvent)\r
2024 *\r
2025 * Override windowClosing to popup warning message to confirm quit\r
2026 * \r
2027 */\r
2028 public void windowClosing(WindowEvent arg0) {\r
2029 this.exit();\r
2030 }\r
2031\r
2032 /* (non-Javadoc)\r
2033 * @see java.awt.event.MouseListener#mouseClicked(java.awt.event.MouseEvent)\r
2034 * \r
2035 * Override mouseClicked to check if need display popup menu\r
2036 * \r
2037 */\r
2038 public void mouseClicked(MouseEvent arg0) {\r
2039 if (arg0.getButton() == MouseEvent.BUTTON1) {\r
2040 }\r
2041 if (arg0.getButton() == MouseEvent.BUTTON3) {\r
2042 }\r
2043 //\r
2044 // When double click\r
2045 //\r
2046 if (arg0.getClickCount() == 2) {\r
2047 doubleClickModuleTreeNode();\r
2048 }\r
2049 }\r
2050\r
2051 public void mouseEntered(MouseEvent arg0) {\r
2052 // TODO Auto-generated method stub\r
2053 }\r
2054\r
2055 public void mouseExited(MouseEvent arg0) {\r
2056 // TODO Auto-generated method stub\r
2057 }\r
2058\r
2059 public void mousePressed(MouseEvent arg0) {\r
2060 // TODO Auto-generated method stub\r
2061 }\r
2062\r
2063 public void mouseReleased(MouseEvent arg0) {\r
2064 // TODO Auto-generated method stub\r
2065 }\r
2066\r
2067 /**\r
2068 Remove all Internal Frame of Module Desktop Pane\r
2069 \r
2070 **/\r
2071 private void cleanDesktopPaneModule() {\r
2072 if (jDesktopPaneModule != null) {\r
2073 JInternalFrame[] iif = this.jDesktopPaneModule.getAllFrames();\r
2074 for (int index = 0; index < iif.length; index++) {\r
2075 iif[index].dispose();\r
2076 }\r
2077 }\r
2078 }\r
2079\r
2080 /**\r
2081 Remove all Internal Frame of package Desktop Pane\r
2082 \r
2083 **/\r
2084 private void cleanDesktopPanePackage() {\r
2085 if (jDesktopPanePlatform != null) {\r
2086 JInternalFrame[] iif = this.jDesktopPanePackage.getAllFrames();\r
2087 for (int index = 0; index < iif.length; index++) {\r
2088 iif[index].dispose();\r
2089 }\r
2090 }\r
2091 }\r
2092\r
2093 /**\r
2094 Remove all Internal Frame of platform Desktop Pane\r
2095 \r
2096 **/\r
2097 private void cleanDesktopPanePlatform() {\r
2098 if (jDesktopPanePlatform != null) {\r
2099 JInternalFrame[] iif = this.jDesktopPanePlatform.getAllFrames();\r
2100 for (int index = 0; index < iif.length; index++) {\r
2101 iif[index].dispose();\r
2102 }\r
2103 }\r
2104 }\r
2105\r
2106 /**\r
2107 Remove all Internal Frame of all Desktop Panes\r
2108 \r
2109 **/\r
2110 private void cleanDesktopPane() {\r
2111 cleanDesktopPaneModule();\r
2112 cleanDesktopPanePackage();\r
2113 cleanDesktopPanePlatform();\r
2114 }\r
2115\r
2116 /**\r
2117 Set file filter as input ext\r
2118 \r
2119 @param ext\r
2120 @return\r
2121 \r
2122 **/\r
2123 private int getNewFilePath(String ext) {\r
2124 JFileChooser fc = new JFileChooser(Workspace.getCurrentWorkspace());\r
2125 fc.setAcceptAllFileFilterUsed(false);\r
2126 fc.addChoosableFileFilter(new IFileFilter(ext));\r
2127 return fc.showSaveDialog(new JPanel());\r
2128 }\r
55a2762d 2129\r
2130 /**\r
2131 Add a module to tree\r
2132 \r
2133 @param mid The module node to be added\r
2134 \r
2135 **/\r
2136 private void addModuleToTree(ModuleIdentification mid) {\r
2137 //\r
2138 // Add new MsaHeader node to the tree\r
2139 //\r
8792f60f 2140 IDefaultMutableTreeNode node = new IDefaultMutableTreeNode(mid.getName(), IDefaultMutableTreeNode.MODULE, true,\r
2141 mid);\r
55a2762d 2142 //\r
2143 // First find the module belongs to which package\r
2144 //\r
2145 IDefaultMutableTreeNode packageNode = iTree.getNodeById(dmtnModuleDescription, mid.getPackageId(),\r
2146 IDefaultMutableTreeNode.MODULE_PACKAGE);\r
2147 //\r
2148 // To check if has module node or library node\r
2149 //\r
2150 IDefaultMutableTreeNode parentModuleNode = null;\r
2151 IDefaultMutableTreeNode parentLibraryNode = null;\r
2152 boolean hasModule = false;\r
2153 boolean hasLibrary = false;\r
2154 for (int index = 0; index < packageNode.getChildCount(); index++) {\r
2155 IDefaultMutableTreeNode iNode = (IDefaultMutableTreeNode) packageNode.getChildAt(index);\r
2156 if (iNode.getCategory() == IDefaultMutableTreeNode.MODULE_PACKAGE_LIBRARY) {\r
2157 hasLibrary = true;\r
2158 parentLibraryNode = iNode;\r
2159 }\r
2160 if (iNode.getCategory() == IDefaultMutableTreeNode.MODULE_PACKAGE_MODULE) {\r
2161 hasModule = true;\r
2162 parentModuleNode = iNode;\r
2163 }\r
2164 }\r
2165\r
2166 //\r
2167 // If is a module\r
2168 //\r
2169 if (!mid.isLibrary()) {\r
2170 //\r
2171 // Create parent node first if has no parent node\r
2172 //\r
2173 if (!hasModule) {\r
2174 parentModuleNode = new IDefaultMutableTreeNode("Module", IDefaultMutableTreeNode.MODULE_PACKAGE_MODULE,\r
2175 false, mid.getPackageId());\r
2176 iTree.addNode(packageNode, parentModuleNode);\r
2177 }\r
2178\r
2179 iTree.addNode(parentModuleNode, node);\r
2180 }\r
2181\r
2182 //\r
2183 // If is a Library\r
2184 //\r
2185 if (mid.isLibrary()) {\r
2186 //\r
2187 // Create parent node first if has no parent node\r
2188 //\r
2189 if (!hasLibrary) {\r
2190 parentLibraryNode = new IDefaultMutableTreeNode("Library",\r
2191 IDefaultMutableTreeNode.MODULE_PACKAGE_LIBRARY, false,\r
2192 mid.getPackageId());\r
2193 iTree.addNode(packageNode, parentLibraryNode);\r
2194 }\r
2195\r
2196 iTree.addNode(parentLibraryNode, node);\r
2197 }\r
2198 }\r
a13899c5 2199\r
55a2762d 2200 /**\r
2201 Open Module\r
92e29378 2202\r
55a2762d 2203 @param path input file path\r
2204 \r
2205 **/\r
2206 private void openModule(String path) {\r
739c6b04 2207 ModuleIdentification id = GlobalData.openingModuleList.getIdByPath(path);\r
2208 if (id == null) {\r
a13899c5 2209 //\r
2210 // The module is not in existing packages\r
2211 //\r
ea7f8a93 2212 Log.wrn("Open Module", "The module does not belong to any package in the current workspace!");\r
a13899c5 2213 return;\r
2214 }\r
55a2762d 2215\r
92e29378 2216 //\r
a13899c5 2217 // Make the node selected\r
2218 //\r
2219 iTree.setSelectionPath(iTree.getPathOfNode(iTree.getNodeById(this.dmtnModuleDescription, id,\r
535329b5 2220 IDefaultMutableTreeNode.MODULE)));\r
a13899c5 2221 //\r
2222 // Update opening Module list information\r
2223 //\r
739c6b04 2224 if (!GlobalData.openingModuleList.getModuleOpen(id)) {\r
a13899c5 2225 //\r
2226 // Insert sub node of module\r
2227 //\r
2228 insertModuleTreeNode(id);\r
2229 iTree.getSelectNode().setOpening(true);\r
2230\r
2231 //\r
2232 // Update opening module list\r
2233 //\r
739c6b04 2234 GlobalData.openingModuleList.setModuleOpen(id, true);\r
2235 GlobalData.openingModuleList.setTreePathById(id, iTree.getSelectionPath());\r
a13899c5 2236 }\r
2237 //\r
535329b5 2238 // Select msa header node and show it in editor panel\r
a13899c5 2239 //\r
535329b5 2240 iTree.setSelectionPath(iTree.getPathOfNode(iTree.getNodeById(this.dmtnModuleDescription, id,\r
2241 IDefaultMutableTreeNode.MSA_HEADER)));\r
739c6b04 2242 showModuleElement(IDefaultMutableTreeNode.MSA_HEADER, GlobalData.openingModuleList.getOpeningModuleById(id));\r
2243 this.currentOpeningModuleIndex = GlobalData.openingModuleList.findIndexOfListById(id);\r
a13899c5 2244 }\r
2245\r
2246 /**\r
2247 Open Package\r
2248\r
2249 @param path input file path\r
2250 \r
2251 **/\r
2252 private void openPackage(String path) {\r
739c6b04 2253 PackageIdentification id = GlobalData.openingPackageList.getIdByPath(path);\r
2254 if (id == null) {\r
a13899c5 2255 //\r
739c6b04 2256 // The package is not in current workspace\r
a13899c5 2257 //\r
ea7f8a93 2258 Log.wrn("Open Package", "The package has not been installed in the current workspace!");\r
a13899c5 2259 return;\r
2260 }\r
2261\r
2262 //\r
2263 // Make the node selected\r
2264 //\r
2265 iTree.setSelectionPath(iTree.getPathOfNode(iTree.getNodeById(this.dmtnPackageDescription, id,\r
535329b5 2266 IDefaultMutableTreeNode.PACKAGE)));\r
a13899c5 2267 //\r
2268 // Update opening package list information\r
2269 //\r
739c6b04 2270 if (!GlobalData.openingPackageList.getPackageOpen(id)) {\r
a13899c5 2271 //\r
2272 // Insert sub node of module\r
2273 //\r
2274 insertPackageTreeNode(id);\r
2275 iTree.getSelectNode().setOpening(true);\r
2276\r
2277 //\r
2278 // Update opening module list\r
2279 //\r
739c6b04 2280 GlobalData.openingPackageList.setPackageOpen(id, true);\r
2281 GlobalData.openingPackageList.setTreePathById(id, iTree.getSelectionPath());\r
a13899c5 2282 }\r
2283 //\r
2284 // Show spd header in editor panel\r
2285 //\r
535329b5 2286 iTree.setSelectionPath(iTree.getPathOfNode(iTree.getNodeById(this.dmtnPackageDescription, id,\r
2287 IDefaultMutableTreeNode.SPD_HEADER)));\r
739c6b04 2288 showPackageElement(IDefaultMutableTreeNode.SPD_HEADER, GlobalData.openingPackageList.getOpeningPackageById(id));\r
2289 this.currentOpeningPackageIndex = GlobalData.openingPackageList.findIndexOfListById(id);\r
a13899c5 2290 }\r
2291\r
2292 /**\r
2293 Open Package\r
2294\r
2295 @param path input file path\r
2296 \r
2297 **/\r
2298 private void openPlatform(String path) {\r
739c6b04 2299 PlatformIdentification id = GlobalData.openingPlatformList.getIdByPath(path);\r
2300 if (id == null) {\r
a13899c5 2301 //\r
739c6b04 2302 // The platform is not in current workspace\r
a13899c5 2303 //\r
ea7f8a93 2304 Log.wrn("Open Platform", "The platform has not been installed in the current workspace!");\r
a13899c5 2305 return;\r
2306 }\r
2307\r
2308 //\r
2309 // Make the node selected\r
2310 //\r
2311 iTree.setSelectionPath(iTree.getPathOfNode(iTree.getNodeById(this.dmtnPlatformDescription, id,\r
535329b5 2312 IDefaultMutableTreeNode.PLATFORM)));\r
a13899c5 2313 //\r
2314 // Update opening package list information\r
2315 //\r
739c6b04 2316 if (!GlobalData.openingPlatformList.getPlatformOpen(id)) {\r
a13899c5 2317 //\r
2318 // Insert sub node of module\r
2319 //\r
2320 insertPlatformTreeNode(id);\r
2321 iTree.getSelectNode().setOpening(true);\r
2322\r
2323 //\r
2324 // Update opening module list\r
2325 //\r
739c6b04 2326 GlobalData.openingPlatformList.setPlatformOpen(id, true);\r
2327 GlobalData.openingPlatformList.setTreePathById(id, iTree.getSelectionPath());\r
a13899c5 2328 }\r
2329 //\r
2330 // Show fpd header in editor panel\r
2331 //\r
535329b5 2332 iTree.setSelectionPath(iTree.getPathOfNode(iTree.getNodeById(this.dmtnPlatformDescription, id,\r
2333 IDefaultMutableTreeNode.FPD_PLATFORMHEADER)));\r
739c6b04 2334 showPlatformElement(IDefaultMutableTreeNode.FPD_PLATFORMHEADER,\r
2335 GlobalData.openingPlatformList.getOpeningPlatformById(id));\r
2336 this.currentOpeningPlatformIndex = GlobalData.openingPlatformList.findIndexOfListById(id);\r
a13899c5 2337 }\r
2338\r
2339 /**\r
2340 Save module \r
2341 \r
2342 **/\r
2343 private void saveModule(int index) {\r
739c6b04 2344 OpeningModuleType omt = GlobalData.openingModuleList.getOpeningModuleByIndex(index);\r
a13899c5 2345 if (omt.isNew()) {\r
2346 if (getNewFilePath(DataType.MODULE_SURFACE_AREA_EXT) != JFileChooser.APPROVE_OPTION) {\r
2347 return;\r
2348 }\r
2349 }\r
2350 try {\r
2351 SaveFile.saveMsaFile(omt.getId().getPath(), omt.getXmlMsa());\r
739c6b04 2352 GlobalData.openingModuleList.setNew(omt.getId(), false);\r
2353 GlobalData.openingModuleList.setModuleSaved(omt.getId(), true);\r
a13899c5 2354 } catch (Exception e) {\r
ed1665f2 2355 Log.wrn("Save Module", e.getMessage());\r
a13899c5 2356 Log.err("Save Module", e.getMessage());\r
2357 }\r
2358 }\r
2359\r
2360 /**\r
2361 Save package \r
2362 \r
2363 **/\r
2364 private void savePackage(int index) {\r
739c6b04 2365 OpeningPackageType opt = GlobalData.openingPackageList.getOpeningPackageByIndex(index);\r
a13899c5 2366 if (opt.isNew()) {\r
2367 if (getNewFilePath(DataType.PACKAGE_SURFACE_AREA_EXT) != JFileChooser.APPROVE_OPTION) {\r
2368 return;\r
2369 }\r
2370 }\r
2371 try {\r
2372 SaveFile.saveSpdFile(opt.getId().getPath(), opt.getXmlSpd());\r
739c6b04 2373 GlobalData.openingPackageList.setNew(opt.getId(), false);\r
2374 GlobalData.openingPackageList.setPackageSaved(opt.getId(), true);\r
a13899c5 2375 } catch (Exception e) {\r
ed1665f2 2376 Log.wrn("Save Package", e.getMessage());\r
a13899c5 2377 Log.err("Save Package", e.getMessage());\r
2378 }\r
2379 }\r
2380\r
2381 /**\r
2382 Save platform \r
2383 \r
2384 **/\r
2385 private void savePlatform(int index) {\r
739c6b04 2386 OpeningPlatformType opt = GlobalData.openingPlatformList.getOpeningPlatformByIndex(index);\r
a13899c5 2387 if (opt.isNew()) {\r
2388 if (getNewFilePath(DataType.PACKAGE_SURFACE_AREA_EXT) != JFileChooser.APPROVE_OPTION) {\r
2389 return;\r
2390 }\r
2391 }\r
2392 try {\r
2393 SaveFile.saveFpdFile(opt.getId().getPath(), opt.getXmlFpd());\r
739c6b04 2394 GlobalData.openingPlatformList.setNew(opt.getId(), false);\r
2395 GlobalData.openingPlatformList.setPlatformSaved(opt.getId(), true);\r
a13899c5 2396 } catch (Exception e) {\r
ed1665f2 2397 Log.wrn("Save Package", e.getMessage());\r
a13899c5 2398 Log.err("Save Package", e.getMessage());\r
2399 }\r
2400 }\r
2401\r
a13899c5 2402 public void componentResized(ComponentEvent arg0) {\r
8792f60f 2403 if (this.jSplitPane != null) {\r
2404 this.jSplitPane.setSize(this.getWidth() - DataType.MAIN_FRAME_WIDTH_SPACING,\r
2405 this.getHeight() - DataType.MAIN_FRAME_HEIGHT_SPACING);\r
2406 this.jSplitPane.validate();\r
2407 resizeDesktopPanel();\r
2408 }\r
a13899c5 2409 }\r
2410\r
2411 /**\r
2412 Resize JDesktopPanel\r
2413 \r
2414 */\r
2415 private void resizeDesktopPanel() {\r
2416 resizeDesktopPanel(this.jDesktopPaneModule);\r
2417 resizeDesktopPanel(this.jDesktopPanePackage);\r
2418 resizeDesktopPanel(this.jDesktopPanePlatform);\r
2419 }\r
2420\r
2421 /**\r
2422 Resize JDesktopPanel\r
2423 \r
2424 */\r
2425 private void resizeDesktopPanel(JDesktopPane jdk) {\r
2426 JInternalFrame[] iif = jdk.getAllFrames();\r
2427 for (int index = 0; index < iif.length; index++) {\r
2428 iif[index].setSize(jdk.getWidth(), jdk.getHeight());\r
2429 }\r
2430 }\r
2431\r
a13899c5 2432 private void insertModuleTreeNode(Identification id) {\r
535329b5 2433 iTree.addNode(new IDefaultMutableTreeNode("Module Header", IDefaultMutableTreeNode.MSA_HEADER, true, id));\r
739c6b04 2434 iTree.addNode(new IDefaultMutableTreeNode("Source Files", IDefaultMutableTreeNode.MSA_SOURCEFILES, true, id));\r
a13899c5 2435 iTree.addNode(new IDefaultMutableTreeNode("Library Class Definitions",\r
2436 IDefaultMutableTreeNode.MSA_LIBRARYCLASSDEFINITIONS, true, id));\r
a13899c5 2437 iTree.addNode(new IDefaultMutableTreeNode("Package Dependencies",\r
2438 IDefaultMutableTreeNode.MSA_PACKAGEDEPENDENCIES, true, id));\r
2439 iTree.addNode(new IDefaultMutableTreeNode("Protocols", IDefaultMutableTreeNode.MSA_PROTOCOLS, true, id));\r
2440 iTree.addNode(new IDefaultMutableTreeNode("Events", IDefaultMutableTreeNode.MSA_EVENTS, true, id));\r
2441 iTree.addNode(new IDefaultMutableTreeNode("Hobs", IDefaultMutableTreeNode.MSA_HOBS, true, id));\r
2442 iTree.addNode(new IDefaultMutableTreeNode("Ppis", IDefaultMutableTreeNode.MSA_PPIS, true, id));\r
2443 iTree.addNode(new IDefaultMutableTreeNode("Variables", IDefaultMutableTreeNode.MSA_VARIABLES, true, id));\r
2444 iTree.addNode(new IDefaultMutableTreeNode("Boot Modes", IDefaultMutableTreeNode.MSA_BOOTMODES, true, id));\r
2445 iTree.addNode(new IDefaultMutableTreeNode("System Tables", IDefaultMutableTreeNode.MSA_SYSTEMTABLES, true, id));\r
2446 iTree.addNode(new IDefaultMutableTreeNode("Data Hubs", IDefaultMutableTreeNode.MSA_DATAHUBS, true, id));\r
2447 iTree.addNode(new IDefaultMutableTreeNode("Hii Packages", IDefaultMutableTreeNode.MSA_HIIPACKAGES, true, id));\r
2448 iTree.addNode(new IDefaultMutableTreeNode("Guids", IDefaultMutableTreeNode.MSA_GUIDS, true, id));\r
55e83b18 2449 iTree\r
2450 .addNode(new IDefaultMutableTreeNode("External Defintions", IDefaultMutableTreeNode.MSA_EXTERNS, true, id));\r
ea7f8a93 2451 iTree.addNode(new IDefaultMutableTreeNode("Pcd Coded", IDefaultMutableTreeNode.MSA_PCDS, true, id));\r
a13899c5 2452 }\r
2453\r
2454 private void insertPackageTreeNode(Identification id) {\r
535329b5 2455 iTree.addNode(new IDefaultMutableTreeNode("Package Header", IDefaultMutableTreeNode.SPD_HEADER, true, id));\r
a13899c5 2456 iTree.addNode(new IDefaultMutableTreeNode("Library Class Declarations",\r
2457 IDefaultMutableTreeNode.SPD_LIBRARYCLASSDECLARATIONS, true, id));\r
2458 iTree.addNode(new IDefaultMutableTreeNode("Msa Files", IDefaultMutableTreeNode.SPD_MSAFILES, false, id));\r
535329b5 2459 iTree.addNode(new IDefaultMutableTreeNode("Package Includes", IDefaultMutableTreeNode.SPD_PACKAGEHEADERS, true,\r
a13899c5 2460 id));\r
2461 iTree.addNode(new IDefaultMutableTreeNode("Guid Declarations", IDefaultMutableTreeNode.SPD_GUIDDECLARATIONS,\r
2462 true, id));\r
2463 iTree.addNode(new IDefaultMutableTreeNode("Protocol Declarations",\r
2464 IDefaultMutableTreeNode.SPD_PROTOCOLDECLARATIONS, true, id));\r
2465 iTree.addNode(new IDefaultMutableTreeNode("Ppi Declarations", IDefaultMutableTreeNode.SPD_PPIDECLARATIONS,\r
2466 true, id));\r
2467 iTree.addNode(new IDefaultMutableTreeNode("Pcd Declarations", IDefaultMutableTreeNode.SPD_PCDDECLARATIONS,\r
2468 true, id));\r
2469 }\r
2470\r
2471 private void insertPlatformTreeNode(Identification id) {\r
535329b5 2472 iTree.addNode(new IDefaultMutableTreeNode("Platform Header", IDefaultMutableTreeNode.FPD_PLATFORMHEADER, true,\r
2473 id));\r
92e29378 2474 iTree.addNode(new IDefaultMutableTreeNode("Platform Definitions",\r
2475 IDefaultMutableTreeNode.FPD_PLATFORMDEFINITIONS, true, id));\r
ea7f8a93 2476 iTree.addNode(new IDefaultMutableTreeNode("Flash Information", IDefaultMutableTreeNode.FPD_FLASH, true, id));\r
a13899c5 2477 iTree.addNode(new IDefaultMutableTreeNode("Framework Modules", IDefaultMutableTreeNode.FPD_FRAMEWORKMODULES,\r
2478 true, id));\r
ea7f8a93 2479 iTree.addNode(new IDefaultMutableTreeNode("Dynamic PCD Build Declarations",\r
a13899c5 2480 IDefaultMutableTreeNode.FPD_PCDDYNAMICBUILDDECLARATIONS, true, id));\r
2481 iTree.addNode(new IDefaultMutableTreeNode("Build Options", IDefaultMutableTreeNode.FPD_BUILDOPTIONS, true, id));\r
2482 }\r
2483\r
2484 /**\r
2485 Operate when double click a tree node\r
2486 \r
2487 **/\r
2488 private void doubleClickModuleTreeNode() {\r
a929458e 2489 Identification id = null;\r
2490 int intCategory = -1;\r
a13899c5 2491 String path = null;\r
fe1543a5 2492\r
ed1665f2 2493 try {\r
a929458e 2494 id = iTree.getSelectNode().getId();\r
2495 intCategory = iTree.getSelectCategory();\r
739c6b04 2496\r
fe1543a5 2497 // \r
2498 // If the node is not opened yet\r
2499 // Insert top level elements first\r
2500 //\r
2501 if (intCategory == IDefaultMutableTreeNode.MODULE) {\r
ed1665f2 2502\r
fe1543a5 2503 if (intCategory == IDefaultMutableTreeNode.MODULE) {\r
ed1665f2 2504 path = iTree.getSelectNode().getId().getPath();\r
2505 }\r
fe1543a5 2506 if (intCategory == IDefaultMutableTreeNode.PACKAGE) {\r
ed1665f2 2507 path = iTree.getSelectNode().getId().getPath();\r
2508 }\r
fe1543a5 2509 openModule(path);\r
2510 return;\r
2511 }\r
2512 if (intCategory == IDefaultMutableTreeNode.PACKAGE) {\r
2513 path = iTree.getSelectNode().getId().getPath();\r
2514 openPackage(path);\r
2515 return;\r
2516 }\r
2517 if (intCategory == IDefaultMutableTreeNode.PLATFORM) {\r
2518 path = iTree.getSelectNode().getId().getPath();\r
2519 openPlatform(path);\r
2520 return;\r
a13899c5 2521 }\r
739c6b04 2522\r
ed1665f2 2523 //\r
2524 // Show editor panel\r
2525 //\r
2526 if (intCategory >= IDefaultMutableTreeNode.MSA_HEADER && intCategory < IDefaultMutableTreeNode.SPD_HEADER) {\r
739c6b04 2527 showModuleElement(intCategory,\r
2528 GlobalData.openingModuleList.getOpeningModuleById(new ModuleIdentification(id)));\r
2529 this.currentOpeningModuleIndex = GlobalData.openingModuleList\r
2530 .findIndexOfListById(new ModuleIdentification(\r
2531 id));\r
ed1665f2 2532 }\r
2533 if (intCategory >= IDefaultMutableTreeNode.SPD_HEADER\r
2534 && intCategory < IDefaultMutableTreeNode.FPD_PLATFORMHEADER) {\r
739c6b04 2535 showPackageElement(intCategory,\r
2536 GlobalData.openingPackageList.getOpeningPackageById(new PackageIdentification(id)));\r
2537 this.currentOpeningPackageIndex = GlobalData.openingPackageList\r
2538 .findIndexOfListById(new PackageIdentification(\r
2539 id));\r
ed1665f2 2540 }\r
2541 if (intCategory >= IDefaultMutableTreeNode.FPD_PLATFORMHEADER) {\r
739c6b04 2542 showPlatformElement(\r
2543 intCategory,\r
2544 GlobalData.openingPlatformList\r
2545 .getOpeningPlatformById(new PlatformIdentification(id)));\r
2546 this.currentOpeningPlatformIndex = GlobalData.openingPlatformList\r
2547 .findIndexOfListById(new PlatformIdentification(\r
2548 id));\r
ed1665f2 2549 }\r
2550 } catch (RuntimeException e) {\r
739c6b04 2551 Log.err("double click category: " + intCategory);\r
2552 Log.err("double click id path: " + id);\r
2553 Log.err("double click exception: " + e.getMessage());\r
a13899c5 2554 }\r
2555 }\r
2556\r
2557 /**\r
2558 Show content of editor panel via selected element\r
2559 \r
2560 @param elementType\r
2561 @param fpd\r
2562 \r
92e29378 2563 **/\r
a13899c5 2564 private void showPlatformElement(int elementType, OpeningPlatformType fpd) {\r
2565 this.cleanDesktopPanePlatform();\r
92e29378 2566\r
a13899c5 2567 switch (elementType) {\r
2568 case IDefaultMutableTreeNode.FPD_PLATFORMDEFINITIONS:\r
d6d24759 2569 FpdPlatformDefs frmFpdPlatformDefs = new FpdPlatformDefs(fpd);\r
a13899c5 2570 getJDesktopPanePlatform().add(frmFpdPlatformDefs, 1);\r
2571 break;\r
2572 case IDefaultMutableTreeNode.FPD_PLATFORMHEADER:\r
d6d24759 2573 FpdHeader frmFpdHeader = new FpdHeader(fpd);\r
a13899c5 2574 getJDesktopPanePlatform().add(frmFpdHeader, 1);\r
2575 break;\r
2576 case IDefaultMutableTreeNode.FPD_FLASH:\r
d6d24759 2577 FpdFlash frmFpdFlash = new FpdFlash(fpd);\r
a13899c5 2578 getJDesktopPanePlatform().add(frmFpdFlash, 1);\r
2579 break;\r
2580 case IDefaultMutableTreeNode.FPD_FRAMEWORKMODULES:\r
d6d24759 2581 FpdFrameworkModules frmFpdFrameworkModules = new FpdFrameworkModules(fpd);\r
a13899c5 2582 getJDesktopPanePlatform().add(frmFpdFrameworkModules, 1);\r
2583 break;\r
2584 case IDefaultMutableTreeNode.FPD_PCDDYNAMICBUILDDECLARATIONS:\r
d6d24759 2585 FpdDynamicPcdBuildDefinitions frmFpdDynamicPcdBuildDefinitions = new FpdDynamicPcdBuildDefinitions(fpd);\r
a13899c5 2586 getJDesktopPanePlatform().add(frmFpdDynamicPcdBuildDefinitions, 1);\r
2587 break;\r
2588 case IDefaultMutableTreeNode.FPD_BUILDOPTIONS:\r
d6d24759 2589 FpdBuildOptions frmFpdBuildOptions = new FpdBuildOptions(fpd);\r
a13899c5 2590 getJDesktopPanePlatform().add(frmFpdBuildOptions, 1);\r
2591 break;\r
2592 }\r
2593 this.jTabbedPaneEditor.setSelectedIndex(2);\r
2594 resizeDesktopPanel();\r
2595 }\r
2596\r
2597 /**\r
2598 Show content of editor panel via selected element\r
2599 \r
2600 @param elementType\r
2601 @param spd\r
2602 \r
2603 */\r
2604 private void showPackageElement(int elementType, OpeningPackageType spd) {\r
2605 this.cleanDesktopPanePackage();\r
2606 Tools.dirForNewSpd = spd.getId().getPath();\r
2607 switch (elementType) {\r
2608 case IDefaultMutableTreeNode.SPD_HEADER:\r
d6d24759 2609 SpdHeader frmSpdHeader = new SpdHeader(spd);\r
a13899c5 2610 getJDesktopPanePackage().add(frmSpdHeader, 1);\r
2611 break;\r
a13899c5 2612 case IDefaultMutableTreeNode.SPD_LIBRARYCLASSDECLARATIONS:\r
d6d24759 2613 SpdLibClassDecls frmSlcd = new SpdLibClassDecls(spd);\r
a13899c5 2614 getJDesktopPanePackage().add(frmSlcd, 1);\r
2615 break;\r
2616 case IDefaultMutableTreeNode.SPD_MSAFILES:\r
d6d24759 2617 SpdMsaFiles frmSmf = new SpdMsaFiles(spd);\r
a13899c5 2618 getJDesktopPanePackage().add(frmSmf, 1);\r
2619 break;\r
2620 case IDefaultMutableTreeNode.SPD_PACKAGEHEADERS:\r
d6d24759 2621 SpdPackageHeaders frmSph = new SpdPackageHeaders(spd);\r
a13899c5 2622 getJDesktopPanePackage().add(frmSph, 1);\r
2623 break;\r
2624 case IDefaultMutableTreeNode.SPD_GUIDDECLARATIONS:\r
d6d24759 2625 SpdGuidDecls frmSgd = new SpdGuidDecls(spd);\r
a13899c5 2626 getJDesktopPanePackage().add(frmSgd, 1);\r
2627 break;\r
2628 case IDefaultMutableTreeNode.SPD_PROTOCOLDECLARATIONS:\r
d6d24759 2629 SpdProtocolDecls frmSprod = new SpdProtocolDecls(spd);\r
a13899c5 2630 getJDesktopPanePackage().add(frmSprod, 1);\r
2631 break;\r
2632 case IDefaultMutableTreeNode.SPD_PPIDECLARATIONS:\r
d6d24759 2633 SpdPpiDecls frmSppid = new SpdPpiDecls(spd);\r
a13899c5 2634 getJDesktopPanePackage().add(frmSppid, 1);\r
2635 break;\r
2636 case IDefaultMutableTreeNode.SPD_PCDDECLARATIONS:\r
d6d24759 2637 SpdPcdDefs frmSpcdd = new SpdPcdDefs(spd);\r
a13899c5 2638 getJDesktopPanePackage().add(frmSpcdd, 1);\r
2639 break;\r
2640 }\r
2641 this.jTabbedPaneEditor.setSelectedIndex(1);\r
2642 resizeDesktopPanel();\r
2643 }\r
2644\r
2645 /**\r
2646 Show content of editor panel via selected element\r
2647 \r
2648 @param elementType\r
2649 @param msa\r
2650 \r
2651 */\r
2652 private void showModuleElement(int elementType, OpeningModuleType msa) {\r
2653 this.cleanDesktopPaneModule();\r
2654 switch (elementType) {\r
2655 case IDefaultMutableTreeNode.MSA_HEADER:\r
2656 MsaHeader frmMsaHeader = new MsaHeader(msa);\r
2657 getJDesktopPaneModule().add(frmMsaHeader, 1);\r
2658 break;\r
a13899c5 2659 case IDefaultMutableTreeNode.MSA_LIBRARYCLASSDEFINITIONS:\r
2660 ModuleLibraryClassDefinitions frmMlcd = new ModuleLibraryClassDefinitions(msa);\r
2661 getJDesktopPaneModule().add(frmMlcd, 1);\r
2662 break;\r
2663 case IDefaultMutableTreeNode.MSA_PACKAGEDEPENDENCIES:\r
2664 ModulePackageDependencies frmMpd = new ModulePackageDependencies(msa);\r
2665 getJDesktopPaneModule().add(frmMpd, 1);\r
2666 break;\r
2667 case IDefaultMutableTreeNode.MSA_SOURCEFILES:\r
2668 ModuleSourceFiles frmMsf = new ModuleSourceFiles(msa);\r
2669 getJDesktopPaneModule().add(frmMsf, 1);\r
2670 break;\r
2671 case IDefaultMutableTreeNode.MSA_PROTOCOLS:\r
2672 ModuleProtocols frmMp = new ModuleProtocols(msa);\r
2673 getJDesktopPaneModule().add(frmMp, 1);\r
2674 break;\r
2675 case IDefaultMutableTreeNode.MSA_EVENTS:\r
2676 ModuleEvents frmMe = new ModuleEvents(msa);\r
2677 getJDesktopPaneModule().add(frmMe, 1);\r
2678 break;\r
2679 case IDefaultMutableTreeNode.MSA_HOBS:\r
2680 ModuleHobs frmMh = new ModuleHobs(msa);\r
2681 getJDesktopPaneModule().add(frmMh, 1);\r
2682 break;\r
2683 case IDefaultMutableTreeNode.MSA_PPIS:\r
2684 ModulePpis frmMpp = new ModulePpis(msa);\r
2685 getJDesktopPaneModule().add(frmMpp, 1);\r
2686 break;\r
2687 case IDefaultMutableTreeNode.MSA_VARIABLES:\r
2688 ModuleVariables frmMv = new ModuleVariables(msa);\r
2689 getJDesktopPaneModule().add(frmMv, 1);\r
2690 break;\r
2691 case IDefaultMutableTreeNode.MSA_BOOTMODES:\r
2692 ModuleBootModes frmMbm = new ModuleBootModes(msa);\r
2693 getJDesktopPaneModule().add(frmMbm, 1);\r
2694 break;\r
2695 case IDefaultMutableTreeNode.MSA_SYSTEMTABLES:\r
2696 ModuleSystemTables frmMst = new ModuleSystemTables(msa);\r
2697 getJDesktopPaneModule().add(frmMst, 1);\r
2698 break;\r
2699 case IDefaultMutableTreeNode.MSA_DATAHUBS:\r
2700 ModuleDataHubs frmMdh = new ModuleDataHubs(msa);\r
2701 getJDesktopPaneModule().add(frmMdh, 1);\r
2702 break;\r
2703 case IDefaultMutableTreeNode.MSA_HIIPACKAGES:\r
2704 ModuleHiiPackages frmMf = new ModuleHiiPackages(msa);\r
2705 getJDesktopPaneModule().add(frmMf, 1);\r
2706 break;\r
2707 case IDefaultMutableTreeNode.MSA_GUIDS:\r
2708 ModuleGuids frmGuid = new ModuleGuids(msa);\r
2709 getJDesktopPaneModule().add(frmGuid, 1);\r
2710 break;\r
2711 case IDefaultMutableTreeNode.MSA_EXTERNS:\r
2712 ModuleExterns frmMex = new ModuleExterns(msa);\r
2713 getJDesktopPaneModule().add(frmMex, 1);\r
2714 break;\r
2715 case IDefaultMutableTreeNode.MSA_PCDS:\r
2716 ModulePCDs frmPcd = new ModulePCDs(msa);\r
2717 getJDesktopPaneModule().add(frmPcd, 1);\r
2718 break;\r
2719 }\r
2720 this.jTabbedPaneEditor.setSelectedIndex(0);\r
2721 resizeDesktopPanel();\r
2722 }\r
2723\r
2724 //\r
2725 // Define operations of menu\r
2726 //\r
2727 /**\r
2728 New a file\r
2729 \r
2730 **/\r
2731 private void fileNew() {\r
2732 int result = -1;\r
2733 //\r
2734 // Selece new file type\r
2735 //\r
2736 NewFileChooser nfc = new NewFileChooser(this, true);\r
2737 result = nfc.showDialog();\r
2738\r
2739 if (result == DataType.RETURN_TYPE_CANCEL) {\r
2740 nfc.dispose();\r
2741 return;\r
2742 } else if (result == DataType.RETURN_TYPE_MODULE_SURFACE_AREA) {\r
2743 //\r
2744 // To new a module\r
2745 //\r
2746 SelectModuleBelong smb = new SelectModuleBelong(this, true, result);\r
2747 result = smb.showDialog();\r
2748\r
2749 if (result == DataType.RETURN_TYPE_CANCEL) {\r
2750 nfc.dispose();\r
2751 smb.dispose();\r
2752 return;\r
2753 } else if (result == DataType.RETURN_TYPE_OK) {\r
739c6b04 2754 ModuleIdentification mid = smb.getMid();\r
2755 if (mid != null) {\r
2756 //\r
2757 // Update package of workspace first\r
2758 //\r
2759 PackageSurfaceAreaDocument.PackageSurfaceArea psa = null;\r
2760 if (GlobalData.openingPackageList.existsPackage(mid.getPackageId())) {\r
2761 psa = GlobalData.openingPackageList.getPackageSurfaceAreaFromId(mid.getPackageId());\r
2762 }\r
2763 try {\r
2764 wt.addModuleToPackage(mid, psa);\r
2765 } catch (IOException e) {\r
ea7f8a93 2766 Log.wrn("Update MsaFiles in Package", e.getMessage());\r
2767 Log.err("Update MsaFiles in Package", e.getMessage());\r
739c6b04 2768 return;\r
2769 } catch (XmlException e) {\r
ea7f8a93 2770 Log.wrn("Update MsaFiles in Package", e.getMessage());\r
2771 Log.err("Update MsaFiles in Package", e.getMessage());\r
739c6b04 2772 return;\r
2773 } catch (Exception e) {\r
ea7f8a93 2774 Log.wrn("Update MsaFiles in Package", e.getMessage());\r
2775 Log.err("Update MsaFiles in Package", e.getMessage());\r
739c6b04 2776 return;\r
2777 }\r
8792f60f 2778\r
739c6b04 2779 //\r
2780 // Update Global Data\r
2781 //\r
2782 GlobalData.openingModuleList.insertToOpeningModuleList(mid, smb.getMsa());\r
2783 GlobalData.vModuleList.addElement(mid);\r
8792f60f 2784\r
739c6b04 2785 //\r
2786 // Create new node on the tree\r
2787 //\r
2788 addModuleToTree(mid);\r
8792f60f 2789\r
739c6b04 2790 //\r
2791 // Open the node\r
2792 //\r
2793 this.openModule(mid.getPath());\r
a13899c5 2794 }\r
a13899c5 2795 }\r
2796 } else if (result == DataType.RETURN_TYPE_PACKAGE_SURFACE_AREA) {\r
2797 //\r
2798 // To new a package\r
2799 //\r
2800 SelectModuleBelong smb = new SelectModuleBelong(this, true, result);\r
2801 result = smb.showDialog();\r
2802\r
2803 if (result == DataType.RETURN_TYPE_CANCEL) {\r
2804 nfc.dispose();\r
2805 smb.dispose();\r
2806 return;\r
2807 } else if (result == DataType.RETURN_TYPE_OK) {\r
739c6b04 2808 PackageIdentification pid = smb.getPid();\r
2809 if (pid != null) {\r
2810 try {\r
2811 wt.addPackageToDatabase(smb.getPid());\r
2812 } catch (Exception e) {\r
2813 Log.err("addPackageToDatabase", e.getMessage());\r
2814 }\r
9a8d6d9f 2815\r
739c6b04 2816 //\r
2817 // Update Global Data\r
2818 //\r
2819 GlobalData.openingPackageList.insertToOpeningPackageList(pid, smb.getSpd());\r
2820 GlobalData.vPackageList.addElement(pid);\r
9a8d6d9f 2821\r
739c6b04 2822 //\r
2823 // Add to Module Description node\r
2824 //\r
2825 IDefaultMutableTreeNode node = new IDefaultMutableTreeNode(pid.getName(),\r
2826 IDefaultMutableTreeNode.MODULE_PACKAGE,\r
2827 false, pid);\r
9a8d6d9f 2828\r
739c6b04 2829 iTree.addNode(dmtnModuleDescription, node);\r
2830\r
2831 //\r
2832 // Add new SpdHeader node to the tree\r
2833 //\r
2834 node = new IDefaultMutableTreeNode(pid.getName(), IDefaultMutableTreeNode.PACKAGE, true, pid);\r
2835 iTree.addNode(dmtnPackageDescription, node);\r
9a8d6d9f 2836\r
739c6b04 2837 this.openPackage(pid.getPath());\r
2838 }\r
a13899c5 2839 }\r
2840 } else if (result == DataType.RETURN_TYPE_PLATFORM_SURFACE_AREA) {\r
2841 //\r
2842 // To new a platform\r
2843 //\r
2844 SelectModuleBelong smb = new SelectModuleBelong(this, true, result);\r
2845 result = smb.showDialog();\r
2846\r
2847 if (result == DataType.RETURN_TYPE_CANCEL) {\r
2848 nfc.dispose();\r
2849 smb.dispose();\r
2850 return;\r
2851 } else if (result == DataType.RETURN_TYPE_OK) {\r
739c6b04 2852 PlatformIdentification fid = smb.getFid();\r
2853 if (fid != null) {\r
2854 try {\r
2855 wt.addPlatformToDatabase(fid);\r
2856 } catch (Exception e) {\r
2857 Log.err("addPlatformToDatabase", e.getMessage());\r
2858 }\r
2859\r
2860 //\r
2861 // Update global data\r
2862 //\r
2863 GlobalData.openingPlatformList.insertToOpeningPlatformList(fid, smb.getFpd());\r
2864 GlobalData.vPlatformList.addElement(fid);\r
2865 //\r
2866 // Add new SpdHeader node to the tree\r
2867 //\r
2868 IDefaultMutableTreeNode node = new IDefaultMutableTreeNode(fid.getName(),\r
2869 IDefaultMutableTreeNode.PLATFORM, true,\r
2870 fid);\r
2871 iTree.addNode(dmtnPlatformDescription, node);\r
2872 this.openPlatform(fid.getPath());\r
a13899c5 2873 }\r
a13899c5 2874 }\r
2875 }\r
2876 }\r
2877\r
2878 /**\r
2879 Open a file\r
2880 \r
2881 **/\r
2882 private void open() {\r
2883 JFileChooser fc = new JFileChooser(Workspace.getCurrentWorkspace());\r
2884 fc.setAcceptAllFileFilterUsed(false);\r
2885 IFileFilter iffM = new IFileFilter(DataType.MODULE_SURFACE_AREA_EXT);\r
2886 IFileFilter iffP = new IFileFilter(DataType.PACKAGE_SURFACE_AREA_EXT);\r
2887 IFileFilter iffF = new IFileFilter(DataType.PLATFORM_SURFACE_AREA_EXT);\r
2888 fc.addChoosableFileFilter(iffM);\r
2889 fc.addChoosableFileFilter(iffP);\r
2890 fc.addChoosableFileFilter(iffF);\r
2891 fc.setFileFilter(iffM);\r
2892\r
2893 int result = fc.showOpenDialog(new JPanel());\r
2894\r
2895 if (result == JFileChooser.APPROVE_OPTION) {\r
2896 String path = fc.getSelectedFile().getPath();\r
2897 String match = path.substring(path.length() - 4);\r
2898 if (match.equals(DataType.FILE_EXT_SEPARATOR + DataType.MODULE_SURFACE_AREA_EXT)) {\r
2899 openModule(path);\r
2900 } else if (match.equals(DataType.FILE_EXT_SEPARATOR + DataType.PACKAGE_SURFACE_AREA_EXT)) {\r
2901 openPackage(path);\r
2902 } else if (match.equals(DataType.FILE_EXT_SEPARATOR + DataType.PLATFORM_SURFACE_AREA_EXT)) {\r
2903 openPlatform(path);\r
2904 }\r
2905 }\r
2906 }\r
2907\r
2908 /**\r
2909 Close files\r
2910 \r
2911 **/\r
2912 private void close() {\r
2913 switch (this.jTabbedPaneEditor.getSelectedIndex()) {\r
2914 //\r
2915 // Current is module\r
2916 //\r
2917 case 0:\r
2918 if (this.currentOpeningModuleIndex > -1) {\r
739c6b04 2919 if (!GlobalData.openingModuleList.getModuleSaved(currentOpeningModuleIndex)) {\r
a13899c5 2920 int result = showSaveDialog();\r
2921 if (result == JOptionPane.YES_OPTION) {\r
2922 this.saveAll();\r
2923 }\r
2924 if (result == JOptionPane.NO_OPTION) {\r
2925 // Do nothing\r
2926 }\r
2927 if (result == JOptionPane.CANCEL_OPTION) {\r
2928 return;\r
2929 }\r
2930 }\r
739c6b04 2931 iTree\r
2932 .removeNodeChildrenByPath(GlobalData.openingModuleList\r
2933 .getTreePathByIndex(currentOpeningModuleIndex));\r
2934 GlobalData.openingModuleList.setModuleOpen(this.currentOpeningModuleIndex, false);\r
a13899c5 2935 this.cleanDesktopPaneModule();\r
2936 this.currentOpeningModuleIndex = -1;\r
2937 }\r
2938 break;\r
2939 //\r
2940 // Current is package\r
b1cfb8a5 2941 //\r
a13899c5 2942 case 1:\r
2943 if (this.currentOpeningPackageIndex > -1) {\r
739c6b04 2944 if (!GlobalData.openingPackageList.getPackageSaved(currentOpeningPackageIndex)) {\r
a13899c5 2945 int result = showSaveDialog();\r
2946 if (result == JOptionPane.YES_OPTION) {\r
2947 this.saveAll();\r
2948 }\r
2949 if (result == JOptionPane.NO_OPTION) {\r
2950 // Do nothing\r
2951 }\r
2952 if (result == JOptionPane.CANCEL_OPTION) {\r
2953 return;\r
2954 }\r
2955 }\r
739c6b04 2956 iTree\r
2957 .removeNodeChildrenByPath(GlobalData.openingPackageList\r
2958 .getTreePathByIndex(currentOpeningPackageIndex));\r
2959 GlobalData.openingPackageList.setPackageOpen(this.currentOpeningPackageIndex, false);\r
a13899c5 2960 this.cleanDesktopPanePackage();\r
2961 this.currentOpeningPackageIndex = -1;\r
2962 }\r
2963 break;\r
2964 //\r
2965 // Current is platform\r
2966 //\r
2967 case 2:\r
2968 if (this.currentOpeningPlatformIndex > -1) {\r
739c6b04 2969 if (!GlobalData.openingPlatformList.getPlatformSaved(currentOpeningPlatformIndex)) {\r
a13899c5 2970 int result = showSaveDialog();\r
2971 if (result == JOptionPane.YES_OPTION) {\r
2972 this.saveAll();\r
2973 }\r
2974 if (result == JOptionPane.NO_OPTION) {\r
2975 // Do nothing\r
2976 }\r
2977 if (result == JOptionPane.CANCEL_OPTION) {\r
2978 return;\r
2979 }\r
2980 }\r
739c6b04 2981 iTree\r
2982 .removeNodeChildrenByPath(GlobalData.openingPlatformList\r
2983 .getTreePathByIndex(currentOpeningPlatformIndex));\r
2984 GlobalData.openingPlatformList.setPlatformOpen(this.currentOpeningPlatformIndex, false);\r
a13899c5 2985 this.cleanDesktopPanePlatform();\r
2986 this.currentOpeningPlatformIndex = -1;\r
2987 }\r
2988 break;\r
2989 }\r
2990 }\r
2991\r
2992 /**\r
2993 Close all opening files and clean all showing internal frame\r
2994 \r
2995 **/\r
2996 private void closeAll() {\r
2997 int result = -1;\r
739c6b04 2998 if (!GlobalData.openingModuleList.isSaved() || !GlobalData.openingPackageList.isSaved()\r
2999 || !GlobalData.openingPlatformList.isSaved()) {\r
a13899c5 3000 result = showSaveDialog();\r
3001 }\r
3002 if (result == JOptionPane.YES_OPTION) {\r
3003 this.saveAll();\r
3004 }\r
3005 if (result == JOptionPane.NO_OPTION) {\r
43dc3851 3006 //\r
a13899c5 3007 // Do nothing\r
43dc3851 3008 //\r
a13899c5 3009 }\r
3010 if (result == JOptionPane.CANCEL_OPTION) {\r
3011 return;\r
3012 }\r
3013 this.cleanDesktopPane();\r
739c6b04 3014 GlobalData.openingModuleList.closeAll();\r
3015 GlobalData.openingPackageList.closeAll();\r
3016 GlobalData.openingPlatformList.closeAll();\r
ff383de4 3017 }\r
3018\r
3019 /**\r
3020 Refresh all global data from disk to memory\r
3021 \r
3022 **/\r
3023 private void refresh() {\r
3024 GlobalData.init();\r
a13899c5 3025 }\r
3026\r
3027 /**\r
3028 Save currentModule when press button OK\r
3029 \r
3030 **/\r
3031 private void save() {\r
3032 switch (this.jTabbedPaneEditor.getSelectedIndex()) {\r
3033 case 0:\r
3034 if (this.currentOpeningModuleIndex > -1) {\r
3035 saveModule(this.currentOpeningModuleIndex);\r
3036 }\r
3037 break;\r
3038 case 1:\r
3039 if (this.currentOpeningPackageIndex > -1) {\r
3040 savePackage(this.currentOpeningPackageIndex);\r
3041 }\r
3042 break;\r
3043 case 2:\r
3044 if (this.currentOpeningPlatformIndex > -1) {\r
3045 savePlatform(this.currentOpeningPlatformIndex);\r
3046 }\r
3047 break;\r
3048 }\r
3049 }\r
3050\r
3051 private void saveAs() {\r
3052\r
3053 }\r
3054\r
3055 private void saveAll() {\r
3056 //\r
3057 // Save all modules\r
3058 //\r
739c6b04 3059 for (int index = 0; index < GlobalData.openingModuleList.size(); index++) {\r
3060 if (!GlobalData.openingModuleList.getModuleSaved(index)) {\r
a13899c5 3061 saveModule(index);\r
3062 }\r
3063 }\r
3064\r
3065 //\r
3066 // Save all packages\r
3067 //\r
739c6b04 3068 for (int index = 0; index < GlobalData.openingPackageList.size(); index++) {\r
3069 if (!GlobalData.openingPackageList.getPackageSaved(index)) {\r
a13899c5 3070 savePackage(index);\r
3071 }\r
3072 }\r
3073\r
3074 //\r
3075 // Save all platforms\r
3076 //\r
739c6b04 3077 for (int index = 0; index < GlobalData.openingPlatformList.size(); index++) {\r
3078 if (!GlobalData.openingPlatformList.getPlatformSaved(index)) {\r
a13899c5 3079 savePlatform(index);\r
3080 }\r
3081 }\r
3082 }\r
3083\r
3084 /**\r
3085 To save changed items before exit.\r
3086 \r
3087 **/\r
3088 private void exit() {\r
3089 int result = -1;\r
739c6b04 3090 if (!GlobalData.openingModuleList.isSaved() || !GlobalData.openingPackageList.isSaved()\r
3091 || !GlobalData.openingPlatformList.isSaved()) {\r
a13899c5 3092 result = showSaveDialog();\r
3093 }\r
3094 if (result == JOptionPane.YES_OPTION) {\r
3095 this.saveAll();\r
3096 }\r
3097 if (result == JOptionPane.NO_OPTION) {\r
3098 // Do nothing\r
3099 }\r
3100 if (result == JOptionPane.CANCEL_OPTION) {\r
3101 return;\r
3102 }\r
3103 this.dispose();\r
3104 System.exit(0);\r
3105 }\r
3106\r
8792f60f 3107 /**\r
3108 To find all defined PPIs in workspace\r
3109 \r
3110 **/\r
55e83b18 3111 private void findPpi() {\r
3112 FindResult fr = FindResult.getInstance("PPI");\r
3113 fr.setVisible(true);\r
3114 }\r
3115\r
3116 /**\r
3117 To find all defined PROTOCOLs in workspace\r
3118 \r
3119 **/\r
3120 private void findProtocol() {\r
3121 FindResult fr = FindResult.getInstance("PROTOCOL");\r
3122 fr.setVisible(true);\r
3123 }\r
3124\r
3125 /**\r
3126 To find all defined PROTOCOLs in workspace\r
3127 \r
3128 **/\r
3129 private void findGuid() {\r
3130 FindResult fr = FindResult.getInstance("GUID");\r
3131 fr.setVisible(true);\r
3132 }\r
3133\r
3134 /**\r
3135 To find all defined PROTOCOLs in workspace\r
3136 \r
3137 **/\r
3138 private void findPcd() {\r
3139 FindResult fr = FindResult.getInstance("PCD");\r
3140 fr.setVisible(true);\r
3141 }\r
3142\r
3143 /**\r
3144 To find all defined Library Classes in workspace\r
3145 \r
3146 **/\r
3147 private void findLibraryClass() {\r
3148 FindResult fr = FindResult.getInstance("LIBRARY_CLASS");\r
3149 fr.setVisible(true);\r
3150 }\r
3151\r
3152 /**\r
3153 To find all defined Library Instances in workspace\r
3154 \r
3155 **/\r
3156 private void findLibraryInstance() {\r
3157 FindResult fr = FindResult.getInstance("LIBRARY_INSTANCE");\r
3158 fr.setVisible(true);\r
3159 }\r
8792f60f 3160\r
a13899c5 3161 /**\r
3162 Switch current workspace to others\r
3163 \r
3164 **/\r
3165 private void changeWorkspace() {\r
3166 SwitchWorkspace sw = new SwitchWorkspace(this, true);\r
3167 int result = sw.showDialog();\r
3168 if (result == DataType.RETURN_TYPE_CANCEL) {\r
3169 return;\r
3170 } else if (result == DataType.RETURN_TYPE_OK) {\r
3171 //\r
3172 // Reinit whole window\r
3173 //\r
3174 closeAll();\r
92e29378 3175 this.setTitle(DataType.PROJECT_NAME + " " + DataType.PROJECT_VERSION + " " + "- ["\r
3176 + Workspace.getCurrentWorkspace() + "]");\r
b1cfb8a5 3177 //\r
3178 // Reinit Global Data\r
3179 //\r
3180 GlobalData.init();\r
a13899c5 3181 }\r
3182 sw.dispose();\r
3183 }\r
92e29378 3184\r
43dc3851 3185 /**\r
3186 To create a Far file from current workspace\r
3187 \r
3188 **/\r
3189 private void createFar() {\r
3190 CreateStepOne cso = new CreateStepOne(this, true);\r
3191 int result = cso.showDialog();\r
3192 if (result == DataType.RETURN_TYPE_OK) {\r
ea7f8a93 3193 String strReturn = "Far Creation Completed!";\r
43dc3851 3194 JOptionPane.showConfirmDialog(null, strReturn, "Done", JOptionPane.DEFAULT_OPTION,\r
3195 JOptionPane.INFORMATION_MESSAGE);\r
3196 }\r
3197 cso.dispose();\r
3198 }\r
3199\r
3200 /**\r
3201 To install a Far file to current workspace\r
3202 \r
3203 **/\r
3204 private void installFar() {\r
3205 InstallStepOne iso = new InstallStepOne(this, true);\r
3206 int result = iso.showDialog();\r
3207 if (result == DataType.RETURN_TYPE_OK) {\r
ea7f8a93 3208 String strReturn = "<html>Far Installalation completed!<br>Refreshing the WORKSPACE!</html>";\r
43dc3851 3209 JOptionPane.showConfirmDialog(null, strReturn, "Done", JOptionPane.DEFAULT_OPTION,\r
3210 JOptionPane.INFORMATION_MESSAGE);\r
3211 this.closeAll();\r
ff383de4 3212 this.refresh();\r
3213 this.makeEmptyTree();\r
43dc3851 3214 }\r
3215 iso.dispose();\r
3216 }\r
3217\r
3218 /**\r
3219 To remove a Far's items from current workspace\r
3220 \r
3221 **/\r
3222 private void removeFar() {\r
3223 DeleteStepOne dso = new DeleteStepOne(this, true);\r
3224 int result = dso.showDialog();\r
3225 if (result == DataType.RETURN_TYPE_OK) {\r
ea7f8a93 3226 String strReturn = "<html>Far Deletion completed!<br>Refreshing the WORKSPACE!</html>";\r
43dc3851 3227 JOptionPane.showConfirmDialog(null, strReturn, "Done", JOptionPane.DEFAULT_OPTION,\r
3228 JOptionPane.INFORMATION_MESSAGE);\r
3229 this.closeAll();\r
ff383de4 3230 this.refresh();\r
3231 this.makeEmptyTree();\r
43dc3851 3232 }\r
3233 dso.dispose();\r
3234 }\r
3235\r
3236 /**\r
3237 To update an existing Far file\r
3238 \r
3239 **/\r
3240 private void updateFar() {\r
3241 UpdateStepOne uso = new UpdateStepOne(this, true);\r
3242 int result = uso.showDialog();\r
3243 if (result == DataType.RETURN_TYPE_OK) {\r
ea7f8a93 3244 String strReturn = "<html>Far Update completed!<br>Refreshing the WORKSPACE!</html>";\r
43dc3851 3245 JOptionPane.showConfirmDialog(null, strReturn, "Done", JOptionPane.DEFAULT_OPTION,\r
3246 JOptionPane.INFORMATION_MESSAGE);\r
3247 this.closeAll();\r
ff383de4 3248 this.refresh();\r
3249 this.makeEmptyTree();\r
43dc3851 3250 }\r
3251 uso.dispose();\r
3252 }\r
3253\r
79cb6fdb 3254 /**\r
92e29378 3255 Show Tool Chain Configuration Dialog to setup Tool Chain\r
3256 \r
3257 **/\r
79cb6fdb 3258 private void setupToolChainConfiguration() {\r
8f4f211c 3259 ToolChainConfig tcc = ToolChainConfig.getInstance();\r
3260 tcc.showDialog();\r
79cb6fdb 3261 }\r
92e29378 3262\r
dbf5dd75 3263 private void configBuildPreferences() {\r
55e83b18 3264 Preferences bt = Preferences.getInstance();\r
3265 bt.showDialog();\r
dbf5dd75 3266 }\r
55e83b18 3267\r
a13899c5 3268 /**\r
3269 Clone selected item\r
3270 \r
3271 **/\r
3272 private void cloneItem() {\r
3273 int mode = -1;\r
92e29378 3274\r
a13899c5 3275 //\r
3276 // Check if there is any item can be cloned\r
3277 //\r
3278 if (iTree.getSelectionPath() == null) {\r
ed1665f2 3279 Log.wrn("Clone", "Please select a target to clone!");\r
a13899c5 3280 return;\r
3281 }\r
3282 int category = iTree.getSelectCategory();\r
3283 Identification id = iTree.getSelectNode().getId();\r
3284 if (category == IDefaultMutableTreeNode.MODULE || category == IDefaultMutableTreeNode.PACKAGE\r
3285 || category == IDefaultMutableTreeNode.PLATFORM) {\r
ed1665f2 3286 Log.wrn("Clone", "Please select a target to clone!");\r
a13899c5 3287 return;\r
3288 }\r
92e29378 3289\r
a13899c5 3290 if (category == IDefaultMutableTreeNode.WORKSPACE) {\r
3291 mode = DataType.RETURN_TYPE_WORKSPACE;\r
3292 id = null;\r
3293 }\r
3294 if (category >= IDefaultMutableTreeNode.MSA_HEADER && category < IDefaultMutableTreeNode.SPD_HEADER) {\r
3295 mode = DataType.RETURN_TYPE_MODULE_SURFACE_AREA;\r
3296 }\r
3297 if (category >= IDefaultMutableTreeNode.SPD_HEADER && category < IDefaultMutableTreeNode.FPD_PLATFORMHEADER) {\r
3298 mode = DataType.RETURN_TYPE_PACKAGE_SURFACE_AREA;\r
3299 }\r
3300 if (category >= IDefaultMutableTreeNode.FPD_PLATFORMHEADER) {\r
3301 mode = DataType.RETURN_TYPE_PLATFORM_SURFACE_AREA;\r
3302 }\r
92e29378 3303\r
a13899c5 3304 Clone c = new Clone(this, true, mode, id);\r
3305 int result = c.showDialog();\r
92e29378 3306\r
a13899c5 3307 if (result == DataType.RETURN_TYPE_CANCEL) {\r
3308 c.dispose();\r
3309 }\r
3310 if (result == DataType.RETURN_TYPE_WORKSPACE) {\r
ea7f8a93 3311 Tools.showInformationMessage("Workspace Clone Completed!");\r
a13899c5 3312 }\r
3313 if (result == DataType.RETURN_TYPE_MODULE_SURFACE_AREA) {\r
ea7f8a93 3314 Tools.showInformationMessage("Module Clone Completed!");\r
739c6b04 3315 GlobalData.vModuleList.addElement(c.getMid());\r
55a2762d 3316 addModuleToTree(c.getMid());\r
a13899c5 3317 }\r
3318 if (result == DataType.RETURN_TYPE_PACKAGE_SURFACE_AREA) {\r
ea7f8a93 3319 Tools.showInformationMessage("Package Clone Completed!");\r
739c6b04 3320 GlobalData.vPackageList.addElement(c.getPid());\r
a13899c5 3321 //\r
3322 // Add new SpdHeader node to the tree\r
3323 //\r
739c6b04 3324 IDefaultMutableTreeNode node = new IDefaultMutableTreeNode(GlobalData.vPackageList.lastElement().getName(),\r
a13899c5 3325 IDefaultMutableTreeNode.SPD_HEADER, true,\r
739c6b04 3326 GlobalData.vPackageList.lastElement());\r
a13899c5 3327 iTree.addNode(dmtnPackageDescription, node);\r
3328 }\r
3329 if (result == DataType.RETURN_TYPE_PLATFORM_SURFACE_AREA) {\r
3330 Tools.showInformationMessage("Platform Surface Area Clone Finished");\r
739c6b04 3331 GlobalData.vPlatformList.addElement(c.getFid());\r
a13899c5 3332 //\r
3333 // Add new SpdHeader node to the tree\r
3334 //\r
739c6b04 3335 IDefaultMutableTreeNode node = new IDefaultMutableTreeNode(\r
3336 GlobalData.vPlatformList.lastElement().getName(),\r
a13899c5 3337 IDefaultMutableTreeNode.FPD_PLATFORMHEADER,\r
739c6b04 3338 true, GlobalData.vPlatformList.lastElement());\r
a13899c5 3339 iTree.addNode(dmtnPlatformDescription, node);\r
3340 //this.openPlatform(c.getFid().getPath());\r
3341 }\r
3342 if (result == DataType.RETURN_TYPE_OK) {\r
3343\r
3344 }\r
3345 }\r
3346\r
3347 public void valueChanged(TreeSelectionEvent arg0) {\r
3348 // TODO Auto-generated method stub\r
3349\r
3350 }\r
3351\r
3352 public void menuCanceled(MenuEvent arg0) {\r
3353 // TODO Auto-generated method stub\r
3354\r
3355 }\r
3356\r
3357 public void menuDeselected(MenuEvent arg0) {\r
3358 // TODO Auto-generated method stub\r
3359\r
3360 }\r
3361\r
3362 public void menuSelected(MenuEvent arg0) {\r
3363 if (arg0.getSource() == jMenuFile) {\r
3364 //\r
3365 // Enable close/close all if some files are opened\r
3366 //\r
739c6b04 3367 jMenuItemFileClose.setEnabled(GlobalData.openingModuleList.isOpen()\r
3368 || GlobalData.openingPackageList.isOpen()\r
3369 || GlobalData.openingPlatformList.isOpen());\r
3370 jMenuItemFileCloseAll.setEnabled(GlobalData.openingModuleList.isOpen()\r
3371 || GlobalData.openingPackageList.isOpen()\r
3372 || GlobalData.openingPlatformList.isOpen());\r
a13899c5 3373\r
3374 //\r
3375 // Enable save/save all if some files are changed\r
3376 //\r
739c6b04 3377 jMenuItemFileSave.setEnabled(!GlobalData.openingModuleList.isSaved()\r
3378 || !GlobalData.openingPackageList.isSaved()\r
3379 || !GlobalData.openingPlatformList.isSaved());\r
3380 jMenuItemFileSaveAll.setEnabled(!GlobalData.openingModuleList.isSaved()\r
3381 || !GlobalData.openingPackageList.isSaved()\r
3382 || !GlobalData.openingPlatformList.isSaved());\r
a13899c5 3383 }\r
3384\r
3385 if (arg0.getSource() == jMenuTools) {\r
3386 //\r
3387 // Enable clone when select some items\r
3388 //\r
3389 if (iTree.getSelectionPath() == null) {\r
3390 jMenuItemToolsClone.setEnabled(false);\r
3391 } else {\r
3392 int category = iTree.getSelectCategory();\r
3393 if (category == IDefaultMutableTreeNode.MODULE || category == IDefaultMutableTreeNode.PACKAGE\r
55a2762d 3394 || category == IDefaultMutableTreeNode.PLATFORM\r
3395 || category == IDefaultMutableTreeNode.MODULE_PACKAGE\r
3396 || category == IDefaultMutableTreeNode.MODULE_PACKAGE_LIBRARY\r
3397 || category == IDefaultMutableTreeNode.MODULE_PACKAGE_MODULE) {\r
a13899c5 3398 jMenuItemToolsClone.setEnabled(false);\r
3399 } else {\r
3400 jMenuItemToolsClone.setEnabled(true);\r
3401 }\r
3402 }\r
3403 }\r
3404 }\r
3405}\r