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