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