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