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