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