]> git.proxmox.com Git - mirror_edk2.git/blame - Tools/Source/ModuleEditor/src/org/tianocore/packaging/module/ui/ModuleMain.java
Fix one conflict with the latest schema
[mirror_edk2.git] / Tools / Source / ModuleEditor / src / org / tianocore / packaging / module / ui / ModuleMain.java
CommitLineData
878ddf1f 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.packaging.module.ui;\r
17\r
18import java.awt.event.ActionEvent;\r
19import java.awt.event.MouseEvent;\r
20import java.awt.event.MouseListener;\r
21import java.awt.event.WindowEvent;\r
22import java.io.File;\r
23import java.io.IOException;\r
24\r
25import javax.swing.JButton;\r
26import javax.swing.JDesktopPane;\r
27import javax.swing.JFileChooser;\r
28import javax.swing.JInternalFrame;\r
29import javax.swing.JMenu;\r
30import javax.swing.JMenuBar;\r
31import javax.swing.JMenuItem;\r
32import javax.swing.JOptionPane;\r
33import javax.swing.JPanel;\r
34import javax.swing.JPopupMenu;\r
35import javax.swing.JScrollPane;\r
36import javax.swing.border.BevelBorder;\r
37import javax.swing.event.TreeSelectionEvent;\r
38import javax.swing.event.TreeSelectionListener;\r
39\r
40import org.apache.xmlbeans.XmlCursor;\r
41import org.apache.xmlbeans.XmlException;\r
42import org.apache.xmlbeans.XmlObject;\r
43import org.apache.xmlbeans.XmlOptions;\r
44import org.tianocore.BootModesDocument;\r
45import org.tianocore.BuildOptionsDocument;\r
46import org.tianocore.DataHubsDocument;\r
47import org.tianocore.EventsDocument;\r
48import org.tianocore.ExternsDocument;\r
49import org.tianocore.FormsetsDocument;\r
50import org.tianocore.GuidsDocument;\r
51import org.tianocore.HobsDocument;\r
52import org.tianocore.IncludesDocument;\r
53import org.tianocore.LibrariesDocument;\r
54import org.tianocore.LibraryClassDefinitionsDocument;\r
55import org.tianocore.LibraryModuleBuildDescriptionDocument;\r
56import org.tianocore.LibraryModuleSurfaceAreaDocument;\r
57import org.tianocore.MbdHeaderDocument;\r
58import org.tianocore.MbdLibHeaderDocument;\r
59import org.tianocore.ModuleBuildDescriptionDocument;\r
60import org.tianocore.ModuleSurfaceAreaDocument;\r
61import org.tianocore.MsaHeaderDocument;\r
62import org.tianocore.MsaLibHeaderDocument;\r
63import org.tianocore.PCDsDocument;\r
64import org.tianocore.PPIsDocument;\r
65import org.tianocore.ProtocolsDocument;\r
66import org.tianocore.SourceFilesDocument;\r
67import org.tianocore.SystemTablesDocument;\r
68import org.tianocore.VariablesDocument;\r
69import org.tianocore.common.IFileFilter;\r
70import org.tianocore.common.Log;\r
71import org.tianocore.packaging.common.ui.IDefaultMutableTreeNode;\r
72import org.tianocore.packaging.common.ui.IDesktopManager;\r
73import org.tianocore.packaging.common.ui.IFrame;\r
74import org.tianocore.packaging.common.ui.ITree;\r
75import org.tianocore.packaging.workspace.common.Workspace;\r
76\r
77/**\r
78 The class is used to show main GUI of ModuleEditor\r
79 It extends IFrame implements MouseListener, TreeSelectionListener\r
80 \r
81 @since ModuleEditor 1.0\r
82\r
83 **/\r
84public class ModuleMain extends IFrame implements MouseListener, TreeSelectionListener {\r
85 ///\r
86 /// Define class Serial Version UID\r
87 ///\r
88 private static final long serialVersionUID = -7103240960573031772L;\r
89\r
90 //\r
91 //Define class members\r
92 //\r
93 private String currentModule = "";\r
94\r
95 private String saveFileName = "";\r
96\r
97 ///\r
98 /// 0 - reserved; 1 - msa; 2 - mbd; 3 - lmsa; 4 - lmbd;\r
99 ///\r
100 private int currentModuleType = 0;\r
101\r
102 private int currentNodeType = -1;\r
103\r
104 private String windowTitle = "ModuleEditor 1.0 ";\r
105\r
106 private ModuleSurfaceAreaDocument xmlMsaDoc = null;\r
107\r
108 private ModuleBuildDescriptionDocument xmlMbdDoc = null;\r
109\r
110 private LibraryModuleSurfaceAreaDocument xmlMlsaDoc = null;\r
111\r
112 private LibraryModuleBuildDescriptionDocument xmlMlbdDoc = null;\r
113\r
114 private MsaHeaderDocument.MsaHeader xmlmh = null;\r
115\r
116 private MbdHeaderDocument.MbdHeader xmlmbdh = null;\r
117\r
118 private MsaLibHeaderDocument.MsaLibHeader xmlmlh = null;\r
119\r
120 private MbdLibHeaderDocument.MbdLibHeader xmlmlbdh = null;\r
121\r
122 private LibraryClassDefinitionsDocument.LibraryClassDefinitions xmllcd = null;\r
123\r
124 private LibrariesDocument.Libraries xmllib = null;\r
125\r
126 private SourceFilesDocument.SourceFiles xmlsf = null;\r
127\r
128 private IncludesDocument.Includes xmlic = null;\r
129\r
130 private ProtocolsDocument.Protocols xmlpl = null;\r
131\r
132 private EventsDocument.Events xmlen = null;\r
133\r
134 private HobsDocument.Hobs xmlhob = null;\r
135\r
136 private PPIsDocument.PPIs xmlppi = null;\r
137\r
138 private VariablesDocument.Variables xmlvb = null;\r
139\r
140 private BootModesDocument.BootModes xmlbm = null;\r
141\r
142 private SystemTablesDocument.SystemTables xmlst = null;\r
143\r
144 private DataHubsDocument.DataHubs xmldh = null;\r
145\r
146 private FormsetsDocument.Formsets xmlfs = null;\r
147\r
148 private GuidsDocument.Guids xmlgu = null;\r
149\r
150 private ExternsDocument.Externs xmlet = null;\r
151\r
152 private PCDsDocument.PCDs xmlpcd = null;\r
153\r
154 private BuildOptionsDocument.BuildOptions xmlbo = null;\r
155\r
156 IDefaultMutableTreeNode dmtnRoot = null;\r
157\r
158 private JPanel jContentPane = null;\r
159\r
160 private JMenuBar jMenuBar = null;\r
161\r
162 private JMenu jMenuModule = null;\r
163\r
164 private JMenu jMenuModuleNew = null;\r
165\r
166 private JMenuItem jMenuItemModuleNewModule = null;\r
167\r
168 private JMenuItem jMenuItemModuleSaveAs = null;\r
169\r
170 private JMenuItem jMenuItemModuleExit = null;\r
171\r
172 private JMenu jMenuEdit = null;\r
173\r
174 private JMenuItem jMenuItemEditAddLibraryClassDefinitions = null;\r
175\r
176 private JMenuItem jMenuItemEditAddSourceFiles = null;\r
177\r
178 private JMenuItem jMenuItemEditAddIncludes = null;\r
179\r
180 private JMenuItem jMenuItemEditAddProtocols = null;\r
181\r
182 private JMenuItem jMenuItemEditAddEvents = null;\r
183\r
184 private JMenuItem jMenuItemEditAddHobs = null;\r
185\r
186 private JMenuItem jMenuItemEditAddPPIs = null;\r
187\r
188 private JMenuItem jMenuItemEditAddVariables = null;\r
189\r
190 private JMenuItem jMenuItemEditAddBootModes = null;\r
191\r
192 private JMenuItem jMenuItemEditAddSystemTables = null;\r
193\r
194 private JMenuItem jMenuItemEditAddDataHubs = null;\r
195\r
196 private JMenuItem jMenuItemEditAddFormsets = null;\r
197\r
198 private JMenuItem jMenuItemEditAddGuids = null;\r
199\r
200 private JMenuItem jMenuItemEditAddExterns = null;\r
201\r
202 private JMenuItem jMenuItemEditAddPCDs = null;\r
203\r
204 private JDesktopPane jDesktopPane = null;\r
205\r
206 private IDesktopManager iDesktopManager = new IDesktopManager();\r
207\r
208 private JScrollPane jScrollPaneTree = null;\r
209\r
210 private ITree iTree = null;\r
211\r
212 private JMenu jMenuHelp = null;\r
213\r
214 private JMenuItem jMenuItemHelpAbout = null;\r
215\r
216 private JMenu jMenuEditAdd = null;\r
217\r
218 private JMenuItem jMenuItemEditDelete = null;\r
219\r
220 private JMenuItem jMenuItemEditUpdate = null;\r
221\r
222 private JPopupMenu jPopupMenu = null;\r
223\r
224 private JMenuItem jMenuItemPopupAdd = null;\r
225\r
226 private JMenuItem jMenuItemPopupUpdate = null;\r
227\r
228 private JMenuItem jMenuItemPopupDelete = null;\r
229\r
230 private Workspace ws = new Workspace();\r
231\r
232 private static final int OPENED = 0;\r
233\r
234 private static final int CLOSED = 1;\r
235\r
236 private static final int NEW_WITHOUT_CHANGE = 2;\r
237\r
238 private static final int NEW_WITH_CHANGE = 3;\r
239\r
240 private static final int UPDATE_WITHOUT_CHANGE = 4;\r
241\r
242 private static final int UPDATE_WITH_CHANGE = 5;\r
243\r
244 private static final int SAVE_WITHOUT_CHANGE = 6;\r
245\r
246 private static final int SAVE_WITH_CHANGE = 7;\r
247\r
248 private static final int ADD = 1;\r
249\r
250 private static final int UPDATE = 2;\r
251\r
252 //private static final int DELETE = 3;\r
253\r
254 private static final int VIEW = 4;\r
255\r
256 private MsaHeader msa = null;\r
257\r
258 private MbdHeader mbd = null;\r
259\r
260 private MsaLibHeader mlsa = null;\r
261\r
262 private MbdLibHeader mlbd = null;\r
263\r
264 private ModuleLibraryClassDefinitions mlcd = null;\r
265\r
266 private MbdLibraries mlib = null;\r
267\r
268 private ModuleSourceFiles msf = null;\r
269\r
270 private ModuleIncludes mic = null;\r
271\r
272 private ModuleProtocols mp = null;\r
273\r
274 private ModuleEvents mev = null;\r
275\r
276 private ModuleHobs mh = null;\r
277\r
278 private ModulePpis mpp = null;\r
279\r
280 private ModuleVariables mv = null;\r
281\r
282 private ModuleBootModes mbm = null;\r
283\r
284 private ModuleSystemTables mst = null;\r
285\r
286 private ModuleDataHubs mdh = null;\r
287\r
288 private ModuleFormsets mf = null;\r
289\r
290 private ModuleGuids mg = null;\r
291\r
292 private ModuleExterns met = null;\r
293\r
294 private ModulePCDs mpcd = null;\r
295\r
296 private JMenuItem jMenuItemModuleOpenModule = null;\r
297\r
298 private JMenuItem jMenuItemModuleNewModuleBuildDescription = null;\r
299\r
300 private JMenuItem jMenuItemModuleNewLibraryModule = null;\r
301\r
302 private JMenuItem jMenuItemModuleNewLibraryModuleBuildDescription = null;\r
303\r
304 private JMenu jMenuModuleOpen = null;\r
305\r
306 private JMenuItem jMenuItemModuleOpenModuleBuildDescription = null;\r
307\r
308 private JMenuItem jMenuItemModuleOpenLibraryModule = null;\r
309\r
310 private JMenuItem jMenuItemModuleOpenLibraryModuleBuildDescription = null;\r
311\r
312 private JMenuItem jMenuItemModuleSave = null;\r
313\r
314 private JMenuItem jMenuItemModuleClose = null;\r
315\r
316 private JMenu jMenuTools = null;\r
317\r
318 private JMenu jMenuWindow = null;\r
319\r
320 private JMenuItem jMenuItemEditAddLibraries = null;\r
321\r
322 private JPanel jPanelOperation = null;\r
323\r
324 private JButton jButtonOk = null;\r
325\r
326 private JButton jButtonCancel = null;\r
327\r
328 /**\r
329 This method initializes jMenuBar \r
330 \r
331 @return javax.swing.JMenuBar Main menu bar for the entire GUI\r
332 \r
333 **/\r
334 private JMenuBar getjJMenuBar() {\r
335 if (jMenuBar == null) {\r
336 jMenuBar = new JMenuBar();\r
337 jMenuBar.setPreferredSize(new java.awt.Dimension(0, 18));\r
338 jMenuBar.add(getJMenuModule());\r
339 jMenuBar.add(getJMenuEdit());\r
340 jMenuBar.add(getJMenuTools());\r
341 jMenuBar.add(getJMenuWindow());\r
342 jMenuBar.add(getJMenuHelp());\r
343 }\r
344 return jMenuBar;\r
345 }\r
346\r
347 /**\r
348 This method initializes jMenuFile \r
349 \r
350 @return javax.swing.JMenu jMenuModule\r
351 \r
352 **/\r
353 private JMenu getJMenuModule() {\r
354 if (jMenuModule == null) {\r
355 jMenuModule = new JMenu();\r
356 jMenuModule.setText("Module");\r
357 jMenuModule.add(getJMenuModuleNew());\r
358 jMenuModule.addSeparator();\r
359 jMenuModule.add(getJMenuModuleOpen());\r
360 jMenuModule.addSeparator();\r
361 jMenuModule.add(getJMenuItemModuleSave());\r
362 jMenuModule.add(getJMenuItemModuleSaveAs());\r
363 jMenuModule.addSeparator();\r
364 jMenuModule.add(getJMenuItemModuleClose());\r
365 jMenuModule.addSeparator();\r
366 jMenuModule.add(getJMenuItemModuleExit());\r
367 }\r
368 return jMenuModule;\r
369 }\r
370\r
371 /**\r
372 This method initializes jMenuItemModuleNewModule \r
373 \r
374 @return javax.swing.JMenuItem jMenuItemModuleNewModule\r
375 \r
376 **/\r
377 private JMenuItem getJMenuItemModuleNewModule() {\r
378 if (jMenuItemModuleNewModule == null) {\r
379 jMenuItemModuleNewModule = new JMenuItem();\r
380 jMenuItemModuleNewModule.setText("Module (.msa)");\r
381 jMenuItemModuleNewModule.addActionListener(this);\r
382 }\r
383 return jMenuItemModuleNewModule;\r
384 }\r
385\r
386 /**\r
387 This method initializes jMenuItemModuleSaveAs \r
388 \r
389 @return javax.swing.JMenuItem jMenuItemModuleSaveAs\r
390 \r
391 **/\r
392 private JMenuItem getJMenuItemModuleSaveAs() {\r
393 if (jMenuItemModuleSaveAs == null) {\r
394 jMenuItemModuleSaveAs = new JMenuItem();\r
395 jMenuItemModuleSaveAs.setText("Save As...");\r
396 jMenuItemModuleSaveAs.addActionListener(this);\r
397 jMenuItemModuleSaveAs.setEnabled(false);\r
398 }\r
399 return jMenuItemModuleSaveAs;\r
400 }\r
401\r
402 /**\r
403 This method initializes jMenuItemModuleExit \r
404 \r
405 @return javax.swing.JMenuItem jMenuItemModuleExit\r
406 \r
407 **/\r
408 private JMenuItem getJMenuItemModuleExit() {\r
409 if (jMenuItemModuleExit == null) {\r
410 jMenuItemModuleExit = new JMenuItem();\r
411 jMenuItemModuleExit.setText("Exit");\r
412 jMenuItemModuleExit.addActionListener(this);\r
413 }\r
414 return jMenuItemModuleExit;\r
415 }\r
416\r
417 /**\r
418 This method initializes jMenuEdit \r
419 \r
420 @return javax.swing.JMenu jMenuEdit\r
421 \r
422 **/\r
423 private JMenu getJMenuEdit() {\r
424 if (jMenuEdit == null) {\r
425 jMenuEdit = new JMenu();\r
426 jMenuEdit.setText("Edit");\r
427 jMenuEdit.add(getJMenu());\r
428 jMenuEdit.add(getJMenuItemEditUpdate());\r
429 jMenuEdit.add(getJMenuItemEditDelete());\r
430 }\r
431 return jMenuEdit;\r
432 }\r
433\r
434 /**\r
435 This method initializes jMenuItemEditAddLibraryClassDefinitions \r
436 \r
437 @return javax.swing.JMenuItem jMenuItemEditAddLibraryClassDefinitions\r
438 \r
439 **/\r
440 private JMenuItem getJMenuItemEditAddLibraryClassDefinitions() {\r
441 if (jMenuItemEditAddLibraryClassDefinitions == null) {\r
442 jMenuItemEditAddLibraryClassDefinitions = new JMenuItem();\r
443 jMenuItemEditAddLibraryClassDefinitions.setText("Library Class Definitions");\r
444 jMenuItemEditAddLibraryClassDefinitions.addActionListener(this);\r
445 }\r
446 return jMenuItemEditAddLibraryClassDefinitions;\r
447 }\r
448\r
449 /**\r
450 This method initializes jMenuItemEditAddSourceFiles \r
451 \r
452 @return javax.swing.JMenuItem jMenuItemEditAddSourceFiles\r
453 \r
454 **/\r
455 private JMenuItem getJMenuItemEditAddSourceFiles() {\r
456 if (jMenuItemEditAddSourceFiles == null) {\r
457 jMenuItemEditAddSourceFiles = new JMenuItem();\r
458 jMenuItemEditAddSourceFiles.setText("Source Files");\r
459 jMenuItemEditAddSourceFiles.addActionListener(this);\r
460 }\r
461 return jMenuItemEditAddSourceFiles;\r
462 }\r
463\r
464 /**\r
465 This method initializes jMenuItemEditAddIncludes \r
466 \r
467 @return javax.swing.JMenuItem jMenuItemEditAddIncludes\r
468 \r
469 **/\r
470 private JMenuItem getJMenuItemEditAddIncludes() {\r
471 if (jMenuItemEditAddIncludes == null) {\r
472 jMenuItemEditAddIncludes = new JMenuItem();\r
473 jMenuItemEditAddIncludes.setText("Includes");\r
474 jMenuItemEditAddIncludes.addActionListener(this);\r
475 }\r
476 return jMenuItemEditAddIncludes;\r
477 }\r
478\r
479 /**\r
480 This method initializes jMenuItemEditAddProtocols \r
481 \r
482 @return javax.swing.JMenuItem jMenuItemEditAddProtocols\r
483 \r
484 **/\r
485 private JMenuItem getJMenuItemEditAddProtocols() {\r
486 if (jMenuItemEditAddProtocols == null) {\r
487 jMenuItemEditAddProtocols = new JMenuItem();\r
488 jMenuItemEditAddProtocols.setText("Protocols");\r
489 jMenuItemEditAddProtocols.addActionListener(this);\r
490 }\r
491 return jMenuItemEditAddProtocols;\r
492 }\r
493\r
494 /**\r
495 This method initializes jMenuItemEditAddEvents \r
496 \r
497 @return javax.swing.JMenuItem jMenuItemEditAddEvents\r
498 \r
499 **/\r
500 private JMenuItem getJMenuItemEditAddEvents() {\r
501 if (jMenuItemEditAddEvents == null) {\r
502 jMenuItemEditAddEvents = new JMenuItem();\r
503 jMenuItemEditAddEvents.setText("Events");\r
504 jMenuItemEditAddEvents.addActionListener(this);\r
505 }\r
506 return jMenuItemEditAddEvents;\r
507 }\r
508\r
509 /**\r
510 This method initializes jMenuItemEditAddHobs \r
511 \r
512 @return javax.swing.JMenuItem jMenuItemEditAddHobs\r
513 \r
514 **/\r
515 private JMenuItem getJMenuItemEditAddHobs() {\r
516 if (jMenuItemEditAddHobs == null) {\r
517 jMenuItemEditAddHobs = new JMenuItem();\r
518 jMenuItemEditAddHobs.setText("Hobs");\r
519 jMenuItemEditAddHobs.addActionListener(this);\r
520 }\r
521 return jMenuItemEditAddHobs;\r
522 }\r
523\r
524 /**\r
525 This method initializes jMenuItemEditAddPPIs \r
526 \r
527 @return javax.swing.JMenuItem jMenuItemEditAddPPIs\r
528 \r
529 **/\r
530 private JMenuItem getJMenuItemEditAddPPIs() {\r
531 if (jMenuItemEditAddPPIs == null) {\r
532 jMenuItemEditAddPPIs = new JMenuItem();\r
533 jMenuItemEditAddPPIs.setText("PPIs");\r
534 jMenuItemEditAddPPIs.addActionListener(this);\r
535 }\r
536 return jMenuItemEditAddPPIs;\r
537 }\r
538\r
539 /**\r
540 This method initializes jMenuItemEditAddVariables \r
541 \r
542 @return javax.swing.JMenuItem jMenuItemEditAddVariables\r
543 \r
544 **/\r
545 private JMenuItem getJMenuItemEditAddVariables() {\r
546 if (jMenuItemEditAddVariables == null) {\r
547 jMenuItemEditAddVariables = new JMenuItem();\r
548 jMenuItemEditAddVariables.setText("Variables");\r
549 jMenuItemEditAddVariables.addActionListener(this);\r
550 }\r
551 return jMenuItemEditAddVariables;\r
552 }\r
553\r
554 /**\r
555 This method initializes jMenuItemEditAddBootModes \r
556 \r
557 @return javax.swing.JMenuItem jMenuItemEditAddBootModes\r
558 \r
559 **/\r
560 private JMenuItem getJMenuItemAddBootModes() {\r
561 if (jMenuItemEditAddBootModes == null) {\r
562 jMenuItemEditAddBootModes = new JMenuItem();\r
563 jMenuItemEditAddBootModes.setText("Boot Modes");\r
564 jMenuItemEditAddBootModes.addActionListener(this);\r
565 }\r
566 return jMenuItemEditAddBootModes;\r
567 }\r
568\r
569 /**\r
570 This method initializes jMenuItemEditAddSystemTables \r
571 \r
572 @return javax.swing.JMenuItem jMenuItemEditAddSystemTables\r
573 \r
574 **/\r
575 private JMenuItem getJMenuItemAddSystemTables() {\r
576 if (jMenuItemEditAddSystemTables == null) {\r
577 jMenuItemEditAddSystemTables = new JMenuItem();\r
578 jMenuItemEditAddSystemTables.setText("System Tables");\r
579 jMenuItemEditAddSystemTables.addActionListener(this);\r
580 }\r
581 return jMenuItemEditAddSystemTables;\r
582 }\r
583\r
584 /**\r
585 This method initializes jMenuItemEditAddDataHubs \r
586 \r
587 @return javax.swing.JMenuItem jMenuItemEditAddDataHubs\r
588 \r
589 **/\r
590 private JMenuItem getJMenuItemEditAddDataHubs() {\r
591 if (jMenuItemEditAddDataHubs == null) {\r
592 jMenuItemEditAddDataHubs = new JMenuItem();\r
593 jMenuItemEditAddDataHubs.setText("Data Hubs");\r
594 jMenuItemEditAddDataHubs.addActionListener(this);\r
595 }\r
596 return jMenuItemEditAddDataHubs;\r
597 }\r
598\r
599 /**\r
600 This method initializes jMenuItemEditAddFormsets \r
601 \r
602 @return javax.swing.JMenuItem jMenuItemEditAddFormsets\r
603 \r
604 **/\r
605 private JMenuItem getJMenuItemEditAddFormsets() {\r
606 if (jMenuItemEditAddFormsets == null) {\r
607 jMenuItemEditAddFormsets = new JMenuItem();\r
608 jMenuItemEditAddFormsets.setText("Formsets");\r
609 jMenuItemEditAddFormsets.addActionListener(this);\r
610 }\r
611 return jMenuItemEditAddFormsets;\r
612 }\r
613\r
614 /**\r
615 This method initializes jMenuItemEditAddGuids \r
616 \r
617 @return javax.swing.JMenuItem jMenuItemEditAddGuids\r
618 \r
619 **/\r
620 private JMenuItem getJMenuItemEditAddGuids() {\r
621 if (jMenuItemEditAddGuids == null) {\r
622 jMenuItemEditAddGuids = new JMenuItem();\r
623 jMenuItemEditAddGuids.setText("Guids");\r
624 jMenuItemEditAddGuids.addActionListener(this);\r
625 }\r
626 return jMenuItemEditAddGuids;\r
627 }\r
628\r
629 /**\r
630 This method initializes jMenuItemEditAddExterns \r
631 \r
632 @return javax.swing.JMenuItem jMenuItemEditAddExterns\r
633 \r
634 **/\r
635 private JMenuItem getJMenuItemEditAddExterns() {\r
636 if (jMenuItemEditAddExterns == null) {\r
637 jMenuItemEditAddExterns = new JMenuItem();\r
638 jMenuItemEditAddExterns.setText("Externs");\r
639 jMenuItemEditAddExterns.addActionListener(this);\r
640 }\r
641 return jMenuItemEditAddExterns;\r
642 }\r
643\r
644 /**\r
645 This method initializes jMenuItemEditAddPCDs \r
646 \r
647 @return javax.swing.JMenuItem jMenuItemEditAddPCDs\r
648 \r
649 **/\r
650 private JMenuItem getJMenuItemEditAddPCDs() {\r
651 if (jMenuItemEditAddPCDs == null) {\r
652 jMenuItemEditAddPCDs = new JMenuItem();\r
653 jMenuItemEditAddPCDs.setText("PCDs");\r
654 jMenuItemEditAddPCDs.addActionListener(this);\r
655 }\r
656 return jMenuItemEditAddPCDs;\r
657 }\r
658\r
659 /**\r
660 This method initializes jDesktopPane \r
661 \r
662 @return javax.swing.JDesktopPane jDesktopPane\r
663 \r
664 **/\r
665 private JDesktopPane getJDesktopPane() {\r
666 if (jDesktopPane == null) {\r
667 jDesktopPane = new JDesktopPane();\r
668 jDesktopPane.setBounds(new java.awt.Rectangle(295, 1, 500, 515));\r
669 jDesktopPane.setDesktopManager(iDesktopManager);\r
670 }\r
671 return jDesktopPane;\r
672 }\r
673\r
674 /**\r
675 This method initializes jScrollPaneTree \r
676 \r
677 @return javax.swing.JScrollPane jScrollPaneTree\r
678 \r
679 **/\r
680 private JScrollPane getJScrollPaneTree() {\r
681 if (jScrollPaneTree == null) {\r
682 jScrollPaneTree = new JScrollPane();\r
683 jScrollPaneTree.setBounds(new java.awt.Rectangle(0, 1, 290, 545));\r
684 jScrollPaneTree.setViewportView(getITree());\r
685 }\r
686 return jScrollPaneTree;\r
687 }\r
688\r
689 /**\r
690 This method initializes iTree \r
691 \r
692 @return org.tianocore.packaging.common.ui.ITree iTree\r
693 \r
694 **/\r
695 private ITree getITree() {\r
696 //\r
697 //Before open a real module, use an empty root node for the tree\r
698 //\r
699 IDefaultMutableTreeNode root = new IDefaultMutableTreeNode("No Msa/Mbd file opened", -1, -1);\r
700 iTree = new ITree(root);\r
701 return iTree;\r
702 }\r
703\r
704 /**\r
705 This method initializes jMenuHelp \r
706 \r
707 @return javax.swing.JMenu jMenuHelp\r
708 \r
709 **/\r
710 private JMenu getJMenuHelp() {\r
711 if (jMenuHelp == null) {\r
712 jMenuHelp = new JMenu();\r
713 jMenuHelp.setText("Help");\r
714 jMenuHelp.add(getJMenuItemHelpAbout());\r
715 }\r
716 return jMenuHelp;\r
717 }\r
718\r
719 /**\r
720 This method initializes jMenuItemHelpAbout \r
721 \r
722 @return javax.swing.JMenuItem jMenuItemHelpAbout\r
723 \r
724 **/\r
725 private JMenuItem getJMenuItemHelpAbout() {\r
726 if (jMenuItemHelpAbout == null) {\r
727 jMenuItemHelpAbout = new JMenuItem();\r
728 jMenuItemHelpAbout.setText("About...");\r
729 jMenuItemHelpAbout.addActionListener(this);\r
730 }\r
731 return jMenuItemHelpAbout;\r
732 }\r
733\r
734 /**\r
735 This method initializes jMenuEditAdd \r
736 \r
737 @return javax.swing.JMenu jMenuEditAdd\r
738 \r
739 **/\r
740 private JMenu getJMenu() {\r
741 if (jMenuEditAdd == null) {\r
742 jMenuEditAdd = new JMenu();\r
743 jMenuEditAdd.setText("Add");\r
744 //\r
745 //Add all menu items of menu "Add"\r
746 //\r
747 jMenuEditAdd.add(getJMenuItemEditAddLibraries());\r
748 jMenuEditAdd.add(getJMenuItemEditAddLibraryClassDefinitions());\r
749 jMenuEditAdd.add(getJMenuItemEditAddSourceFiles());\r
750 jMenuEditAdd.add(getJMenuItemEditAddIncludes());\r
751 jMenuEditAdd.add(getJMenuItemEditAddProtocols());\r
752 jMenuEditAdd.add(getJMenuItemEditAddEvents());\r
753 jMenuEditAdd.add(getJMenuItemEditAddHobs());\r
754 jMenuEditAdd.add(getJMenuItemEditAddPPIs());\r
755 jMenuEditAdd.add(getJMenuItemEditAddVariables());\r
756 jMenuEditAdd.add(getJMenuItemAddBootModes());\r
757 jMenuEditAdd.add(getJMenuItemAddSystemTables());\r
758 jMenuEditAdd.add(getJMenuItemEditAddDataHubs());\r
759 jMenuEditAdd.add(getJMenuItemEditAddFormsets());\r
760 jMenuEditAdd.add(getJMenuItemEditAddGuids());\r
761 jMenuEditAdd.add(getJMenuItemEditAddExterns());\r
762 jMenuEditAdd.add(getJMenuItemEditAddPCDs());\r
763 jMenuEditAdd.setEnabled(false);\r
764 }\r
765 return jMenuEditAdd;\r
766 }\r
767\r
768 /**\r
769 This method initializes jMenuItemEditDelete \r
770 \r
771 @return javax.swing.JMenuItem jMenuItemEditDelete\r
772 \r
773 **/\r
774 private JMenuItem getJMenuItemEditDelete() {\r
775 if (jMenuItemEditDelete == null) {\r
776 jMenuItemEditDelete = new JMenuItem();\r
777 jMenuItemEditDelete.setText("Delete");\r
778 jMenuItemEditDelete.addActionListener(this);\r
779 //\r
780 //Disabled when no module is open\r
781 //\r
782 jMenuItemEditDelete.setEnabled(false);\r
783 }\r
784 return jMenuItemEditDelete;\r
785 }\r
786\r
787 /**\r
788 This method initializes jMenuItemEditUpdate \r
789 \r
790 @return javax.swing.JMenuItem jMenuItemEditUpdate\r
791 \r
792 **/\r
793 private JMenuItem getJMenuItemEditUpdate() {\r
794 if (jMenuItemEditUpdate == null) {\r
795 jMenuItemEditUpdate = new JMenuItem();\r
796 jMenuItemEditUpdate.setText("Update");\r
797 jMenuItemEditUpdate.addActionListener(this);\r
798 //\r
799 //Disabled when no module is open\r
800 //\r
801 jMenuItemEditUpdate.setEnabled(false);\r
802 }\r
803 return jMenuItemEditUpdate;\r
804 }\r
805\r
806 /**\r
807 This method initializes jPopupMenu \r
808 \r
809 @return javax.swing.JPopupMenu jPopupMenu\r
810 \r
811 **/\r
812 private JPopupMenu getJPopupMenu() {\r
813 if (jPopupMenu == null) {\r
814 jPopupMenu = new JPopupMenu();\r
815 //\r
816 //Add menu items of popup menu\r
817 //\r
818 jPopupMenu.add(getJMenuItemPopupAdd());\r
819 jPopupMenu.add(getJMenuItemPopupUpdate());\r
820 jPopupMenu.add(getJMenuItemPopupDelete());\r
821 jPopupMenu.setBorder(new BevelBorder(BevelBorder.RAISED));\r
822 jPopupMenu.addMouseListener(this);\r
823 }\r
824 return jPopupMenu;\r
825 }\r
826\r
827 /**\r
828 This method initializes jMenuItemPopupAdd \r
829 \r
830 @return javax.swing.JMenuItem jMenuItemPopupAdd\r
831 \r
832 **/\r
833 private JMenuItem getJMenuItemPopupAdd() {\r
834 if (jMenuItemPopupAdd == null) {\r
835 jMenuItemPopupAdd = new JMenuItem();\r
836 jMenuItemPopupAdd.setText("Add");\r
837 jMenuItemPopupAdd.addActionListener(this);\r
838 jMenuItemPopupAdd.setEnabled(false);\r
839 }\r
840 return jMenuItemPopupAdd;\r
841 }\r
842\r
843 /**\r
844 This method initializes jMenuItemPopupUpdate \r
845 \r
846 @return javax.swing.JMenuItem jMenuItemPopupUpdate\r
847 \r
848 **/\r
849 private JMenuItem getJMenuItemPopupUpdate() {\r
850 if (jMenuItemPopupUpdate == null) {\r
851 jMenuItemPopupUpdate = new JMenuItem();\r
852 jMenuItemPopupUpdate.setText("Update");\r
853 jMenuItemPopupUpdate.addActionListener(this);\r
854 jMenuItemPopupUpdate.setEnabled(false);\r
855 }\r
856 return jMenuItemPopupUpdate;\r
857 }\r
858\r
859 /**\r
860 This method initializes jMenuItemPopupDelete \r
861 \r
862 @return javax.swing.JMenuItem jMenuItemPopupDelete\r
863 \r
864 **/\r
865 private JMenuItem getJMenuItemPopupDelete() {\r
866 if (jMenuItemPopupDelete == null) {\r
867 jMenuItemPopupDelete = new JMenuItem();\r
868 jMenuItemPopupDelete.setText("Delete");\r
869 jMenuItemPopupDelete.addActionListener(this);\r
870 jMenuItemPopupDelete.setEnabled(false);\r
871 }\r
872 return jMenuItemPopupDelete;\r
873 }\r
874\r
875 /**\r
876 This method initializes jMenuModuleNew \r
877 \r
878 @return javax.swing.JMenu jMenuModuleNew\r
879 \r
880 **/\r
881 private JMenu getJMenuModuleNew() {\r
882 if (jMenuModuleNew == null) {\r
883 jMenuModuleNew = new JMenu();\r
884 jMenuModuleNew.setText("New");\r
885 jMenuModuleNew.add(getJMenuItemModuleNewModule());\r
886 jMenuModuleNew.add(getJMenuItemModuleNewModuleBuildDescription());\r
887 jMenuModuleNew.add(getJMenuItemModuleNewLibraryModule());\r
888 jMenuModuleNew.add(getJMenuItemModuleNewLibraryModuleBuildDescription());\r
889 }\r
890 return jMenuModuleNew;\r
891 }\r
892\r
893 /**\r
894 This method initializes jMenuItemModuleOpenModule \r
895 \r
896 @return javax.swing.JMenuItem jMenuItemModuleOpenModule\r
897 \r
898 **/\r
899 private JMenuItem getJMenuItemModuleOpenModule() {\r
900 if (jMenuItemModuleOpenModule == null) {\r
901 jMenuItemModuleOpenModule = new JMenuItem();\r
902 jMenuItemModuleOpenModule.setText("Module (.msa)");\r
903 jMenuItemModuleOpenModule.addActionListener(this);\r
904 }\r
905 return jMenuItemModuleOpenModule;\r
906 }\r
907\r
908 /**\r
909 This method initializes jMenuItemFileNewModuleBuildDescription \r
910 \r
911 @return javax.swing.JMenuItem jMenuItemModuleNewModuleBuildDescription\r
912 \r
913 **/\r
914 private JMenuItem getJMenuItemModuleNewModuleBuildDescription() {\r
915 if (jMenuItemModuleNewModuleBuildDescription == null) {\r
916 jMenuItemModuleNewModuleBuildDescription = new JMenuItem();\r
917 jMenuItemModuleNewModuleBuildDescription.setText("Module Build Description (.mbd)");\r
918 jMenuItemModuleNewModuleBuildDescription.addActionListener(this);\r
919 }\r
920 return jMenuItemModuleNewModuleBuildDescription;\r
921 }\r
922\r
923 /**\r
924 This method initializes jMenuItemFileNewLibraryModule \r
925 \r
926 @return javax.swing.JMenuItem jMenuItemModuleNewLibraryModule\r
927 \r
928 **/\r
929 private JMenuItem getJMenuItemModuleNewLibraryModule() {\r
930 if (jMenuItemModuleNewLibraryModule == null) {\r
931 jMenuItemModuleNewLibraryModule = new JMenuItem();\r
932 jMenuItemModuleNewLibraryModule.setText("Library Module (*.msa)");\r
933 jMenuItemModuleNewLibraryModule.addActionListener(this);\r
934 }\r
935 return jMenuItemModuleNewLibraryModule;\r
936 }\r
937\r
938 /**\r
939 This method initializes jMenuItemFileNewLibraryModuleBuildDescription \r
940 \r
941 @return javax.swing.JMenuItem jMenuItemModuleNewLibraryModuleBuildDescription\r
942 \r
943 **/\r
944 private JMenuItem getJMenuItemModuleNewLibraryModuleBuildDescription() {\r
945 if (jMenuItemModuleNewLibraryModuleBuildDescription == null) {\r
946 jMenuItemModuleNewLibraryModuleBuildDescription = new JMenuItem();\r
947 jMenuItemModuleNewLibraryModuleBuildDescription.setText("Library Module Build Description (.mbd)");\r
948 jMenuItemModuleNewLibraryModuleBuildDescription.addActionListener(this);\r
949 }\r
950 return jMenuItemModuleNewLibraryModuleBuildDescription;\r
951 }\r
952\r
953 /**\r
954 This method initializes jMenuOpen \r
955 \r
956 @return javax.swing.JMenu jMenuModuleOpen\r
957 \r
958 **/\r
959 private JMenu getJMenuModuleOpen() {\r
960 if (jMenuModuleOpen == null) {\r
961 jMenuModuleOpen = new JMenu();\r
962 jMenuModuleOpen.setText("Open");\r
963 jMenuModuleOpen.add(getJMenuItemModuleOpenModule());\r
964 jMenuModuleOpen.add(getJMenuItemModuleOpenModuleBuildDescription());\r
965 jMenuModuleOpen.add(getJMenuItemModuleOpenLibraryModule());\r
966 jMenuModuleOpen.add(getJMenuItemModuleOpenLibraryModuleBuildDescription());\r
967 }\r
968 return jMenuModuleOpen;\r
969 }\r
970\r
971 /**\r
972 This method initializes jMenuItemFileOpenModuleBuildDescription \r
973 \r
974 @return javax.swing.JMenuItem jMenuItemModuleOpenModuleBuildDescription\r
975 \r
976 **/\r
977 private JMenuItem getJMenuItemModuleOpenModuleBuildDescription() {\r
978 if (jMenuItemModuleOpenModuleBuildDescription == null) {\r
979 jMenuItemModuleOpenModuleBuildDescription = new JMenuItem();\r
980 jMenuItemModuleOpenModuleBuildDescription.setText("Module Build Description (.mbd)");\r
981 jMenuItemModuleOpenModuleBuildDescription.addActionListener(this);\r
982 }\r
983 return jMenuItemModuleOpenModuleBuildDescription;\r
984 }\r
985\r
986 /**\r
987 This method initializes jMenuItemFileOpenLibraryModule \r
988 \r
989 @return javax.swing.JMenuItem jMenuItemModuleOpenLibraryModule\r
990 \r
991 **/\r
992 private JMenuItem getJMenuItemModuleOpenLibraryModule() {\r
993 if (jMenuItemModuleOpenLibraryModule == null) {\r
994 jMenuItemModuleOpenLibraryModule = new JMenuItem();\r
995 jMenuItemModuleOpenLibraryModule.setText("Library Module (.msa)");\r
996 jMenuItemModuleOpenLibraryModule.addActionListener(this);\r
997 }\r
998 return jMenuItemModuleOpenLibraryModule;\r
999 }\r
1000\r
1001 /**\r
1002 This method initializes jMenuItemFileOpenLibraryModuleBuildDescription \r
1003 \r
1004 @return javax.swing.JMenuItem jMenuItemModuleOpenLibraryModuleBuildDescription\r
1005 \r
1006 **/\r
1007 private JMenuItem getJMenuItemModuleOpenLibraryModuleBuildDescription() {\r
1008 if (jMenuItemModuleOpenLibraryModuleBuildDescription == null) {\r
1009 jMenuItemModuleOpenLibraryModuleBuildDescription = new JMenuItem();\r
1010 jMenuItemModuleOpenLibraryModuleBuildDescription.setText("Library Module Build Description (.mbd)");\r
1011 jMenuItemModuleOpenLibraryModuleBuildDescription.addActionListener(this);\r
1012 }\r
1013 return jMenuItemModuleOpenLibraryModuleBuildDescription;\r
1014 }\r
1015\r
1016 /**\r
1017 This method initializes jMenuItemFileSave \r
1018 \r
1019 @return javax.swing.JMenuItem jMenuItemModuleSave\r
1020 \r
1021 **/\r
1022 private JMenuItem getJMenuItemModuleSave() {\r
1023 if (jMenuItemModuleSave == null) {\r
1024 jMenuItemModuleSave = new JMenuItem();\r
1025 jMenuItemModuleSave.setText("Save");\r
1026 jMenuItemModuleSave.addActionListener(this);\r
1027 jMenuItemModuleSave.setEnabled(false);\r
1028 }\r
1029 return jMenuItemModuleSave;\r
1030 }\r
1031\r
1032 /**\r
1033 This method initializes jMenuItemModuleClose \r
1034 \r
1035 @return javax.swing.JMenuItem jMenuItemModuleClose\r
1036 \r
1037 **/\r
1038 private JMenuItem getJMenuItemModuleClose() {\r
1039 if (jMenuItemModuleClose == null) {\r
1040 jMenuItemModuleClose = new JMenuItem();\r
1041 jMenuItemModuleClose.setText("Close");\r
1042 jMenuItemModuleClose.setEnabled(false);\r
1043 jMenuItemModuleClose.addActionListener(this);\r
1044 }\r
1045 return jMenuItemModuleClose;\r
1046 }\r
1047\r
1048 /**\r
1049 This method initializes jMenuTools\r
1050 Reserved \r
1051 \r
1052 @return javax.swing.JMenu jMenuTools\r
1053 \r
1054 **/\r
1055 private JMenu getJMenuTools() {\r
1056 if (jMenuTools == null) {\r
1057 jMenuTools = new JMenu();\r
1058 jMenuTools.setText("Tools");\r
1059 jMenuTools.addActionListener(this);\r
1060 jMenuTools.setEnabled(false);\r
1061 }\r
1062 return jMenuTools;\r
1063 }\r
1064\r
1065 /**\r
1066 This method initializes jMenuWindow \r
1067 Reserved\r
1068 \r
1069 @return javax.swing.JMenu jMenuWindow\r
1070 \r
1071 **/\r
1072 private JMenu getJMenuWindow() {\r
1073 if (jMenuWindow == null) {\r
1074 jMenuWindow = new JMenu();\r
1075 jMenuWindow.setText("Window");\r
1076 jMenuWindow.setEnabled(false);\r
1077 jMenuWindow.addActionListener(this);\r
1078 }\r
1079 return jMenuWindow;\r
1080 }\r
1081\r
1082 /**\r
1083 This method initializes jMenuItemEditAddLibraries \r
1084 \r
1085 @return javax.swing.JMenuItem jMenuItemEditAddLibraries\r
1086 \r
1087 **/\r
1088 private JMenuItem getJMenuItemEditAddLibraries() {\r
1089 if (jMenuItemEditAddLibraries == null) {\r
1090 jMenuItemEditAddLibraries = new JMenuItem();\r
1091 jMenuItemEditAddLibraries.setText("Libraries");\r
1092 jMenuItemEditAddLibraries.addActionListener(this);\r
1093 }\r
1094 return jMenuItemEditAddLibraries;\r
1095 }\r
1096\r
1097 /**\r
1098 This method initializes jPanelOperation \r
1099 \r
1100 @return javax.swing.JPanel jPanelOperation\r
1101 \r
1102 **/\r
1103 private JPanel getJPanelOperation() {\r
1104 if (jPanelOperation == null) {\r
1105 jPanelOperation = new JPanel();\r
1106 jPanelOperation.setLayout(null);\r
1107 jPanelOperation.setBounds(new java.awt.Rectangle(295, 520, 500, 25));\r
1108 jPanelOperation.add(getJButtonOk(), null);\r
1109 jPanelOperation.add(getJButtonCancel(), null);\r
1110 }\r
1111 return jPanelOperation;\r
1112 }\r
1113\r
1114 /**\r
1115 This method initializes jButtonOk \r
1116 \r
1117 @return javax.swing.JButton jButtonOk\r
1118 \r
1119 **/\r
1120 private JButton getJButtonOk() {\r
1121 if (jButtonOk == null) {\r
1122 jButtonOk = new JButton();\r
1123 jButtonOk.setBounds(new java.awt.Rectangle(395, 2, 90, 20));\r
1124 jButtonOk.setText("Ok");\r
1125 jButtonOk.setEnabled(false);\r
1126 jButtonOk.addActionListener(this);\r
1127 }\r
1128 return jButtonOk;\r
1129 }\r
1130\r
1131 /**\r
1132 This method initializes jButtonCancel \r
1133 \r
1134 @return javax.swing.JButton jButtonCancel\r
1135 \r
1136 **/\r
1137 private JButton getJButtonCancel() {\r
1138 if (jButtonCancel == null) {\r
1139 jButtonCancel = new JButton();\r
1140 jButtonCancel.setBounds(new java.awt.Rectangle(395, 2, 90, 20));\r
1141 jButtonCancel.setText("Cancel");\r
1142 jButtonCancel.setEnabled(false);\r
1143 jButtonCancel.addActionListener(this);\r
1144 jButtonCancel.setVisible(false);\r
1145 }\r
1146 return jButtonCancel;\r
1147 }\r
1148\r
1149 /* (non-Javadoc)\r
1150 * @see org.tianocore.packaging.common.ui.IFrame#main(java.lang.String[])\r
1151 *\r
1152 * Main class, start the GUI\r
1153 * \r
1154 */\r
1155 public static void main(String[] args) {\r
1156 ModuleMain module = new ModuleMain();\r
1157 module.setVisible(true);\r
1158 }\r
1159\r
1160 /**\r
1161 This is the default constructor\r
1162 \r
1163 **/\r
1164 public ModuleMain() {\r
1165 super();\r
1166 init();\r
1167 }\r
1168\r
1169 /**\r
1170 This method initializes this\r
1171 \r
1172 \r
1173 **/\r
1174 private void init() {\r
1175 //\r
1176 // Check if exists WORKSPACE\r
1177 // \r
1178 //\r
1179 if (!ws.checkCurrentWorkspace()) {\r
1180 JOptionPane.showConfirmDialog(null, "You haven't a workspace yet. Please setup first.", "Warning",\r
1181 JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE);\r
1182 this.dispose();\r
1183 System.exit(0);\r
1184 }\r
1185\r
1186 this.setSize(800, 600);\r
1187 this.setResizable(false);\r
1188 this.setJMenuBar(getjJMenuBar());\r
1189 this.setContentPane(getJContentPane());\r
1190 this.setTitle(windowTitle + "- [" + ws.getCurrentWorkspace() + "]");\r
1191 this.setExitType(1);\r
1192 this.centerWindow();\r
1193 }\r
1194\r
1195 /**\r
1196 This method initializes jContentPane\r
1197 \r
1198 @return javax.swing.JPanel jContentPane\r
1199 \r
1200 **/\r
1201 private JPanel getJContentPane() {\r
1202 if (jContentPane == null) {\r
1203 jContentPane = new JPanel();\r
1204 jContentPane.setLayout(null);\r
1205 jContentPane.add(getJPanelOperation(), null);\r
1206 jContentPane.add(getJDesktopPane(), null);\r
1207 jContentPane.add(getJScrollPaneTree(), null);\r
1208 jContentPane.add(getJPopupMenu(), null);\r
1209 }\r
1210 return jContentPane;\r
1211 }\r
1212\r
1213 /* (non-Javadoc)\r
1214 * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)\r
1215 *\r
1216 * Override actionPerformed to listen all actions\r
1217 *\r
1218 */\r
1219 public void actionPerformed(ActionEvent arg0) {\r
1220 //\r
1221 // Open relevant frame via clicking different menu items\r
1222 //\r
1223 if (arg0.getSource() == jMenuItemHelpAbout) {\r
1224 ModuleAbout ma = new ModuleAbout();\r
1225 ma.setEdited(false);\r
1226 }\r
1227\r
1228 if (arg0.getSource() == jMenuItemEditAddLibraries) {\r
1229 showLibraries(ModuleMain.ADD, IDefaultMutableTreeNode.LIBRARIES, -1);\r
1230 }\r
1231\r
1232 if (arg0.getSource() == jMenuItemEditAddLibraryClassDefinitions) {\r
1233 showLibraryClassDefinitions(ModuleMain.ADD, IDefaultMutableTreeNode.LIBRARYCLASSDEFINITIONS);\r
1234 }\r
1235\r
1236 if (arg0.getSource() == jMenuItemEditAddSourceFiles) {\r
1237 showSourceFiles(ModuleMain.ADD, IDefaultMutableTreeNode.SOURCEFILES, -1);\r
1238 }\r
1239\r
1240 if (arg0.getSource() == jMenuItemEditAddIncludes) {\r
1241 showIncludes(ModuleMain.ADD, IDefaultMutableTreeNode.INCLUDES, -1);\r
1242 }\r
1243\r
1244 if (arg0.getSource() == jMenuItemEditAddProtocols) {\r
1245 showProtocols(ModuleMain.ADD, IDefaultMutableTreeNode.PROTOCOLS, -1);\r
1246 }\r
1247\r
1248 if (arg0.getSource() == jMenuItemEditAddEvents) {\r
1249 showEvents(ModuleMain.ADD, IDefaultMutableTreeNode.EVENTS, -1);\r
1250 }\r
1251\r
1252 if (arg0.getSource() == jMenuItemEditAddHobs) {\r
1253 showHobs(ModuleMain.ADD, IDefaultMutableTreeNode.HOBS, -1);\r
1254 }\r
1255\r
1256 if (arg0.getSource() == jMenuItemEditAddPPIs) {\r
1257 showPpis(ModuleMain.ADD, IDefaultMutableTreeNode.PPIS, -1);\r
1258 }\r
1259\r
1260 if (arg0.getSource() == jMenuItemEditAddVariables) {\r
1261 showVariables(ModuleMain.ADD, IDefaultMutableTreeNode.VARIABLES, -1);\r
1262 }\r
1263\r
1264 if (arg0.getSource() == jMenuItemEditAddBootModes) {\r
1265 showBootModes(ModuleMain.ADD, IDefaultMutableTreeNode.BOOTMODES, -1);\r
1266 }\r
1267\r
1268 if (arg0.getSource() == jMenuItemEditAddSystemTables) {\r
1269 showSystemTables(ModuleMain.ADD, IDefaultMutableTreeNode.SYSTEMTABLES, -1);\r
1270 }\r
1271\r
1272 if (arg0.getSource() == jMenuItemEditAddDataHubs) {\r
1273 showDataHubs(ModuleMain.ADD, IDefaultMutableTreeNode.DATAHUBS, -1);\r
1274 }\r
1275\r
1276 if (arg0.getSource() == jMenuItemEditAddFormsets) {\r
1277 showFormsets(ModuleMain.ADD, IDefaultMutableTreeNode.FORMSETS, -1);\r
1278 }\r
1279\r
1280 if (arg0.getSource() == jMenuItemEditAddGuids) {\r
1281 showGuids(ModuleMain.ADD, IDefaultMutableTreeNode.GUIDS, -1);\r
1282 }\r
1283\r
1284 if (arg0.getSource() == jMenuItemEditAddExterns) {\r
1285 showExterns(ModuleMain.ADD, IDefaultMutableTreeNode.EXTERNS, -1);\r
1286 }\r
1287\r
1288 if (arg0.getSource() == jMenuItemEditAddPCDs) {\r
1289 showPCDs(ModuleMain.ADD, IDefaultMutableTreeNode.PCDS, -1);\r
1290 }\r
1291\r
1292 if (arg0.getSource() == jMenuItemModuleNewModule) {\r
1293 this.closeCurrentModule();\r
1294 showMsaHeader(ModuleMain.ADD);\r
1295 }\r
1296\r
1297 if (arg0.getSource() == jMenuItemModuleNewModuleBuildDescription) {\r
1298 this.closeCurrentModule();\r
1299 showMbdHeader(ModuleMain.ADD);\r
1300 }\r
1301\r
1302 if (arg0.getSource() == jMenuItemModuleNewLibraryModule) {\r
1303 this.closeCurrentModule();\r
1304 showMlsaHeader(ModuleMain.ADD);\r
1305 }\r
1306\r
1307 if (arg0.getSource() == jMenuItemModuleNewLibraryModuleBuildDescription) {\r
1308 this.closeCurrentModule();\r
1309 showMlbdHeader(ModuleMain.ADD);\r
1310 }\r
1311\r
1312 //\r
1313 // Open Msa, Mbd, Lmsa and Lmbd\r
1314 //\r
1315 if (arg0.getSource() == jMenuItemModuleOpenModule) {\r
1316 openFile(1, 1);\r
1317 }\r
1318\r
1319 if (arg0.getSource() == jMenuItemModuleOpenModuleBuildDescription) {\r
1320 openFile(1, 2);\r
1321 }\r
1322\r
1323 if (arg0.getSource() == jMenuItemModuleOpenLibraryModule) {\r
1324 openFile(1, 3);\r
1325 }\r
1326\r
1327 if (arg0.getSource() == jMenuItemModuleOpenLibraryModuleBuildDescription) {\r
1328 openFile(1, 4);\r
1329 }\r
1330\r
1331 //\r
1332 // Listen popup menu items\r
1333 //\r
1334 if (arg0.getSource() == jMenuItemPopupAdd) {\r
1335 int intCategory = iTree.getSelectCategory();\r
1336 int intLocation = iTree.getSelectLoaction();\r
1337 addCurrentModule(intCategory, intLocation);\r
1338 }\r
1339\r
1340 if (arg0.getSource() == jMenuItemPopupUpdate || arg0.getSource() == jMenuItemEditUpdate) {\r
1341 int intCategory = iTree.getSelectCategory();\r
1342 int intLocation = iTree.getSelectLoaction();\r
1343 updateCurrentModule(intCategory, intLocation);\r
1344 }\r
1345\r
1346 if (arg0.getSource() == jMenuItemPopupDelete || arg0.getSource() == jMenuItemEditDelete) {\r
1347 int intCategory = iTree.getSelectCategory();\r
1348 int intLocation = iTree.getSelectLoaction();\r
1349 deleteCurrentModule(intCategory, intLocation);\r
1350 }\r
1351\r
1352 if (arg0.getSource() == jMenuItemModuleExit) {\r
1353 this.onExit();\r
1354 }\r
1355\r
1356 if (arg0.getSource() == jMenuItemModuleClose) {\r
1357 closeCurrentModule();\r
1358 }\r
1359\r
1360 if (arg0.getSource() == jMenuItemModuleSaveAs) {\r
1361 saveAsCurrentModule();\r
1362 }\r
1363\r
1364 if (arg0.getSource() == jMenuItemModuleSave) {\r
1365 saveCurrentModule();\r
1366 }\r
1367\r
1368 if (arg0.getSource() == jButtonOk) {\r
1369 save();\r
1370 }\r
1371\r
1372 if (arg0.getSource() == jButtonCancel) {\r
1373\r
1374 }\r
1375 }\r
1376\r
1377 /**\r
1378 Open file\r
1379 \r
1380 @param intOperationType Open - 1 or Save - 2\r
1381 @param intFileType Msa - 1, Mbd - 2, Lmsa - 3, Lmbd - 4\r
1382 @return opened file path\r
1383 \r
1384 **/\r
1385 private void openFile(int intOperationType, int intFileType) {\r
1386 String strCurrentPath = "";\r
1387 if (this.currentModule == "") {\r
1388 strCurrentPath = ws.getCurrentWorkspace();\r
1389 } else {\r
1390 strCurrentPath = this.currentModule\r
1391 .substring(\r
1392 0,\r
1393 this.currentModule\r
1394 .lastIndexOf(System\r
1395 .getProperty("file.separator")));\r
1396 }\r
1397\r
1398 JFileChooser fc = new JFileChooser(strCurrentPath);\r
1399 fc.setAcceptAllFileFilterUsed(false);\r
1400 switch (intOperationType) {\r
1401 case 1:\r
1402 fc.setDialogTitle("Open");\r
1403 break;\r
1404 case 2:\r
1405 fc.setDialogTitle("Save As");\r
1406 break;\r
1407 }\r
1408 //\r
1409 // Config File Filter via different file types\r
1410 //\r
1411 switch (intFileType) {\r
1412 case 1:\r
1413 fc.addChoosableFileFilter(new IFileFilter("msa"));\r
1414 break;\r
1415 case 2:\r
1416 fc.addChoosableFileFilter(new IFileFilter("mbd"));\r
1417 break;\r
1418 case 3:\r
1419 fc.addChoosableFileFilter(new IFileFilter("msa"));\r
1420 break;\r
1421 case 4:\r
1422 fc.addChoosableFileFilter(new IFileFilter("mbd"));\r
1423 break;\r
1424 }\r
1425\r
1426 int result = fc.showOpenDialog(new JPanel());\r
1427 //\r
1428 // Open relevanf file after click "OK"\r
1429 //\r
1430 if (result == JFileChooser.APPROVE_OPTION) {\r
1431 switch (intOperationType) {\r
1432 case 1:\r
1433 closeCurrentModule();\r
1434 switch (intFileType) {\r
1435 case 1:\r
1436 openMsaFile(fc.getSelectedFile().getPath());\r
1437 break;\r
1438 case 2:\r
1439 openMbdFile(fc.getSelectedFile().getPath());\r
1440 break;\r
1441 case 3:\r
1442 openMlsaFile(fc.getSelectedFile().getPath());\r
1443 break;\r
1444 case 4:\r
1445 openMlbdFile(fc.getSelectedFile().getPath());\r
1446 break;\r
1447 }\r
1448 break;\r
1449 case 2:\r
1450 switch (intFileType) {\r
1451 case 1:\r
1452 this.saveFileName = fc.getSelectedFile().getPath();\r
1453 break;\r
1454 case 2:\r
1455 this.saveFileName = fc.getSelectedFile().getPath();\r
1456 break;\r
1457 case 3:\r
1458 this.saveFileName = fc.getSelectedFile().getPath();\r
1459 break;\r
1460 case 4:\r
1461 this.saveFileName = fc.getSelectedFile().getPath();\r
1462 break;\r
1463 }\r
1464 break;\r
1465 }\r
1466 } else {\r
1467 if (intOperationType == 2) {\r
1468 this.saveFileName = "";\r
1469 }\r
1470 }\r
1471 }\r
1472\r
1473 /**\r
1474 Open specificed Msa file and read its content\r
1475 \r
1476 @param strMsaFilePath The input data of Msa File Path\r
1477 \r
1478 **/\r
1479 private void openMsaFile(String strMsaFilePath) {\r
1480 Log.log("Open Msa", strMsaFilePath);\r
1481 try {\r
1482 File msaFile = new File(strMsaFilePath);\r
1483 xmlMsaDoc = (ModuleSurfaceAreaDocument) XmlObject.Factory.parse(msaFile);\r
1484 this.currentModule = strMsaFilePath;\r
1485 this.saveFileName = strMsaFilePath;\r
1486 this.currentModuleType = 1;\r
1487 } catch (IOException e) {\r
1488 Log.err("Open Msa " + strMsaFilePath, e.getMessage());\r
1489 return;\r
1490 } catch (XmlException e) {\r
1491 Log.err("Open Msa " + strMsaFilePath, e.getMessage());\r
1492 return;\r
1493 } catch (Exception e) {\r
2a8b1c0a 1494 Log.err("Open Msa " + strMsaFilePath, "Invalid file type");\r
878ddf1f 1495 return;\r
1496 }\r
1497\r
1498 xmlmh = xmlMsaDoc.getModuleSurfaceArea().getMsaHeader();\r
1499 xmllcd = xmlMsaDoc.getModuleSurfaceArea().getLibraryClassDefinitions();\r
1500 xmlsf = xmlMsaDoc.getModuleSurfaceArea().getSourceFiles();\r
1501 xmlic = xmlMsaDoc.getModuleSurfaceArea().getIncludes();\r
1502 xmlpl = xmlMsaDoc.getModuleSurfaceArea().getProtocols();\r
1503 xmlen = xmlMsaDoc.getModuleSurfaceArea().getEvents();\r
1504 xmlhob = xmlMsaDoc.getModuleSurfaceArea().getHobs();\r
1505 xmlppi = xmlMsaDoc.getModuleSurfaceArea().getPPIs();\r
1506 xmlvb = xmlMsaDoc.getModuleSurfaceArea().getVariables();\r
1507 xmlbm = xmlMsaDoc.getModuleSurfaceArea().getBootModes();\r
1508 xmlst = xmlMsaDoc.getModuleSurfaceArea().getSystemTables();\r
1509 xmldh = xmlMsaDoc.getModuleSurfaceArea().getDataHubs();\r
1510 xmlfs = xmlMsaDoc.getModuleSurfaceArea().getFormsets();\r
1511 xmlgu = xmlMsaDoc.getModuleSurfaceArea().getGuids();\r
1512 xmlet = xmlMsaDoc.getModuleSurfaceArea().getExterns();\r
1513 xmlpcd = xmlMsaDoc.getModuleSurfaceArea().getPCDs();\r
1514 xmlbo = xmlMsaDoc.getModuleSurfaceArea().getBuildOptions();\r
1515\r
1516 this.showMsaHeader(ModuleMain.VIEW);\r
1517 reloadTreeAndTable(ModuleMain.OPENED);\r
1518 jMenuEditAdd.setEnabled(true);\r
1519 }\r
1520\r
1521 /**\r
1522 Open specificed Mbd file and read its content\r
1523 \r
1524 @param strMbdFilePath The input data of Mbd File Path\r
1525 \r
1526 **/\r
1527 private void openMbdFile(String strMbdFilePath) {\r
1528 Log.log("Open Mbd", strMbdFilePath);\r
1529 try {\r
1530 File mbdFile = new File(strMbdFilePath);\r
1531 xmlMbdDoc = (ModuleBuildDescriptionDocument) XmlObject.Factory.parse(mbdFile);\r
1532 this.currentModule = strMbdFilePath;\r
1533 this.saveFileName = strMbdFilePath;\r
1534 this.currentModuleType = 2;\r
1535 } catch (IOException e) {\r
1536 Log.err("Open Mbd " + strMbdFilePath, e.getMessage());\r
1537 return;\r
1538 } catch (XmlException e) {\r
1539 Log.err("Open Mbd " + strMbdFilePath, e.getMessage());\r
1540 return;\r
1541 } catch (Exception e) {\r
2a8b1c0a 1542 Log.err("Open Mbd " + strMbdFilePath, "Invalid file type");\r
878ddf1f 1543 return;\r
1544 }\r
1545\r
1546 xmlmbdh = xmlMbdDoc.getModuleBuildDescription().getMbdHeader();\r
1547 xmllib = xmlMbdDoc.getModuleBuildDescription().getLibraries();\r
1548 xmlsf = xmlMbdDoc.getModuleBuildDescription().getSourceFiles();\r
1549 xmlic = xmlMbdDoc.getModuleBuildDescription().getIncludes();\r
1550 xmlpl = xmlMbdDoc.getModuleBuildDescription().getProtocols();\r
1551 xmlen = xmlMbdDoc.getModuleBuildDescription().getEvents();\r
1552 xmlhob = xmlMbdDoc.getModuleBuildDescription().getHobs();\r
1553 xmlppi = xmlMbdDoc.getModuleBuildDescription().getPPIs();\r
1554 xmlvb = xmlMbdDoc.getModuleBuildDescription().getVariables();\r
1555 xmlbm = xmlMbdDoc.getModuleBuildDescription().getBootModes();\r
1556 xmlst = xmlMbdDoc.getModuleBuildDescription().getSystemTables();\r
1557 xmldh = xmlMbdDoc.getModuleBuildDescription().getDataHubs();\r
1558 xmlfs = xmlMbdDoc.getModuleBuildDescription().getFormsets();\r
1559 xmlgu = xmlMbdDoc.getModuleBuildDescription().getGuids();\r
1560 xmlet = xmlMbdDoc.getModuleBuildDescription().getExterns();\r
1561 xmlpcd = xmlMbdDoc.getModuleBuildDescription().getPCDs();\r
1562 xmlbo = xmlMbdDoc.getModuleBuildDescription().getBuildOptions();\r
1563\r
1564 this.showMbdHeader(ModuleMain.VIEW);\r
1565 reloadTreeAndTable(ModuleMain.OPENED);\r
1566 jMenuEditAdd.setEnabled(true);\r
1567 }\r
1568\r
1569 /**\r
1570 Open specificed Mlsa file and read its content\r
1571 \r
1572 @param strMlsaFilePath The input data of Mlsa File Path\r
1573 \r
1574 **/\r
1575 private void openMlsaFile(String strMlsaFilePath) {\r
1576 Log.log("Open Mlsa", strMlsaFilePath);\r
1577 try {\r
1578 File mlsaFile = new File(strMlsaFilePath);\r
1579 xmlMlsaDoc = (LibraryModuleSurfaceAreaDocument) XmlObject.Factory.parse(mlsaFile);\r
1580 this.currentModule = strMlsaFilePath;\r
1581 this.saveFileName = strMlsaFilePath;\r
1582 this.currentModuleType = 3;\r
1583 } catch (IOException e) {\r
1584 Log.err("Open Mlsa " + strMlsaFilePath, e.getMessage());\r
1585 return;\r
1586 } catch (XmlException e) {\r
1587 Log.err("Open Mlsa " + strMlsaFilePath, e.getMessage());\r
1588 return;\r
1589 } catch (Exception e) {\r
2a8b1c0a 1590 Log.err("Open Mlsa " + strMlsaFilePath, "Invalid file type");\r
878ddf1f 1591 return;\r
1592 }\r
1593\r
1594 xmlmlh = xmlMlsaDoc.getLibraryModuleSurfaceArea().getMsaLibHeader();\r
1595 xmllcd = xmlMlsaDoc.getLibraryModuleSurfaceArea().getLibraryClassDefinitions();\r
1596 xmlsf = xmlMlsaDoc.getLibraryModuleSurfaceArea().getSourceFiles();\r
1597 xmlic = xmlMlsaDoc.getLibraryModuleSurfaceArea().getIncludes();\r
1598 xmlpl = xmlMlsaDoc.getLibraryModuleSurfaceArea().getProtocols();\r
1599 xmlen = xmlMlsaDoc.getLibraryModuleSurfaceArea().getEvents();\r
1600 xmlhob = xmlMlsaDoc.getLibraryModuleSurfaceArea().getHobs();\r
1601 xmlppi = xmlMlsaDoc.getLibraryModuleSurfaceArea().getPPIs();\r
1602 xmlvb = xmlMlsaDoc.getLibraryModuleSurfaceArea().getVariables();\r
1603 xmlbm = xmlMlsaDoc.getLibraryModuleSurfaceArea().getBootModes();\r
1604 xmlst = xmlMlsaDoc.getLibraryModuleSurfaceArea().getSystemTables();\r
1605 xmldh = xmlMlsaDoc.getLibraryModuleSurfaceArea().getDataHubs();\r
1606 xmlfs = xmlMlsaDoc.getLibraryModuleSurfaceArea().getFormsets();\r
1607 xmlgu = xmlMlsaDoc.getLibraryModuleSurfaceArea().getGuids();\r
1608 xmlet = xmlMlsaDoc.getLibraryModuleSurfaceArea().getExterns();\r
1609 xmlpcd = xmlMlsaDoc.getLibraryModuleSurfaceArea().getPCDs();\r
1610 xmlbo = xmlMlsaDoc.getLibraryModuleSurfaceArea().getBuildOptions();\r
1611\r
1612 this.showMlsaHeader(ModuleMain.VIEW);\r
1613 reloadTreeAndTable(ModuleMain.OPENED);\r
1614 jMenuEditAdd.setEnabled(true);\r
1615 }\r
1616\r
1617 /**\r
1618 Open specificed Mlbd file and read its content\r
1619 \r
1620 @param strMlbdFilePath The input data of Mlbd File Path\r
1621 \r
1622 **/\r
1623 private void openMlbdFile(String strMlbdFilePath) {\r
1624 Log.log("Open Mlbd", strMlbdFilePath);\r
1625 try {\r
1626 File mlbdFile = new File(strMlbdFilePath);\r
1627 xmlMlbdDoc = (LibraryModuleBuildDescriptionDocument) XmlObject.Factory.parse(mlbdFile);\r
1628 this.currentModule = strMlbdFilePath;\r
1629 this.saveFileName = strMlbdFilePath;\r
1630 this.currentModuleType = 4;\r
1631 } catch (IOException e) {\r
1632 Log.err("Open Mlbd " + strMlbdFilePath, e.getMessage());\r
1633 return;\r
1634 } catch (XmlException e) {\r
1635 Log.err("Open Mlbd " + strMlbdFilePath, e.getMessage());\r
1636 return;\r
1637 } catch (Exception e) {\r
2a8b1c0a 1638 Log.err("Open Mlbd " + strMlbdFilePath, "Invalid file type");\r
878ddf1f 1639 return;\r
1640 }\r
1641\r
1642 xmlmlbdh = xmlMlbdDoc.getLibraryModuleBuildDescription().getMbdLibHeader();\r
1643 xmllib = xmlMlbdDoc.getLibraryModuleBuildDescription().getLibraries();\r
1644 xmlsf = xmlMlbdDoc.getLibraryModuleBuildDescription().getSourceFiles();\r
1645 xmlic = xmlMlbdDoc.getLibraryModuleBuildDescription().getIncludes();\r
1646 xmlpl = xmlMlbdDoc.getLibraryModuleBuildDescription().getProtocols();\r
1647 xmlen = xmlMlbdDoc.getLibraryModuleBuildDescription().getEvents();\r
1648 xmlhob = xmlMlbdDoc.getLibraryModuleBuildDescription().getHobs();\r
1649 xmlppi = xmlMlbdDoc.getLibraryModuleBuildDescription().getPPIs();\r
1650 xmlvb = xmlMlbdDoc.getLibraryModuleBuildDescription().getVariables();\r
1651 xmlbm = xmlMlbdDoc.getLibraryModuleBuildDescription().getBootModes();\r
1652 xmlst = xmlMlbdDoc.getLibraryModuleBuildDescription().getSystemTables();\r
1653 xmldh = xmlMlbdDoc.getLibraryModuleBuildDescription().getDataHubs();\r
1654 xmlfs = xmlMlbdDoc.getLibraryModuleBuildDescription().getFormsets();\r
1655 xmlgu = xmlMlbdDoc.getLibraryModuleBuildDescription().getGuids();\r
1656 xmlet = xmlMlbdDoc.getLibraryModuleBuildDescription().getExterns();\r
1657 xmlpcd = xmlMlbdDoc.getLibraryModuleBuildDescription().getPCDs();\r
1658 xmlbo = xmlMlbdDoc.getLibraryModuleBuildDescription().getBuildOptions();\r
1659\r
1660 this.showMlbdHeader(ModuleMain.VIEW);\r
1661 reloadTreeAndTable(ModuleMain.OPENED);\r
1662 jMenuEditAdd.setEnabled(true);\r
1663 }\r
1664\r
1665 /**\r
1666 Create an empty tree if no file is open\r
1667 \r
1668 **/\r
1669 private void makeEmptyTree() {\r
1670 dmtnRoot = new IDefaultMutableTreeNode("No Msa/Mbd file opened", -1, -1);\r
1671 iTree = new ITree(dmtnRoot);\r
1672 jScrollPaneTree.setViewportView(iTree);\r
1673 }\r
1674\r
1675 /**\r
1676 Create the tree to display all components of current open file.\r
1677 First to check if the component is null or not\r
1678 If not null, hangs it to the tree\r
1679 If null, skip it\r
1680 \r
1681 **/\r
1682 private void makeTree() {\r
1683 iTree.removeAll();\r
1684\r
1685 //\r
1686 //Make an empty tree when closing\r
1687 //\r
1688 if (this.currentModuleType == 0) {\r
1689 makeEmptyTree();\r
1690 return;\r
1691 }\r
1692\r
1693 //\r
1694 //Msa File\r
1695 //\r
1696 if (this.currentModuleType == 1) {\r
1697 //\r
1698 //Add MsaHeader Node\r
1699 //\r
1700 if (xmlmh != null) {\r
1701 dmtnRoot = new IDefaultMutableTreeNode(xmlmh.getBaseName().getStringValue(),\r
1702 IDefaultMutableTreeNode.MSA_HEADER,\r
1703 IDefaultMutableTreeNode.OPERATION_UPDATE_DELETE);\r
1704 } else {\r
1705 makeEmptyTree();\r
1706 return;\r
1707 }\r
1708\r
1709 //\r
1710 //Add LibraryClassDefinitions Node\r
1711 //\r
1712 if (xmllcd != null && xmllcd.getLibraryClassList().size() > 0) {\r
1713 IDefaultMutableTreeNode libraryClassDefinitions = new IDefaultMutableTreeNode(\r
1714 "Library Class Definitions",\r
1715 IDefaultMutableTreeNode.LIBRARYCLASSDEFINITIONS,\r
1716 IDefaultMutableTreeNode.OPERATION_UPDATE_DELETE);\r
1717 for (int indexI = 0; indexI < xmllcd.getLibraryClassList().size(); indexI++) {\r
1718 libraryClassDefinitions\r
1719 .add(new IDefaultMutableTreeNode(\r
1720 xmllcd.getLibraryClassArray(indexI)\r
1721 .getStringValue(),\r
1722 IDefaultMutableTreeNode.LIBRARY_CLASS_DEFINITION,\r
1723 IDefaultMutableTreeNode.OPERATION_NULL));\r
1724 }\r
1725 dmtnRoot.add(libraryClassDefinitions);\r
1726 }\r
1727 }\r
1728\r
1729 //\r
1730 //Mbd File\r
1731 //\r
1732 if (this.currentModuleType == 2) {\r
1733 //\r
1734 //Add MsaHeader Node\r
1735 //\r
1736 if (xmlmbdh != null) {\r
1737 dmtnRoot = new IDefaultMutableTreeNode(xmlmbdh.getBaseName().getStringValue(),\r
1738 IDefaultMutableTreeNode.MBD_HEADER,\r
1739 IDefaultMutableTreeNode.OPERATION_UPDATE_DELETE);\r
1740 } else {\r
1741 makeEmptyTree();\r
1742 return;\r
1743 }\r
1744\r
1745 //\r
1746 //Add Libraries Node\r
1747 //\r
1748 if (xmllib != null) {\r
1749 IDefaultMutableTreeNode libraries = new IDefaultMutableTreeNode(\r
1750 "Libraries",\r
1751 IDefaultMutableTreeNode.LIBRARIES,\r
1752 IDefaultMutableTreeNode.OPERATION_ADD_DELETE);\r
1753 if (xmllib.getArchList().size() > 0) {\r
1754 IDefaultMutableTreeNode librariesArch = new IDefaultMutableTreeNode(\r
1755 "Arch",\r
1756 IDefaultMutableTreeNode.LIBRARIES_ARCH,\r
1757 IDefaultMutableTreeNode.OPERATION_ADD_DELETE);\r
1758 for (int indexI = 0; indexI < xmllib.getArchList().size(); indexI++) {\r
1759 librariesArch.add(new IDefaultMutableTreeNode(xmllib.getArchArray(indexI).getArchType()\r
1760 .toString(),\r
1761 IDefaultMutableTreeNode.LIBRARIES_ARCH_ITEM,\r
1762 IDefaultMutableTreeNode.OPERATION_UPDATE_DELETE,\r
1763 indexI));\r
1764 }\r
1765 libraries.add(librariesArch);\r
1766 }\r
1767 if (xmllib.getLibraryList().size() > 0) {\r
1768 IDefaultMutableTreeNode library = new IDefaultMutableTreeNode(\r
1769 "Library",\r
1770 IDefaultMutableTreeNode.LIBRARIES_LIBRARY,\r
1771 IDefaultMutableTreeNode.OPERATION_ADD_UPDATE_DELETE);\r
1772 for (int indexI = 0; indexI < xmllib.getLibraryList().size(); indexI++) {\r
1773 library.add(new IDefaultMutableTreeNode(xmllib.getLibraryArray(indexI).getStringValue(),\r
1774 IDefaultMutableTreeNode.LIBRARIES_LIBRARY_ITEM,\r
1775 IDefaultMutableTreeNode.OPERATION_DELETE));\r
1776 }\r
1777 libraries.add(library);\r
1778 }\r
1779 dmtnRoot.add(libraries);\r
1780 }\r
1781 }\r
1782\r
1783 //\r
1784 //MLsa File\r
1785 //\r
1786 if (this.currentModuleType == 3) {\r
1787 //\r
1788 //Add MsaHeader Node\r
1789 //\r
1790 if (xmlmlh != null) {\r
1791 dmtnRoot = new IDefaultMutableTreeNode(xmlmlh.getBaseName().getStringValue(),\r
1792 IDefaultMutableTreeNode.MLSA_HEADER,\r
1793 IDefaultMutableTreeNode.OPERATION_UPDATE_DELETE);\r
1794 } else {\r
1795 makeEmptyTree();\r
1796 return;\r
1797 }\r
1798\r
1799 //\r
1800 //Add LibraryClassDefinitions Node\r
1801 //\r
1802 if (xmllcd != null && xmllcd.getLibraryClassList().size() > 0) {\r
1803 IDefaultMutableTreeNode libraryClassDefinitions = new IDefaultMutableTreeNode(\r
1804 "Library Class Definitions",\r
1805 IDefaultMutableTreeNode.LIBRARYCLASSDEFINITIONS,\r
1806 IDefaultMutableTreeNode.OPERATION_UPDATE_DELETE);\r
1807 for (int indexI = 0; indexI < xmllcd.getLibraryClassList().size(); indexI++) {\r
1808 libraryClassDefinitions\r
1809 .add(new IDefaultMutableTreeNode(\r
1810 xmllcd.getLibraryClassArray(indexI)\r
1811 .getStringValue(),\r
1812 IDefaultMutableTreeNode.LIBRARY_CLASS_DEFINITION,\r
1813 IDefaultMutableTreeNode.OPERATION_NULL));\r
1814 }\r
1815 dmtnRoot.add(libraryClassDefinitions);\r
1816 }\r
1817 }\r
1818\r
1819 //\r
1820 //Mlbd File\r
1821 //\r
1822 if (this.currentModuleType == 4) {\r
1823 //\r
1824 //Add MsaHeader Node\r
1825 //\r
1826 if (xmlmlbdh != null) {\r
1827 dmtnRoot = new IDefaultMutableTreeNode(xmlmlbdh.getBaseName().getStringValue(),\r
1828 IDefaultMutableTreeNode.MLBD_HEADER,\r
1829 IDefaultMutableTreeNode.OPERATION_UPDATE_DELETE);\r
1830 } else {\r
1831 makeEmptyTree();\r
1832 return;\r
1833 }\r
1834\r
1835 //\r
1836 //Add Libraries Node\r
1837 //\r
1838 if (xmllib != null) {\r
1839 IDefaultMutableTreeNode libraries = new IDefaultMutableTreeNode(\r
1840 "Libraries",\r
1841 IDefaultMutableTreeNode.LIBRARIES,\r
1842 IDefaultMutableTreeNode.OPERATION_ADD_DELETE);\r
1843 if (xmllib.getArchList().size() > 0) {\r
1844 IDefaultMutableTreeNode librariesArch = new IDefaultMutableTreeNode(\r
1845 "Arch",\r
1846 IDefaultMutableTreeNode.LIBRARIES_ARCH,\r
1847 IDefaultMutableTreeNode.OPERATION_ADD_DELETE);\r
1848 for (int indexI = 0; indexI < xmllib.getArchList().size(); indexI++) {\r
1849 librariesArch.add(new IDefaultMutableTreeNode(xmllib.getArchArray(indexI).getArchType()\r
1850 .toString(),\r
1851 IDefaultMutableTreeNode.LIBRARIES_ARCH_ITEM,\r
1852 IDefaultMutableTreeNode.OPERATION_UPDATE_DELETE,\r
1853 indexI));\r
1854 }\r
1855 libraries.add(librariesArch);\r
1856 }\r
1857 if (xmllib.getLibraryList().size() > 0) {\r
1858 IDefaultMutableTreeNode library = new IDefaultMutableTreeNode(\r
1859 "Library",\r
1860 IDefaultMutableTreeNode.LIBRARIES_LIBRARY,\r
1861 IDefaultMutableTreeNode.OPERATION_ADD_UPDATE_DELETE);\r
1862 for (int indexI = 0; indexI < xmllib.getLibraryList().size(); indexI++) {\r
1863 library.add(new IDefaultMutableTreeNode(xmllib.getLibraryArray(indexI).getStringValue(),\r
1864 IDefaultMutableTreeNode.LIBRARIES_LIBRARY_ITEM,\r
1865 IDefaultMutableTreeNode.OPERATION_DELETE));\r
1866 }\r
1867 libraries.add(library);\r
1868 }\r
1869 dmtnRoot.add(libraries);\r
1870 }\r
1871 }\r
1872\r
1873 //\r
1874 //Add SourceFiles Node\r
1875 //\r
1876 if (xmlsf != null) {\r
1877 IDefaultMutableTreeNode sourceFiles = new IDefaultMutableTreeNode(\r
1878 "Source Files",\r
1879 IDefaultMutableTreeNode.SOURCEFILES,\r
1880 IDefaultMutableTreeNode.OPERATION_ADD_DELETE);\r
1881 if (xmlsf.getArchList().size() > 0) {\r
1882 IDefaultMutableTreeNode sourceFilesArch = new IDefaultMutableTreeNode(\r
1883 "Arch",\r
1884 IDefaultMutableTreeNode.SOURCEFILES_ARCH,\r
1885 IDefaultMutableTreeNode.OPERATION_ADD_DELETE);\r
1886 for (int indexI = 0; indexI < xmlsf.getArchList().size(); indexI++) {\r
1887 sourceFilesArch\r
1888 .add(new IDefaultMutableTreeNode(\r
1889 xmlsf.getArchArray(indexI).getArchType().toString(),\r
1890 IDefaultMutableTreeNode.SOURCEFILES_ARCH_ITEM,\r
1891 IDefaultMutableTreeNode.OPERATION_UPDATE_DELETE,\r
1892 indexI));\r
1893 }\r
1894 sourceFiles.add(sourceFilesArch);\r
1895 }\r
1896 if (xmlsf.getFilenameList().size() > 0) {\r
1897 IDefaultMutableTreeNode sourceFilesFileName = new IDefaultMutableTreeNode(\r
1898 "File Name",\r
1899 IDefaultMutableTreeNode.SOURCEFILES_FILENAME,\r
1900 IDefaultMutableTreeNode.OPERATION_ADD_UPDATE_DELETE);\r
1901 for (int indexI = 0; indexI < xmlsf.getFilenameList().size(); indexI++) {\r
1902 sourceFilesFileName\r
1903 .add(new IDefaultMutableTreeNode(\r
1904 xmlsf.getFilenameArray(indexI).getStringValue(),\r
1905 IDefaultMutableTreeNode.SOURCEFILES_FILENAME_ITEM,\r
1906 IDefaultMutableTreeNode.OPERATION_DELETE));\r
1907 }\r
1908 sourceFiles.add(sourceFilesFileName);\r
1909 }\r
1910 dmtnRoot.add(sourceFiles);\r
1911 }\r
1912\r
1913 //\r
1914 //Add includes\r
1915 //\r
1916 if (xmlic != null) {\r
1917 IDefaultMutableTreeNode includes = new IDefaultMutableTreeNode("Includes",\r
1918 IDefaultMutableTreeNode.INCLUDES,\r
1919 IDefaultMutableTreeNode.OPERATION_ADD_DELETE);\r
1920 if (xmlic.getArchList().size() > 0) {\r
1921 IDefaultMutableTreeNode includesArch = new IDefaultMutableTreeNode(\r
1922 "Arch",\r
1923 IDefaultMutableTreeNode.INCLUDES_ARCH,\r
1924 IDefaultMutableTreeNode.OPERATION_ADD_DELETE);\r
1925 for (int indexI = 0; indexI < xmlic.getArchList().size(); indexI++) {\r
1926 includesArch.add(new IDefaultMutableTreeNode(xmlic.getArchArray(indexI).getArchType().toString(),\r
1927 IDefaultMutableTreeNode.INCLUDES_ARCH_ITEM,\r
1928 IDefaultMutableTreeNode.OPERATION_UPDATE_DELETE,\r
1929 indexI));\r
1930 }\r
1931 includes.add(includesArch);\r
1932 }\r
1933 if (xmlic.getPackageNameList().size() > 0) {\r
1934 IDefaultMutableTreeNode includesPackageName = new IDefaultMutableTreeNode(\r
1935 "Package Name",\r
1936 IDefaultMutableTreeNode.INCLUDES_PACKAGENAME,\r
1937 IDefaultMutableTreeNode.OPERATION_ADD_UPDATE_DELETE);\r
1938 for (int indexI = 0; indexI < xmlic.getPackageNameList().size(); indexI++) {\r
1939 includesPackageName\r
1940 .add(new IDefaultMutableTreeNode(\r
1941 xmlic.getPackageNameArray(indexI)\r
1942 .getStringValue(),\r
1943 IDefaultMutableTreeNode.INCLUDES_PACKAGENAME_ITEM,\r
1944 IDefaultMutableTreeNode.OPERATION_DELETE));\r
1945 }\r
1946 includes.add(includesPackageName);\r
1947 }\r
1948 dmtnRoot.add(includes);\r
1949 }\r
1950\r
1951 //\r
1952 //Add protocols\r
1953 //\r
1954 if (xmlpl != null) {\r
1955 IDefaultMutableTreeNode dmtnProtocols = new IDefaultMutableTreeNode(\r
1956 "Protocols",\r
1957 IDefaultMutableTreeNode.PROTOCOLS,\r
1958 IDefaultMutableTreeNode.OPERATION_ADD_DELETE);\r
1959 IDefaultMutableTreeNode dmtnProtocol = new IDefaultMutableTreeNode(\r
1960 "Protocol",\r
1961 IDefaultMutableTreeNode.PROTOCOLS_PROTOCOL,\r
1962 IDefaultMutableTreeNode.OPERATION_ADD_DELETE);\r
1963 IDefaultMutableTreeNode dmtnProtocolNotify = new IDefaultMutableTreeNode(\r
1964 "Protocol Notify",\r
1965 IDefaultMutableTreeNode.PROTOCOLS_PROTOCOLNOTIFY,\r
1966 IDefaultMutableTreeNode.OPERATION_ADD_DELETE);\r
1967 if (xmlpl.getProtocolList().size() > 0) {\r
1968 for (int indexI = 0; indexI < xmlpl.getProtocolList().size(); indexI++) {\r
1969 dmtnProtocol.add(new IDefaultMutableTreeNode(xmlpl.getProtocolArray(indexI).getStringValue(),\r
1970 IDefaultMutableTreeNode.PROTOCOLS_PROTOCOL_ITEM,\r
1971 IDefaultMutableTreeNode.OPERATION_UPDATE_DELETE,\r
1972 indexI));\r
1973 }\r
1974 dmtnProtocols.add(dmtnProtocol);\r
1975 }\r
1976 if (xmlpl.getProtocolNotifyList().size() > 0) {\r
1977 for (int indexI = 0; indexI < xmlpl.getProtocolNotifyList().size(); indexI++) {\r
1978 dmtnProtocolNotify\r
1979 .add(new IDefaultMutableTreeNode(\r
1980 xmlpl.getProtocolNotifyArray(indexI)\r
1981 .getStringValue(),\r
1982 IDefaultMutableTreeNode.PROTOCOLS_PROTOCOLNOTIFY_ITEM,\r
1983 IDefaultMutableTreeNode.OPERATION_UPDATE_DELETE,\r
1984 indexI));\r
1985 }\r
1986 dmtnProtocols.add(dmtnProtocolNotify);\r
1987 }\r
1988 dmtnRoot.add(dmtnProtocols);\r
1989 }\r
1990\r
1991 //\r
1992 //Add events\r
1993 //\r
1994 if (xmlen != null) {\r
1995 IDefaultMutableTreeNode dmtnEvents = new IDefaultMutableTreeNode(\r
1996 "Events",\r
1997 IDefaultMutableTreeNode.EVENTS,\r
1998 IDefaultMutableTreeNode.OPERATION_ADD_DELETE);\r
1999 IDefaultMutableTreeNode dmtnCreateEvents = new IDefaultMutableTreeNode(\r
2000 "Create",\r
2001 IDefaultMutableTreeNode.EVENTS_CREATEEVENTS,\r
2002 IDefaultMutableTreeNode.OPERATION_ADD_DELETE);\r
2003 IDefaultMutableTreeNode dmtnSignalEvents = new IDefaultMutableTreeNode(\r
2004 "Signal",\r
2005 IDefaultMutableTreeNode.EVENTS_SIGNALEVENTS,\r
2006 IDefaultMutableTreeNode.OPERATION_ADD_DELETE);\r
2007 if (xmlen.getCreateEvents() != null && xmlen.getCreateEvents().getEventList().size() > 0) {\r
2008 for (int indexI = 0; indexI < xmlen.getCreateEvents().getEventList().size(); indexI++) {\r
2009 dmtnCreateEvents.add(new IDefaultMutableTreeNode(xmlen.getCreateEvents().getEventArray(indexI)\r
2010 .getCName(),\r
2011 IDefaultMutableTreeNode.EVENTS_CREATEEVENTS_ITEM,\r
2012 IDefaultMutableTreeNode.OPERATION_UPDATE_DELETE,\r
2013 indexI));\r
2014 }\r
2015 dmtnEvents.add(dmtnCreateEvents);\r
2016 }\r
2017 if (xmlen.getSignalEvents() != null && xmlen.getSignalEvents().getEventList().size() > 0) {\r
2018 for (int indexI = 0; indexI < xmlen.getSignalEvents().getEventList().size(); indexI++) {\r
2019 dmtnSignalEvents.add(new IDefaultMutableTreeNode(xmlen.getSignalEvents().getEventArray(indexI)\r
2020 .getCName(),\r
2021 IDefaultMutableTreeNode.EVENTS_SIGNALEVENTS_ITEM,\r
2022 IDefaultMutableTreeNode.OPERATION_UPDATE_DELETE,\r
2023 indexI));\r
2024 }\r
2025 dmtnEvents.add(dmtnSignalEvents);\r
2026 }\r
2027 dmtnRoot.add(dmtnEvents);\r
2028 }\r
2029\r
2030 //\r
2031 //Add hobs\r
2032 //\r
2033 if (xmlhob != null) {\r
2034 IDefaultMutableTreeNode dmtnHobs = new IDefaultMutableTreeNode("Hobs", IDefaultMutableTreeNode.HOBS,\r
2035 IDefaultMutableTreeNode.OPERATION_ADD_DELETE);\r
2036 if (xmlhob.getHobList().size() > 0) {\r
2037 for (int indexI = 0; indexI < xmlhob.getHobList().size(); indexI++) {\r
2038 dmtnHobs.add(new IDefaultMutableTreeNode(xmlhob.getHobArray(indexI).getName(),\r
2039 IDefaultMutableTreeNode.HOBS_HOB_ITEM,\r
2040 IDefaultMutableTreeNode.OPERATION_UPDATE_DELETE, indexI));\r
2041 }\r
2042 }\r
2043 dmtnRoot.add(dmtnHobs);\r
2044 }\r
2045\r
2046 //\r
2047 //Add ppis\r
2048 //\r
2049 if (xmlppi != null) {\r
2050 IDefaultMutableTreeNode dmtnPpis = new IDefaultMutableTreeNode("Ppis", IDefaultMutableTreeNode.PPIS,\r
2051 IDefaultMutableTreeNode.OPERATION_ADD_DELETE);\r
2052 IDefaultMutableTreeNode dmtnPpi = new IDefaultMutableTreeNode("Ppi", IDefaultMutableTreeNode.PPIS_PPI,\r
2053 IDefaultMutableTreeNode.OPERATION_ADD_DELETE);\r
2054 IDefaultMutableTreeNode dmtnPpiNotify = new IDefaultMutableTreeNode(\r
2055 "Ppi Notify",\r
2056 IDefaultMutableTreeNode.PPIS_PPINOTIFY,\r
2057 IDefaultMutableTreeNode.OPERATION_ADD_DELETE);\r
2058 if (xmlppi.getPpiList().size() > 0) {\r
2059 for (int indexI = 0; indexI < xmlppi.getPpiList().size(); indexI++) {\r
2060 dmtnPpi.add(new IDefaultMutableTreeNode(xmlppi.getPpiArray(indexI).getStringValue(),\r
2061 IDefaultMutableTreeNode.PPIS_PPI_ITEM,\r
2062 IDefaultMutableTreeNode.OPERATION_UPDATE_DELETE, indexI));\r
2063 }\r
2064 dmtnPpis.add(dmtnPpi);\r
2065 }\r
2066 if (xmlppi.getPpiNotifyList().size() > 0) {\r
2067 for (int indexI = 0; indexI < xmlppi.getPpiNotifyList().size(); indexI++) {\r
2068 dmtnPpiNotify.add(new IDefaultMutableTreeNode(xmlppi.getPpiNotifyArray(indexI).getStringValue(),\r
2069 IDefaultMutableTreeNode.PPIS_PPINOTIFY_ITEM,\r
2070 IDefaultMutableTreeNode.OPERATION_UPDATE_DELETE,\r
2071 indexI));\r
2072 }\r
2073 dmtnPpis.add(dmtnPpiNotify);\r
2074 }\r
2075 dmtnRoot.add(dmtnPpis);\r
2076 }\r
2077\r
2078 //\r
2079 //Add variables\r
2080 //\r
2081 if (xmlvb != null) {\r
2082 IDefaultMutableTreeNode dmtnVariables = new IDefaultMutableTreeNode(\r
2083 "Variables",\r
2084 IDefaultMutableTreeNode.VARIABLES,\r
2085 IDefaultMutableTreeNode.OPERATION_ADD_DELETE);\r
2086 if (xmlvb.getVariableList().size() > 0) {\r
2087 for (int indexI = 0; indexI < xmlvb.getVariableList().size(); indexI++) {\r
2088 dmtnVariables.add(new IDefaultMutableTreeNode(xmlvb.getVariableArray(indexI).getString(),\r
2089 IDefaultMutableTreeNode.VARIABLES_VARIABLE_ITEM,\r
2090 IDefaultMutableTreeNode.OPERATION_UPDATE_DELETE,\r
2091 indexI));\r
2092 }\r
2093 }\r
2094 dmtnRoot.add(dmtnVariables);\r
2095 }\r
2096\r
2097 //\r
2098 //Add bootmodes\r
2099 //\r
2100 if (xmlbm != null) {\r
2101 IDefaultMutableTreeNode dmtnBootModes = new IDefaultMutableTreeNode(\r
2102 "BootModes",\r
2103 IDefaultMutableTreeNode.BOOTMODES,\r
2104 IDefaultMutableTreeNode.OPERATION_ADD_DELETE);\r
2105 if (xmlbm.getBootModeList().size() > 0) {\r
2106 for (int indexI = 0; indexI < xmlbm.getBootModeList().size(); indexI++) {\r
2107 dmtnBootModes.add(new IDefaultMutableTreeNode(xmlbm.getBootModeArray(indexI).getBootModeName()\r
2108 .toString(),\r
2109 IDefaultMutableTreeNode.BOOTMODES_BOOTMODE_ITEM,\r
2110 IDefaultMutableTreeNode.OPERATION_UPDATE_DELETE,\r
2111 indexI));\r
2112 }\r
2113 }\r
2114 dmtnRoot.add(dmtnBootModes);\r
2115 }\r
2116\r
2117 //\r
2118 //Add systemtables\r
2119 //\r
2120 if (xmlst != null) {\r
2121 IDefaultMutableTreeNode dmtnSystemTables = new IDefaultMutableTreeNode(\r
2122 "SystemTables",\r
2123 IDefaultMutableTreeNode.SYSTEMTABLES,\r
2124 IDefaultMutableTreeNode.OPERATION_ADD_DELETE);\r
2125 if (xmlst.getSystemTableList().size() > 0) {\r
2126 for (int indexI = 0; indexI < xmlst.getSystemTableList().size(); indexI++) {\r
2127 dmtnSystemTables\r
2128 .add(new IDefaultMutableTreeNode(\r
3099b289 2129 xmlst.getSystemTableArray(indexI).getEntryList().get(0),\r
878ddf1f 2130 IDefaultMutableTreeNode.SYSTEMTABLES_SYSTEMTABLE_ITEM,\r
2131 IDefaultMutableTreeNode.OPERATION_UPDATE_DELETE,\r
2132 indexI));\r
2133 }\r
2134 }\r
2135 dmtnRoot.add(dmtnSystemTables);\r
2136 }\r
2137\r
2138 //\r
2139 //Add datahubs\r
2140 //\r
2141 if (xmldh != null) {\r
2142 IDefaultMutableTreeNode dmtnDataHubs = new IDefaultMutableTreeNode(\r
2143 "DataHubs",\r
2144 IDefaultMutableTreeNode.DATAHUBS,\r
2145 IDefaultMutableTreeNode.OPERATION_ADD_DELETE);\r
2146 if (xmldh.getDataHubRecordList().size() > 0) {\r
2147 for (int indexI = 0; indexI < xmldh.getDataHubRecordList().size(); indexI++) {\r
2148 dmtnDataHubs.add(new IDefaultMutableTreeNode(xmldh.getDataHubRecordArray(indexI).getStringValue(),\r
2149 IDefaultMutableTreeNode.DATAHUBS_DATAHUB_ITEM,\r
2150 IDefaultMutableTreeNode.OPERATION_UPDATE_DELETE,\r
2151 indexI));\r
2152 }\r
2153 }\r
2154 dmtnRoot.add(dmtnDataHubs);\r
2155 }\r
2156\r
2157 //\r
2158 //Add formsets\r
2159 //\r
2160 if (xmlfs != null) {\r
2161 IDefaultMutableTreeNode dmtnFormsets = new IDefaultMutableTreeNode(\r
2162 "Formsets",\r
2163 IDefaultMutableTreeNode.FORMSETS,\r
2164 IDefaultMutableTreeNode.OPERATION_ADD_DELETE);\r
2165 if (xmlfs.getFormsetList().size() > 0) {\r
2166 for (int indexI = 0; indexI < xmlfs.getFormsetList().size(); indexI++) {\r
2167 dmtnFormsets.add(new IDefaultMutableTreeNode(xmlfs.getFormsetArray(indexI).getStringValue(),\r
2168 IDefaultMutableTreeNode.FORMSETS_FORMSET_ITEM,\r
2169 IDefaultMutableTreeNode.OPERATION_UPDATE_DELETE,\r
2170 indexI));\r
2171 }\r
2172 }\r
2173 dmtnRoot.add(dmtnFormsets);\r
2174 }\r
2175\r
2176 //\r
2177 //Add guids\r
2178 //\r
2179 if (xmlgu != null) {\r
2180 IDefaultMutableTreeNode dmtnGuids = new IDefaultMutableTreeNode(\r
2181 "Guids",\r
2182 IDefaultMutableTreeNode.GUIDS,\r
2183 IDefaultMutableTreeNode.OPERATION_ADD_DELETE);\r
2184 if (xmlgu.getGuidEntryList().size() > 0) {\r
2185 for (int indexI = 0; indexI < xmlgu.getGuidEntryList().size(); indexI++) {\r
2186 dmtnGuids.add(new IDefaultMutableTreeNode(xmlgu.getGuidEntryArray(indexI).getCName(),\r
2187 IDefaultMutableTreeNode.GUIDS_GUIDENTRY_ITEM,\r
2188 IDefaultMutableTreeNode.OPERATION_UPDATE_DELETE, indexI));\r
2189 }\r
2190 }\r
2191 dmtnRoot.add(dmtnGuids);\r
2192 }\r
2193\r
2194 //\r
2195 //Add externs\r
2196 //\r
2197 if (xmlet != null) {\r
2198 IDefaultMutableTreeNode dmtnExterns = new IDefaultMutableTreeNode(\r
2199 "Externs",\r
2200 IDefaultMutableTreeNode.EXTERNS,\r
2201 IDefaultMutableTreeNode.OPERATION_ADD_DELETE);\r
2202 if (xmlet.getExternList().size() > 0) {\r
2203 for (int indexI = 0; indexI < xmlet.getExternList().size(); indexI++) {\r
2204 dmtnExterns\r
2205 .add(new IDefaultMutableTreeNode("Extern " + Integer.valueOf(indexI + 1),\r
2206 IDefaultMutableTreeNode.EXTERNS_EXTERN_ITEM,\r
2207 IDefaultMutableTreeNode.OPERATION_UPDATE_DELETE, indexI));\r
2208 }\r
2209 }\r
2210 dmtnRoot.add(dmtnExterns);\r
2211 }\r
2212\r
2213 //\r
2214 //Add pcds\r
2215 //\r
2216 if (xmlpcd != null) {\r
2217 IDefaultMutableTreeNode dmtnPCDs = new IDefaultMutableTreeNode("PCDs", IDefaultMutableTreeNode.PCDS,\r
2218 IDefaultMutableTreeNode.OPERATION_ADD_DELETE);\r
2219 if (xmlpcd.getPcdDataList().size() > 0) {\r
2220 for (int indexI = 0; indexI < xmlpcd.getPcdDataList().size(); indexI++) {\r
2221 dmtnPCDs.add(new IDefaultMutableTreeNode(xmlpcd.getPcdDataArray(indexI).getCName(),\r
2222 IDefaultMutableTreeNode.PCDS_PCDDATA_ITEM,\r
2223 IDefaultMutableTreeNode.OPERATION_UPDATE_DELETE, indexI));\r
2224 }\r
2225 }\r
2226 dmtnRoot.add(dmtnPCDs);\r
2227 }\r
2228\r
2229 iTree = new ITree(dmtnRoot);\r
2230 iTree.addMouseListener(this);\r
2231 iTree.addTreeSelectionListener(this);\r
2232 jScrollPaneTree.setViewportView(iTree);\r
2233 }\r
2234\r
2235 /* (non-Javadoc)\r
2236 * @see java.awt.event.WindowListener#windowClosing(java.awt.event.WindowEvent)\r
2237 *\r
2238 * Override windowClosing to popup warning message to confirm quit\r
2239 * \r
2240 */\r
2241 public void windowClosing(WindowEvent arg0) {\r
2242 this.onExit();\r
2243 }\r
2244\r
2245 /* (non-Javadoc)\r
2246 * @see java.awt.event.MouseListener#mouseClicked(java.awt.event.MouseEvent)\r
2247 * \r
2248 * Override mouseClicked to check if need display popup menu\r
2249 * \r
2250 */\r
2251 public void mouseClicked(MouseEvent arg0) {\r
2252 if (arg0.getButton() == MouseEvent.BUTTON1) {\r
2253\r
2254 }\r
2255 if (arg0.getButton() == MouseEvent.BUTTON3) {\r
2256 jPopupMenu.show(arg0.getComponent(), arg0.getX(), arg0.getY());\r
2257 }\r
2258 }\r
2259\r
2260 public void mouseEntered(MouseEvent arg0) {\r
2261 // TODO Auto-generated method stub\r
2262 }\r
2263\r
2264 public void mouseExited(MouseEvent arg0) {\r
2265 // TODO Auto-generated method stub\r
2266 }\r
2267\r
2268 public void mousePressed(MouseEvent arg0) {\r
2269 // TODO Auto-generated method stub\r
2270 }\r
2271\r
2272 public void mouseReleased(MouseEvent arg0) {\r
2273 // TODO Auto-generated method stub\r
2274 }\r
2275\r
2276 /**\r
2277 Init popup menu\r
2278 \r
2279 **/\r
2280 public void valueChanged(TreeSelectionEvent arg0) {\r
2281 int intOperation = iTree.getSelectOperation();\r
2282 if (intOperation == IDefaultMutableTreeNode.OPERATION_NULL) {\r
2283 setMenuItemAddEnabled(false);\r
2284 setMenuItemUpdateEnabled(false);\r
2285 setMenuItemDeleteEnabled(false);\r
2286 }\r
2287 if (intOperation == IDefaultMutableTreeNode.OPERATION_ADD) {\r
2288 setMenuItemAddEnabled(true);\r
2289 setMenuItemUpdateEnabled(false);\r
2290 setMenuItemDeleteEnabled(false);\r
2291 }\r
2292 if (intOperation == IDefaultMutableTreeNode.OPERATION_UPDATE) {\r
2293 setMenuItemAddEnabled(false);\r
2294 setMenuItemUpdateEnabled(true);\r
2295 setMenuItemDeleteEnabled(false);\r
2296 }\r
2297 if (intOperation == IDefaultMutableTreeNode.OPERATION_DELETE) {\r
2298 setMenuItemAddEnabled(false);\r
2299 setMenuItemUpdateEnabled(false);\r
2300 setMenuItemDeleteEnabled(true);\r
2301 }\r
2302 if (intOperation == IDefaultMutableTreeNode.OPERATION_ADD_UPDATE) {\r
2303 setMenuItemAddEnabled(true);\r
2304 setMenuItemUpdateEnabled(true);\r
2305 setMenuItemDeleteEnabled(false);\r
2306 }\r
2307 if (intOperation == IDefaultMutableTreeNode.OPERATION_ADD_DELETE) {\r
2308 setMenuItemAddEnabled(true);\r
2309 setMenuItemUpdateEnabled(false);\r
2310 setMenuItemDeleteEnabled(true);\r
2311 }\r
2312 if (intOperation == IDefaultMutableTreeNode.OPERATION_UPDATE_DELETE) {\r
2313 setMenuItemAddEnabled(false);\r
2314 setMenuItemUpdateEnabled(true);\r
2315 setMenuItemDeleteEnabled(true);\r
2316 }\r
2317 if (intOperation == IDefaultMutableTreeNode.OPERATION_ADD_UPDATE_DELETE) {\r
2318 setMenuItemAddEnabled(true);\r
2319 setMenuItemUpdateEnabled(true);\r
2320 setMenuItemDeleteEnabled(true);\r
2321 }\r
2322 viewCurrentModule();\r
2323 }\r
2324\r
2325 /**\r
2326 Enable/Disable add menu item\r
2327 \r
2328 **/\r
2329 private void setMenuItemAddEnabled(boolean isEnable) {\r
2330 jMenuItemPopupAdd.setEnabled(isEnable);\r
2331 }\r
2332\r
2333 /**\r
2334 Enable/Disable update menu item\r
2335 \r
2336 **/\r
2337 private void setMenuItemUpdateEnabled(boolean isEnable) {\r
2338 jMenuItemPopupUpdate.setEnabled(isEnable);\r
2339 jMenuItemEditUpdate.setEnabled(isEnable);\r
2340 }\r
2341\r
2342 /**\r
2343 Enable/Disable delete menu item\r
2344 \r
2345 **/\r
2346 private void setMenuItemDeleteEnabled(boolean isEnable) {\r
2347 jMenuItemPopupDelete.setEnabled(isEnable);\r
2348 jMenuItemEditDelete.setEnabled(isEnable);\r
2349 }\r
2350\r
2351 /**\r
2352 Close current open module\r
2353\r
2354 **/\r
2355 private void closeCurrentModule() {\r
2356 cleanAllXml();\r
2357\r
2358 reloadTreeAndTable(ModuleMain.CLOSED);\r
2359 setMenuItemAddEnabled(false);\r
2360 setMenuItemUpdateEnabled(false);\r
2361 setMenuItemDeleteEnabled(false);\r
2362 cleanDesktopPane();\r
2363 }\r
2364\r
2365 /**\r
2366 Remove all Internal Frame of Desktop Pane\r
2367 \r
2368 **/\r
2369 private void cleanDesktopPane() {\r
2370 JInternalFrame[] iif = this.jDesktopPane.getAllFrames();\r
2371 for (int index = 0; index < iif.length; index++) {\r
2372 iif[index].dispose();\r
2373 }\r
2374 }\r
2375\r
2376 /**\r
2377 Set all xml document null\r
2378 \r
2379 **/\r
2380 private void cleanAllXml() {\r
2381 this.currentModule = "";\r
2382 this.saveFileName = "";\r
2383 this.currentModuleType = 0;\r
2384 this.currentNodeType = 0;\r
2385\r
2386 xmlMsaDoc = null;\r
2387 xmlMbdDoc = null;\r
2388 xmlMlsaDoc = null;\r
2389 xmlMlbdDoc = null;\r
2390 xmlmh = null;\r
2391 xmllcd = null;\r
2392 xmllib = null;\r
2393 xmlsf = null;\r
2394 xmlic = null;\r
2395 xmlpl = null;\r
2396 xmlen = null;\r
2397 xmlhob = null;\r
2398 xmlppi = null;\r
2399 xmlvb = null;\r
2400 xmlbm = null;\r
2401 xmlst = null;\r
2402 xmldh = null;\r
2403 xmlfs = null;\r
2404 xmlgu = null;\r
2405 xmlet = null;\r
2406 xmlpcd = null;\r
2407 xmlbo = null;\r
2408 }\r
2409\r
2410 /**\r
2411 Execute add operation for current node \r
2412 \r
2413 @param intCategory The category of current node\r
2414 @param intLocation The location of current node\r
2415 \r
2416 **/\r
2417 private void addCurrentModule(int intCategory, int intLocation) {\r
2418 //\r
2419 //Add new libraries\r
2420 //\r
2421 if (intCategory == IDefaultMutableTreeNode.LIBRARIES\r
2422 || intCategory == IDefaultMutableTreeNode.LIBRARIES_LIBRARY\r
2423 || intCategory == IDefaultMutableTreeNode.LIBRARIES_ARCH) {\r
2424 showLibraries(ModuleMain.ADD, intCategory, -1);\r
2425 }\r
2426\r
2427 //\r
2428 //Add new sourcefiles\r
2429 //\r
2430 if (intCategory == IDefaultMutableTreeNode.SOURCEFILES\r
2431 || intCategory == IDefaultMutableTreeNode.SOURCEFILES_FILENAME\r
2432 || intCategory == IDefaultMutableTreeNode.SOURCEFILES_ARCH) {\r
2433 showSourceFiles(ModuleMain.ADD, intCategory, -1);\r
2434 }\r
2435\r
2436 //\r
2437 //Add new includes\r
2438 //\r
2439 if (intCategory == IDefaultMutableTreeNode.INCLUDES\r
2440 || intCategory == IDefaultMutableTreeNode.INCLUDES_PACKAGENAME\r
2441 || intCategory == IDefaultMutableTreeNode.INCLUDES_ARCH) {\r
2442 showIncludes(ModuleMain.ADD, intCategory, -1);\r
2443 }\r
2444\r
2445 //\r
2446 //Add new protocols\r
2447 //\r
2448 if (intCategory == IDefaultMutableTreeNode.PROTOCOLS\r
2449 || intCategory == IDefaultMutableTreeNode.PROTOCOLS_PROTOCOL\r
2450 || intCategory == IDefaultMutableTreeNode.PROTOCOLS_PROTOCOLNOTIFY) {\r
2451 showProtocols(ModuleMain.ADD, intCategory, -1);\r
2452 }\r
2453\r
2454 //\r
2455 //Add new events\r
2456 //\r
2457 if (intCategory == IDefaultMutableTreeNode.EVENTS || intCategory == IDefaultMutableTreeNode.EVENTS_CREATEEVENTS\r
2458 || intCategory == IDefaultMutableTreeNode.EVENTS_SIGNALEVENTS) {\r
2459 showEvents(ModuleMain.ADD, intCategory, -1);\r
2460 }\r
2461\r
2462 //\r
2463 //Add new hobs\r
2464 //\r
2465 if (intCategory == IDefaultMutableTreeNode.HOBS || intCategory == IDefaultMutableTreeNode.HOBS_HOB_ITEM) {\r
2466 showHobs(ModuleMain.ADD, intCategory, -1);\r
2467 }\r
2468\r
2469 //\r
2470 //Add new ppis\r
2471 //\r
2472 if (intCategory == IDefaultMutableTreeNode.PPIS || intCategory == IDefaultMutableTreeNode.PPIS_PPI\r
2473 || intCategory == IDefaultMutableTreeNode.PPIS_PPINOTIFY) {\r
2474 showPpis(ModuleMain.ADD, intCategory, -1);\r
2475 }\r
2476\r
2477 //\r
2478 //Add new variables\r
2479 //\r
2480 if (intCategory == IDefaultMutableTreeNode.VARIABLES\r
2481 || intCategory == IDefaultMutableTreeNode.VARIABLES_VARIABLE_ITEM) {\r
2482 showVariables(ModuleMain.ADD, intCategory, -1);\r
2483 }\r
2484\r
2485 //\r
2486 //Add new BootModes\r
2487 //\r
2488 if (intCategory == IDefaultMutableTreeNode.BOOTMODES\r
2489 || intCategory == IDefaultMutableTreeNode.BOOTMODES_BOOTMODE_ITEM) {\r
2490 showBootModes(ModuleMain.ADD, intCategory, -1);\r
2491 }\r
2492\r
2493 //\r
2494 //Add new SystemTables\r
2495 //\r
2496 if (intCategory == IDefaultMutableTreeNode.SYSTEMTABLES\r
2497 || intCategory == IDefaultMutableTreeNode.SYSTEMTABLES_SYSTEMTABLE_ITEM) {\r
2498 showSystemTables(ModuleMain.ADD, intCategory, -1);\r
2499 }\r
2500\r
2501 //\r
2502 //Add new DataHubs\r
2503 //\r
2504 if (intCategory == IDefaultMutableTreeNode.DATAHUBS\r
2505 || intCategory == IDefaultMutableTreeNode.DATAHUBS_DATAHUB_ITEM) {\r
2506 showDataHubs(ModuleMain.ADD, intCategory, -1);\r
2507 }\r
2508\r
2509 //\r
2510 //Add new Formsets\r
2511 //\r
2512 if (intCategory == IDefaultMutableTreeNode.FORMSETS\r
2513 || intCategory == IDefaultMutableTreeNode.FORMSETS_FORMSET_ITEM) {\r
2514 showFormsets(ModuleMain.ADD, intCategory, -1);\r
2515 }\r
2516\r
2517 //\r
2518 //Add new Guids\r
2519 //\r
2520 if (intCategory == IDefaultMutableTreeNode.GUIDS || intCategory == IDefaultMutableTreeNode.GUIDS_GUIDENTRY_ITEM) {\r
2521 showGuids(ModuleMain.ADD, intCategory, -1);\r
2522 }\r
2523\r
2524 //\r
2525 //Add new Externs\r
2526 //\r
2527 if (intCategory == IDefaultMutableTreeNode.EXTERNS\r
2528 || intCategory == IDefaultMutableTreeNode.EXTERNS_EXTERN_ITEM) {\r
2529 showExterns(ModuleMain.ADD, intCategory, -1);\r
2530 }\r
2531\r
2532 //\r
2533 //Add new PCDs\r
2534 //\r
2535 if (intCategory == IDefaultMutableTreeNode.PCDS || intCategory == IDefaultMutableTreeNode.PCDS_PCDDATA_ITEM) {\r
2536 showPCDs(ModuleMain.ADD, intCategory, -1);\r
2537 }\r
2538 }\r
2539\r
2540 /**\r
2541 Execute delete operation of current node\r
2542 \r
2543 @param intCategory The category of current node\r
2544 @param intLocation The location of current node\r
2545 \r
2546 **/\r
2547 private void deleteCurrentModule(int intCategory, int intLocation) {\r
2548 //\r
2549 // Delete Msa Header\r
2550 //\r
2551 if (intCategory == IDefaultMutableTreeNode.MSA_HEADER || intCategory == IDefaultMutableTreeNode.MBD_HEADER\r
2552 || intCategory == IDefaultMutableTreeNode.MLSA_HEADER || intCategory == IDefaultMutableTreeNode.MLBD_HEADER) {\r
2553 if (JOptionPane.showConfirmDialog(null, "The module will be deleted permanently, do you want to continue?") == JOptionPane.YES_OPTION) {\r
2554 try {\r
2555 File f = new File(currentModule);\r
2556 f.delete();\r
2557 closeCurrentModule();\r
2558 } catch (Exception e) {\r
2559 Log.err("Delete " + currentModule, e.getMessage());\r
2560 }\r
2561 } else {\r
2562 return;\r
2563 }\r
2564 }\r
2565\r
2566 //\r
2567 //Delete LIBRARY CLASS DEFINITIONS\r
2568 //\r
2569 if (intCategory == IDefaultMutableTreeNode.LIBRARYCLASSDEFINITIONS) {\r
2570 xmllcd = null;\r
2571 }\r
2572\r
2573 //\r
2574 //Delete Libraries\r
2575 //\r
2576 if (intCategory == IDefaultMutableTreeNode.LIBRARIES) {\r
2577 xmllib = null;\r
2578 }\r
2579 if (intCategory == IDefaultMutableTreeNode.LIBRARIES_LIBRARY) {\r
2580 for (int indexI = xmllib.getLibraryList().size() - 1; indexI > -1; indexI--) {\r
2581 xmllib.removeLibrary(indexI);\r
2582 }\r
2583 if (xmllib.getArchList().size() < 1 && xmllib.getLibraryList().size() < 1) {\r
2584 xmllib = null;\r
2585 }\r
2586 }\r
2587 if (intCategory == IDefaultMutableTreeNode.LIBRARIES_ARCH) {\r
2588 for (int indexI = xmllib.getArchList().size() - 1; indexI > -1; indexI--) {\r
2589 xmllib.removeArch(indexI);\r
2590 }\r
2591 if (xmllib.getArchList().size() < 1 && xmllib.getLibraryList().size() < 1) {\r
2592 xmllib = null;\r
2593 }\r
2594 }\r
2595 if (intCategory == IDefaultMutableTreeNode.LIBRARIES_ARCH_ITEM) {\r
2596 xmllib.removeArch(intLocation);\r
2597 }\r
2598 if (intCategory == IDefaultMutableTreeNode.LIBRARIES_LIBRARY_ITEM) {\r
2599 xmllib.removeLibrary(intLocation);\r
2600 }\r
2601\r
2602 //\r
2603 //Delete SourceFiles\r
2604 //\r
2605 if (intCategory == IDefaultMutableTreeNode.SOURCEFILES) {\r
2606 xmlsf = null;\r
2607 }\r
2608 if (intCategory == IDefaultMutableTreeNode.SOURCEFILES_FILENAME) {\r
2609 for (int indexI = xmlsf.getFilenameList().size() - 1; indexI > -1; indexI--) {\r
2610 xmlsf.removeFilename(indexI);\r
2611 }\r
2612 if (xmlsf.getArchList().size() < 1 && xmlsf.getFilenameList().size() < 1) {\r
2613 xmlsf = null;\r
2614 }\r
2615 }\r
2616 if (intCategory == IDefaultMutableTreeNode.SOURCEFILES_ARCH) {\r
2617 for (int indexI = xmlsf.getArchList().size() - 1; indexI > -1; indexI--) {\r
2618 xmlsf.removeArch(indexI);\r
2619 }\r
2620 if (xmlsf.getArchList().size() < 1 && xmlsf.getFilenameList().size() < 1) {\r
2621 xmlsf = null;\r
2622 }\r
2623 }\r
2624 if (intCategory == IDefaultMutableTreeNode.SOURCEFILES_ARCH_ITEM) {\r
2625 xmlsf.removeArch(intLocation);\r
2626 }\r
2627 if (intCategory == IDefaultMutableTreeNode.SOURCEFILES_FILENAME_ITEM) {\r
2628 xmlsf.removeFilename(intLocation);\r
2629 }\r
2630\r
2631 //\r
2632 //Delete Includes\r
2633 //\r
2634 if (intCategory == IDefaultMutableTreeNode.INCLUDES) {\r
2635 xmlic = null;\r
2636 }\r
2637 if (intCategory == IDefaultMutableTreeNode.INCLUDES_PACKAGENAME) {\r
2638 for (int indexI = xmlic.getPackageNameList().size() - 1; indexI > -1; indexI--) {\r
2639 xmlic.removePackageName(indexI);\r
2640 }\r
2641 if (xmlic.getArchList().size() < 1 && xmlic.getPackageNameList().size() < 1) {\r
2642 xmlic = null;\r
2643 }\r
2644 }\r
2645 if (intCategory == IDefaultMutableTreeNode.INCLUDES_ARCH) {\r
2646 for (int indexI = xmlic.getArchList().size() - 1; indexI > -1; indexI--) {\r
2647 xmlic.removeArch(indexI);\r
2648 }\r
2649 if (xmlic.getArchList().size() < 1 && xmlic.getPackageNameList().size() < 1) {\r
2650 xmlic = null;\r
2651 }\r
2652 }\r
2653 if (intCategory == IDefaultMutableTreeNode.INCLUDES_ARCH_ITEM) {\r
2654 xmlic.removeArch(intLocation);\r
2655 }\r
2656 if (intCategory == IDefaultMutableTreeNode.INCLUDES_PACKAGENAME_ITEM) {\r
2657 xmlic.removePackageName(intLocation);\r
2658 }\r
2659\r
2660 //\r
2661 //Delete Protocols\r
2662 //\r
2663 if (intCategory == IDefaultMutableTreeNode.PROTOCOLS) {\r
2664 xmlpl = null;\r
2665 }\r
2666 if (intCategory == IDefaultMutableTreeNode.PROTOCOLS_PROTOCOL) {\r
2667 for (int indexI = xmlpl.getProtocolList().size() - 1; indexI > -1; indexI--) {\r
2668 xmlpl.removeProtocol(indexI);\r
2669 }\r
2670 if (xmlpl.getProtocolList().size() < 1 && xmlpl.getProtocolNotifyList().size() < 1) {\r
2671 xmlpl = null;\r
2672 }\r
2673 }\r
2674 if (intCategory == IDefaultMutableTreeNode.PROTOCOLS_PROTOCOLNOTIFY) {\r
2675 for (int indexI = xmlpl.getProtocolList().size() - 1; indexI > -1; indexI--) {\r
2676 xmlpl.removeProtocolNotify(indexI);\r
2677 }\r
2678 if (xmlpl.getProtocolList().size() < 1 && xmlpl.getProtocolNotifyList().size() < 1) {\r
2679 xmlpl = null;\r
2680 }\r
2681 }\r
2682 if (intCategory == IDefaultMutableTreeNode.PROTOCOLS_PROTOCOL_ITEM) {\r
2683 xmlpl.removeProtocol(intLocation);\r
2684 }\r
2685 if (intCategory == IDefaultMutableTreeNode.PROTOCOLS_PROTOCOLNOTIFY_ITEM) {\r
2686 xmlpl.removeProtocolNotify(intLocation);\r
2687 }\r
2688\r
2689 //\r
2690 //Delete Events\r
2691 //\r
2692 if (intCategory == IDefaultMutableTreeNode.EVENTS) {\r
2693 xmlen = null;\r
2694 }\r
2695 if (intCategory == IDefaultMutableTreeNode.EVENTS_CREATEEVENTS) {\r
2696 for (int indexI = xmlen.getCreateEvents().getEventList().size() - 1; indexI > -1; indexI--) {\r
2697 xmlen.getCreateEvents().removeEvent(indexI);\r
2698 }\r
2699 if (xmlen.getCreateEvents().getEventList().size() < 1 && xmlen.getSignalEvents().getEventList().size() < 1) {\r
2700 xmlen = null;\r
2701 }\r
2702 }\r
2703 if (intCategory == IDefaultMutableTreeNode.EVENTS_SIGNALEVENTS) {\r
2704 for (int indexI = xmlen.getSignalEvents().getEventList().size() - 1; indexI > -1; indexI--) {\r
2705 xmlen.getSignalEvents().removeEvent(indexI);\r
2706 }\r
2707 if (xmlen.getCreateEvents().getEventList().size() < 1 && xmlen.getSignalEvents().getEventList().size() < 1) {\r
2708 xmlen = null;\r
2709 }\r
2710 }\r
2711 if (intCategory == IDefaultMutableTreeNode.EVENTS_CREATEEVENTS_ITEM) {\r
2712 xmlen.getCreateEvents().removeEvent(intLocation);\r
2713 }\r
2714 if (intCategory == IDefaultMutableTreeNode.EVENTS_SIGNALEVENTS_ITEM) {\r
2715 xmlen.getSignalEvents().removeEvent(intLocation);\r
2716 }\r
2717\r
2718 //\r
2719 //Delete Hobs\r
2720 //\r
2721 if (intCategory == IDefaultMutableTreeNode.HOBS) {\r
2722 xmlhob = null;\r
2723 }\r
2724 if (intCategory == IDefaultMutableTreeNode.HOBS_HOB_ITEM) {\r
2725 xmlhob.removeHob(intLocation);\r
2726 if (xmlhob.getHobList().size() < 1) {\r
2727 xmlhob = null;\r
2728 }\r
2729 }\r
2730\r
2731 //\r
2732 //Delete Ppis\r
2733 //\r
2734 if (intCategory == IDefaultMutableTreeNode.PPIS) {\r
2735 xmlppi = null;\r
2736 }\r
2737 if (intCategory == IDefaultMutableTreeNode.PPIS_PPI) {\r
2738 for (int indexI = xmlppi.getPpiList().size() - 1; indexI > -1; indexI--) {\r
2739 xmlppi.removePpi(indexI);\r
2740 }\r
2741 if (xmlppi.getPpiList().size() < 1 && xmlppi.getPpiNotifyList().size() < 1) {\r
2742 xmlppi = null;\r
2743 }\r
2744 }\r
2745 if (intCategory == IDefaultMutableTreeNode.PPIS_PPINOTIFY) {\r
2746 for (int indexI = xmlppi.getPpiNotifyList().size() - 1; indexI > -1; indexI--) {\r
2747 xmlppi.removePpiNotify(indexI);\r
2748 }\r
2749 if (xmlppi.getPpiList().size() < 1 && xmlppi.getPpiNotifyList().size() < 1) {\r
2750 xmlppi = null;\r
2751 }\r
2752 }\r
2753 if (intCategory == IDefaultMutableTreeNode.PPIS_PPI_ITEM) {\r
2754 xmlppi.removePpi(intLocation);\r
2755 }\r
2756 if (intCategory == IDefaultMutableTreeNode.PPIS_PPINOTIFY_ITEM) {\r
2757 xmlppi.removePpiNotify(intLocation);\r
2758 }\r
2759\r
2760 //\r
2761 //Delete Variables\r
2762 //\r
2763 if (intCategory == IDefaultMutableTreeNode.VARIABLES) {\r
2764 xmlvb = null;\r
2765 }\r
2766 if (intCategory == IDefaultMutableTreeNode.VARIABLES_VARIABLE_ITEM) {\r
2767 xmlvb.removeVariable(intLocation);\r
2768 if (xmlvb.getVariableList().size() < 1) {\r
2769 xmlvb = null;\r
2770 }\r
2771 }\r
2772\r
2773 //\r
2774 //Delete BootModes\r
2775 //\r
2776 if (intCategory == IDefaultMutableTreeNode.BOOTMODES) {\r
2777 xmlbm = null;\r
2778 }\r
2779 if (intCategory == IDefaultMutableTreeNode.BOOTMODES_BOOTMODE_ITEM) {\r
2780 xmlbm.removeBootMode(intLocation);\r
2781 if (xmlbm.getBootModeList().size() < 1) {\r
2782 xmlbm = null;\r
2783 }\r
2784 }\r
2785\r
2786 //\r
2787 //Delete SystemTables\r
2788 //\r
2789 if (intCategory == IDefaultMutableTreeNode.SYSTEMTABLES) {\r
2790 xmlst = null;\r
2791 }\r
2792 if (intCategory == IDefaultMutableTreeNode.SYSTEMTABLES_SYSTEMTABLE_ITEM) {\r
2793 xmlst.removeSystemTable(intLocation);\r
2794 if (xmlst.getSystemTableList().size() < 1) {\r
2795 xmlst = null;\r
2796 }\r
2797 }\r
2798\r
2799 //\r
2800 //Delete DataHubs\r
2801 //\r
2802 if (intCategory == IDefaultMutableTreeNode.DATAHUBS) {\r
2803 xmldh = null;\r
2804 }\r
2805 if (intCategory == IDefaultMutableTreeNode.DATAHUBS_DATAHUB_ITEM) {\r
2806 xmldh.removeDataHubRecord(intLocation);\r
2807 if (xmldh.getDataHubRecordList().size() < 1) {\r
2808 xmldh = null;\r
2809 }\r
2810 }\r
2811\r
2812 //\r
2813 //Delete Formsets\r
2814 //\r
2815 if (intCategory == IDefaultMutableTreeNode.FORMSETS) {\r
2816 xmlfs = null;\r
2817 }\r
2818 if (intCategory == IDefaultMutableTreeNode.FORMSETS_FORMSET_ITEM) {\r
2819 xmlfs.removeFormset(intLocation);\r
2820 if (xmlfs.getFormsetList().size() < 1) {\r
2821 xmlfs = null;\r
2822 }\r
2823 }\r
2824\r
2825 //\r
2826 //Delete Guids\r
2827 //\r
2828 if (intCategory == IDefaultMutableTreeNode.GUIDS) {\r
2829 xmlgu = null;\r
2830 }\r
2831 if (intCategory == IDefaultMutableTreeNode.GUIDS_GUIDENTRY_ITEM) {\r
2832 xmlgu.removeGuidEntry(intLocation);\r
2833 if (xmlgu.getGuidEntryList().size() < 1) {\r
2834 xmlgu = null;\r
2835 }\r
2836 }\r
2837\r
2838 //\r
2839 //Delete Externs\r
2840 //\r
2841 if (intCategory == IDefaultMutableTreeNode.EXTERNS) {\r
2842 xmlet = null;\r
2843 }\r
2844 if (intCategory == IDefaultMutableTreeNode.EXTERNS_EXTERN_ITEM) {\r
2845 xmlet.removeExtern(intLocation);\r
2846 if (xmlet.getExternList().size() < 1) {\r
2847 xmlet = null;\r
2848 }\r
2849 }\r
2850\r
2851 //\r
2852 //Delete PCDs\r
2853 //\r
2854 if (intCategory == IDefaultMutableTreeNode.PCDS) {\r
2855 xmlpcd = null;\r
2856 }\r
2857 if (intCategory == IDefaultMutableTreeNode.PCDS_PCDDATA_ITEM) {\r
2858 xmlpcd.removePcdData(intLocation);\r
2859 if (xmlpcd.getPcdDataList().size() < 1) {\r
2860 xmlpcd = null;\r
2861 }\r
2862 }\r
2863 this.cleanDesktopPane();\r
2864 reloadTreeAndTable(UPDATE_WITH_CHANGE);\r
2865 }\r
2866\r
2867 /**\r
2868 View current Module\r
2869 \r
2870 **/\r
2871 private void viewCurrentModule() {\r
2872 int intCategory = iTree.getSelectCategory();\r
2873 int intLocation = iTree.getSelectLoaction();\r
2874 //\r
2875 //View Msa Header\r
2876 //\r
2877 if (intCategory == IDefaultMutableTreeNode.MSA_HEADER) {\r
2878 showMsaHeader(ModuleMain.VIEW);\r
2879 }\r
2880\r
2881 //\r
2882 //View Mbd Header\r
2883 //\r
2884 if (intCategory == IDefaultMutableTreeNode.MBD_HEADER) {\r
2885 showMbdHeader(ModuleMain.VIEW);\r
2886 }\r
2887\r
2888 //\r
2889 //View Msa Lib Header\r
2890 //\r
2891 if (intCategory == IDefaultMutableTreeNode.MLSA_HEADER) {\r
2892 showMlsaHeader(ModuleMain.VIEW);\r
2893 }\r
2894\r
2895 //\r
2896 //View Mbd Lib Header\r
2897 //\r
2898 if (intCategory == IDefaultMutableTreeNode.MLBD_HEADER) {\r
2899 showMlbdHeader(ModuleMain.VIEW);\r
2900 }\r
2901\r
2902 //\r
2903 //View Libraries\r
2904 //\r
2905 if (intCategory == IDefaultMutableTreeNode.LIBRARIES_LIBRARY\r
2906 || intCategory == IDefaultMutableTreeNode.LIBRARIES_ARCH_ITEM) {\r
2907 showLibraries(ModuleMain.VIEW, intCategory, intLocation);\r
2908 }\r
2909\r
2910 //\r
2911 //View LIBRARY CLASS DEFINITIONS\r
2912 //\r
2913 if (intCategory == IDefaultMutableTreeNode.LIBRARYCLASSDEFINITIONS) {\r
2914 showLibraryClassDefinitions(ModuleMain.VIEW, intCategory);\r
2915 }\r
2916\r
2917 //\r
2918 //View Source Files\r
2919 //\r
2920 if (intCategory == IDefaultMutableTreeNode.SOURCEFILES_FILENAME\r
2921 || intCategory == IDefaultMutableTreeNode.SOURCEFILES_ARCH_ITEM) {\r
2922 showSourceFiles(ModuleMain.VIEW, intCategory, intLocation);\r
2923 }\r
2924\r
2925 //\r
2926 //View Includes\r
2927 //\r
2928 if (intCategory == IDefaultMutableTreeNode.INCLUDES_PACKAGENAME\r
2929 || intCategory == IDefaultMutableTreeNode.INCLUDES_ARCH_ITEM) {\r
2930 showIncludes(ModuleMain.VIEW, intCategory, intLocation);\r
2931 }\r
2932\r
2933 //\r
2934 //View Protocols\r
2935 //\r
2936 if (intCategory == IDefaultMutableTreeNode.PROTOCOLS_PROTOCOL_ITEM\r
2937 || intCategory == IDefaultMutableTreeNode.PROTOCOLS_PROTOCOLNOTIFY_ITEM) {\r
2938 showProtocols(ModuleMain.VIEW, intCategory, intLocation);\r
2939 }\r
2940\r
2941 //\r
2942 //View Hobs\r
2943 //\r
2944 if (intCategory == IDefaultMutableTreeNode.HOBS_HOB_ITEM) {\r
2945 showHobs(ModuleMain.VIEW, intCategory, intLocation);\r
2946 }\r
2947\r
2948 //\r
2949 //View Events\r
2950 //\r
2951 if (intCategory == IDefaultMutableTreeNode.EVENTS_CREATEEVENTS_ITEM\r
2952 || intCategory == IDefaultMutableTreeNode.EVENTS_SIGNALEVENTS_ITEM) {\r
2953 showEvents(ModuleMain.VIEW, intCategory, intLocation);\r
2954 }\r
2955\r
2956 //\r
2957 //View Ppis\r
2958 //\r
2959 if (intCategory == IDefaultMutableTreeNode.PPIS_PPI_ITEM\r
2960 || intCategory == IDefaultMutableTreeNode.PPIS_PPINOTIFY_ITEM) {\r
2961 showPpis(ModuleMain.VIEW, intCategory, intLocation);\r
2962 }\r
2963\r
2964 //\r
2965 //View Variables\r
2966 //\r
2967 if (intCategory == IDefaultMutableTreeNode.VARIABLES_VARIABLE_ITEM) {\r
2968 showVariables(ModuleMain.VIEW, intCategory, intLocation);\r
2969 }\r
2970\r
2971 //\r
2972 //View BootModes\r
2973 //\r
2974 if (intCategory == IDefaultMutableTreeNode.BOOTMODES_BOOTMODE_ITEM) {\r
2975 showBootModes(ModuleMain.VIEW, intCategory, intLocation);\r
2976 }\r
2977\r
2978 //\r
2979 //View SystemTables\r
2980 //\r
2981 if (intCategory == IDefaultMutableTreeNode.SYSTEMTABLES_SYSTEMTABLE_ITEM) {\r
2982 showSystemTables(ModuleMain.VIEW, intCategory, intLocation);\r
2983 }\r
2984\r
2985 //\r
2986 //View DataHubs\r
2987 //\r
2988 if (intCategory == IDefaultMutableTreeNode.DATAHUBS_DATAHUB_ITEM) {\r
2989 showDataHubs(ModuleMain.VIEW, intCategory, intLocation);\r
2990 }\r
2991\r
2992 //\r
2993 //View Formsets\r
2994 //\r
2995 if (intCategory == IDefaultMutableTreeNode.FORMSETS_FORMSET_ITEM) {\r
2996 showFormsets(ModuleMain.VIEW, intCategory, intLocation);\r
2997 }\r
2998\r
2999 //\r
3000 //View Guids\r
3001 //\r
3002 if (intCategory == IDefaultMutableTreeNode.GUIDS_GUIDENTRY_ITEM) {\r
3003 showGuids(ModuleMain.VIEW, intCategory, intLocation);\r
3004 }\r
3005\r
3006 //\r
3007 //View Externs\r
3008 //\r
3009 if (intCategory == IDefaultMutableTreeNode.EXTERNS_EXTERN_ITEM) {\r
3010 showExterns(ModuleMain.VIEW, intCategory, intLocation);\r
3011 }\r
3012\r
3013 //\r
3014 //View PCDs\r
3015 //\r
3016 if (intCategory == IDefaultMutableTreeNode.PCDS_PCDDATA_ITEM) {\r
3017 showPCDs(ModuleMain.VIEW, intCategory, intLocation);\r
3018 }\r
3019 }\r
3020\r
3021 /**\r
3022 Execute update operation of current module\r
3023 \r
3024 @param intCategory The category of current node\r
3025 @param intLocation The location of current node\r
3026 \r
3027 **/\r
3028 private void updateCurrentModule(int intCategory, int intLocation) {\r
3029 //\r
3030 //Update Msa Header\r
3031 //\r
3032 if (intCategory == IDefaultMutableTreeNode.MSA_HEADER) {\r
3033 showMsaHeader(ModuleMain.UPDATE);\r
3034 }\r
3035\r
3036 //\r
3037 //Update Mbd Header\r
3038 //\r
3039 if (intCategory == IDefaultMutableTreeNode.MBD_HEADER) {\r
3040 showMbdHeader(ModuleMain.UPDATE);\r
3041 }\r
3042\r
3043 //\r
3044 //Update Msa Lib Header\r
3045 //\r
3046 if (intCategory == IDefaultMutableTreeNode.MLSA_HEADER) {\r
3047 showMlsaHeader(ModuleMain.UPDATE);\r
3048 }\r
3049\r
3050 //\r
3051 //Update Mbd Lib Header\r
3052 //\r
3053 if (intCategory == IDefaultMutableTreeNode.MLBD_HEADER) {\r
3054 showMlbdHeader(ModuleMain.UPDATE);\r
3055 }\r
3056\r
3057 //\r
3058 //Update Libraries\r
3059 //\r
3060 if (intCategory == IDefaultMutableTreeNode.LIBRARIES_LIBRARY\r
3061 || intCategory == IDefaultMutableTreeNode.LIBRARIES_ARCH_ITEM) {\r
3062 showLibraries(ModuleMain.UPDATE, intCategory, intLocation);\r
3063 }\r
3064\r
3065 //\r
3066 //Update LIBRARY CLASS DEFINITIONS\r
3067 //\r
3068 if (intCategory == IDefaultMutableTreeNode.LIBRARYCLASSDEFINITIONS) {\r
3069 showLibraryClassDefinitions(ModuleMain.UPDATE, intCategory);\r
3070 }\r
3071\r
3072 //\r
3073 //Update Source Files\r
3074 //\r
3075 if (intCategory == IDefaultMutableTreeNode.SOURCEFILES_FILENAME\r
3076 || intCategory == IDefaultMutableTreeNode.SOURCEFILES_ARCH_ITEM) {\r
3077 showSourceFiles(ModuleMain.UPDATE, intCategory, intLocation);\r
3078 }\r
3079\r
3080 //\r
3081 //Update Includes\r
3082 //\r
3083 if (intCategory == IDefaultMutableTreeNode.INCLUDES_PACKAGENAME\r
3084 || intCategory == IDefaultMutableTreeNode.INCLUDES_ARCH_ITEM) {\r
3085 showIncludes(ModuleMain.UPDATE, intCategory, intLocation);\r
3086 }\r
3087\r
3088 //\r
3089 //Update Protocols\r
3090 //\r
3091 if (intCategory == IDefaultMutableTreeNode.PROTOCOLS_PROTOCOL_ITEM\r
3092 || intCategory == IDefaultMutableTreeNode.PROTOCOLS_PROTOCOLNOTIFY_ITEM) {\r
3093 showProtocols(ModuleMain.UPDATE, intCategory, intLocation);\r
3094 }\r
3095\r
3096 //\r
3097 //Update Hobs\r
3098 //\r
3099 if (intCategory == IDefaultMutableTreeNode.HOBS_HOB_ITEM) {\r
3100 showHobs(ModuleMain.UPDATE, intCategory, intLocation);\r
3101 }\r
3102\r
3103 //\r
3104 //Update Events\r
3105 //\r
3106 if (intCategory == IDefaultMutableTreeNode.EVENTS_CREATEEVENTS_ITEM\r
3107 || intCategory == IDefaultMutableTreeNode.EVENTS_SIGNALEVENTS_ITEM) {\r
3108 showEvents(ModuleMain.UPDATE, intCategory, intLocation);\r
3109 }\r
3110\r
3111 //\r
3112 //Update Ppis\r
3113 //\r
3114 if (intCategory == IDefaultMutableTreeNode.PPIS_PPI_ITEM\r
3115 || intCategory == IDefaultMutableTreeNode.PPIS_PPINOTIFY_ITEM) {\r
3116 showPpis(ModuleMain.UPDATE, intCategory, intLocation);\r
3117 }\r
3118\r
3119 //\r
3120 //Update Variables\r
3121 //\r
3122 if (intCategory == IDefaultMutableTreeNode.VARIABLES_VARIABLE_ITEM) {\r
3123 showVariables(ModuleMain.UPDATE, intCategory, intLocation);\r
3124 }\r
3125\r
3126 //\r
3127 //Update BootModes\r
3128 //\r
3129 if (intCategory == IDefaultMutableTreeNode.BOOTMODES_BOOTMODE_ITEM) {\r
3130 showBootModes(ModuleMain.UPDATE, intCategory, intLocation);\r
3131 }\r
3132\r
3133 //\r
3134 //Update SystemTables\r
3135 //\r
3136 if (intCategory == IDefaultMutableTreeNode.SYSTEMTABLES_SYSTEMTABLE_ITEM) {\r
3137 showSystemTables(ModuleMain.UPDATE, intCategory, intLocation);\r
3138 }\r
3139\r
3140 //\r
3141 //Update DataHubs\r
3142 //\r
3143 if (intCategory == IDefaultMutableTreeNode.DATAHUBS_DATAHUB_ITEM) {\r
3144 showDataHubs(ModuleMain.UPDATE, intCategory, intLocation);\r
3145 }\r
3146\r
3147 //\r
3148 //Update Formsets\r
3149 //\r
3150 if (intCategory == IDefaultMutableTreeNode.FORMSETS_FORMSET_ITEM) {\r
3151 showFormsets(ModuleMain.UPDATE, intCategory, intLocation);\r
3152 }\r
3153\r
3154 //\r
3155 //Update Guids\r
3156 //\r
3157 if (intCategory == IDefaultMutableTreeNode.GUIDS_GUIDENTRY_ITEM) {\r
3158 showGuids(ModuleMain.UPDATE, intCategory, intLocation);\r
3159 }\r
3160\r
3161 //\r
3162 //Update Externs\r
3163 //\r
3164 if (intCategory == IDefaultMutableTreeNode.EXTERNS_EXTERN_ITEM) {\r
3165 showExterns(ModuleMain.UPDATE, intCategory, intLocation);\r
3166 }\r
3167\r
3168 //\r
3169 //Update PCDs\r
3170 //\r
3171 if (intCategory == IDefaultMutableTreeNode.PCDS_PCDDATA_ITEM) {\r
3172 showPCDs(ModuleMain.UPDATE, intCategory, intLocation);\r
3173 }\r
3174 }\r
3175\r
3176 /**\r
3177 Save current module\r
3178 Call relevant function via different file types\r
3179 \r
3180 **/\r
3181 private void saveCurrentModule() {\r
3182 if (this.saveFileName == "") {\r
3183 openFile(2, this.currentModuleType);\r
3184 }\r
3185 if (this.saveFileName == "") {\r
3186 this.saveFileName = this.currentModule;\r
3187 return;\r
3188 } else {\r
3189 switch (this.currentModuleType) {\r
3190 case 1:\r
3191 saveMsa();\r
3192 break;\r
3193 case 2:\r
3194 saveMbd();\r
3195 break;\r
3196 case 3:\r
3197 saveMlsa();\r
3198 break;\r
3199 case 4:\r
3200 saveMlbd();\r
3201 break;\r
3202 }\r
3203\r
3204 }\r
3205\r
3206 reloadTreeAndTable(SAVE_WITH_CHANGE);\r
3207 }\r
3208\r
3209 /**\r
3210 Save current module as\r
3211 \r
3212 **/\r
3213 private void saveAsCurrentModule() {\r
3214 this.saveFileName = "";\r
3215 saveCurrentModule();\r
3216 }\r
3217\r
3218 /**\r
3219 Save file as msa\r
3220 \r
3221 **/\r
3222 private void saveMsa() {\r
3223 File f = new File(this.saveFileName);\r
3224 ModuleSurfaceAreaDocument msaDoc = ModuleSurfaceAreaDocument.Factory.newInstance();\r
3225 ModuleSurfaceAreaDocument.ModuleSurfaceArea msa = ModuleSurfaceAreaDocument.ModuleSurfaceArea.Factory\r
3226 .newInstance();\r
3227\r
3228 //\r
3229 //Add all components into xml doc file\r
3230 //\r
3231 if (xmlmh != null) {\r
3232 msa.setMsaHeader(xmlmh);\r
3233 }\r
3234 if (xmllcd != null) {\r
3235 msa.setLibraryClassDefinitions(xmllcd);\r
3236 }\r
3237 if (xmlsf != null) {\r
3238 msa.setSourceFiles(xmlsf);\r
3239 }\r
3240 if (xmlic != null) {\r
3241 msa.setIncludes(xmlic);\r
3242 }\r
3243 if (xmlpl != null) {\r
3244 msa.setProtocols(xmlpl);\r
3245 }\r
3246 if (xmlen != null) {\r
3247 msa.setEvents(xmlen);\r
3248 }\r
3249 if (xmlhob != null) {\r
3250 msa.setHobs(xmlhob);\r
3251 }\r
3252 if (xmlppi != null) {\r
3253 msa.setPPIs(xmlppi);\r
3254 }\r
3255 if (xmlvb != null) {\r
3256 msa.setVariables(xmlvb);\r
3257 }\r
3258 if (xmlbm != null) {\r
3259 msa.setBootModes(xmlbm);\r
3260 }\r
3261 if (xmlst != null) {\r
3262 msa.setSystemTables(xmlst);\r
3263 }\r
3264 if (xmldh != null) {\r
3265 msa.setDataHubs(xmldh);\r
3266 }\r
3267 if (xmlfs != null) {\r
3268 msa.setFormsets(xmlfs);\r
3269 }\r
3270 if (xmlgu != null) {\r
3271 msa.setGuids(xmlgu);\r
3272 }\r
3273 if (xmlet != null) {\r
3274 msa.setExterns(xmlet);\r
3275 }\r
3276 if (xmlpcd != null) {\r
3277 msa.setPCDs(xmlpcd);\r
3278 }\r
3279 if (xmlbo != null) {\r
3280 msa.setBuildOptions(xmlbo);\r
3281 }\r
3282 //\r
3283 //Init namespace\r
3284 //\r
3285 XmlCursor cursor = msa.newCursor();\r
3286 String uri = "http://www.TianoCore.org/2006/Edk2.0";\r
3287 cursor.push();\r
3288 cursor.toNextToken();\r
3289 cursor.insertNamespace("", uri);\r
3290 cursor.insertNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance");\r
3291 cursor.pop();\r
3292\r
3293 //\r
3294 //Config file format\r
3295 //\r
3296 XmlOptions options = new XmlOptions();\r
3297 options.setCharacterEncoding("UTF-8");\r
3298 options.setSavePrettyPrint();\r
3299 options.setSavePrettyPrintIndent(2);\r
3300\r
3301 //\r
3302 //Create finial doc\r
3303 //\r
3304 msaDoc.addNewModuleSurfaceArea();\r
3305 msaDoc.setModuleSurfaceArea((ModuleSurfaceAreaDocument.ModuleSurfaceArea) cursor.getObject());\r
3306 try {\r
3307 //\r
3308 //Save the file\r
3309 //\r
3310 msaDoc.save(f, options);\r
3311 this.currentModule = this.saveFileName;\r
3312 } catch (Exception e) {\r
3313 Log.err("Save Msa", e.getMessage());\r
3314 }\r
3315 }\r
3316\r
3317 /**\r
3318 Save file as mbd\r
3319 \r
3320 **/\r
3321 private void saveMbd() {\r
3322 File f = new File(this.saveFileName);\r
3323 ModuleBuildDescriptionDocument mbdDoc = ModuleBuildDescriptionDocument.Factory.newInstance();\r
3324 ModuleBuildDescriptionDocument.ModuleBuildDescription mbd = ModuleBuildDescriptionDocument.ModuleBuildDescription.Factory\r
3325 .newInstance();\r
3326 //\r
3327 //Add all components into xml doc file\r
3328 //\r
3329 if (xmlmbdh != null) {\r
3330 mbd.setMbdHeader(xmlmbdh);\r
3331 }\r
3332 if (xmllib != null) {\r
3333 mbd.setLibraries(xmllib);\r
3334 }\r
3335 if (xmlsf != null) {\r
3336 mbd.setSourceFiles(xmlsf);\r
3337 }\r
3338 if (xmlic != null) {\r
3339 mbd.setIncludes(xmlic);\r
3340 }\r
3341 if (xmlpl != null) {\r
3342 mbd.setProtocols(xmlpl);\r
3343 }\r
3344 if (xmlen != null) {\r
3345 mbd.setEvents(xmlen);\r
3346 }\r
3347 if (xmlhob != null) {\r
3348 mbd.setHobs(xmlhob);\r
3349 }\r
3350 if (xmlppi != null) {\r
3351 mbd.setPPIs(xmlppi);\r
3352 }\r
3353 if (xmlvb != null) {\r
3354 mbd.setVariables(xmlvb);\r
3355 }\r
3356 if (xmlbm != null) {\r
3357 mbd.setBootModes(xmlbm);\r
3358 }\r
3359 if (xmlst != null) {\r
3360 mbd.setSystemTables(xmlst);\r
3361 }\r
3362 if (xmldh != null) {\r
3363 mbd.setDataHubs(xmldh);\r
3364 }\r
3365 if (xmlfs != null) {\r
3366 mbd.setFormsets(xmlfs);\r
3367 }\r
3368 if (xmlgu != null) {\r
3369 mbd.setGuids(xmlgu);\r
3370 }\r
3371 if (xmlet != null) {\r
3372 mbd.setExterns(xmlet);\r
3373 }\r
3374 if (xmlpcd != null) {\r
3375 mbd.setPCDs(xmlpcd);\r
3376 }\r
3377 if (xmlbo != null) {\r
3378 mbd.setBuildOptions(xmlbo);\r
3379 }\r
3380 //\r
3381 //Init namespace\r
3382 //\r
3383 XmlCursor cursor = mbd.newCursor();\r
3384 String uri = "http://www.TianoCore.org/2006/Edk2.0";\r
3385 cursor.push();\r
3386 cursor.toNextToken();\r
3387 cursor.insertNamespace("", uri);\r
3388 cursor.insertNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance");\r
3389 cursor.pop();\r
3390\r
3391 //\r
3392 //Config file format\r
3393 //\r
3394 XmlOptions options = new XmlOptions();\r
3395 options.setCharacterEncoding("UTF-8");\r
3396 options.setSavePrettyPrint();\r
3397 options.setSavePrettyPrintIndent(2);\r
3398\r
3399 //\r
3400 //Create finial doc\r
3401 //\r
3402 mbdDoc.addNewModuleBuildDescription();\r
3403 mbdDoc.setModuleBuildDescription((ModuleBuildDescriptionDocument.ModuleBuildDescription) cursor.getObject());\r
3404 try {\r
3405 //\r
3406 //Save the file\r
3407 //\r
3408 mbdDoc.save(f, options);\r
3409 this.currentModule = this.saveFileName;\r
3410 } catch (Exception e) {\r
3411 Log.err("Save Mbd", e.getMessage());\r
3412 }\r
3413 }\r
3414\r
3415 /**\r
3416 Save file as mlsa\r
3417 \r
3418 **/\r
3419 private void saveMlsa() {\r
3420 File f = new File(this.saveFileName);\r
3421 LibraryModuleSurfaceAreaDocument mlsaDoc = LibraryModuleSurfaceAreaDocument.Factory.newInstance();\r
3422 LibraryModuleSurfaceAreaDocument.LibraryModuleSurfaceArea mlsa = LibraryModuleSurfaceAreaDocument.LibraryModuleSurfaceArea.Factory\r
3423 .newInstance();\r
3424 //\r
3425 //Add all components into xml doc file\r
3426 //\r
3427 if (xmlmlh != null) {\r
3428 mlsa.setMsaLibHeader(xmlmlh);\r
3429 }\r
3430 if (xmllcd != null) {\r
3431 mlsa.setLibraryClassDefinitions(xmllcd);\r
3432 }\r
3433 if (xmlsf != null) {\r
3434 mlsa.setSourceFiles(xmlsf);\r
3435 }\r
3436 if (xmlic != null) {\r
3437 mlsa.setIncludes(xmlic);\r
3438 }\r
3439 if (xmlpl != null) {\r
3440 mlsa.setProtocols(xmlpl);\r
3441 }\r
3442 if (xmlen != null) {\r
3443 mlsa.setEvents(xmlen);\r
3444 }\r
3445 if (xmlhob != null) {\r
3446 mlsa.setHobs(xmlhob);\r
3447 }\r
3448 if (xmlppi != null) {\r
3449 mlsa.setPPIs(xmlppi);\r
3450 }\r
3451 if (xmlvb != null) {\r
3452 mlsa.setVariables(xmlvb);\r
3453 }\r
3454 if (xmlbm != null) {\r
3455 mlsa.setBootModes(xmlbm);\r
3456 }\r
3457 if (xmlst != null) {\r
3458 mlsa.setSystemTables(xmlst);\r
3459 }\r
3460 if (xmldh != null) {\r
3461 mlsa.setDataHubs(xmldh);\r
3462 }\r
3463 if (xmlfs != null) {\r
3464 mlsa.setFormsets(xmlfs);\r
3465 }\r
3466 if (xmlgu != null) {\r
3467 mlsa.setGuids(xmlgu);\r
3468 }\r
3469 if (xmlet != null) {\r
3470 mlsa.setExterns(xmlet);\r
3471 }\r
3472 if (xmlpcd != null) {\r
3473 mlsa.setPCDs(xmlpcd);\r
3474 }\r
3475 if (xmlbo != null) {\r
3476 mlsa.setBuildOptions(xmlbo);\r
3477 }\r
3478 //\r
3479 //Init namespace\r
3480 //\r
3481 XmlCursor cursor = mlsa.newCursor();\r
3482 String uri = "http://www.TianoCore.org/2006/Edk2.0";\r
3483 cursor.push();\r
3484 cursor.toNextToken();\r
3485 cursor.insertNamespace("", uri);\r
3486 cursor.insertNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance");\r
3487 cursor.pop();\r
3488\r
3489 //\r
3490 //Config file format\r
3491 //\r
3492 XmlOptions options = new XmlOptions();\r
3493 options.setCharacterEncoding("UTF-8");\r
3494 options.setSavePrettyPrint();\r
3495 options.setSavePrettyPrintIndent(2);\r
3496\r
3497 //\r
3498 //Create finial doc\r
3499 //\r
3500 mlsaDoc.addNewLibraryModuleSurfaceArea();\r
3501 mlsaDoc\r
3502 .setLibraryModuleSurfaceArea((LibraryModuleSurfaceAreaDocument.LibraryModuleSurfaceArea) cursor\r
3503 .getObject());\r
3504 try {\r
3505 //\r
3506 //Save the file\r
3507 //\r
3508 mlsaDoc.save(f, options);\r
3509 this.currentModule = this.saveFileName;\r
3510 } catch (Exception e) {\r
3511 Log.err("Save Mlsa", e.getMessage());\r
3512 }\r
3513 }\r
3514\r
3515 /**\r
3516 Save file as mbd\r
3517 \r
3518 **/\r
3519 private void saveMlbd() {\r
3520 File f = new File(this.saveFileName);\r
3521 LibraryModuleBuildDescriptionDocument mlbdDoc = LibraryModuleBuildDescriptionDocument.Factory.newInstance();\r
3522 LibraryModuleBuildDescriptionDocument.LibraryModuleBuildDescription mlbd = LibraryModuleBuildDescriptionDocument.LibraryModuleBuildDescription.Factory\r
3523 .newInstance();\r
3524 //\r
3525 //Add all components into xml doc file\r
3526 //\r
3527 if (xmlmlbdh != null) {\r
3528 mlbd.setMbdLibHeader(xmlmlbdh);\r
3529 }\r
3530 if (xmllib != null) {\r
3531 mlbd.setLibraries(xmllib);\r
3532 }\r
3533 if (xmlsf != null) {\r
3534 mlbd.setSourceFiles(xmlsf);\r
3535 }\r
3536 if (xmlic != null) {\r
3537 mlbd.setIncludes(xmlic);\r
3538 }\r
3539 if (xmlpl != null) {\r
3540 mlbd.setProtocols(xmlpl);\r
3541 }\r
3542 if (xmlen != null) {\r
3543 mlbd.setEvents(xmlen);\r
3544 }\r
3545 if (xmlhob != null) {\r
3546 mlbd.setHobs(xmlhob);\r
3547 }\r
3548 if (xmlppi != null) {\r
3549 mlbd.setPPIs(xmlppi);\r
3550 }\r
3551 if (xmlvb != null) {\r
3552 mlbd.setVariables(xmlvb);\r
3553 }\r
3554 if (xmlbm != null) {\r
3555 mlbd.setBootModes(xmlbm);\r
3556 }\r
3557 if (xmlst != null) {\r
3558 mlbd.setSystemTables(xmlst);\r
3559 }\r
3560 if (xmldh != null) {\r
3561 mlbd.setDataHubs(xmldh);\r
3562 }\r
3563 if (xmlfs != null) {\r
3564 mlbd.setFormsets(xmlfs);\r
3565 }\r
3566 if (xmlgu != null) {\r
3567 mlbd.setGuids(xmlgu);\r
3568 }\r
3569 if (xmlet != null) {\r
3570 mlbd.setExterns(xmlet);\r
3571 }\r
3572 if (xmlpcd != null) {\r
3573 mlbd.setPCDs(xmlpcd);\r
3574 }\r
3575 if (xmlbo != null) {\r
3576 mlbd.setBuildOptions(xmlbo);\r
3577 }\r
3578 //\r
3579 //Init namespace\r
3580 //\r
3581 XmlCursor cursor = mlbd.newCursor();\r
3582 String uri = "http://www.TianoCore.org/2006/Edk2.0";\r
3583 cursor.push();\r
3584 cursor.toNextToken();\r
3585 cursor.insertNamespace("", uri);\r
3586 cursor.insertNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance");\r
3587 cursor.pop();\r
3588\r
3589 //\r
3590 //Config file format\r
3591 //\r
3592 XmlOptions options = new XmlOptions();\r
3593 options.setCharacterEncoding("UTF-8");\r
3594 options.setSavePrettyPrint();\r
3595 options.setSavePrettyPrintIndent(2);\r
3596\r
3597 //\r
3598 //Create finial doc\r
3599 //\r
3600 mlbdDoc.addNewLibraryModuleBuildDescription();\r
3601 mlbdDoc\r
3602 .setLibraryModuleBuildDescription((LibraryModuleBuildDescriptionDocument.LibraryModuleBuildDescription) cursor\r
3603 .getObject());\r
3604 try {\r
3605 //\r
3606 //Save the file\r
3607 //\r
3608 mlbdDoc.save(f, options);\r
3609 this.currentModule = this.saveFileName;\r
3610 } catch (Exception e) {\r
3611 Log.err("Save Mbd", e.getMessage());\r
3612 }\r
3613 }\r
3614\r
3615 /**\r
3616 Reflash the tree via current value of xml documents.\r
3617 \r
3618 @param intMode The input data of current operation type\r
3619 \r
3620 **/\r
3621 private void reloadTreeAndTable(int intMode) {\r
3622 makeTree();\r
3623 if (intMode == ModuleMain.OPENED) {\r
3624 this.jMenuItemModuleClose.setEnabled(true);\r
3625 this.jMenuItemModuleSaveAs.setEnabled(true);\r
3626 this.jMenuEditAdd.setEnabled(true);\r
3627 this.setTitle(windowTitle + "- [" + this.currentModule + "]");\r
3628 this.jButtonOk.setEnabled(false);\r
3629 this.jButtonCancel.setEnabled(false);\r
3630 }\r
3631 if (intMode == ModuleMain.CLOSED) {\r
3632 this.jMenuItemModuleClose.setEnabled(false);\r
3633 this.jMenuItemModuleSave.setEnabled(false);\r
3634 this.jMenuItemModuleSaveAs.setEnabled(false);\r
3635 this.jMenuEditAdd.setEnabled(false);\r
3636 this.setTitle(windowTitle + "- [" + ws.getCurrentWorkspace() + "]");\r
3637 this.setButtonEnable(false);\r
3638 }\r
3639 if (intMode == ModuleMain.NEW_WITHOUT_CHANGE) {\r
3640\r
3641 }\r
3642\r
3643 if (intMode == ModuleMain.NEW_WITH_CHANGE) {\r
3644 this.jMenuItemModuleClose.setEnabled(true);\r
3645 this.jMenuItemModuleSave.setEnabled(true);\r
3646 this.jMenuItemModuleSaveAs.setEnabled(true);\r
3647 this.jMenuEditAdd.setEnabled(true);\r
3648 setButtonEnable(false);\r
3649 }\r
3650 if (intMode == ModuleMain.UPDATE_WITHOUT_CHANGE) {\r
3651\r
3652 }\r
3653 if (intMode == ModuleMain.UPDATE_WITH_CHANGE) {\r
3654 this.jMenuItemModuleClose.setEnabled(true);\r
3655 this.jMenuItemModuleSave.setEnabled(true);\r
3656 this.jMenuItemModuleSaveAs.setEnabled(true);\r
3657 }\r
3658 if (intMode == ModuleMain.SAVE_WITHOUT_CHANGE) {\r
3659 this.jMenuItemModuleClose.setEnabled(true);\r
3660 this.jMenuItemModuleSave.setEnabled(true);\r
3661 this.jMenuItemModuleSaveAs.setEnabled(true);\r
3662 this.jButtonOk.setEnabled(false);\r
3663 this.jButtonCancel.setEnabled(false);\r
3664 }\r
3665 if (intMode == ModuleMain.SAVE_WITH_CHANGE) {\r
3666 this.jMenuItemModuleClose.setEnabled(true);\r
3667 this.jMenuItemModuleSave.setEnabled(false);\r
3668 this.jMenuItemModuleSaveAs.setEnabled(true);\r
3669 this.jMenuItemEditUpdate.setEnabled(false);\r
3670 this.jMenuItemEditDelete.setEnabled(false);\r
3671 this.setTitle(windowTitle + "- [" + this.currentModule + "]");\r
3672 this.jButtonOk.setEnabled(false);\r
3673 this.jButtonCancel.setEnabled(false);\r
3674 }\r
3675\r
3676 if (this.currentModuleType == 1 || this.currentModuleType == 3) {\r
3677 this.jMenuItemEditAddLibraries.setEnabled(false);\r
3678 this.jMenuItemEditAddLibraryClassDefinitions.setEnabled(true);\r
3679 }\r
3680 if (this.currentModuleType == 2 || this.currentModuleType == 4) {\r
3681 this.jMenuItemEditAddLibraries.setEnabled(true);\r
3682 this.jMenuItemEditAddLibraryClassDefinitions.setEnabled(false);\r
3683 }\r
3684 }\r
3685\r
3686 /**\r
3687 Enable/Disable button Ok and Cancel\r
3688 \r
3689 @param isEnabled The input data to indicate if button is enabled or not\r
3690 \r
3691 **/\r
3692 private void setButtonEnable(boolean isEnabled) {\r
3693 this.jButtonCancel.setEnabled(isEnabled);\r
3694 this.jButtonOk.setEnabled(isEnabled);\r
3695 }\r
3696\r
3697 /**\r
3698 Show msa header\r
3699 When the operation is VIEW, disable all fields of internal frame\r
3700 \r
3701 @param type The input data of operation type\r
3702 \r
3703 **/\r
3704 private void showMsaHeader(int type) {\r
3705 msa = null;\r
3706 msa = new MsaHeader(this.xmlmh);\r
3707 this.jDesktopPane.removeAll();\r
3708 this.jDesktopPane.add(msa, 1);\r
3709 this.currentNodeType = IDefaultMutableTreeNode.MSA_HEADER;\r
3710 this.currentModuleType = 1;\r
3711 if (type == ModuleMain.VIEW) {\r
3712 setButtonEnable(false);\r
3713 msa.setViewMode(true);\r
3714 } else {\r
3715 setButtonEnable(true);\r
3716 }\r
3717 }\r
3718\r
3719 /**\r
3720 Show MbdHeader\r
3721 When the operation is VIEW, disable all fields of internal frame\r
3722 \r
3723 @param type The input data of operation type\r
3724 \r
3725 **/\r
3726 private void showMbdHeader(int type) {\r
3727 mbd = null;\r
3728 mbd = new MbdHeader(this.xmlmbdh);\r
3729 this.jDesktopPane.removeAll();\r
3730 this.jDesktopPane.add(mbd, 1);\r
3731 this.currentNodeType = IDefaultMutableTreeNode.MBD_HEADER;\r
3732 this.currentModuleType = 2;\r
3733 if (type == ModuleMain.VIEW) {\r
3734 setButtonEnable(false);\r
3735 mbd.setViewMode(true);\r
3736 } else {\r
3737 setButtonEnable(true);\r
3738 }\r
3739 }\r
3740\r
3741 /**\r
3742 Show MlsaHeader\r
3743 When the operation is VIEW, disable all fields of internal frame\r
3744 \r
3745 @param type The input data of operation type\r
3746 \r
3747 **/\r
3748 private void showMlsaHeader(int type) {\r
3749 mlsa = null;\r
3750 mlsa = new MsaLibHeader(this.xmlmlh);\r
3751 this.jDesktopPane.removeAll();\r
3752 this.jDesktopPane.add(mlsa, 1);\r
3753 this.currentNodeType = IDefaultMutableTreeNode.MLSA_HEADER;\r
3754 this.currentModuleType = 3;\r
3755 if (type == ModuleMain.VIEW) {\r
3756 setButtonEnable(false);\r
3757 mlsa.setViewMode(true);\r
3758 } else {\r
3759 setButtonEnable(true);\r
3760 }\r
3761 }\r
3762\r
3763 /**\r
3764 Show MlbdHeader\r
3765 When the operation is VIEW, disable all fields of internal frame\r
3766 \r
3767 @param type The input data of operation type\r
3768 \r
3769 **/\r
3770 private void showMlbdHeader(int type) {\r
3771 mlbd = null;\r
3772 mlbd = new MbdLibHeader(this.xmlmlbdh);\r
3773 this.jDesktopPane.removeAll();\r
3774 this.jDesktopPane.add(mlbd, 1);\r
3775 this.currentNodeType = IDefaultMutableTreeNode.MLBD_HEADER;\r
3776 this.currentModuleType = 4;\r
3777 if (type == ModuleMain.VIEW) {\r
3778 setButtonEnable(false);\r
3779 mlbd.setViewMode(true);\r
3780 } else {\r
3781 setButtonEnable(true);\r
3782 }\r
3783 }\r
3784\r
3785 /**\r
3786 Show Libraries\r
3787 When the operation is VIEW, disable all fields of internal frame\r
3788 \r
3789 @param type The input data of operation type\r
3790 \r
3791 **/\r
3792 private void showLibraries(int operationType, int nodeType, int location) {\r
3793 mlib = null;\r
3794 if (operationType == ModuleMain.ADD) {\r
3795 mlib = new MbdLibraries(this.xmllib, -1, -1, 1);\r
3796 }\r
3797 if (operationType == ModuleMain.UPDATE || operationType == ModuleMain.VIEW) {\r
3798 mlib = new MbdLibraries(this.xmllib, nodeType, location, 2);\r
3799 }\r
3800 this.jDesktopPane.removeAll();\r
3801 this.jDesktopPane.add(mlib, 1);\r
3802 this.currentNodeType = nodeType;\r
3803 if (operationType == ModuleMain.VIEW) {\r
3804 setButtonEnable(false);\r
3805 mlib.setViewMode(true);\r
3806 } else {\r
3807 setButtonEnable(true);\r
3808 }\r
3809 }\r
3810\r
3811 /**\r
3812 Show LibraryClassDefinitions\r
3813 When the operation is VIEW, disable all fields of internal frame\r
3814 \r
3815 @param type The input data of operation type\r
3816 \r
3817 **/\r
3818 private void showLibraryClassDefinitions(int operationType, int nodeType) {\r
3819 mlcd = null;\r
3820 if (operationType == ModuleMain.ADD) {\r
3821 mlcd = new ModuleLibraryClassDefinitions(this.xmllcd);\r
3822 }\r
3823 if (operationType == ModuleMain.UPDATE || operationType == ModuleMain.VIEW) {\r
3824 mlcd = new ModuleLibraryClassDefinitions(this.xmllcd);\r
3825 }\r
3826 this.jDesktopPane.removeAll();\r
3827 this.jDesktopPane.add(mlcd, 1);\r
3828 this.currentNodeType = nodeType;\r
3829 if (operationType == ModuleMain.VIEW) {\r
3830 setButtonEnable(false);\r
3831 mlcd.setViewMode(true);\r
3832 } else {\r
3833 setButtonEnable(true);\r
3834 }\r
3835 }\r
3836\r
3837 /**\r
3838 Show SourceFiles\r
3839 When the operation is VIEW, disable all fields of internal frame\r
3840 \r
3841 @param type The input data of operation type\r
3842 \r
3843 **/\r
3844 private void showSourceFiles(int operationType, int nodeType, int location) {\r
3845 msf = null;\r
3846 if (operationType == ModuleMain.ADD) {\r
3847 msf = new ModuleSourceFiles(this.xmlsf, -1, -1, 1);\r
3848 }\r
3849 if (operationType == ModuleMain.UPDATE || operationType == ModuleMain.VIEW) {\r
3850 msf = new ModuleSourceFiles(this.xmlsf, nodeType, location, 2);\r
3851 }\r
3852 this.jDesktopPane.removeAll();\r
3853 this.jDesktopPane.add(msf, 1);\r
3854 this.currentNodeType = nodeType;\r
3855 if (operationType == ModuleMain.VIEW) {\r
3856 setButtonEnable(false);\r
3857 msf.setViewMode(true);\r
3858 } else {\r
3859 setButtonEnable(true);\r
3860 }\r
3861 }\r
3862\r
3863 /**\r
3864 Show Includes\r
3865 When the operation is VIEW, disable all fields of internal frame\r
3866 \r
3867 @param type The input data of operation type\r
3868 \r
3869 **/\r
3870 private void showIncludes(int operationType, int nodeType, int location) {\r
3871 mic = null;\r
3872 if (operationType == ModuleMain.ADD) {\r
3873 mic = new ModuleIncludes(this.xmlic, -1, -1, 1);\r
3874 }\r
3875 if (operationType == ModuleMain.UPDATE || operationType == ModuleMain.VIEW) {\r
3876 mic = new ModuleIncludes(this.xmlic, nodeType, location, 2);\r
3877 }\r
3878 this.jDesktopPane.removeAll();\r
3879 this.jDesktopPane.add(mic, 1);\r
3880 this.currentNodeType = nodeType;\r
3881 if (operationType == ModuleMain.VIEW) {\r
3882 setButtonEnable(false);\r
3883 mic.setViewMode(true);\r
3884 } else {\r
3885 setButtonEnable(true);\r
3886 }\r
3887 }\r
3888\r
3889 /**\r
3890 Show Protocols\r
3891 When the operation is VIEW, disable all fields of internal frame\r
3892 \r
3893 @param type The input data of operation type\r
3894 \r
3895 **/\r
3896 private void showProtocols(int operationType, int nodeType, int location) {\r
3897 mp = null;\r
3898 if (operationType == ModuleMain.ADD) {\r
3899 mp = new ModuleProtocols(this.xmlpl);\r
3900 }\r
3901 if (operationType == ModuleMain.UPDATE || operationType == ModuleMain.VIEW) {\r
3902 mp = new ModuleProtocols(this.xmlpl, nodeType, location);\r
3903 }\r
3904 this.jDesktopPane.removeAll();\r
3905 this.jDesktopPane.add(mp, 1);\r
3906 this.currentNodeType = nodeType;\r
3907 if (operationType == ModuleMain.VIEW) {\r
3908 setButtonEnable(false);\r
3909 mp.setViewMode(true);\r
3910 } else {\r
3911 setButtonEnable(true);\r
3912 }\r
3913 }\r
3914\r
3915 /**\r
3916 Show Events\r
3917 When the operation is VIEW, disable all fields of internal frame\r
3918 \r
3919 @param type The input data of operation type\r
3920 \r
3921 **/\r
3922 private void showEvents(int operationType, int nodeType, int location) {\r
3923 mev = null;\r
3924 if (operationType == ModuleMain.ADD) {\r
3925 mev = new ModuleEvents(this.xmlen);\r
3926 }\r
3927 if (operationType == ModuleMain.UPDATE || operationType == ModuleMain.VIEW) {\r
3928 mev = new ModuleEvents(this.xmlen, nodeType, location);\r
3929 }\r
3930 this.jDesktopPane.removeAll();\r
3931 this.jDesktopPane.add(mev, 1);\r
3932 this.currentNodeType = nodeType;\r
3933 if (operationType == ModuleMain.VIEW) {\r
3934 setButtonEnable(false);\r
3935 mev.setViewMode(true);\r
3936 } else {\r
3937 setButtonEnable(true);\r
3938 }\r
3939 }\r
3940\r
3941 /**\r
3942 Show Hobs\r
3943 When the operation is VIEW, disable all fields of internal frame\r
3944 \r
3945 @param type The input data of operation type\r
3946 \r
3947 **/\r
3948 private void showHobs(int operationType, int nodeType, int location) {\r
3949 mh = null;\r
3950 if (operationType == ModuleMain.ADD) {\r
3951 mh = new ModuleHobs(this.xmlhob);\r
3952 }\r
3953 if (operationType == ModuleMain.UPDATE || operationType == ModuleMain.VIEW) {\r
3954 mh = new ModuleHobs(this.xmlhob, nodeType, location);\r
3955 }\r
3956 this.jDesktopPane.removeAll();\r
3957 this.jDesktopPane.add(mh, 1);\r
3958 this.currentNodeType = nodeType;\r
3959 if (operationType == ModuleMain.VIEW) {\r
3960 setButtonEnable(false);\r
3961 mh.setViewMode(true);\r
3962 } else {\r
3963 setButtonEnable(true);\r
3964 }\r
3965 }\r
3966\r
3967 /**\r
3968 Show Ppis\r
3969 When the operation is VIEW, disable all fields of internal frame\r
3970 \r
3971 @param type The input data of operation type\r
3972 \r
3973 **/\r
3974 private void showPpis(int operationType, int nodeType, int location) {\r
3975 mpp = null;\r
3976 if (operationType == ModuleMain.ADD) {\r
3977 mpp = new ModulePpis(this.xmlppi);\r
3978 }\r
3979 if (operationType == ModuleMain.UPDATE || operationType == ModuleMain.VIEW) {\r
3980 mpp = new ModulePpis(this.xmlppi, nodeType, location);\r
3981 }\r
3982 this.jDesktopPane.removeAll();\r
3983 this.jDesktopPane.add(mpp, 1);\r
3984 this.currentNodeType = nodeType;\r
3985 if (operationType == ModuleMain.VIEW) {\r
3986 setButtonEnable(false);\r
3987 mpp.setViewMode(true);\r
3988 } else {\r
3989 setButtonEnable(true);\r
3990 }\r
3991 }\r
3992\r
3993 /**\r
3994 Show Variables\r
3995 When the operation is VIEW, disable all fields of internal frame\r
3996 \r
3997 @param type The input data of operation type\r
3998 \r
3999 **/\r
4000 private void showVariables(int operationType, int nodeType, int location) {\r
4001 mv = null;\r
4002 if (operationType == ModuleMain.ADD) {\r
4003 mv = new ModuleVariables(this.xmlvb);\r
4004 }\r
4005 if (operationType == ModuleMain.UPDATE || operationType == ModuleMain.VIEW) {\r
4006 mv = new ModuleVariables(this.xmlvb, nodeType, location);\r
4007 }\r
4008 this.jDesktopPane.removeAll();\r
4009 this.jDesktopPane.add(mv, 1);\r
4010 this.currentNodeType = nodeType;\r
4011 if (operationType == ModuleMain.VIEW) {\r
4012 setButtonEnable(false);\r
4013 mv.setViewMode(true);\r
4014 } else {\r
4015 setButtonEnable(true);\r
4016 }\r
4017 }\r
4018\r
4019 /**\r
4020 Show BootModes\r
4021 When the operation is VIEW, disable all fields of internal frame\r
4022 \r
4023 @param type The input data of operation type\r
4024 \r
4025 **/\r
4026 private void showBootModes(int operationType, int nodeType, int location) {\r
4027 mbm = null;\r
4028 if (operationType == ModuleMain.ADD) {\r
4029 mbm = new ModuleBootModes(this.xmlbm);\r
4030 }\r
4031 if (operationType == ModuleMain.UPDATE || operationType == ModuleMain.VIEW) {\r
4032 mbm = new ModuleBootModes(this.xmlbm, nodeType, location);\r
4033 }\r
4034 this.jDesktopPane.removeAll();\r
4035 this.jDesktopPane.add(mbm, 1);\r
4036 this.currentNodeType = nodeType;\r
4037 if (operationType == ModuleMain.VIEW) {\r
4038 setButtonEnable(false);\r
4039 mbm.setViewMode(true);\r
4040 } else {\r
4041 setButtonEnable(true);\r
4042 }\r
4043 }\r
4044\r
4045 /**\r
4046 Show SystemTables\r
4047 When the operation is VIEW, disable all fields of internal frame\r
4048 \r
4049 @param type The input data of operation type\r
4050 \r
4051 **/\r
4052 private void showSystemTables(int operationType, int nodeType, int location) {\r
4053 mst = null;\r
4054 if (operationType == ModuleMain.ADD) {\r
4055 mst = new ModuleSystemTables(this.xmlst);\r
4056 }\r
4057 if (operationType == ModuleMain.UPDATE || operationType == ModuleMain.VIEW) {\r
4058 mst = new ModuleSystemTables(this.xmlst, nodeType, location);\r
4059 }\r
4060 this.jDesktopPane.removeAll();\r
4061 this.jDesktopPane.add(mst, 1);\r
4062 this.currentNodeType = nodeType;\r
4063 if (operationType == ModuleMain.VIEW) {\r
4064 setButtonEnable(false);\r
4065 mst.setViewMode(true);\r
4066 } else {\r
4067 setButtonEnable(true);\r
4068 }\r
4069 }\r
4070\r
4071 /**\r
4072 Show DataHubs\r
4073 When the operation is VIEW, disable all fields of internal frame\r
4074 \r
4075 @param type The input data of operation type\r
4076 \r
4077 **/\r
4078 private void showDataHubs(int operationType, int nodeType, int location) {\r
4079 mdh = null;\r
4080 if (operationType == ModuleMain.ADD) {\r
4081 mdh = new ModuleDataHubs(this.xmldh);\r
4082 }\r
4083 if (operationType == ModuleMain.UPDATE || operationType == ModuleMain.VIEW) {\r
4084 mdh = new ModuleDataHubs(this.xmldh, nodeType, location);\r
4085 }\r
4086 this.jDesktopPane.removeAll();\r
4087 this.jDesktopPane.add(mdh, 1);\r
4088 this.currentNodeType = nodeType;\r
4089 if (operationType == ModuleMain.VIEW) {\r
4090 setButtonEnable(false);\r
4091 mdh.setViewMode(true);\r
4092 } else {\r
4093 setButtonEnable(true);\r
4094 }\r
4095 }\r
4096\r
4097 /**\r
4098 Show Formsets\r
4099 When the operation is VIEW, disable all fields of internal frame\r
4100 \r
4101 @param type The input data of operation type\r
4102 \r
4103 **/\r
4104 private void showFormsets(int operationType, int nodeType, int location) {\r
4105 mf = null;\r
4106 if (operationType == ModuleMain.ADD) {\r
4107 mf = new ModuleFormsets(this.xmlfs);\r
4108 }\r
4109 if (operationType == ModuleMain.UPDATE || operationType == ModuleMain.VIEW) {\r
4110 mf = new ModuleFormsets(this.xmlfs, nodeType, location);\r
4111 }\r
4112 this.jDesktopPane.removeAll();\r
4113 this.jDesktopPane.add(mf, 1);\r
4114 this.currentNodeType = nodeType;\r
4115 if (operationType == ModuleMain.VIEW) {\r
4116 setButtonEnable(false);\r
4117 mf.setViewMode(true);\r
4118 } else {\r
4119 setButtonEnable(true);\r
4120 }\r
4121 }\r
4122\r
4123 /**\r
4124 Show Show Guids\r
4125 When the operation is VIEW, disable all fields of internal frame\r
4126 \r
4127 @param type The input data of operation type\r
4128 \r
4129 **/\r
4130 private void showGuids(int operationType, int nodeType, int location) {\r
4131 mg = null;\r
4132 if (operationType == ModuleMain.ADD || operationType == ModuleMain.VIEW) {\r
4133 mg = new ModuleGuids(this.xmlgu);\r
4134 }\r
4135 if (operationType == ModuleMain.UPDATE || operationType == ModuleMain.VIEW) {\r
4136 mg = new ModuleGuids(this.xmlgu, nodeType, location);\r
4137 }\r
4138 this.jDesktopPane.removeAll();\r
4139 this.jDesktopPane.add(mg, 1);\r
4140 this.currentNodeType = nodeType;\r
4141 if (operationType == ModuleMain.VIEW) {\r
4142 setButtonEnable(false);\r
4143 mg.setViewMode(true);\r
4144 } else {\r
4145 setButtonEnable(true);\r
4146 }\r
4147 }\r
4148\r
4149 /**\r
4150 Show Externs\r
4151 When the operation is VIEW, disable all fields of internal frame\r
4152 \r
4153 @param type The input data of operation type\r
4154 \r
4155 **/\r
4156 private void showExterns(int operationType, int nodeType, int location) {\r
4157 met = null;\r
4158 if (operationType == ModuleMain.ADD) {\r
4159 met = new ModuleExterns(this.xmlet);\r
4160 }\r
4161 if (operationType == ModuleMain.UPDATE || operationType == ModuleMain.VIEW) {\r
4162 met = new ModuleExterns(this.xmlet, nodeType, location);\r
4163 }\r
4164 this.jDesktopPane.removeAll();\r
4165 this.jDesktopPane.add(met, 1);\r
4166 this.currentNodeType = nodeType;\r
4167 if (operationType == ModuleMain.VIEW) {\r
4168 setButtonEnable(false);\r
4169 met.setViewMode(true);\r
4170 } else {\r
4171 setButtonEnable(true);\r
4172 }\r
4173 }\r
4174\r
4175 /**\r
4176 Show PCDs\r
4177 When the operation is VIEW, disable all fields of internal frame\r
4178 \r
4179 @param type The input data of operation type\r
4180 \r
4181 **/\r
4182 private void showPCDs(int operationType, int nodeType, int location) {\r
4183 mpcd = null;\r
4184 if (operationType == ModuleMain.ADD) {\r
4185 mpcd = new ModulePCDs(this.xmlpcd);\r
4186 }\r
4187 if (operationType == ModuleMain.UPDATE || operationType == ModuleMain.VIEW) {\r
4188 mpcd = new ModulePCDs(this.xmlpcd, nodeType, location);\r
4189 }\r
4190 this.jDesktopPane.removeAll();\r
4191 this.jDesktopPane.add(mpcd, 1);\r
4192 this.currentNodeType = nodeType;\r
4193 if (operationType == ModuleMain.VIEW) {\r
4194 setButtonEnable(false);\r
4195 mpcd.setViewMode(true);\r
4196 } else {\r
4197 setButtonEnable(true);\r
4198 }\r
4199 }\r
4200\r
4201 /**\r
4202 Save currentModule when press button OK\r
4203 \r
4204 **/\r
4205 private void save() {\r
4206 if (this.currentNodeType == IDefaultMutableTreeNode.MSA_HEADER) {\r
4207 if (!msa.check()) {\r
4208 return;\r
4209 }\r
4210 msa.save();\r
4211 msa.setViewMode(true);\r
4212 this.xmlmh = msa.getMsaHeader();\r
4213 }\r
4214\r
4215 if (this.currentNodeType == IDefaultMutableTreeNode.MBD_HEADER) {\r
4216 if (!mbd.check()) {\r
4217 return;\r
4218 }\r
4219 mbd.save();\r
4220 mbd.setViewMode(true);\r
4221 this.xmlmbdh = mbd.getMbdHeader();\r
4222 }\r
4223\r
4224 if (this.currentNodeType == IDefaultMutableTreeNode.MLSA_HEADER) {\r
4225 if (!mlsa.check()) {\r
4226 return;\r
4227 }\r
4228 mlsa.save();\r
4229 mlsa.setViewMode(true);\r
4230 this.xmlmlh = mlsa.getMsaLibHeader();\r
4231 }\r
4232\r
4233 if (this.currentNodeType == IDefaultMutableTreeNode.MLBD_HEADER) {\r
4234 if (!mlbd.check()) {\r
4235 return;\r
4236 }\r
4237 mlbd.save();\r
4238 mlbd.setViewMode(true);\r
4239 this.xmlmlbdh = mlbd.getMbdLibHeader();\r
4240 }\r
4241\r
4242 if (this.currentNodeType == IDefaultMutableTreeNode.LIBRARIES\r
4243 || this.currentNodeType == IDefaultMutableTreeNode.LIBRARIES_ARCH\r
4244 || this.currentNodeType == IDefaultMutableTreeNode.LIBRARIES_ARCH_ITEM\r
4245 || this.currentNodeType == IDefaultMutableTreeNode.LIBRARIES_LIBRARY\r
4246 || this.currentNodeType == IDefaultMutableTreeNode.LIBRARIES_LIBRARY_ITEM) {\r
4247 if (!mlib.check()) {\r
4248 return;\r
4249 }\r
4250 mlib.save();\r
4251 mlib.setViewMode(true);\r
4252 this.xmllib = mlib.getLibraries();\r
4253 }\r
4254\r
4255 if (this.currentNodeType == IDefaultMutableTreeNode.LIBRARYCLASSDEFINITIONS\r
4256 || this.currentNodeType == IDefaultMutableTreeNode.LIBRARY_CLASS_DEFINITION) {\r
4257 if (!mlcd.check()) {\r
4258 return;\r
4259 }\r
4260 mlcd.save();\r
4261 mlcd.setViewMode(true);\r
4262 this.xmllcd = mlcd.getLibraryClassDefinitions();\r
4263 }\r
4264\r
4265 if (this.currentNodeType == IDefaultMutableTreeNode.SOURCEFILES\r
4266 || this.currentNodeType == IDefaultMutableTreeNode.SOURCEFILES_ARCH\r
4267 || this.currentNodeType == IDefaultMutableTreeNode.SOURCEFILES_ARCH_ITEM\r
4268 || this.currentNodeType == IDefaultMutableTreeNode.SOURCEFILES_FILENAME\r
4269 || this.currentNodeType == IDefaultMutableTreeNode.SOURCEFILES_FILENAME_ITEM) {\r
4270 if (!msf.check()) {\r
4271 return;\r
4272 }\r
4273 msf.save();\r
4274 msf.setViewMode(true);\r
4275 this.xmlsf = msf.getSourceFiles();\r
4276 }\r
4277\r
4278 if (this.currentNodeType == IDefaultMutableTreeNode.INCLUDES\r
4279 || this.currentNodeType == IDefaultMutableTreeNode.INCLUDES_ARCH\r
4280 || this.currentNodeType == IDefaultMutableTreeNode.INCLUDES_ARCH_ITEM\r
4281 || this.currentNodeType == IDefaultMutableTreeNode.INCLUDES_PACKAGENAME\r
4282 || this.currentNodeType == IDefaultMutableTreeNode.INCLUDES_PACKAGENAME_ITEM) {\r
4283 if (!mic.check()) {\r
4284 return;\r
4285 }\r
4286 mic.save();\r
4287 mic.setViewMode(true);\r
4288 this.xmlic = mic.getIncludes();\r
4289 }\r
4290\r
4291 if (this.currentNodeType == IDefaultMutableTreeNode.PROTOCOLS\r
4292 || this.currentNodeType == IDefaultMutableTreeNode.PROTOCOLS_PROTOCOL\r
4293 || this.currentNodeType == IDefaultMutableTreeNode.PROTOCOLS_PROTOCOL_ITEM\r
4294 || this.currentNodeType == IDefaultMutableTreeNode.PROTOCOLS_PROTOCOLNOTIFY\r
4295 || this.currentNodeType == IDefaultMutableTreeNode.PROTOCOLS_PROTOCOLNOTIFY_ITEM) {\r
4296 if (!mp.check()) {\r
4297 return;\r
4298 }\r
4299 mp.save();\r
4300 mp.setViewMode(true);\r
4301 this.xmlpl = mp.getProtocols();\r
4302 }\r
4303\r
4304 if (this.currentNodeType == IDefaultMutableTreeNode.EVENTS\r
4305 || this.currentNodeType == IDefaultMutableTreeNode.EVENTS_CREATEEVENTS\r
4306 || this.currentNodeType == IDefaultMutableTreeNode.EVENTS_CREATEEVENTS_ITEM\r
4307 || this.currentNodeType == IDefaultMutableTreeNode.EVENTS_SIGNALEVENTS\r
4308 || this.currentNodeType == IDefaultMutableTreeNode.EVENTS_SIGNALEVENTS_ITEM) {\r
4309 if (!mev.check()) {\r
4310 return;\r
4311 }\r
4312 mev.save();\r
4313 mev.setViewMode(true);\r
4314 this.xmlen = mev.getEvents();\r
4315 }\r
4316\r
4317 if (this.currentNodeType == IDefaultMutableTreeNode.HOBS\r
4318 || this.currentNodeType == IDefaultMutableTreeNode.HOBS_HOB_ITEM) {\r
4319 if (!mh.check()) {\r
4320 return;\r
4321 }\r
4322 mh.save();\r
4323 mh.setViewMode(true);\r
4324 this.xmlhob = mh.getHobs();\r
4325 }\r
4326\r
4327 if (this.currentNodeType == IDefaultMutableTreeNode.PPIS\r
4328 || this.currentNodeType == IDefaultMutableTreeNode.PPIS_PPI\r
4329 || this.currentNodeType == IDefaultMutableTreeNode.PPIS_PPI_ITEM\r
4330 || this.currentNodeType == IDefaultMutableTreeNode.PPIS_PPINOTIFY\r
4331 || this.currentNodeType == IDefaultMutableTreeNode.PPIS_PPINOTIFY_ITEM) {\r
4332 if (!mpp.check()) {\r
4333 return;\r
4334 }\r
4335 mpp.save();\r
4336 mpp.setViewMode(true);\r
4337 this.xmlppi = mpp.getPpis();\r
4338 }\r
4339\r
4340 if (this.currentNodeType == IDefaultMutableTreeNode.VARIABLES\r
4341 || this.currentNodeType == IDefaultMutableTreeNode.VARIABLES_VARIABLE_ITEM) {\r
4342 if (!mv.check()) {\r
4343 return;\r
4344 }\r
4345 mv.save();\r
4346 mv.setViewMode(true);\r
4347 this.xmlvb = mv.getVariables();\r
4348 }\r
4349\r
4350 if (this.currentNodeType == IDefaultMutableTreeNode.BOOTMODES\r
4351 || this.currentNodeType == IDefaultMutableTreeNode.BOOTMODES_BOOTMODE_ITEM) {\r
4352 if (!mbm.check()) {\r
4353 return;\r
4354 }\r
4355 mbm.save();\r
4356 mbm.setViewMode(true);\r
4357 this.xmlbm = mbm.getBootModes();\r
4358 }\r
4359\r
4360 if (this.currentNodeType == IDefaultMutableTreeNode.SYSTEMTABLES\r
4361 || this.currentNodeType == IDefaultMutableTreeNode.SYSTEMTABLES_SYSTEMTABLE_ITEM) {\r
4362 if (!mst.check()) {\r
4363 return;\r
4364 }\r
4365 mst.save();\r
4366 mst.setViewMode(true);\r
4367 this.xmlst = mst.getSystemTables();\r
4368 }\r
4369\r
4370 if (this.currentNodeType == IDefaultMutableTreeNode.DATAHUBS\r
4371 || this.currentNodeType == IDefaultMutableTreeNode.DATAHUBS_DATAHUB_ITEM) {\r
4372 if (!mdh.check()) {\r
4373 return;\r
4374 }\r
4375 mdh.save();\r
4376 mdh.setViewMode(true);\r
4377 this.xmldh = mdh.getDataHubs();\r
4378 }\r
4379\r
4380 if (this.currentNodeType == IDefaultMutableTreeNode.FORMSETS\r
4381 || this.currentNodeType == IDefaultMutableTreeNode.FORMSETS_FORMSET_ITEM) {\r
4382 if (!mf.check()) {\r
4383 return;\r
4384 }\r
4385 mf.save();\r
4386 mf.setViewMode(true);\r
4387 this.xmlfs = mf.getFormsets();\r
4388 }\r
4389\r
4390 if (this.currentNodeType == IDefaultMutableTreeNode.GUIDS\r
4391 || this.currentNodeType == IDefaultMutableTreeNode.GUIDS_GUIDENTRY_ITEM) {\r
4392 if (!mg.check()) {\r
4393 return;\r
4394 }\r
4395 mg.save();\r
4396 mg.setViewMode(true);\r
4397 this.xmlgu = mg.getGuids();\r
4398 }\r
4399\r
4400 if (this.currentNodeType == IDefaultMutableTreeNode.EXTERNS\r
4401 || this.currentNodeType == IDefaultMutableTreeNode.EXTERNS_EXTERN_ITEM) {\r
4402 if (!met.check()) {\r
4403 return;\r
4404 }\r
4405 met.save();\r
4406 met.setViewMode(true);\r
4407 this.xmlet = met.getExterns();\r
4408 }\r
4409\r
4410 if (this.currentNodeType == IDefaultMutableTreeNode.PCDS\r
4411 || this.currentNodeType == IDefaultMutableTreeNode.PCDS_PCDDATA_ITEM) {\r
4412 if (!mpcd.check()) {\r
4413 return;\r
4414 }\r
4415 mpcd.save();\r
4416 mpcd.setViewMode(true);\r
4417 this.xmlpcd = mpcd.getPcds();\r
4418 }\r
4419\r
4420 reloadTreeAndTable(NEW_WITH_CHANGE);\r
4421 }\r
4422}\r