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