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