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