3 The main GUI for module editor.
5 Copyright (c) 2006, Intel Corporation
6 All rights reserved. This program and the accompanying materials
7 are licensed and made available under the terms and conditions of the BSD License
8 which accompanies this distribution. The full text of the license may be found at
9 http://opensource.org/licenses/bsd-license.php
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
16 package org
.tianocore
.packaging
.module
.ui
;
18 import java
.awt
.event
.ActionEvent
;
19 import java
.awt
.event
.MouseEvent
;
20 import java
.awt
.event
.MouseListener
;
21 import java
.awt
.event
.WindowEvent
;
23 import java
.io
.IOException
;
25 import javax
.swing
.JButton
;
26 import javax
.swing
.JDesktopPane
;
27 import javax
.swing
.JFileChooser
;
28 import javax
.swing
.JInternalFrame
;
29 import javax
.swing
.JMenu
;
30 import javax
.swing
.JMenuBar
;
31 import javax
.swing
.JMenuItem
;
32 import javax
.swing
.JOptionPane
;
33 import javax
.swing
.JPanel
;
34 import javax
.swing
.JPopupMenu
;
35 import javax
.swing
.JScrollPane
;
36 import javax
.swing
.border
.BevelBorder
;
37 import javax
.swing
.event
.TreeSelectionEvent
;
38 import javax
.swing
.event
.TreeSelectionListener
;
40 import org
.apache
.xmlbeans
.XmlCursor
;
41 import org
.apache
.xmlbeans
.XmlException
;
42 import org
.apache
.xmlbeans
.XmlObject
;
43 import org
.apache
.xmlbeans
.XmlOptions
;
44 import org
.tianocore
.BootModesDocument
;
45 import org
.tianocore
.BuildOptionsDocument
;
46 import org
.tianocore
.DataHubsDocument
;
47 import org
.tianocore
.EventsDocument
;
48 import org
.tianocore
.ExternsDocument
;
49 import org
.tianocore
.FormsetsDocument
;
50 import org
.tianocore
.GuidsDocument
;
51 import org
.tianocore
.HobsDocument
;
52 import org
.tianocore
.IncludesDocument
;
53 import org
.tianocore
.LibrariesDocument
;
54 import org
.tianocore
.LibraryClassDefinitionsDocument
;
55 import org
.tianocore
.LibraryModuleBuildDescriptionDocument
;
56 import org
.tianocore
.LibraryModuleSurfaceAreaDocument
;
57 import org
.tianocore
.MbdHeaderDocument
;
58 import org
.tianocore
.MbdLibHeaderDocument
;
59 import org
.tianocore
.ModuleBuildDescriptionDocument
;
60 import org
.tianocore
.ModuleSurfaceAreaDocument
;
61 import org
.tianocore
.MsaHeaderDocument
;
62 import org
.tianocore
.MsaLibHeaderDocument
;
63 import org
.tianocore
.PCDsDocument
;
64 import org
.tianocore
.PPIsDocument
;
65 import org
.tianocore
.ProtocolsDocument
;
66 import org
.tianocore
.SourceFilesDocument
;
67 import org
.tianocore
.SystemTablesDocument
;
68 import org
.tianocore
.VariablesDocument
;
69 import org
.tianocore
.common
.IFileFilter
;
70 import org
.tianocore
.common
.Log
;
71 import org
.tianocore
.packaging
.common
.ui
.IDefaultMutableTreeNode
;
72 import org
.tianocore
.packaging
.common
.ui
.IDesktopManager
;
73 import org
.tianocore
.packaging
.common
.ui
.IFrame
;
74 import org
.tianocore
.packaging
.common
.ui
.ITree
;
75 import org
.tianocore
.packaging
.workspace
.common
.Workspace
;
78 The class is used to show main GUI of ModuleEditor
79 It extends IFrame implements MouseListener, TreeSelectionListener
81 @since ModuleEditor 1.0
84 public class ModuleMain
extends IFrame
implements MouseListener
, TreeSelectionListener
{
86 /// Define class Serial Version UID
88 private static final long serialVersionUID
= -7103240960573031772L;
91 //Define class members
93 private String currentModule
= "";
95 private String saveFileName
= "";
98 /// 0 - reserved; 1 - msa; 2 - mbd; 3 - lmsa; 4 - lmbd;
100 private int currentModuleType
= 0;
102 private int currentNodeType
= -1;
104 private String windowTitle
= "ModuleEditor 1.0 ";
106 private ModuleSurfaceAreaDocument xmlMsaDoc
= null;
108 private ModuleBuildDescriptionDocument xmlMbdDoc
= null;
110 private LibraryModuleSurfaceAreaDocument xmlMlsaDoc
= null;
112 private LibraryModuleBuildDescriptionDocument xmlMlbdDoc
= null;
114 private MsaHeaderDocument
.MsaHeader xmlmh
= null;
116 private MbdHeaderDocument
.MbdHeader xmlmbdh
= null;
118 private MsaLibHeaderDocument
.MsaLibHeader xmlmlh
= null;
120 private MbdLibHeaderDocument
.MbdLibHeader xmlmlbdh
= null;
122 private LibraryClassDefinitionsDocument
.LibraryClassDefinitions xmllcd
= null;
124 private LibrariesDocument
.Libraries xmllib
= null;
126 private SourceFilesDocument
.SourceFiles xmlsf
= null;
128 private IncludesDocument
.Includes xmlic
= null;
130 private ProtocolsDocument
.Protocols xmlpl
= null;
132 private EventsDocument
.Events xmlen
= null;
134 private HobsDocument
.Hobs xmlhob
= null;
136 private PPIsDocument
.PPIs xmlppi
= null;
138 private VariablesDocument
.Variables xmlvb
= null;
140 private BootModesDocument
.BootModes xmlbm
= null;
142 private SystemTablesDocument
.SystemTables xmlst
= null;
144 private DataHubsDocument
.DataHubs xmldh
= null;
146 private FormsetsDocument
.Formsets xmlfs
= null;
148 private GuidsDocument
.Guids xmlgu
= null;
150 private ExternsDocument
.Externs xmlet
= null;
152 private PCDsDocument
.PCDs xmlpcd
= null;
154 private BuildOptionsDocument
.BuildOptions xmlbo
= null;
156 IDefaultMutableTreeNode dmtnRoot
= null;
158 private JPanel jContentPane
= null;
160 private JMenuBar jMenuBar
= null;
162 private JMenu jMenuModule
= null;
164 private JMenu jMenuModuleNew
= null;
166 private JMenuItem jMenuItemModuleNewModule
= null;
168 private JMenuItem jMenuItemModuleSaveAs
= null;
170 private JMenuItem jMenuItemModuleExit
= null;
172 private JMenu jMenuEdit
= null;
174 private JMenuItem jMenuItemEditAddLibraryClassDefinitions
= null;
176 private JMenuItem jMenuItemEditAddSourceFiles
= null;
178 private JMenuItem jMenuItemEditAddIncludes
= null;
180 private JMenuItem jMenuItemEditAddProtocols
= null;
182 private JMenuItem jMenuItemEditAddEvents
= null;
184 private JMenuItem jMenuItemEditAddHobs
= null;
186 private JMenuItem jMenuItemEditAddPPIs
= null;
188 private JMenuItem jMenuItemEditAddVariables
= null;
190 private JMenuItem jMenuItemEditAddBootModes
= null;
192 private JMenuItem jMenuItemEditAddSystemTables
= null;
194 private JMenuItem jMenuItemEditAddDataHubs
= null;
196 private JMenuItem jMenuItemEditAddFormsets
= null;
198 private JMenuItem jMenuItemEditAddGuids
= null;
200 private JMenuItem jMenuItemEditAddExterns
= null;
202 private JMenuItem jMenuItemEditAddPCDs
= null;
204 private JDesktopPane jDesktopPane
= null;
206 private IDesktopManager iDesktopManager
= new IDesktopManager();
208 private JScrollPane jScrollPaneTree
= null;
210 private ITree iTree
= null;
212 private JMenu jMenuHelp
= null;
214 private JMenuItem jMenuItemHelpAbout
= null;
216 private JMenu jMenuEditAdd
= null;
218 private JMenuItem jMenuItemEditDelete
= null;
220 private JMenuItem jMenuItemEditUpdate
= null;
222 private JPopupMenu jPopupMenu
= null;
224 private JMenuItem jMenuItemPopupAdd
= null;
226 private JMenuItem jMenuItemPopupUpdate
= null;
228 private JMenuItem jMenuItemPopupDelete
= null;
230 private Workspace ws
= new Workspace();
232 private static final int OPENED
= 0;
234 private static final int CLOSED
= 1;
236 private static final int NEW_WITHOUT_CHANGE
= 2;
238 private static final int NEW_WITH_CHANGE
= 3;
240 private static final int UPDATE_WITHOUT_CHANGE
= 4;
242 private static final int UPDATE_WITH_CHANGE
= 5;
244 private static final int SAVE_WITHOUT_CHANGE
= 6;
246 private static final int SAVE_WITH_CHANGE
= 7;
248 private static final int ADD
= 1;
250 private static final int UPDATE
= 2;
252 //private static final int DELETE = 3;
254 private static final int VIEW
= 4;
256 private MsaHeader msa
= null;
258 private MbdHeader mbd
= null;
260 private MsaLibHeader mlsa
= null;
262 private MbdLibHeader mlbd
= null;
264 private ModuleLibraryClassDefinitions mlcd
= null;
266 private MbdLibraries mlib
= null;
268 private ModuleSourceFiles msf
= null;
270 private ModuleIncludes mic
= null;
272 private ModuleProtocols mp
= null;
274 private ModuleEvents mev
= null;
276 private ModuleHobs mh
= null;
278 private ModulePpis mpp
= null;
280 private ModuleVariables mv
= null;
282 private ModuleBootModes mbm
= null;
284 private ModuleSystemTables mst
= null;
286 private ModuleDataHubs mdh
= null;
288 private ModuleFormsets mf
= null;
290 private ModuleGuids mg
= null;
292 private ModuleExterns met
= null;
294 private ModulePCDs mpcd
= null;
296 private JMenuItem jMenuItemModuleOpenModule
= null;
298 private JMenuItem jMenuItemModuleNewModuleBuildDescription
= null;
300 private JMenuItem jMenuItemModuleNewLibraryModule
= null;
302 private JMenuItem jMenuItemModuleNewLibraryModuleBuildDescription
= null;
304 private JMenu jMenuModuleOpen
= null;
306 private JMenuItem jMenuItemModuleOpenModuleBuildDescription
= null;
308 private JMenuItem jMenuItemModuleOpenLibraryModule
= null;
310 private JMenuItem jMenuItemModuleOpenLibraryModuleBuildDescription
= null;
312 private JMenuItem jMenuItemModuleSave
= null;
314 private JMenuItem jMenuItemModuleClose
= null;
316 private JMenu jMenuTools
= null;
318 private JMenu jMenuWindow
= null;
320 private JMenuItem jMenuItemEditAddLibraries
= null;
322 private JPanel jPanelOperation
= null;
324 private JButton jButtonOk
= null;
326 private JButton jButtonCancel
= null;
329 This method initializes jMenuBar
331 @return javax.swing.JMenuBar Main menu bar for the entire GUI
334 private JMenuBar
getjJMenuBar() {
335 if (jMenuBar
== null) {
336 jMenuBar
= new JMenuBar();
337 jMenuBar
.setPreferredSize(new java
.awt
.Dimension(0, 18));
338 jMenuBar
.add(getJMenuModule());
339 jMenuBar
.add(getJMenuEdit());
340 jMenuBar
.add(getJMenuTools());
341 jMenuBar
.add(getJMenuWindow());
342 jMenuBar
.add(getJMenuHelp());
348 This method initializes jMenuFile
350 @return javax.swing.JMenu jMenuModule
353 private JMenu
getJMenuModule() {
354 if (jMenuModule
== null) {
355 jMenuModule
= new JMenu();
356 jMenuModule
.setText("Module");
357 jMenuModule
.add(getJMenuModuleNew());
358 jMenuModule
.addSeparator();
359 jMenuModule
.add(getJMenuModuleOpen());
360 jMenuModule
.addSeparator();
361 jMenuModule
.add(getJMenuItemModuleSave());
362 jMenuModule
.add(getJMenuItemModuleSaveAs());
363 jMenuModule
.addSeparator();
364 jMenuModule
.add(getJMenuItemModuleClose());
365 jMenuModule
.addSeparator();
366 jMenuModule
.add(getJMenuItemModuleExit());
372 This method initializes jMenuItemModuleNewModule
374 @return javax.swing.JMenuItem jMenuItemModuleNewModule
377 private JMenuItem
getJMenuItemModuleNewModule() {
378 if (jMenuItemModuleNewModule
== null) {
379 jMenuItemModuleNewModule
= new JMenuItem();
380 jMenuItemModuleNewModule
.setText("Module (.msa)");
381 jMenuItemModuleNewModule
.addActionListener(this);
383 return jMenuItemModuleNewModule
;
387 This method initializes jMenuItemModuleSaveAs
389 @return javax.swing.JMenuItem jMenuItemModuleSaveAs
392 private JMenuItem
getJMenuItemModuleSaveAs() {
393 if (jMenuItemModuleSaveAs
== null) {
394 jMenuItemModuleSaveAs
= new JMenuItem();
395 jMenuItemModuleSaveAs
.setText("Save As...");
396 jMenuItemModuleSaveAs
.addActionListener(this);
397 jMenuItemModuleSaveAs
.setEnabled(false);
399 return jMenuItemModuleSaveAs
;
403 This method initializes jMenuItemModuleExit
405 @return javax.swing.JMenuItem jMenuItemModuleExit
408 private JMenuItem
getJMenuItemModuleExit() {
409 if (jMenuItemModuleExit
== null) {
410 jMenuItemModuleExit
= new JMenuItem();
411 jMenuItemModuleExit
.setText("Exit");
412 jMenuItemModuleExit
.addActionListener(this);
414 return jMenuItemModuleExit
;
418 This method initializes jMenuEdit
420 @return javax.swing.JMenu jMenuEdit
423 private JMenu
getJMenuEdit() {
424 if (jMenuEdit
== null) {
425 jMenuEdit
= new JMenu();
426 jMenuEdit
.setText("Edit");
427 jMenuEdit
.add(getJMenu());
428 jMenuEdit
.add(getJMenuItemEditUpdate());
429 jMenuEdit
.add(getJMenuItemEditDelete());
435 This method initializes jMenuItemEditAddLibraryClassDefinitions
437 @return javax.swing.JMenuItem jMenuItemEditAddLibraryClassDefinitions
440 private JMenuItem
getJMenuItemEditAddLibraryClassDefinitions() {
441 if (jMenuItemEditAddLibraryClassDefinitions
== null) {
442 jMenuItemEditAddLibraryClassDefinitions
= new JMenuItem();
443 jMenuItemEditAddLibraryClassDefinitions
.setText("Library Class Definitions");
444 jMenuItemEditAddLibraryClassDefinitions
.addActionListener(this);
446 return jMenuItemEditAddLibraryClassDefinitions
;
450 This method initializes jMenuItemEditAddSourceFiles
452 @return javax.swing.JMenuItem jMenuItemEditAddSourceFiles
455 private JMenuItem
getJMenuItemEditAddSourceFiles() {
456 if (jMenuItemEditAddSourceFiles
== null) {
457 jMenuItemEditAddSourceFiles
= new JMenuItem();
458 jMenuItemEditAddSourceFiles
.setText("Source Files");
459 jMenuItemEditAddSourceFiles
.addActionListener(this);
461 return jMenuItemEditAddSourceFiles
;
465 This method initializes jMenuItemEditAddIncludes
467 @return javax.swing.JMenuItem jMenuItemEditAddIncludes
470 private JMenuItem
getJMenuItemEditAddIncludes() {
471 if (jMenuItemEditAddIncludes
== null) {
472 jMenuItemEditAddIncludes
= new JMenuItem();
473 jMenuItemEditAddIncludes
.setText("Includes");
474 jMenuItemEditAddIncludes
.addActionListener(this);
476 return jMenuItemEditAddIncludes
;
480 This method initializes jMenuItemEditAddProtocols
482 @return javax.swing.JMenuItem jMenuItemEditAddProtocols
485 private JMenuItem
getJMenuItemEditAddProtocols() {
486 if (jMenuItemEditAddProtocols
== null) {
487 jMenuItemEditAddProtocols
= new JMenuItem();
488 jMenuItemEditAddProtocols
.setText("Protocols");
489 jMenuItemEditAddProtocols
.addActionListener(this);
491 return jMenuItemEditAddProtocols
;
495 This method initializes jMenuItemEditAddEvents
497 @return javax.swing.JMenuItem jMenuItemEditAddEvents
500 private JMenuItem
getJMenuItemEditAddEvents() {
501 if (jMenuItemEditAddEvents
== null) {
502 jMenuItemEditAddEvents
= new JMenuItem();
503 jMenuItemEditAddEvents
.setText("Events");
504 jMenuItemEditAddEvents
.addActionListener(this);
506 return jMenuItemEditAddEvents
;
510 This method initializes jMenuItemEditAddHobs
512 @return javax.swing.JMenuItem jMenuItemEditAddHobs
515 private JMenuItem
getJMenuItemEditAddHobs() {
516 if (jMenuItemEditAddHobs
== null) {
517 jMenuItemEditAddHobs
= new JMenuItem();
518 jMenuItemEditAddHobs
.setText("Hobs");
519 jMenuItemEditAddHobs
.addActionListener(this);
521 return jMenuItemEditAddHobs
;
525 This method initializes jMenuItemEditAddPPIs
527 @return javax.swing.JMenuItem jMenuItemEditAddPPIs
530 private JMenuItem
getJMenuItemEditAddPPIs() {
531 if (jMenuItemEditAddPPIs
== null) {
532 jMenuItemEditAddPPIs
= new JMenuItem();
533 jMenuItemEditAddPPIs
.setText("PPIs");
534 jMenuItemEditAddPPIs
.addActionListener(this);
536 return jMenuItemEditAddPPIs
;
540 This method initializes jMenuItemEditAddVariables
542 @return javax.swing.JMenuItem jMenuItemEditAddVariables
545 private JMenuItem
getJMenuItemEditAddVariables() {
546 if (jMenuItemEditAddVariables
== null) {
547 jMenuItemEditAddVariables
= new JMenuItem();
548 jMenuItemEditAddVariables
.setText("Variables");
549 jMenuItemEditAddVariables
.addActionListener(this);
551 return jMenuItemEditAddVariables
;
555 This method initializes jMenuItemEditAddBootModes
557 @return javax.swing.JMenuItem jMenuItemEditAddBootModes
560 private JMenuItem
getJMenuItemAddBootModes() {
561 if (jMenuItemEditAddBootModes
== null) {
562 jMenuItemEditAddBootModes
= new JMenuItem();
563 jMenuItemEditAddBootModes
.setText("Boot Modes");
564 jMenuItemEditAddBootModes
.addActionListener(this);
566 return jMenuItemEditAddBootModes
;
570 This method initializes jMenuItemEditAddSystemTables
572 @return javax.swing.JMenuItem jMenuItemEditAddSystemTables
575 private JMenuItem
getJMenuItemAddSystemTables() {
576 if (jMenuItemEditAddSystemTables
== null) {
577 jMenuItemEditAddSystemTables
= new JMenuItem();
578 jMenuItemEditAddSystemTables
.setText("System Tables");
579 jMenuItemEditAddSystemTables
.addActionListener(this);
581 return jMenuItemEditAddSystemTables
;
585 This method initializes jMenuItemEditAddDataHubs
587 @return javax.swing.JMenuItem jMenuItemEditAddDataHubs
590 private JMenuItem
getJMenuItemEditAddDataHubs() {
591 if (jMenuItemEditAddDataHubs
== null) {
592 jMenuItemEditAddDataHubs
= new JMenuItem();
593 jMenuItemEditAddDataHubs
.setText("Data Hubs");
594 jMenuItemEditAddDataHubs
.addActionListener(this);
596 return jMenuItemEditAddDataHubs
;
600 This method initializes jMenuItemEditAddFormsets
602 @return javax.swing.JMenuItem jMenuItemEditAddFormsets
605 private JMenuItem
getJMenuItemEditAddFormsets() {
606 if (jMenuItemEditAddFormsets
== null) {
607 jMenuItemEditAddFormsets
= new JMenuItem();
608 jMenuItemEditAddFormsets
.setText("Formsets");
609 jMenuItemEditAddFormsets
.addActionListener(this);
611 return jMenuItemEditAddFormsets
;
615 This method initializes jMenuItemEditAddGuids
617 @return javax.swing.JMenuItem jMenuItemEditAddGuids
620 private JMenuItem
getJMenuItemEditAddGuids() {
621 if (jMenuItemEditAddGuids
== null) {
622 jMenuItemEditAddGuids
= new JMenuItem();
623 jMenuItemEditAddGuids
.setText("Guids");
624 jMenuItemEditAddGuids
.addActionListener(this);
626 return jMenuItemEditAddGuids
;
630 This method initializes jMenuItemEditAddExterns
632 @return javax.swing.JMenuItem jMenuItemEditAddExterns
635 private JMenuItem
getJMenuItemEditAddExterns() {
636 if (jMenuItemEditAddExterns
== null) {
637 jMenuItemEditAddExterns
= new JMenuItem();
638 jMenuItemEditAddExterns
.setText("Externs");
639 jMenuItemEditAddExterns
.addActionListener(this);
641 return jMenuItemEditAddExterns
;
645 This method initializes jMenuItemEditAddPCDs
647 @return javax.swing.JMenuItem jMenuItemEditAddPCDs
650 private JMenuItem
getJMenuItemEditAddPCDs() {
651 if (jMenuItemEditAddPCDs
== null) {
652 jMenuItemEditAddPCDs
= new JMenuItem();
653 jMenuItemEditAddPCDs
.setText("PCDs");
654 jMenuItemEditAddPCDs
.addActionListener(this);
656 return jMenuItemEditAddPCDs
;
660 This method initializes jDesktopPane
662 @return javax.swing.JDesktopPane jDesktopPane
665 private JDesktopPane
getJDesktopPane() {
666 if (jDesktopPane
== null) {
667 jDesktopPane
= new JDesktopPane();
668 jDesktopPane
.setBounds(new java
.awt
.Rectangle(295, 1, 500, 515));
669 jDesktopPane
.setDesktopManager(iDesktopManager
);
675 This method initializes jScrollPaneTree
677 @return javax.swing.JScrollPane jScrollPaneTree
680 private JScrollPane
getJScrollPaneTree() {
681 if (jScrollPaneTree
== null) {
682 jScrollPaneTree
= new JScrollPane();
683 jScrollPaneTree
.setBounds(new java
.awt
.Rectangle(0, 1, 290, 545));
684 jScrollPaneTree
.setViewportView(getITree());
686 return jScrollPaneTree
;
690 This method initializes iTree
692 @return org.tianocore.packaging.common.ui.ITree iTree
695 private ITree
getITree() {
697 //Before open a real module, use an empty root node for the tree
699 IDefaultMutableTreeNode root
= new IDefaultMutableTreeNode("No Msa/Mbd file opened", -1, -1);
700 iTree
= new ITree(root
);
705 This method initializes jMenuHelp
707 @return javax.swing.JMenu jMenuHelp
710 private JMenu
getJMenuHelp() {
711 if (jMenuHelp
== null) {
712 jMenuHelp
= new JMenu();
713 jMenuHelp
.setText("Help");
714 jMenuHelp
.add(getJMenuItemHelpAbout());
720 This method initializes jMenuItemHelpAbout
722 @return javax.swing.JMenuItem jMenuItemHelpAbout
725 private JMenuItem
getJMenuItemHelpAbout() {
726 if (jMenuItemHelpAbout
== null) {
727 jMenuItemHelpAbout
= new JMenuItem();
728 jMenuItemHelpAbout
.setText("About...");
729 jMenuItemHelpAbout
.addActionListener(this);
731 return jMenuItemHelpAbout
;
735 This method initializes jMenuEditAdd
737 @return javax.swing.JMenu jMenuEditAdd
740 private JMenu
getJMenu() {
741 if (jMenuEditAdd
== null) {
742 jMenuEditAdd
= new JMenu();
743 jMenuEditAdd
.setText("Add");
745 //Add all menu items of menu "Add"
747 jMenuEditAdd
.add(getJMenuItemEditAddLibraries());
748 jMenuEditAdd
.add(getJMenuItemEditAddLibraryClassDefinitions());
749 jMenuEditAdd
.add(getJMenuItemEditAddSourceFiles());
750 jMenuEditAdd
.add(getJMenuItemEditAddIncludes());
751 jMenuEditAdd
.add(getJMenuItemEditAddProtocols());
752 jMenuEditAdd
.add(getJMenuItemEditAddEvents());
753 jMenuEditAdd
.add(getJMenuItemEditAddHobs());
754 jMenuEditAdd
.add(getJMenuItemEditAddPPIs());
755 jMenuEditAdd
.add(getJMenuItemEditAddVariables());
756 jMenuEditAdd
.add(getJMenuItemAddBootModes());
757 jMenuEditAdd
.add(getJMenuItemAddSystemTables());
758 jMenuEditAdd
.add(getJMenuItemEditAddDataHubs());
759 jMenuEditAdd
.add(getJMenuItemEditAddFormsets());
760 jMenuEditAdd
.add(getJMenuItemEditAddGuids());
761 jMenuEditAdd
.add(getJMenuItemEditAddExterns());
762 jMenuEditAdd
.add(getJMenuItemEditAddPCDs());
763 jMenuEditAdd
.setEnabled(false);
769 This method initializes jMenuItemEditDelete
771 @return javax.swing.JMenuItem jMenuItemEditDelete
774 private JMenuItem
getJMenuItemEditDelete() {
775 if (jMenuItemEditDelete
== null) {
776 jMenuItemEditDelete
= new JMenuItem();
777 jMenuItemEditDelete
.setText("Delete");
778 jMenuItemEditDelete
.addActionListener(this);
780 //Disabled when no module is open
782 jMenuItemEditDelete
.setEnabled(false);
784 return jMenuItemEditDelete
;
788 This method initializes jMenuItemEditUpdate
790 @return javax.swing.JMenuItem jMenuItemEditUpdate
793 private JMenuItem
getJMenuItemEditUpdate() {
794 if (jMenuItemEditUpdate
== null) {
795 jMenuItemEditUpdate
= new JMenuItem();
796 jMenuItemEditUpdate
.setText("Update");
797 jMenuItemEditUpdate
.addActionListener(this);
799 //Disabled when no module is open
801 jMenuItemEditUpdate
.setEnabled(false);
803 return jMenuItemEditUpdate
;
807 This method initializes jPopupMenu
809 @return javax.swing.JPopupMenu jPopupMenu
812 private JPopupMenu
getJPopupMenu() {
813 if (jPopupMenu
== null) {
814 jPopupMenu
= new JPopupMenu();
816 //Add menu items of popup menu
818 jPopupMenu
.add(getJMenuItemPopupAdd());
819 jPopupMenu
.add(getJMenuItemPopupUpdate());
820 jPopupMenu
.add(getJMenuItemPopupDelete());
821 jPopupMenu
.setBorder(new BevelBorder(BevelBorder
.RAISED
));
822 jPopupMenu
.addMouseListener(this);
828 This method initializes jMenuItemPopupAdd
830 @return javax.swing.JMenuItem jMenuItemPopupAdd
833 private JMenuItem
getJMenuItemPopupAdd() {
834 if (jMenuItemPopupAdd
== null) {
835 jMenuItemPopupAdd
= new JMenuItem();
836 jMenuItemPopupAdd
.setText("Add");
837 jMenuItemPopupAdd
.addActionListener(this);
838 jMenuItemPopupAdd
.setEnabled(false);
840 return jMenuItemPopupAdd
;
844 This method initializes jMenuItemPopupUpdate
846 @return javax.swing.JMenuItem jMenuItemPopupUpdate
849 private JMenuItem
getJMenuItemPopupUpdate() {
850 if (jMenuItemPopupUpdate
== null) {
851 jMenuItemPopupUpdate
= new JMenuItem();
852 jMenuItemPopupUpdate
.setText("Update");
853 jMenuItemPopupUpdate
.addActionListener(this);
854 jMenuItemPopupUpdate
.setEnabled(false);
856 return jMenuItemPopupUpdate
;
860 This method initializes jMenuItemPopupDelete
862 @return javax.swing.JMenuItem jMenuItemPopupDelete
865 private JMenuItem
getJMenuItemPopupDelete() {
866 if (jMenuItemPopupDelete
== null) {
867 jMenuItemPopupDelete
= new JMenuItem();
868 jMenuItemPopupDelete
.setText("Delete");
869 jMenuItemPopupDelete
.addActionListener(this);
870 jMenuItemPopupDelete
.setEnabled(false);
872 return jMenuItemPopupDelete
;
876 This method initializes jMenuModuleNew
878 @return javax.swing.JMenu jMenuModuleNew
881 private JMenu
getJMenuModuleNew() {
882 if (jMenuModuleNew
== null) {
883 jMenuModuleNew
= new JMenu();
884 jMenuModuleNew
.setText("New");
885 jMenuModuleNew
.add(getJMenuItemModuleNewModule());
886 jMenuModuleNew
.add(getJMenuItemModuleNewModuleBuildDescription());
887 jMenuModuleNew
.add(getJMenuItemModuleNewLibraryModule());
888 jMenuModuleNew
.add(getJMenuItemModuleNewLibraryModuleBuildDescription());
890 return jMenuModuleNew
;
894 This method initializes jMenuItemModuleOpenModule
896 @return javax.swing.JMenuItem jMenuItemModuleOpenModule
899 private JMenuItem
getJMenuItemModuleOpenModule() {
900 if (jMenuItemModuleOpenModule
== null) {
901 jMenuItemModuleOpenModule
= new JMenuItem();
902 jMenuItemModuleOpenModule
.setText("Module (.msa)");
903 jMenuItemModuleOpenModule
.addActionListener(this);
905 return jMenuItemModuleOpenModule
;
909 This method initializes jMenuItemFileNewModuleBuildDescription
911 @return javax.swing.JMenuItem jMenuItemModuleNewModuleBuildDescription
914 private JMenuItem
getJMenuItemModuleNewModuleBuildDescription() {
915 if (jMenuItemModuleNewModuleBuildDescription
== null) {
916 jMenuItemModuleNewModuleBuildDescription
= new JMenuItem();
917 jMenuItemModuleNewModuleBuildDescription
.setText("Module Build Description (.mbd)");
918 jMenuItemModuleNewModuleBuildDescription
.addActionListener(this);
920 return jMenuItemModuleNewModuleBuildDescription
;
924 This method initializes jMenuItemFileNewLibraryModule
926 @return javax.swing.JMenuItem jMenuItemModuleNewLibraryModule
929 private JMenuItem
getJMenuItemModuleNewLibraryModule() {
930 if (jMenuItemModuleNewLibraryModule
== null) {
931 jMenuItemModuleNewLibraryModule
= new JMenuItem();
932 jMenuItemModuleNewLibraryModule
.setText("Library Module (*.msa)");
933 jMenuItemModuleNewLibraryModule
.addActionListener(this);
935 return jMenuItemModuleNewLibraryModule
;
939 This method initializes jMenuItemFileNewLibraryModuleBuildDescription
941 @return javax.swing.JMenuItem jMenuItemModuleNewLibraryModuleBuildDescription
944 private JMenuItem
getJMenuItemModuleNewLibraryModuleBuildDescription() {
945 if (jMenuItemModuleNewLibraryModuleBuildDescription
== null) {
946 jMenuItemModuleNewLibraryModuleBuildDescription
= new JMenuItem();
947 jMenuItemModuleNewLibraryModuleBuildDescription
.setText("Library Module Build Description (.mbd)");
948 jMenuItemModuleNewLibraryModuleBuildDescription
.addActionListener(this);
950 return jMenuItemModuleNewLibraryModuleBuildDescription
;
954 This method initializes jMenuOpen
956 @return javax.swing.JMenu jMenuModuleOpen
959 private JMenu
getJMenuModuleOpen() {
960 if (jMenuModuleOpen
== null) {
961 jMenuModuleOpen
= new JMenu();
962 jMenuModuleOpen
.setText("Open");
963 jMenuModuleOpen
.add(getJMenuItemModuleOpenModule());
964 jMenuModuleOpen
.add(getJMenuItemModuleOpenModuleBuildDescription());
965 jMenuModuleOpen
.add(getJMenuItemModuleOpenLibraryModule());
966 jMenuModuleOpen
.add(getJMenuItemModuleOpenLibraryModuleBuildDescription());
968 return jMenuModuleOpen
;
972 This method initializes jMenuItemFileOpenModuleBuildDescription
974 @return javax.swing.JMenuItem jMenuItemModuleOpenModuleBuildDescription
977 private JMenuItem
getJMenuItemModuleOpenModuleBuildDescription() {
978 if (jMenuItemModuleOpenModuleBuildDescription
== null) {
979 jMenuItemModuleOpenModuleBuildDescription
= new JMenuItem();
980 jMenuItemModuleOpenModuleBuildDescription
.setText("Module Build Description (.mbd)");
981 jMenuItemModuleOpenModuleBuildDescription
.addActionListener(this);
983 return jMenuItemModuleOpenModuleBuildDescription
;
987 This method initializes jMenuItemFileOpenLibraryModule
989 @return javax.swing.JMenuItem jMenuItemModuleOpenLibraryModule
992 private JMenuItem
getJMenuItemModuleOpenLibraryModule() {
993 if (jMenuItemModuleOpenLibraryModule
== null) {
994 jMenuItemModuleOpenLibraryModule
= new JMenuItem();
995 jMenuItemModuleOpenLibraryModule
.setText("Library Module (.msa)");
996 jMenuItemModuleOpenLibraryModule
.addActionListener(this);
998 return jMenuItemModuleOpenLibraryModule
;
1002 This method initializes jMenuItemFileOpenLibraryModuleBuildDescription
1004 @return javax.swing.JMenuItem jMenuItemModuleOpenLibraryModuleBuildDescription
1007 private JMenuItem
getJMenuItemModuleOpenLibraryModuleBuildDescription() {
1008 if (jMenuItemModuleOpenLibraryModuleBuildDescription
== null) {
1009 jMenuItemModuleOpenLibraryModuleBuildDescription
= new JMenuItem();
1010 jMenuItemModuleOpenLibraryModuleBuildDescription
.setText("Library Module Build Description (.mbd)");
1011 jMenuItemModuleOpenLibraryModuleBuildDescription
.addActionListener(this);
1013 return jMenuItemModuleOpenLibraryModuleBuildDescription
;
1017 This method initializes jMenuItemFileSave
1019 @return javax.swing.JMenuItem jMenuItemModuleSave
1022 private JMenuItem
getJMenuItemModuleSave() {
1023 if (jMenuItemModuleSave
== null) {
1024 jMenuItemModuleSave
= new JMenuItem();
1025 jMenuItemModuleSave
.setText("Save");
1026 jMenuItemModuleSave
.addActionListener(this);
1027 jMenuItemModuleSave
.setEnabled(false);
1029 return jMenuItemModuleSave
;
1033 This method initializes jMenuItemModuleClose
1035 @return javax.swing.JMenuItem jMenuItemModuleClose
1038 private JMenuItem
getJMenuItemModuleClose() {
1039 if (jMenuItemModuleClose
== null) {
1040 jMenuItemModuleClose
= new JMenuItem();
1041 jMenuItemModuleClose
.setText("Close");
1042 jMenuItemModuleClose
.setEnabled(false);
1043 jMenuItemModuleClose
.addActionListener(this);
1045 return jMenuItemModuleClose
;
1049 This method initializes jMenuTools
1052 @return javax.swing.JMenu jMenuTools
1055 private JMenu
getJMenuTools() {
1056 if (jMenuTools
== null) {
1057 jMenuTools
= new JMenu();
1058 jMenuTools
.setText("Tools");
1059 jMenuTools
.addActionListener(this);
1060 jMenuTools
.setEnabled(false);
1066 This method initializes jMenuWindow
1069 @return javax.swing.JMenu jMenuWindow
1072 private JMenu
getJMenuWindow() {
1073 if (jMenuWindow
== null) {
1074 jMenuWindow
= new JMenu();
1075 jMenuWindow
.setText("Window");
1076 jMenuWindow
.setEnabled(false);
1077 jMenuWindow
.addActionListener(this);
1083 This method initializes jMenuItemEditAddLibraries
1085 @return javax.swing.JMenuItem jMenuItemEditAddLibraries
1088 private JMenuItem
getJMenuItemEditAddLibraries() {
1089 if (jMenuItemEditAddLibraries
== null) {
1090 jMenuItemEditAddLibraries
= new JMenuItem();
1091 jMenuItemEditAddLibraries
.setText("Libraries");
1092 jMenuItemEditAddLibraries
.addActionListener(this);
1094 return jMenuItemEditAddLibraries
;
1098 This method initializes jPanelOperation
1100 @return javax.swing.JPanel jPanelOperation
1103 private JPanel
getJPanelOperation() {
1104 if (jPanelOperation
== null) {
1105 jPanelOperation
= new JPanel();
1106 jPanelOperation
.setLayout(null);
1107 jPanelOperation
.setBounds(new java
.awt
.Rectangle(295, 520, 500, 25));
1108 jPanelOperation
.add(getJButtonOk(), null);
1109 jPanelOperation
.add(getJButtonCancel(), null);
1111 return jPanelOperation
;
1115 This method initializes jButtonOk
1117 @return javax.swing.JButton jButtonOk
1120 private JButton
getJButtonOk() {
1121 if (jButtonOk
== null) {
1122 jButtonOk
= new JButton();
1123 jButtonOk
.setBounds(new java
.awt
.Rectangle(395, 2, 90, 20));
1124 jButtonOk
.setText("Ok");
1125 jButtonOk
.setEnabled(false);
1126 jButtonOk
.addActionListener(this);
1132 This method initializes jButtonCancel
1134 @return javax.swing.JButton jButtonCancel
1137 private JButton
getJButtonCancel() {
1138 if (jButtonCancel
== null) {
1139 jButtonCancel
= new JButton();
1140 jButtonCancel
.setBounds(new java
.awt
.Rectangle(395, 2, 90, 20));
1141 jButtonCancel
.setText("Cancel");
1142 jButtonCancel
.setEnabled(false);
1143 jButtonCancel
.addActionListener(this);
1144 jButtonCancel
.setVisible(false);
1146 return jButtonCancel
;
1150 * @see org.tianocore.packaging.common.ui.IFrame#main(java.lang.String[])
1152 * Main class, start the GUI
1155 public static void main(String
[] args
) {
1156 ModuleMain module
= new ModuleMain();
1157 module
.setVisible(true);
1161 This is the default constructor
1164 public ModuleMain() {
1170 This method initializes this
1174 private void init() {
1176 // Check if exists WORKSPACE
1179 if (!ws
.checkCurrentWorkspace()) {
1180 JOptionPane
.showConfirmDialog(null, "You haven't a workspace yet. Please setup first.", "Warning",
1181 JOptionPane
.DEFAULT_OPTION
, JOptionPane
.WARNING_MESSAGE
);
1186 this.setSize(800, 600);
1187 this.setResizable(false);
1188 this.setJMenuBar(getjJMenuBar());
1189 this.setContentPane(getJContentPane());
1190 this.setTitle(windowTitle
+ "- [" + ws
.getCurrentWorkspace() + "]");
1191 this.setExitType(1);
1192 this.centerWindow();
1196 This method initializes jContentPane
1198 @return javax.swing.JPanel jContentPane
1201 private JPanel
getJContentPane() {
1202 if (jContentPane
== null) {
1203 jContentPane
= new JPanel();
1204 jContentPane
.setLayout(null);
1205 jContentPane
.add(getJPanelOperation(), null);
1206 jContentPane
.add(getJDesktopPane(), null);
1207 jContentPane
.add(getJScrollPaneTree(), null);
1208 jContentPane
.add(getJPopupMenu(), null);
1210 return jContentPane
;
1214 * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
1216 * Override actionPerformed to listen all actions
1219 public void actionPerformed(ActionEvent arg0
) {
1221 // Open relevant frame via clicking different menu items
1223 if (arg0
.getSource() == jMenuItemHelpAbout
) {
1224 ModuleAbout ma
= new ModuleAbout();
1225 ma
.setEdited(false);
1228 if (arg0
.getSource() == jMenuItemEditAddLibraries
) {
1229 showLibraries(ModuleMain
.ADD
, IDefaultMutableTreeNode
.LIBRARIES
, -1);
1232 if (arg0
.getSource() == jMenuItemEditAddLibraryClassDefinitions
) {
1233 showLibraryClassDefinitions(ModuleMain
.ADD
, IDefaultMutableTreeNode
.LIBRARYCLASSDEFINITIONS
);
1236 if (arg0
.getSource() == jMenuItemEditAddSourceFiles
) {
1237 showSourceFiles(ModuleMain
.ADD
, IDefaultMutableTreeNode
.SOURCEFILES
, -1);
1240 if (arg0
.getSource() == jMenuItemEditAddIncludes
) {
1241 showIncludes(ModuleMain
.ADD
, IDefaultMutableTreeNode
.INCLUDES
, -1);
1244 if (arg0
.getSource() == jMenuItemEditAddProtocols
) {
1245 showProtocols(ModuleMain
.ADD
, IDefaultMutableTreeNode
.PROTOCOLS
, -1);
1248 if (arg0
.getSource() == jMenuItemEditAddEvents
) {
1249 showEvents(ModuleMain
.ADD
, IDefaultMutableTreeNode
.EVENTS
, -1);
1252 if (arg0
.getSource() == jMenuItemEditAddHobs
) {
1253 showHobs(ModuleMain
.ADD
, IDefaultMutableTreeNode
.HOBS
, -1);
1256 if (arg0
.getSource() == jMenuItemEditAddPPIs
) {
1257 showPpis(ModuleMain
.ADD
, IDefaultMutableTreeNode
.PPIS
, -1);
1260 if (arg0
.getSource() == jMenuItemEditAddVariables
) {
1261 showVariables(ModuleMain
.ADD
, IDefaultMutableTreeNode
.VARIABLES
, -1);
1264 if (arg0
.getSource() == jMenuItemEditAddBootModes
) {
1265 showBootModes(ModuleMain
.ADD
, IDefaultMutableTreeNode
.BOOTMODES
, -1);
1268 if (arg0
.getSource() == jMenuItemEditAddSystemTables
) {
1269 showSystemTables(ModuleMain
.ADD
, IDefaultMutableTreeNode
.SYSTEMTABLES
, -1);
1272 if (arg0
.getSource() == jMenuItemEditAddDataHubs
) {
1273 showDataHubs(ModuleMain
.ADD
, IDefaultMutableTreeNode
.DATAHUBS
, -1);
1276 if (arg0
.getSource() == jMenuItemEditAddFormsets
) {
1277 showFormsets(ModuleMain
.ADD
, IDefaultMutableTreeNode
.FORMSETS
, -1);
1280 if (arg0
.getSource() == jMenuItemEditAddGuids
) {
1281 showGuids(ModuleMain
.ADD
, IDefaultMutableTreeNode
.GUIDS
, -1);
1284 if (arg0
.getSource() == jMenuItemEditAddExterns
) {
1285 showExterns(ModuleMain
.ADD
, IDefaultMutableTreeNode
.EXTERNS
, -1);
1288 if (arg0
.getSource() == jMenuItemEditAddPCDs
) {
1289 showPCDs(ModuleMain
.ADD
, IDefaultMutableTreeNode
.PCDS
, -1);
1292 if (arg0
.getSource() == jMenuItemModuleNewModule
) {
1293 this.closeCurrentModule();
1294 showMsaHeader(ModuleMain
.ADD
);
1297 if (arg0
.getSource() == jMenuItemModuleNewModuleBuildDescription
) {
1298 this.closeCurrentModule();
1299 showMbdHeader(ModuleMain
.ADD
);
1302 if (arg0
.getSource() == jMenuItemModuleNewLibraryModule
) {
1303 this.closeCurrentModule();
1304 showMlsaHeader(ModuleMain
.ADD
);
1307 if (arg0
.getSource() == jMenuItemModuleNewLibraryModuleBuildDescription
) {
1308 this.closeCurrentModule();
1309 showMlbdHeader(ModuleMain
.ADD
);
1313 // Open Msa, Mbd, Lmsa and Lmbd
1315 if (arg0
.getSource() == jMenuItemModuleOpenModule
) {
1319 if (arg0
.getSource() == jMenuItemModuleOpenModuleBuildDescription
) {
1323 if (arg0
.getSource() == jMenuItemModuleOpenLibraryModule
) {
1327 if (arg0
.getSource() == jMenuItemModuleOpenLibraryModuleBuildDescription
) {
1332 // Listen popup menu items
1334 if (arg0
.getSource() == jMenuItemPopupAdd
) {
1335 int intCategory
= iTree
.getSelectCategory();
1336 int intLocation
= iTree
.getSelectLoaction();
1337 addCurrentModule(intCategory
, intLocation
);
1340 if (arg0
.getSource() == jMenuItemPopupUpdate
|| arg0
.getSource() == jMenuItemEditUpdate
) {
1341 int intCategory
= iTree
.getSelectCategory();
1342 int intLocation
= iTree
.getSelectLoaction();
1343 updateCurrentModule(intCategory
, intLocation
);
1346 if (arg0
.getSource() == jMenuItemPopupDelete
|| arg0
.getSource() == jMenuItemEditDelete
) {
1347 int intCategory
= iTree
.getSelectCategory();
1348 int intLocation
= iTree
.getSelectLoaction();
1349 deleteCurrentModule(intCategory
, intLocation
);
1352 if (arg0
.getSource() == jMenuItemModuleExit
) {
1356 if (arg0
.getSource() == jMenuItemModuleClose
) {
1357 closeCurrentModule();
1360 if (arg0
.getSource() == jMenuItemModuleSaveAs
) {
1361 saveAsCurrentModule();
1364 if (arg0
.getSource() == jMenuItemModuleSave
) {
1365 saveCurrentModule();
1368 if (arg0
.getSource() == jButtonOk
) {
1372 if (arg0
.getSource() == jButtonCancel
) {
1380 @param intOperationType Open - 1 or Save - 2
1381 @param intFileType Msa - 1, Mbd - 2, Lmsa - 3, Lmbd - 4
1382 @return opened file path
1385 private void openFile(int intOperationType
, int intFileType
) {
1386 String strCurrentPath
= "";
1387 if (this.currentModule
== "") {
1388 strCurrentPath
= ws
.getCurrentWorkspace();
1390 strCurrentPath
= this.currentModule
1395 .getProperty("file.separator")));
1398 JFileChooser fc
= new JFileChooser(strCurrentPath
);
1399 fc
.setAcceptAllFileFilterUsed(false);
1400 switch (intOperationType
) {
1402 fc
.setDialogTitle("Open");
1405 fc
.setDialogTitle("Save As");
1409 // Config File Filter via different file types
1411 switch (intFileType
) {
1413 fc
.addChoosableFileFilter(new IFileFilter("msa"));
1416 fc
.addChoosableFileFilter(new IFileFilter("mbd"));
1419 fc
.addChoosableFileFilter(new IFileFilter("msa"));
1422 fc
.addChoosableFileFilter(new IFileFilter("mbd"));
1426 int result
= fc
.showOpenDialog(new JPanel());
1428 // Open relevanf file after click "OK"
1430 if (result
== JFileChooser
.APPROVE_OPTION
) {
1431 switch (intOperationType
) {
1433 closeCurrentModule();
1434 switch (intFileType
) {
1436 openMsaFile(fc
.getSelectedFile().getPath());
1439 openMbdFile(fc
.getSelectedFile().getPath());
1442 openMlsaFile(fc
.getSelectedFile().getPath());
1445 openMlbdFile(fc
.getSelectedFile().getPath());
1450 switch (intFileType
) {
1452 this.saveFileName
= fc
.getSelectedFile().getPath();
1455 this.saveFileName
= fc
.getSelectedFile().getPath();
1458 this.saveFileName
= fc
.getSelectedFile().getPath();
1461 this.saveFileName
= fc
.getSelectedFile().getPath();
1467 if (intOperationType
== 2) {
1468 this.saveFileName
= "";
1474 Open specificed Msa file and read its content
1476 @param strMsaFilePath The input data of Msa File Path
1479 private void openMsaFile(String strMsaFilePath
) {
1480 Log
.log("Open Msa", strMsaFilePath
);
1482 File msaFile
= new File(strMsaFilePath
);
1483 xmlMsaDoc
= (ModuleSurfaceAreaDocument
) XmlObject
.Factory
.parse(msaFile
);
1484 this.currentModule
= strMsaFilePath
;
1485 this.saveFileName
= strMsaFilePath
;
1486 this.currentModuleType
= 1;
1487 } catch (IOException e
) {
1488 Log
.err("Open Msa " + strMsaFilePath
, e
.getMessage());
1490 } catch (XmlException e
) {
1491 Log
.err("Open Msa " + strMsaFilePath
, e
.getMessage());
1493 } catch (Exception e
) {
1494 Log
.err("Open Msa " + strMsaFilePath
, "Invalid file type");
1498 xmlmh
= xmlMsaDoc
.getModuleSurfaceArea().getMsaHeader();
1499 xmllcd
= xmlMsaDoc
.getModuleSurfaceArea().getLibraryClassDefinitions();
1500 xmlsf
= xmlMsaDoc
.getModuleSurfaceArea().getSourceFiles();
1501 xmlic
= xmlMsaDoc
.getModuleSurfaceArea().getIncludes();
1502 xmlpl
= xmlMsaDoc
.getModuleSurfaceArea().getProtocols();
1503 xmlen
= xmlMsaDoc
.getModuleSurfaceArea().getEvents();
1504 xmlhob
= xmlMsaDoc
.getModuleSurfaceArea().getHobs();
1505 xmlppi
= xmlMsaDoc
.getModuleSurfaceArea().getPPIs();
1506 xmlvb
= xmlMsaDoc
.getModuleSurfaceArea().getVariables();
1507 xmlbm
= xmlMsaDoc
.getModuleSurfaceArea().getBootModes();
1508 xmlst
= xmlMsaDoc
.getModuleSurfaceArea().getSystemTables();
1509 xmldh
= xmlMsaDoc
.getModuleSurfaceArea().getDataHubs();
1510 xmlfs
= xmlMsaDoc
.getModuleSurfaceArea().getFormsets();
1511 xmlgu
= xmlMsaDoc
.getModuleSurfaceArea().getGuids();
1512 xmlet
= xmlMsaDoc
.getModuleSurfaceArea().getExterns();
1513 xmlpcd
= xmlMsaDoc
.getModuleSurfaceArea().getPCDs();
1514 xmlbo
= xmlMsaDoc
.getModuleSurfaceArea().getBuildOptions();
1516 this.showMsaHeader(ModuleMain
.VIEW
);
1517 reloadTreeAndTable(ModuleMain
.OPENED
);
1518 jMenuEditAdd
.setEnabled(true);
1522 Open specificed Mbd file and read its content
1524 @param strMbdFilePath The input data of Mbd File Path
1527 private void openMbdFile(String strMbdFilePath
) {
1528 Log
.log("Open Mbd", strMbdFilePath
);
1530 File mbdFile
= new File(strMbdFilePath
);
1531 xmlMbdDoc
= (ModuleBuildDescriptionDocument
) XmlObject
.Factory
.parse(mbdFile
);
1532 this.currentModule
= strMbdFilePath
;
1533 this.saveFileName
= strMbdFilePath
;
1534 this.currentModuleType
= 2;
1535 } catch (IOException e
) {
1536 Log
.err("Open Mbd " + strMbdFilePath
, e
.getMessage());
1538 } catch (XmlException e
) {
1539 Log
.err("Open Mbd " + strMbdFilePath
, e
.getMessage());
1541 } catch (Exception e
) {
1542 Log
.err("Open Mbd " + strMbdFilePath
, "Invalid file type");
1546 xmlmbdh
= xmlMbdDoc
.getModuleBuildDescription().getMbdHeader();
1547 xmllib
= xmlMbdDoc
.getModuleBuildDescription().getLibraries();
1548 xmlsf
= xmlMbdDoc
.getModuleBuildDescription().getSourceFiles();
1549 xmlic
= xmlMbdDoc
.getModuleBuildDescription().getIncludes();
1550 xmlpl
= xmlMbdDoc
.getModuleBuildDescription().getProtocols();
1551 xmlen
= xmlMbdDoc
.getModuleBuildDescription().getEvents();
1552 xmlhob
= xmlMbdDoc
.getModuleBuildDescription().getHobs();
1553 xmlppi
= xmlMbdDoc
.getModuleBuildDescription().getPPIs();
1554 xmlvb
= xmlMbdDoc
.getModuleBuildDescription().getVariables();
1555 xmlbm
= xmlMbdDoc
.getModuleBuildDescription().getBootModes();
1556 xmlst
= xmlMbdDoc
.getModuleBuildDescription().getSystemTables();
1557 xmldh
= xmlMbdDoc
.getModuleBuildDescription().getDataHubs();
1558 xmlfs
= xmlMbdDoc
.getModuleBuildDescription().getFormsets();
1559 xmlgu
= xmlMbdDoc
.getModuleBuildDescription().getGuids();
1560 xmlet
= xmlMbdDoc
.getModuleBuildDescription().getExterns();
1561 xmlpcd
= xmlMbdDoc
.getModuleBuildDescription().getPCDs();
1562 xmlbo
= xmlMbdDoc
.getModuleBuildDescription().getBuildOptions();
1564 this.showMbdHeader(ModuleMain
.VIEW
);
1565 reloadTreeAndTable(ModuleMain
.OPENED
);
1566 jMenuEditAdd
.setEnabled(true);
1570 Open specificed Mlsa file and read its content
1572 @param strMlsaFilePath The input data of Mlsa File Path
1575 private void openMlsaFile(String strMlsaFilePath
) {
1576 Log
.log("Open Mlsa", strMlsaFilePath
);
1578 File mlsaFile
= new File(strMlsaFilePath
);
1579 xmlMlsaDoc
= (LibraryModuleSurfaceAreaDocument
) XmlObject
.Factory
.parse(mlsaFile
);
1580 this.currentModule
= strMlsaFilePath
;
1581 this.saveFileName
= strMlsaFilePath
;
1582 this.currentModuleType
= 3;
1583 } catch (IOException e
) {
1584 Log
.err("Open Mlsa " + strMlsaFilePath
, e
.getMessage());
1586 } catch (XmlException e
) {
1587 Log
.err("Open Mlsa " + strMlsaFilePath
, e
.getMessage());
1589 } catch (Exception e
) {
1590 Log
.err("Open Mlsa " + strMlsaFilePath
, "Invalid file type");
1594 xmlmlh
= xmlMlsaDoc
.getLibraryModuleSurfaceArea().getMsaLibHeader();
1595 xmllcd
= xmlMlsaDoc
.getLibraryModuleSurfaceArea().getLibraryClassDefinitions();
1596 xmlsf
= xmlMlsaDoc
.getLibraryModuleSurfaceArea().getSourceFiles();
1597 xmlic
= xmlMlsaDoc
.getLibraryModuleSurfaceArea().getIncludes();
1598 xmlpl
= xmlMlsaDoc
.getLibraryModuleSurfaceArea().getProtocols();
1599 xmlen
= xmlMlsaDoc
.getLibraryModuleSurfaceArea().getEvents();
1600 xmlhob
= xmlMlsaDoc
.getLibraryModuleSurfaceArea().getHobs();
1601 xmlppi
= xmlMlsaDoc
.getLibraryModuleSurfaceArea().getPPIs();
1602 xmlvb
= xmlMlsaDoc
.getLibraryModuleSurfaceArea().getVariables();
1603 xmlbm
= xmlMlsaDoc
.getLibraryModuleSurfaceArea().getBootModes();
1604 xmlst
= xmlMlsaDoc
.getLibraryModuleSurfaceArea().getSystemTables();
1605 xmldh
= xmlMlsaDoc
.getLibraryModuleSurfaceArea().getDataHubs();
1606 xmlfs
= xmlMlsaDoc
.getLibraryModuleSurfaceArea().getFormsets();
1607 xmlgu
= xmlMlsaDoc
.getLibraryModuleSurfaceArea().getGuids();
1608 xmlet
= xmlMlsaDoc
.getLibraryModuleSurfaceArea().getExterns();
1609 xmlpcd
= xmlMlsaDoc
.getLibraryModuleSurfaceArea().getPCDs();
1610 xmlbo
= xmlMlsaDoc
.getLibraryModuleSurfaceArea().getBuildOptions();
1612 this.showMlsaHeader(ModuleMain
.VIEW
);
1613 reloadTreeAndTable(ModuleMain
.OPENED
);
1614 jMenuEditAdd
.setEnabled(true);
1618 Open specificed Mlbd file and read its content
1620 @param strMlbdFilePath The input data of Mlbd File Path
1623 private void openMlbdFile(String strMlbdFilePath
) {
1624 Log
.log("Open Mlbd", strMlbdFilePath
);
1626 File mlbdFile
= new File(strMlbdFilePath
);
1627 xmlMlbdDoc
= (LibraryModuleBuildDescriptionDocument
) XmlObject
.Factory
.parse(mlbdFile
);
1628 this.currentModule
= strMlbdFilePath
;
1629 this.saveFileName
= strMlbdFilePath
;
1630 this.currentModuleType
= 4;
1631 } catch (IOException e
) {
1632 Log
.err("Open Mlbd " + strMlbdFilePath
, e
.getMessage());
1634 } catch (XmlException e
) {
1635 Log
.err("Open Mlbd " + strMlbdFilePath
, e
.getMessage());
1637 } catch (Exception e
) {
1638 Log
.err("Open Mlbd " + strMlbdFilePath
, "Invalid file type");
1642 xmlmlbdh
= xmlMlbdDoc
.getLibraryModuleBuildDescription().getMbdLibHeader();
1643 xmllib
= xmlMlbdDoc
.getLibraryModuleBuildDescription().getLibraries();
1644 xmlsf
= xmlMlbdDoc
.getLibraryModuleBuildDescription().getSourceFiles();
1645 xmlic
= xmlMlbdDoc
.getLibraryModuleBuildDescription().getIncludes();
1646 xmlpl
= xmlMlbdDoc
.getLibraryModuleBuildDescription().getProtocols();
1647 xmlen
= xmlMlbdDoc
.getLibraryModuleBuildDescription().getEvents();
1648 xmlhob
= xmlMlbdDoc
.getLibraryModuleBuildDescription().getHobs();
1649 xmlppi
= xmlMlbdDoc
.getLibraryModuleBuildDescription().getPPIs();
1650 xmlvb
= xmlMlbdDoc
.getLibraryModuleBuildDescription().getVariables();
1651 xmlbm
= xmlMlbdDoc
.getLibraryModuleBuildDescription().getBootModes();
1652 xmlst
= xmlMlbdDoc
.getLibraryModuleBuildDescription().getSystemTables();
1653 xmldh
= xmlMlbdDoc
.getLibraryModuleBuildDescription().getDataHubs();
1654 xmlfs
= xmlMlbdDoc
.getLibraryModuleBuildDescription().getFormsets();
1655 xmlgu
= xmlMlbdDoc
.getLibraryModuleBuildDescription().getGuids();
1656 xmlet
= xmlMlbdDoc
.getLibraryModuleBuildDescription().getExterns();
1657 xmlpcd
= xmlMlbdDoc
.getLibraryModuleBuildDescription().getPCDs();
1658 xmlbo
= xmlMlbdDoc
.getLibraryModuleBuildDescription().getBuildOptions();
1660 this.showMlbdHeader(ModuleMain
.VIEW
);
1661 reloadTreeAndTable(ModuleMain
.OPENED
);
1662 jMenuEditAdd
.setEnabled(true);
1666 Create an empty tree if no file is open
1669 private void makeEmptyTree() {
1670 dmtnRoot
= new IDefaultMutableTreeNode("No Msa/Mbd file opened", -1, -1);
1671 iTree
= new ITree(dmtnRoot
);
1672 jScrollPaneTree
.setViewportView(iTree
);
1676 Create the tree to display all components of current open file.
1677 First to check if the component is null or not
1678 If not null, hangs it to the tree
1682 private void makeTree() {
1686 //Make an empty tree when closing
1688 if (this.currentModuleType
== 0) {
1696 if (this.currentModuleType
== 1) {
1698 //Add MsaHeader Node
1700 if (xmlmh
!= null) {
1701 dmtnRoot
= new IDefaultMutableTreeNode(xmlmh
.getBaseName().getStringValue(),
1702 IDefaultMutableTreeNode
.MSA_HEADER
,
1703 IDefaultMutableTreeNode
.OPERATION_UPDATE_DELETE
);
1710 //Add LibraryClassDefinitions Node
1712 if (xmllcd
!= null && xmllcd
.getLibraryClassList().size() > 0) {
1713 IDefaultMutableTreeNode libraryClassDefinitions
= new IDefaultMutableTreeNode(
1714 "Library Class Definitions",
1715 IDefaultMutableTreeNode
.LIBRARYCLASSDEFINITIONS
,
1716 IDefaultMutableTreeNode
.OPERATION_UPDATE_DELETE
);
1717 for (int indexI
= 0; indexI
< xmllcd
.getLibraryClassList().size(); indexI
++) {
1718 libraryClassDefinitions
1719 .add(new IDefaultMutableTreeNode(
1720 xmllcd
.getLibraryClassArray(indexI
)
1722 IDefaultMutableTreeNode
.LIBRARY_CLASS_DEFINITION
,
1723 IDefaultMutableTreeNode
.OPERATION_NULL
));
1725 dmtnRoot
.add(libraryClassDefinitions
);
1732 if (this.currentModuleType
== 2) {
1734 //Add MsaHeader Node
1736 if (xmlmbdh
!= null) {
1737 dmtnRoot
= new IDefaultMutableTreeNode(xmlmbdh
.getBaseName().getStringValue(),
1738 IDefaultMutableTreeNode
.MBD_HEADER
,
1739 IDefaultMutableTreeNode
.OPERATION_UPDATE_DELETE
);
1746 //Add Libraries Node
1748 if (xmllib
!= null) {
1749 IDefaultMutableTreeNode libraries
= new IDefaultMutableTreeNode(
1751 IDefaultMutableTreeNode
.LIBRARIES
,
1752 IDefaultMutableTreeNode
.OPERATION_ADD_DELETE
);
1753 if (xmllib
.getArchList().size() > 0) {
1754 IDefaultMutableTreeNode librariesArch
= new IDefaultMutableTreeNode(
1756 IDefaultMutableTreeNode
.LIBRARIES_ARCH
,
1757 IDefaultMutableTreeNode
.OPERATION_ADD_DELETE
);
1758 for (int indexI
= 0; indexI
< xmllib
.getArchList().size(); indexI
++) {
1759 librariesArch
.add(new IDefaultMutableTreeNode(xmllib
.getArchArray(indexI
).getArchType()
1761 IDefaultMutableTreeNode
.LIBRARIES_ARCH_ITEM
,
1762 IDefaultMutableTreeNode
.OPERATION_UPDATE_DELETE
,
1765 libraries
.add(librariesArch
);
1767 if (xmllib
.getLibraryList().size() > 0) {
1768 IDefaultMutableTreeNode library
= new IDefaultMutableTreeNode(
1770 IDefaultMutableTreeNode
.LIBRARIES_LIBRARY
,
1771 IDefaultMutableTreeNode
.OPERATION_ADD_UPDATE_DELETE
);
1772 for (int indexI
= 0; indexI
< xmllib
.getLibraryList().size(); indexI
++) {
1773 library
.add(new IDefaultMutableTreeNode(xmllib
.getLibraryArray(indexI
).getStringValue(),
1774 IDefaultMutableTreeNode
.LIBRARIES_LIBRARY_ITEM
,
1775 IDefaultMutableTreeNode
.OPERATION_DELETE
));
1777 libraries
.add(library
);
1779 dmtnRoot
.add(libraries
);
1786 if (this.currentModuleType
== 3) {
1788 //Add MsaHeader Node
1790 if (xmlmlh
!= null) {
1791 dmtnRoot
= new IDefaultMutableTreeNode(xmlmlh
.getBaseName().getStringValue(),
1792 IDefaultMutableTreeNode
.MLSA_HEADER
,
1793 IDefaultMutableTreeNode
.OPERATION_UPDATE_DELETE
);
1800 //Add LibraryClassDefinitions Node
1802 if (xmllcd
!= null && xmllcd
.getLibraryClassList().size() > 0) {
1803 IDefaultMutableTreeNode libraryClassDefinitions
= new IDefaultMutableTreeNode(
1804 "Library Class Definitions",
1805 IDefaultMutableTreeNode
.LIBRARYCLASSDEFINITIONS
,
1806 IDefaultMutableTreeNode
.OPERATION_UPDATE_DELETE
);
1807 for (int indexI
= 0; indexI
< xmllcd
.getLibraryClassList().size(); indexI
++) {
1808 libraryClassDefinitions
1809 .add(new IDefaultMutableTreeNode(
1810 xmllcd
.getLibraryClassArray(indexI
)
1812 IDefaultMutableTreeNode
.LIBRARY_CLASS_DEFINITION
,
1813 IDefaultMutableTreeNode
.OPERATION_NULL
));
1815 dmtnRoot
.add(libraryClassDefinitions
);
1822 if (this.currentModuleType
== 4) {
1824 //Add MsaHeader Node
1826 if (xmlmlbdh
!= null) {
1827 dmtnRoot
= new IDefaultMutableTreeNode(xmlmlbdh
.getBaseName().getStringValue(),
1828 IDefaultMutableTreeNode
.MLBD_HEADER
,
1829 IDefaultMutableTreeNode
.OPERATION_UPDATE_DELETE
);
1836 //Add Libraries Node
1838 if (xmllib
!= null) {
1839 IDefaultMutableTreeNode libraries
= new IDefaultMutableTreeNode(
1841 IDefaultMutableTreeNode
.LIBRARIES
,
1842 IDefaultMutableTreeNode
.OPERATION_ADD_DELETE
);
1843 if (xmllib
.getArchList().size() > 0) {
1844 IDefaultMutableTreeNode librariesArch
= new IDefaultMutableTreeNode(
1846 IDefaultMutableTreeNode
.LIBRARIES_ARCH
,
1847 IDefaultMutableTreeNode
.OPERATION_ADD_DELETE
);
1848 for (int indexI
= 0; indexI
< xmllib
.getArchList().size(); indexI
++) {
1849 librariesArch
.add(new IDefaultMutableTreeNode(xmllib
.getArchArray(indexI
).getArchType()
1851 IDefaultMutableTreeNode
.LIBRARIES_ARCH_ITEM
,
1852 IDefaultMutableTreeNode
.OPERATION_UPDATE_DELETE
,
1855 libraries
.add(librariesArch
);
1857 if (xmllib
.getLibraryList().size() > 0) {
1858 IDefaultMutableTreeNode library
= new IDefaultMutableTreeNode(
1860 IDefaultMutableTreeNode
.LIBRARIES_LIBRARY
,
1861 IDefaultMutableTreeNode
.OPERATION_ADD_UPDATE_DELETE
);
1862 for (int indexI
= 0; indexI
< xmllib
.getLibraryList().size(); indexI
++) {
1863 library
.add(new IDefaultMutableTreeNode(xmllib
.getLibraryArray(indexI
).getStringValue(),
1864 IDefaultMutableTreeNode
.LIBRARIES_LIBRARY_ITEM
,
1865 IDefaultMutableTreeNode
.OPERATION_DELETE
));
1867 libraries
.add(library
);
1869 dmtnRoot
.add(libraries
);
1874 //Add SourceFiles Node
1876 if (xmlsf
!= null) {
1877 IDefaultMutableTreeNode sourceFiles
= new IDefaultMutableTreeNode(
1879 IDefaultMutableTreeNode
.SOURCEFILES
,
1880 IDefaultMutableTreeNode
.OPERATION_ADD_DELETE
);
1881 if (xmlsf
.getArchList().size() > 0) {
1882 IDefaultMutableTreeNode sourceFilesArch
= new IDefaultMutableTreeNode(
1884 IDefaultMutableTreeNode
.SOURCEFILES_ARCH
,
1885 IDefaultMutableTreeNode
.OPERATION_ADD_DELETE
);
1886 for (int indexI
= 0; indexI
< xmlsf
.getArchList().size(); indexI
++) {
1888 .add(new IDefaultMutableTreeNode(
1889 xmlsf
.getArchArray(indexI
).getArchType().toString(),
1890 IDefaultMutableTreeNode
.SOURCEFILES_ARCH_ITEM
,
1891 IDefaultMutableTreeNode
.OPERATION_UPDATE_DELETE
,
1894 sourceFiles
.add(sourceFilesArch
);
1896 if (xmlsf
.getFilenameList().size() > 0) {
1897 IDefaultMutableTreeNode sourceFilesFileName
= new IDefaultMutableTreeNode(
1899 IDefaultMutableTreeNode
.SOURCEFILES_FILENAME
,
1900 IDefaultMutableTreeNode
.OPERATION_ADD_UPDATE_DELETE
);
1901 for (int indexI
= 0; indexI
< xmlsf
.getFilenameList().size(); indexI
++) {
1903 .add(new IDefaultMutableTreeNode(
1904 xmlsf
.getFilenameArray(indexI
).getStringValue(),
1905 IDefaultMutableTreeNode
.SOURCEFILES_FILENAME_ITEM
,
1906 IDefaultMutableTreeNode
.OPERATION_DELETE
));
1908 sourceFiles
.add(sourceFilesFileName
);
1910 dmtnRoot
.add(sourceFiles
);
1916 if (xmlic
!= null) {
1917 IDefaultMutableTreeNode includes
= new IDefaultMutableTreeNode("Includes",
1918 IDefaultMutableTreeNode
.INCLUDES
,
1919 IDefaultMutableTreeNode
.OPERATION_ADD_DELETE
);
1920 if (xmlic
.getArchList().size() > 0) {
1921 IDefaultMutableTreeNode includesArch
= new IDefaultMutableTreeNode(
1923 IDefaultMutableTreeNode
.INCLUDES_ARCH
,
1924 IDefaultMutableTreeNode
.OPERATION_ADD_DELETE
);
1925 for (int indexI
= 0; indexI
< xmlic
.getArchList().size(); indexI
++) {
1926 includesArch
.add(new IDefaultMutableTreeNode(xmlic
.getArchArray(indexI
).getArchType().toString(),
1927 IDefaultMutableTreeNode
.INCLUDES_ARCH_ITEM
,
1928 IDefaultMutableTreeNode
.OPERATION_UPDATE_DELETE
,
1931 includes
.add(includesArch
);
1933 if (xmlic
.getPackageNameList().size() > 0) {
1934 IDefaultMutableTreeNode includesPackageName
= new IDefaultMutableTreeNode(
1936 IDefaultMutableTreeNode
.INCLUDES_PACKAGENAME
,
1937 IDefaultMutableTreeNode
.OPERATION_ADD_UPDATE_DELETE
);
1938 for (int indexI
= 0; indexI
< xmlic
.getPackageNameList().size(); indexI
++) {
1940 .add(new IDefaultMutableTreeNode(
1941 xmlic
.getPackageNameArray(indexI
)
1943 IDefaultMutableTreeNode
.INCLUDES_PACKAGENAME_ITEM
,
1944 IDefaultMutableTreeNode
.OPERATION_DELETE
));
1946 includes
.add(includesPackageName
);
1948 dmtnRoot
.add(includes
);
1954 if (xmlpl
!= null) {
1955 IDefaultMutableTreeNode dmtnProtocols
= new IDefaultMutableTreeNode(
1957 IDefaultMutableTreeNode
.PROTOCOLS
,
1958 IDefaultMutableTreeNode
.OPERATION_ADD_DELETE
);
1959 IDefaultMutableTreeNode dmtnProtocol
= new IDefaultMutableTreeNode(
1961 IDefaultMutableTreeNode
.PROTOCOLS_PROTOCOL
,
1962 IDefaultMutableTreeNode
.OPERATION_ADD_DELETE
);
1963 IDefaultMutableTreeNode dmtnProtocolNotify
= new IDefaultMutableTreeNode(
1965 IDefaultMutableTreeNode
.PROTOCOLS_PROTOCOLNOTIFY
,
1966 IDefaultMutableTreeNode
.OPERATION_ADD_DELETE
);
1967 if (xmlpl
.getProtocolList().size() > 0) {
1968 for (int indexI
= 0; indexI
< xmlpl
.getProtocolList().size(); indexI
++) {
1969 dmtnProtocol
.add(new IDefaultMutableTreeNode(xmlpl
.getProtocolArray(indexI
).getStringValue(),
1970 IDefaultMutableTreeNode
.PROTOCOLS_PROTOCOL_ITEM
,
1971 IDefaultMutableTreeNode
.OPERATION_UPDATE_DELETE
,
1974 dmtnProtocols
.add(dmtnProtocol
);
1976 if (xmlpl
.getProtocolNotifyList().size() > 0) {
1977 for (int indexI
= 0; indexI
< xmlpl
.getProtocolNotifyList().size(); indexI
++) {
1979 .add(new IDefaultMutableTreeNode(
1980 xmlpl
.getProtocolNotifyArray(indexI
)
1982 IDefaultMutableTreeNode
.PROTOCOLS_PROTOCOLNOTIFY_ITEM
,
1983 IDefaultMutableTreeNode
.OPERATION_UPDATE_DELETE
,
1986 dmtnProtocols
.add(dmtnProtocolNotify
);
1988 dmtnRoot
.add(dmtnProtocols
);
1994 if (xmlen
!= null) {
1995 IDefaultMutableTreeNode dmtnEvents
= new IDefaultMutableTreeNode(
1997 IDefaultMutableTreeNode
.EVENTS
,
1998 IDefaultMutableTreeNode
.OPERATION_ADD_DELETE
);
1999 IDefaultMutableTreeNode dmtnCreateEvents
= new IDefaultMutableTreeNode(
2001 IDefaultMutableTreeNode
.EVENTS_CREATEEVENTS
,
2002 IDefaultMutableTreeNode
.OPERATION_ADD_DELETE
);
2003 IDefaultMutableTreeNode dmtnSignalEvents
= new IDefaultMutableTreeNode(
2005 IDefaultMutableTreeNode
.EVENTS_SIGNALEVENTS
,
2006 IDefaultMutableTreeNode
.OPERATION_ADD_DELETE
);
2007 if (xmlen
.getCreateEvents() != null && xmlen
.getCreateEvents().getEventList().size() > 0) {
2008 for (int indexI
= 0; indexI
< xmlen
.getCreateEvents().getEventList().size(); indexI
++) {
2009 dmtnCreateEvents
.add(new IDefaultMutableTreeNode(xmlen
.getCreateEvents().getEventArray(indexI
)
2011 IDefaultMutableTreeNode
.EVENTS_CREATEEVENTS_ITEM
,
2012 IDefaultMutableTreeNode
.OPERATION_UPDATE_DELETE
,
2015 dmtnEvents
.add(dmtnCreateEvents
);
2017 if (xmlen
.getSignalEvents() != null && xmlen
.getSignalEvents().getEventList().size() > 0) {
2018 for (int indexI
= 0; indexI
< xmlen
.getSignalEvents().getEventList().size(); indexI
++) {
2019 dmtnSignalEvents
.add(new IDefaultMutableTreeNode(xmlen
.getSignalEvents().getEventArray(indexI
)
2021 IDefaultMutableTreeNode
.EVENTS_SIGNALEVENTS_ITEM
,
2022 IDefaultMutableTreeNode
.OPERATION_UPDATE_DELETE
,
2025 dmtnEvents
.add(dmtnSignalEvents
);
2027 dmtnRoot
.add(dmtnEvents
);
2033 if (xmlhob
!= null) {
2034 IDefaultMutableTreeNode dmtnHobs
= new IDefaultMutableTreeNode("Hobs", IDefaultMutableTreeNode
.HOBS
,
2035 IDefaultMutableTreeNode
.OPERATION_ADD_DELETE
);
2036 if (xmlhob
.getHobList().size() > 0) {
2037 for (int indexI
= 0; indexI
< xmlhob
.getHobList().size(); indexI
++) {
2038 dmtnHobs
.add(new IDefaultMutableTreeNode(xmlhob
.getHobArray(indexI
).getName(),
2039 IDefaultMutableTreeNode
.HOBS_HOB_ITEM
,
2040 IDefaultMutableTreeNode
.OPERATION_UPDATE_DELETE
, indexI
));
2043 dmtnRoot
.add(dmtnHobs
);
2049 if (xmlppi
!= null) {
2050 IDefaultMutableTreeNode dmtnPpis
= new IDefaultMutableTreeNode("Ppis", IDefaultMutableTreeNode
.PPIS
,
2051 IDefaultMutableTreeNode
.OPERATION_ADD_DELETE
);
2052 IDefaultMutableTreeNode dmtnPpi
= new IDefaultMutableTreeNode("Ppi", IDefaultMutableTreeNode
.PPIS_PPI
,
2053 IDefaultMutableTreeNode
.OPERATION_ADD_DELETE
);
2054 IDefaultMutableTreeNode dmtnPpiNotify
= new IDefaultMutableTreeNode(
2056 IDefaultMutableTreeNode
.PPIS_PPINOTIFY
,
2057 IDefaultMutableTreeNode
.OPERATION_ADD_DELETE
);
2058 if (xmlppi
.getPpiList().size() > 0) {
2059 for (int indexI
= 0; indexI
< xmlppi
.getPpiList().size(); indexI
++) {
2060 dmtnPpi
.add(new IDefaultMutableTreeNode(xmlppi
.getPpiArray(indexI
).getStringValue(),
2061 IDefaultMutableTreeNode
.PPIS_PPI_ITEM
,
2062 IDefaultMutableTreeNode
.OPERATION_UPDATE_DELETE
, indexI
));
2064 dmtnPpis
.add(dmtnPpi
);
2066 if (xmlppi
.getPpiNotifyList().size() > 0) {
2067 for (int indexI
= 0; indexI
< xmlppi
.getPpiNotifyList().size(); indexI
++) {
2068 dmtnPpiNotify
.add(new IDefaultMutableTreeNode(xmlppi
.getPpiNotifyArray(indexI
).getStringValue(),
2069 IDefaultMutableTreeNode
.PPIS_PPINOTIFY_ITEM
,
2070 IDefaultMutableTreeNode
.OPERATION_UPDATE_DELETE
,
2073 dmtnPpis
.add(dmtnPpiNotify
);
2075 dmtnRoot
.add(dmtnPpis
);
2081 if (xmlvb
!= null) {
2082 IDefaultMutableTreeNode dmtnVariables
= new IDefaultMutableTreeNode(
2084 IDefaultMutableTreeNode
.VARIABLES
,
2085 IDefaultMutableTreeNode
.OPERATION_ADD_DELETE
);
2086 if (xmlvb
.getVariableList().size() > 0) {
2087 for (int indexI
= 0; indexI
< xmlvb
.getVariableList().size(); indexI
++) {
2088 dmtnVariables
.add(new IDefaultMutableTreeNode(xmlvb
.getVariableArray(indexI
).getString(),
2089 IDefaultMutableTreeNode
.VARIABLES_VARIABLE_ITEM
,
2090 IDefaultMutableTreeNode
.OPERATION_UPDATE_DELETE
,
2094 dmtnRoot
.add(dmtnVariables
);
2100 if (xmlbm
!= null) {
2101 IDefaultMutableTreeNode dmtnBootModes
= new IDefaultMutableTreeNode(
2103 IDefaultMutableTreeNode
.BOOTMODES
,
2104 IDefaultMutableTreeNode
.OPERATION_ADD_DELETE
);
2105 if (xmlbm
.getBootModeList().size() > 0) {
2106 for (int indexI
= 0; indexI
< xmlbm
.getBootModeList().size(); indexI
++) {
2107 dmtnBootModes
.add(new IDefaultMutableTreeNode(xmlbm
.getBootModeArray(indexI
).getBootModeName()
2109 IDefaultMutableTreeNode
.BOOTMODES_BOOTMODE_ITEM
,
2110 IDefaultMutableTreeNode
.OPERATION_UPDATE_DELETE
,
2114 dmtnRoot
.add(dmtnBootModes
);
2120 if (xmlst
!= null) {
2121 IDefaultMutableTreeNode dmtnSystemTables
= new IDefaultMutableTreeNode(
2123 IDefaultMutableTreeNode
.SYSTEMTABLES
,
2124 IDefaultMutableTreeNode
.OPERATION_ADD_DELETE
);
2125 if (xmlst
.getSystemTableList().size() > 0) {
2126 for (int indexI
= 0; indexI
< xmlst
.getSystemTableList().size(); indexI
++) {
2128 .add(new IDefaultMutableTreeNode(
2129 xmlst
.getSystemTableArray(indexI
).getEntry(),
2130 IDefaultMutableTreeNode
.SYSTEMTABLES_SYSTEMTABLE_ITEM
,
2131 IDefaultMutableTreeNode
.OPERATION_UPDATE_DELETE
,
2135 dmtnRoot
.add(dmtnSystemTables
);
2141 if (xmldh
!= null) {
2142 IDefaultMutableTreeNode dmtnDataHubs
= new IDefaultMutableTreeNode(
2144 IDefaultMutableTreeNode
.DATAHUBS
,
2145 IDefaultMutableTreeNode
.OPERATION_ADD_DELETE
);
2146 if (xmldh
.getDataHubRecordList().size() > 0) {
2147 for (int indexI
= 0; indexI
< xmldh
.getDataHubRecordList().size(); indexI
++) {
2148 dmtnDataHubs
.add(new IDefaultMutableTreeNode(xmldh
.getDataHubRecordArray(indexI
).getStringValue(),
2149 IDefaultMutableTreeNode
.DATAHUBS_DATAHUB_ITEM
,
2150 IDefaultMutableTreeNode
.OPERATION_UPDATE_DELETE
,
2154 dmtnRoot
.add(dmtnDataHubs
);
2160 if (xmlfs
!= null) {
2161 IDefaultMutableTreeNode dmtnFormsets
= new IDefaultMutableTreeNode(
2163 IDefaultMutableTreeNode
.FORMSETS
,
2164 IDefaultMutableTreeNode
.OPERATION_ADD_DELETE
);
2165 if (xmlfs
.getFormsetList().size() > 0) {
2166 for (int indexI
= 0; indexI
< xmlfs
.getFormsetList().size(); indexI
++) {
2167 dmtnFormsets
.add(new IDefaultMutableTreeNode(xmlfs
.getFormsetArray(indexI
).getStringValue(),
2168 IDefaultMutableTreeNode
.FORMSETS_FORMSET_ITEM
,
2169 IDefaultMutableTreeNode
.OPERATION_UPDATE_DELETE
,
2173 dmtnRoot
.add(dmtnFormsets
);
2179 if (xmlgu
!= null) {
2180 IDefaultMutableTreeNode dmtnGuids
= new IDefaultMutableTreeNode(
2182 IDefaultMutableTreeNode
.GUIDS
,
2183 IDefaultMutableTreeNode
.OPERATION_ADD_DELETE
);
2184 if (xmlgu
.getGuidEntryList().size() > 0) {
2185 for (int indexI
= 0; indexI
< xmlgu
.getGuidEntryList().size(); indexI
++) {
2186 dmtnGuids
.add(new IDefaultMutableTreeNode(xmlgu
.getGuidEntryArray(indexI
).getCName(),
2187 IDefaultMutableTreeNode
.GUIDS_GUIDENTRY_ITEM
,
2188 IDefaultMutableTreeNode
.OPERATION_UPDATE_DELETE
, indexI
));
2191 dmtnRoot
.add(dmtnGuids
);
2197 if (xmlet
!= null) {
2198 IDefaultMutableTreeNode dmtnExterns
= new IDefaultMutableTreeNode(
2200 IDefaultMutableTreeNode
.EXTERNS
,
2201 IDefaultMutableTreeNode
.OPERATION_ADD_DELETE
);
2202 if (xmlet
.getExternList().size() > 0) {
2203 for (int indexI
= 0; indexI
< xmlet
.getExternList().size(); indexI
++) {
2205 .add(new IDefaultMutableTreeNode("Extern " + Integer
.valueOf(indexI
+ 1),
2206 IDefaultMutableTreeNode
.EXTERNS_EXTERN_ITEM
,
2207 IDefaultMutableTreeNode
.OPERATION_UPDATE_DELETE
, indexI
));
2210 dmtnRoot
.add(dmtnExterns
);
2216 if (xmlpcd
!= null) {
2217 IDefaultMutableTreeNode dmtnPCDs
= new IDefaultMutableTreeNode("PCDs", IDefaultMutableTreeNode
.PCDS
,
2218 IDefaultMutableTreeNode
.OPERATION_ADD_DELETE
);
2219 if (xmlpcd
.getPcdDataList().size() > 0) {
2220 for (int indexI
= 0; indexI
< xmlpcd
.getPcdDataList().size(); indexI
++) {
2221 dmtnPCDs
.add(new IDefaultMutableTreeNode(xmlpcd
.getPcdDataArray(indexI
).getCName(),
2222 IDefaultMutableTreeNode
.PCDS_PCDDATA_ITEM
,
2223 IDefaultMutableTreeNode
.OPERATION_UPDATE_DELETE
, indexI
));
2226 dmtnRoot
.add(dmtnPCDs
);
2229 iTree
= new ITree(dmtnRoot
);
2230 iTree
.addMouseListener(this);
2231 iTree
.addTreeSelectionListener(this);
2232 jScrollPaneTree
.setViewportView(iTree
);
2236 * @see java.awt.event.WindowListener#windowClosing(java.awt.event.WindowEvent)
2238 * Override windowClosing to popup warning message to confirm quit
2241 public void windowClosing(WindowEvent arg0
) {
2246 * @see java.awt.event.MouseListener#mouseClicked(java.awt.event.MouseEvent)
2248 * Override mouseClicked to check if need display popup menu
2251 public void mouseClicked(MouseEvent arg0
) {
2252 if (arg0
.getButton() == MouseEvent
.BUTTON1
) {
2255 if (arg0
.getButton() == MouseEvent
.BUTTON3
) {
2256 jPopupMenu
.show(arg0
.getComponent(), arg0
.getX(), arg0
.getY());
2260 public void mouseEntered(MouseEvent arg0
) {
2261 // TODO Auto-generated method stub
2264 public void mouseExited(MouseEvent arg0
) {
2265 // TODO Auto-generated method stub
2268 public void mousePressed(MouseEvent arg0
) {
2269 // TODO Auto-generated method stub
2272 public void mouseReleased(MouseEvent arg0
) {
2273 // TODO Auto-generated method stub
2280 public void valueChanged(TreeSelectionEvent arg0
) {
2281 int intOperation
= iTree
.getSelectOperation();
2282 if (intOperation
== IDefaultMutableTreeNode
.OPERATION_NULL
) {
2283 setMenuItemAddEnabled(false);
2284 setMenuItemUpdateEnabled(false);
2285 setMenuItemDeleteEnabled(false);
2287 if (intOperation
== IDefaultMutableTreeNode
.OPERATION_ADD
) {
2288 setMenuItemAddEnabled(true);
2289 setMenuItemUpdateEnabled(false);
2290 setMenuItemDeleteEnabled(false);
2292 if (intOperation
== IDefaultMutableTreeNode
.OPERATION_UPDATE
) {
2293 setMenuItemAddEnabled(false);
2294 setMenuItemUpdateEnabled(true);
2295 setMenuItemDeleteEnabled(false);
2297 if (intOperation
== IDefaultMutableTreeNode
.OPERATION_DELETE
) {
2298 setMenuItemAddEnabled(false);
2299 setMenuItemUpdateEnabled(false);
2300 setMenuItemDeleteEnabled(true);
2302 if (intOperation
== IDefaultMutableTreeNode
.OPERATION_ADD_UPDATE
) {
2303 setMenuItemAddEnabled(true);
2304 setMenuItemUpdateEnabled(true);
2305 setMenuItemDeleteEnabled(false);
2307 if (intOperation
== IDefaultMutableTreeNode
.OPERATION_ADD_DELETE
) {
2308 setMenuItemAddEnabled(true);
2309 setMenuItemUpdateEnabled(false);
2310 setMenuItemDeleteEnabled(true);
2312 if (intOperation
== IDefaultMutableTreeNode
.OPERATION_UPDATE_DELETE
) {
2313 setMenuItemAddEnabled(false);
2314 setMenuItemUpdateEnabled(true);
2315 setMenuItemDeleteEnabled(true);
2317 if (intOperation
== IDefaultMutableTreeNode
.OPERATION_ADD_UPDATE_DELETE
) {
2318 setMenuItemAddEnabled(true);
2319 setMenuItemUpdateEnabled(true);
2320 setMenuItemDeleteEnabled(true);
2322 viewCurrentModule();
2326 Enable/Disable add menu item
2329 private void setMenuItemAddEnabled(boolean isEnable
) {
2330 jMenuItemPopupAdd
.setEnabled(isEnable
);
2334 Enable/Disable update menu item
2337 private void setMenuItemUpdateEnabled(boolean isEnable
) {
2338 jMenuItemPopupUpdate
.setEnabled(isEnable
);
2339 jMenuItemEditUpdate
.setEnabled(isEnable
);
2343 Enable/Disable delete menu item
2346 private void setMenuItemDeleteEnabled(boolean isEnable
) {
2347 jMenuItemPopupDelete
.setEnabled(isEnable
);
2348 jMenuItemEditDelete
.setEnabled(isEnable
);
2352 Close current open module
2355 private void closeCurrentModule() {
2358 reloadTreeAndTable(ModuleMain
.CLOSED
);
2359 setMenuItemAddEnabled(false);
2360 setMenuItemUpdateEnabled(false);
2361 setMenuItemDeleteEnabled(false);
2366 Remove all Internal Frame of Desktop Pane
2369 private void cleanDesktopPane() {
2370 JInternalFrame
[] iif
= this.jDesktopPane
.getAllFrames();
2371 for (int index
= 0; index
< iif
.length
; index
++) {
2372 iif
[index
].dispose();
2377 Set all xml document null
2380 private void cleanAllXml() {
2381 this.currentModule
= "";
2382 this.saveFileName
= "";
2383 this.currentModuleType
= 0;
2384 this.currentNodeType
= 0;
2411 Execute add operation for current node
2413 @param intCategory The category of current node
2414 @param intLocation The location of current node
2417 private void addCurrentModule(int intCategory
, int intLocation
) {
2421 if (intCategory
== IDefaultMutableTreeNode
.LIBRARIES
2422 || intCategory
== IDefaultMutableTreeNode
.LIBRARIES_LIBRARY
2423 || intCategory
== IDefaultMutableTreeNode
.LIBRARIES_ARCH
) {
2424 showLibraries(ModuleMain
.ADD
, intCategory
, -1);
2428 //Add new sourcefiles
2430 if (intCategory
== IDefaultMutableTreeNode
.SOURCEFILES
2431 || intCategory
== IDefaultMutableTreeNode
.SOURCEFILES_FILENAME
2432 || intCategory
== IDefaultMutableTreeNode
.SOURCEFILES_ARCH
) {
2433 showSourceFiles(ModuleMain
.ADD
, intCategory
, -1);
2439 if (intCategory
== IDefaultMutableTreeNode
.INCLUDES
2440 || intCategory
== IDefaultMutableTreeNode
.INCLUDES_PACKAGENAME
2441 || intCategory
== IDefaultMutableTreeNode
.INCLUDES_ARCH
) {
2442 showIncludes(ModuleMain
.ADD
, intCategory
, -1);
2448 if (intCategory
== IDefaultMutableTreeNode
.PROTOCOLS
2449 || intCategory
== IDefaultMutableTreeNode
.PROTOCOLS_PROTOCOL
2450 || intCategory
== IDefaultMutableTreeNode
.PROTOCOLS_PROTOCOLNOTIFY
) {
2451 showProtocols(ModuleMain
.ADD
, intCategory
, -1);
2457 if (intCategory
== IDefaultMutableTreeNode
.EVENTS
|| intCategory
== IDefaultMutableTreeNode
.EVENTS_CREATEEVENTS
2458 || intCategory
== IDefaultMutableTreeNode
.EVENTS_SIGNALEVENTS
) {
2459 showEvents(ModuleMain
.ADD
, intCategory
, -1);
2465 if (intCategory
== IDefaultMutableTreeNode
.HOBS
|| intCategory
== IDefaultMutableTreeNode
.HOBS_HOB_ITEM
) {
2466 showHobs(ModuleMain
.ADD
, intCategory
, -1);
2472 if (intCategory
== IDefaultMutableTreeNode
.PPIS
|| intCategory
== IDefaultMutableTreeNode
.PPIS_PPI
2473 || intCategory
== IDefaultMutableTreeNode
.PPIS_PPINOTIFY
) {
2474 showPpis(ModuleMain
.ADD
, intCategory
, -1);
2480 if (intCategory
== IDefaultMutableTreeNode
.VARIABLES
2481 || intCategory
== IDefaultMutableTreeNode
.VARIABLES_VARIABLE_ITEM
) {
2482 showVariables(ModuleMain
.ADD
, intCategory
, -1);
2488 if (intCategory
== IDefaultMutableTreeNode
.BOOTMODES
2489 || intCategory
== IDefaultMutableTreeNode
.BOOTMODES_BOOTMODE_ITEM
) {
2490 showBootModes(ModuleMain
.ADD
, intCategory
, -1);
2494 //Add new SystemTables
2496 if (intCategory
== IDefaultMutableTreeNode
.SYSTEMTABLES
2497 || intCategory
== IDefaultMutableTreeNode
.SYSTEMTABLES_SYSTEMTABLE_ITEM
) {
2498 showSystemTables(ModuleMain
.ADD
, intCategory
, -1);
2504 if (intCategory
== IDefaultMutableTreeNode
.DATAHUBS
2505 || intCategory
== IDefaultMutableTreeNode
.DATAHUBS_DATAHUB_ITEM
) {
2506 showDataHubs(ModuleMain
.ADD
, intCategory
, -1);
2512 if (intCategory
== IDefaultMutableTreeNode
.FORMSETS
2513 || intCategory
== IDefaultMutableTreeNode
.FORMSETS_FORMSET_ITEM
) {
2514 showFormsets(ModuleMain
.ADD
, intCategory
, -1);
2520 if (intCategory
== IDefaultMutableTreeNode
.GUIDS
|| intCategory
== IDefaultMutableTreeNode
.GUIDS_GUIDENTRY_ITEM
) {
2521 showGuids(ModuleMain
.ADD
, intCategory
, -1);
2527 if (intCategory
== IDefaultMutableTreeNode
.EXTERNS
2528 || intCategory
== IDefaultMutableTreeNode
.EXTERNS_EXTERN_ITEM
) {
2529 showExterns(ModuleMain
.ADD
, intCategory
, -1);
2535 if (intCategory
== IDefaultMutableTreeNode
.PCDS
|| intCategory
== IDefaultMutableTreeNode
.PCDS_PCDDATA_ITEM
) {
2536 showPCDs(ModuleMain
.ADD
, intCategory
, -1);
2541 Execute delete operation of current node
2543 @param intCategory The category of current node
2544 @param intLocation The location of current node
2547 private void deleteCurrentModule(int intCategory
, int intLocation
) {
2549 // Delete Msa Header
2551 if (intCategory
== IDefaultMutableTreeNode
.MSA_HEADER
|| intCategory
== IDefaultMutableTreeNode
.MBD_HEADER
2552 || intCategory
== IDefaultMutableTreeNode
.MLSA_HEADER
|| intCategory
== IDefaultMutableTreeNode
.MLBD_HEADER
) {
2553 if (JOptionPane
.showConfirmDialog(null, "The module will be deleted permanently, do you want to continue?") == JOptionPane
.YES_OPTION
) {
2555 File f
= new File(currentModule
);
2557 closeCurrentModule();
2558 } catch (Exception e
) {
2559 Log
.err("Delete " + currentModule
, e
.getMessage());
2567 //Delete LIBRARY CLASS DEFINITIONS
2569 if (intCategory
== IDefaultMutableTreeNode
.LIBRARYCLASSDEFINITIONS
) {
2576 if (intCategory
== IDefaultMutableTreeNode
.LIBRARIES
) {
2579 if (intCategory
== IDefaultMutableTreeNode
.LIBRARIES_LIBRARY
) {
2580 for (int indexI
= xmllib
.getLibraryList().size() - 1; indexI
> -1; indexI
--) {
2581 xmllib
.removeLibrary(indexI
);
2583 if (xmllib
.getArchList().size() < 1 && xmllib
.getLibraryList().size() < 1) {
2587 if (intCategory
== IDefaultMutableTreeNode
.LIBRARIES_ARCH
) {
2588 for (int indexI
= xmllib
.getArchList().size() - 1; indexI
> -1; indexI
--) {
2589 xmllib
.removeArch(indexI
);
2591 if (xmllib
.getArchList().size() < 1 && xmllib
.getLibraryList().size() < 1) {
2595 if (intCategory
== IDefaultMutableTreeNode
.LIBRARIES_ARCH_ITEM
) {
2596 xmllib
.removeArch(intLocation
);
2598 if (intCategory
== IDefaultMutableTreeNode
.LIBRARIES_LIBRARY_ITEM
) {
2599 xmllib
.removeLibrary(intLocation
);
2603 //Delete SourceFiles
2605 if (intCategory
== IDefaultMutableTreeNode
.SOURCEFILES
) {
2608 if (intCategory
== IDefaultMutableTreeNode
.SOURCEFILES_FILENAME
) {
2609 for (int indexI
= xmlsf
.getFilenameList().size() - 1; indexI
> -1; indexI
--) {
2610 xmlsf
.removeFilename(indexI
);
2612 if (xmlsf
.getArchList().size() < 1 && xmlsf
.getFilenameList().size() < 1) {
2616 if (intCategory
== IDefaultMutableTreeNode
.SOURCEFILES_ARCH
) {
2617 for (int indexI
= xmlsf
.getArchList().size() - 1; indexI
> -1; indexI
--) {
2618 xmlsf
.removeArch(indexI
);
2620 if (xmlsf
.getArchList().size() < 1 && xmlsf
.getFilenameList().size() < 1) {
2624 if (intCategory
== IDefaultMutableTreeNode
.SOURCEFILES_ARCH_ITEM
) {
2625 xmlsf
.removeArch(intLocation
);
2627 if (intCategory
== IDefaultMutableTreeNode
.SOURCEFILES_FILENAME_ITEM
) {
2628 xmlsf
.removeFilename(intLocation
);
2634 if (intCategory
== IDefaultMutableTreeNode
.INCLUDES
) {
2637 if (intCategory
== IDefaultMutableTreeNode
.INCLUDES_PACKAGENAME
) {
2638 for (int indexI
= xmlic
.getPackageNameList().size() - 1; indexI
> -1; indexI
--) {
2639 xmlic
.removePackageName(indexI
);
2641 if (xmlic
.getArchList().size() < 1 && xmlic
.getPackageNameList().size() < 1) {
2645 if (intCategory
== IDefaultMutableTreeNode
.INCLUDES_ARCH
) {
2646 for (int indexI
= xmlic
.getArchList().size() - 1; indexI
> -1; indexI
--) {
2647 xmlic
.removeArch(indexI
);
2649 if (xmlic
.getArchList().size() < 1 && xmlic
.getPackageNameList().size() < 1) {
2653 if (intCategory
== IDefaultMutableTreeNode
.INCLUDES_ARCH_ITEM
) {
2654 xmlic
.removeArch(intLocation
);
2656 if (intCategory
== IDefaultMutableTreeNode
.INCLUDES_PACKAGENAME_ITEM
) {
2657 xmlic
.removePackageName(intLocation
);
2663 if (intCategory
== IDefaultMutableTreeNode
.PROTOCOLS
) {
2666 if (intCategory
== IDefaultMutableTreeNode
.PROTOCOLS_PROTOCOL
) {
2667 for (int indexI
= xmlpl
.getProtocolList().size() - 1; indexI
> -1; indexI
--) {
2668 xmlpl
.removeProtocol(indexI
);
2670 if (xmlpl
.getProtocolList().size() < 1 && xmlpl
.getProtocolNotifyList().size() < 1) {
2674 if (intCategory
== IDefaultMutableTreeNode
.PROTOCOLS_PROTOCOLNOTIFY
) {
2675 for (int indexI
= xmlpl
.getProtocolList().size() - 1; indexI
> -1; indexI
--) {
2676 xmlpl
.removeProtocolNotify(indexI
);
2678 if (xmlpl
.getProtocolList().size() < 1 && xmlpl
.getProtocolNotifyList().size() < 1) {
2682 if (intCategory
== IDefaultMutableTreeNode
.PROTOCOLS_PROTOCOL_ITEM
) {
2683 xmlpl
.removeProtocol(intLocation
);
2685 if (intCategory
== IDefaultMutableTreeNode
.PROTOCOLS_PROTOCOLNOTIFY_ITEM
) {
2686 xmlpl
.removeProtocolNotify(intLocation
);
2692 if (intCategory
== IDefaultMutableTreeNode
.EVENTS
) {
2695 if (intCategory
== IDefaultMutableTreeNode
.EVENTS_CREATEEVENTS
) {
2696 for (int indexI
= xmlen
.getCreateEvents().getEventList().size() - 1; indexI
> -1; indexI
--) {
2697 xmlen
.getCreateEvents().removeEvent(indexI
);
2699 if (xmlen
.getCreateEvents().getEventList().size() < 1 && xmlen
.getSignalEvents().getEventList().size() < 1) {
2703 if (intCategory
== IDefaultMutableTreeNode
.EVENTS_SIGNALEVENTS
) {
2704 for (int indexI
= xmlen
.getSignalEvents().getEventList().size() - 1; indexI
> -1; indexI
--) {
2705 xmlen
.getSignalEvents().removeEvent(indexI
);
2707 if (xmlen
.getCreateEvents().getEventList().size() < 1 && xmlen
.getSignalEvents().getEventList().size() < 1) {
2711 if (intCategory
== IDefaultMutableTreeNode
.EVENTS_CREATEEVENTS_ITEM
) {
2712 xmlen
.getCreateEvents().removeEvent(intLocation
);
2714 if (intCategory
== IDefaultMutableTreeNode
.EVENTS_SIGNALEVENTS_ITEM
) {
2715 xmlen
.getSignalEvents().removeEvent(intLocation
);
2721 if (intCategory
== IDefaultMutableTreeNode
.HOBS
) {
2724 if (intCategory
== IDefaultMutableTreeNode
.HOBS_HOB_ITEM
) {
2725 xmlhob
.removeHob(intLocation
);
2726 if (xmlhob
.getHobList().size() < 1) {
2734 if (intCategory
== IDefaultMutableTreeNode
.PPIS
) {
2737 if (intCategory
== IDefaultMutableTreeNode
.PPIS_PPI
) {
2738 for (int indexI
= xmlppi
.getPpiList().size() - 1; indexI
> -1; indexI
--) {
2739 xmlppi
.removePpi(indexI
);
2741 if (xmlppi
.getPpiList().size() < 1 && xmlppi
.getPpiNotifyList().size() < 1) {
2745 if (intCategory
== IDefaultMutableTreeNode
.PPIS_PPINOTIFY
) {
2746 for (int indexI
= xmlppi
.getPpiNotifyList().size() - 1; indexI
> -1; indexI
--) {
2747 xmlppi
.removePpiNotify(indexI
);
2749 if (xmlppi
.getPpiList().size() < 1 && xmlppi
.getPpiNotifyList().size() < 1) {
2753 if (intCategory
== IDefaultMutableTreeNode
.PPIS_PPI_ITEM
) {
2754 xmlppi
.removePpi(intLocation
);
2756 if (intCategory
== IDefaultMutableTreeNode
.PPIS_PPINOTIFY_ITEM
) {
2757 xmlppi
.removePpiNotify(intLocation
);
2763 if (intCategory
== IDefaultMutableTreeNode
.VARIABLES
) {
2766 if (intCategory
== IDefaultMutableTreeNode
.VARIABLES_VARIABLE_ITEM
) {
2767 xmlvb
.removeVariable(intLocation
);
2768 if (xmlvb
.getVariableList().size() < 1) {
2776 if (intCategory
== IDefaultMutableTreeNode
.BOOTMODES
) {
2779 if (intCategory
== IDefaultMutableTreeNode
.BOOTMODES_BOOTMODE_ITEM
) {
2780 xmlbm
.removeBootMode(intLocation
);
2781 if (xmlbm
.getBootModeList().size() < 1) {
2787 //Delete SystemTables
2789 if (intCategory
== IDefaultMutableTreeNode
.SYSTEMTABLES
) {
2792 if (intCategory
== IDefaultMutableTreeNode
.SYSTEMTABLES_SYSTEMTABLE_ITEM
) {
2793 xmlst
.removeSystemTable(intLocation
);
2794 if (xmlst
.getSystemTableList().size() < 1) {
2802 if (intCategory
== IDefaultMutableTreeNode
.DATAHUBS
) {
2805 if (intCategory
== IDefaultMutableTreeNode
.DATAHUBS_DATAHUB_ITEM
) {
2806 xmldh
.removeDataHubRecord(intLocation
);
2807 if (xmldh
.getDataHubRecordList().size() < 1) {
2815 if (intCategory
== IDefaultMutableTreeNode
.FORMSETS
) {
2818 if (intCategory
== IDefaultMutableTreeNode
.FORMSETS_FORMSET_ITEM
) {
2819 xmlfs
.removeFormset(intLocation
);
2820 if (xmlfs
.getFormsetList().size() < 1) {
2828 if (intCategory
== IDefaultMutableTreeNode
.GUIDS
) {
2831 if (intCategory
== IDefaultMutableTreeNode
.GUIDS_GUIDENTRY_ITEM
) {
2832 xmlgu
.removeGuidEntry(intLocation
);
2833 if (xmlgu
.getGuidEntryList().size() < 1) {
2841 if (intCategory
== IDefaultMutableTreeNode
.EXTERNS
) {
2844 if (intCategory
== IDefaultMutableTreeNode
.EXTERNS_EXTERN_ITEM
) {
2845 xmlet
.removeExtern(intLocation
);
2846 if (xmlet
.getExternList().size() < 1) {
2854 if (intCategory
== IDefaultMutableTreeNode
.PCDS
) {
2857 if (intCategory
== IDefaultMutableTreeNode
.PCDS_PCDDATA_ITEM
) {
2858 xmlpcd
.removePcdData(intLocation
);
2859 if (xmlpcd
.getPcdDataList().size() < 1) {
2863 this.cleanDesktopPane();
2864 reloadTreeAndTable(UPDATE_WITH_CHANGE
);
2871 private void viewCurrentModule() {
2872 int intCategory
= iTree
.getSelectCategory();
2873 int intLocation
= iTree
.getSelectLoaction();
2877 if (intCategory
== IDefaultMutableTreeNode
.MSA_HEADER
) {
2878 showMsaHeader(ModuleMain
.VIEW
);
2884 if (intCategory
== IDefaultMutableTreeNode
.MBD_HEADER
) {
2885 showMbdHeader(ModuleMain
.VIEW
);
2889 //View Msa Lib Header
2891 if (intCategory
== IDefaultMutableTreeNode
.MLSA_HEADER
) {
2892 showMlsaHeader(ModuleMain
.VIEW
);
2896 //View Mbd Lib Header
2898 if (intCategory
== IDefaultMutableTreeNode
.MLBD_HEADER
) {
2899 showMlbdHeader(ModuleMain
.VIEW
);
2905 if (intCategory
== IDefaultMutableTreeNode
.LIBRARIES_LIBRARY
2906 || intCategory
== IDefaultMutableTreeNode
.LIBRARIES_ARCH_ITEM
) {
2907 showLibraries(ModuleMain
.VIEW
, intCategory
, intLocation
);
2911 //View LIBRARY CLASS DEFINITIONS
2913 if (intCategory
== IDefaultMutableTreeNode
.LIBRARYCLASSDEFINITIONS
) {
2914 showLibraryClassDefinitions(ModuleMain
.VIEW
, intCategory
);
2920 if (intCategory
== IDefaultMutableTreeNode
.SOURCEFILES_FILENAME
2921 || intCategory
== IDefaultMutableTreeNode
.SOURCEFILES_ARCH_ITEM
) {
2922 showSourceFiles(ModuleMain
.VIEW
, intCategory
, intLocation
);
2928 if (intCategory
== IDefaultMutableTreeNode
.INCLUDES_PACKAGENAME
2929 || intCategory
== IDefaultMutableTreeNode
.INCLUDES_ARCH_ITEM
) {
2930 showIncludes(ModuleMain
.VIEW
, intCategory
, intLocation
);
2936 if (intCategory
== IDefaultMutableTreeNode
.PROTOCOLS_PROTOCOL_ITEM
2937 || intCategory
== IDefaultMutableTreeNode
.PROTOCOLS_PROTOCOLNOTIFY_ITEM
) {
2938 showProtocols(ModuleMain
.VIEW
, intCategory
, intLocation
);
2944 if (intCategory
== IDefaultMutableTreeNode
.HOBS_HOB_ITEM
) {
2945 showHobs(ModuleMain
.VIEW
, intCategory
, intLocation
);
2951 if (intCategory
== IDefaultMutableTreeNode
.EVENTS_CREATEEVENTS_ITEM
2952 || intCategory
== IDefaultMutableTreeNode
.EVENTS_SIGNALEVENTS_ITEM
) {
2953 showEvents(ModuleMain
.VIEW
, intCategory
, intLocation
);
2959 if (intCategory
== IDefaultMutableTreeNode
.PPIS_PPI_ITEM
2960 || intCategory
== IDefaultMutableTreeNode
.PPIS_PPINOTIFY_ITEM
) {
2961 showPpis(ModuleMain
.VIEW
, intCategory
, intLocation
);
2967 if (intCategory
== IDefaultMutableTreeNode
.VARIABLES_VARIABLE_ITEM
) {
2968 showVariables(ModuleMain
.VIEW
, intCategory
, intLocation
);
2974 if (intCategory
== IDefaultMutableTreeNode
.BOOTMODES_BOOTMODE_ITEM
) {
2975 showBootModes(ModuleMain
.VIEW
, intCategory
, intLocation
);
2981 if (intCategory
== IDefaultMutableTreeNode
.SYSTEMTABLES_SYSTEMTABLE_ITEM
) {
2982 showSystemTables(ModuleMain
.VIEW
, intCategory
, intLocation
);
2988 if (intCategory
== IDefaultMutableTreeNode
.DATAHUBS_DATAHUB_ITEM
) {
2989 showDataHubs(ModuleMain
.VIEW
, intCategory
, intLocation
);
2995 if (intCategory
== IDefaultMutableTreeNode
.FORMSETS_FORMSET_ITEM
) {
2996 showFormsets(ModuleMain
.VIEW
, intCategory
, intLocation
);
3002 if (intCategory
== IDefaultMutableTreeNode
.GUIDS_GUIDENTRY_ITEM
) {
3003 showGuids(ModuleMain
.VIEW
, intCategory
, intLocation
);
3009 if (intCategory
== IDefaultMutableTreeNode
.EXTERNS_EXTERN_ITEM
) {
3010 showExterns(ModuleMain
.VIEW
, intCategory
, intLocation
);
3016 if (intCategory
== IDefaultMutableTreeNode
.PCDS_PCDDATA_ITEM
) {
3017 showPCDs(ModuleMain
.VIEW
, intCategory
, intLocation
);
3022 Execute update operation of current module
3024 @param intCategory The category of current node
3025 @param intLocation The location of current node
3028 private void updateCurrentModule(int intCategory
, int intLocation
) {
3032 if (intCategory
== IDefaultMutableTreeNode
.MSA_HEADER
) {
3033 showMsaHeader(ModuleMain
.UPDATE
);
3039 if (intCategory
== IDefaultMutableTreeNode
.MBD_HEADER
) {
3040 showMbdHeader(ModuleMain
.UPDATE
);
3044 //Update Msa Lib Header
3046 if (intCategory
== IDefaultMutableTreeNode
.MLSA_HEADER
) {
3047 showMlsaHeader(ModuleMain
.UPDATE
);
3051 //Update Mbd Lib Header
3053 if (intCategory
== IDefaultMutableTreeNode
.MLBD_HEADER
) {
3054 showMlbdHeader(ModuleMain
.UPDATE
);
3060 if (intCategory
== IDefaultMutableTreeNode
.LIBRARIES_LIBRARY
3061 || intCategory
== IDefaultMutableTreeNode
.LIBRARIES_ARCH_ITEM
) {
3062 showLibraries(ModuleMain
.UPDATE
, intCategory
, intLocation
);
3066 //Update LIBRARY CLASS DEFINITIONS
3068 if (intCategory
== IDefaultMutableTreeNode
.LIBRARYCLASSDEFINITIONS
) {
3069 showLibraryClassDefinitions(ModuleMain
.UPDATE
, intCategory
);
3073 //Update Source Files
3075 if (intCategory
== IDefaultMutableTreeNode
.SOURCEFILES_FILENAME
3076 || intCategory
== IDefaultMutableTreeNode
.SOURCEFILES_ARCH_ITEM
) {
3077 showSourceFiles(ModuleMain
.UPDATE
, intCategory
, intLocation
);
3083 if (intCategory
== IDefaultMutableTreeNode
.INCLUDES_PACKAGENAME
3084 || intCategory
== IDefaultMutableTreeNode
.INCLUDES_ARCH_ITEM
) {
3085 showIncludes(ModuleMain
.UPDATE
, intCategory
, intLocation
);
3091 if (intCategory
== IDefaultMutableTreeNode
.PROTOCOLS_PROTOCOL_ITEM
3092 || intCategory
== IDefaultMutableTreeNode
.PROTOCOLS_PROTOCOLNOTIFY_ITEM
) {
3093 showProtocols(ModuleMain
.UPDATE
, intCategory
, intLocation
);
3099 if (intCategory
== IDefaultMutableTreeNode
.HOBS_HOB_ITEM
) {
3100 showHobs(ModuleMain
.UPDATE
, intCategory
, intLocation
);
3106 if (intCategory
== IDefaultMutableTreeNode
.EVENTS_CREATEEVENTS_ITEM
3107 || intCategory
== IDefaultMutableTreeNode
.EVENTS_SIGNALEVENTS_ITEM
) {
3108 showEvents(ModuleMain
.UPDATE
, intCategory
, intLocation
);
3114 if (intCategory
== IDefaultMutableTreeNode
.PPIS_PPI_ITEM
3115 || intCategory
== IDefaultMutableTreeNode
.PPIS_PPINOTIFY_ITEM
) {
3116 showPpis(ModuleMain
.UPDATE
, intCategory
, intLocation
);
3122 if (intCategory
== IDefaultMutableTreeNode
.VARIABLES_VARIABLE_ITEM
) {
3123 showVariables(ModuleMain
.UPDATE
, intCategory
, intLocation
);
3129 if (intCategory
== IDefaultMutableTreeNode
.BOOTMODES_BOOTMODE_ITEM
) {
3130 showBootModes(ModuleMain
.UPDATE
, intCategory
, intLocation
);
3134 //Update SystemTables
3136 if (intCategory
== IDefaultMutableTreeNode
.SYSTEMTABLES_SYSTEMTABLE_ITEM
) {
3137 showSystemTables(ModuleMain
.UPDATE
, intCategory
, intLocation
);
3143 if (intCategory
== IDefaultMutableTreeNode
.DATAHUBS_DATAHUB_ITEM
) {
3144 showDataHubs(ModuleMain
.UPDATE
, intCategory
, intLocation
);
3150 if (intCategory
== IDefaultMutableTreeNode
.FORMSETS_FORMSET_ITEM
) {
3151 showFormsets(ModuleMain
.UPDATE
, intCategory
, intLocation
);
3157 if (intCategory
== IDefaultMutableTreeNode
.GUIDS_GUIDENTRY_ITEM
) {
3158 showGuids(ModuleMain
.UPDATE
, intCategory
, intLocation
);
3164 if (intCategory
== IDefaultMutableTreeNode
.EXTERNS_EXTERN_ITEM
) {
3165 showExterns(ModuleMain
.UPDATE
, intCategory
, intLocation
);
3171 if (intCategory
== IDefaultMutableTreeNode
.PCDS_PCDDATA_ITEM
) {
3172 showPCDs(ModuleMain
.UPDATE
, intCategory
, intLocation
);
3178 Call relevant function via different file types
3181 private void saveCurrentModule() {
3182 if (this.saveFileName
== "") {
3183 openFile(2, this.currentModuleType
);
3185 if (this.saveFileName
== "") {
3186 this.saveFileName
= this.currentModule
;
3189 switch (this.currentModuleType
) {
3206 reloadTreeAndTable(SAVE_WITH_CHANGE
);
3210 Save current module as
3213 private void saveAsCurrentModule() {
3214 this.saveFileName
= "";
3215 saveCurrentModule();
3222 private void saveMsa() {
3223 File f
= new File(this.saveFileName
);
3224 ModuleSurfaceAreaDocument msaDoc
= ModuleSurfaceAreaDocument
.Factory
.newInstance();
3225 ModuleSurfaceAreaDocument
.ModuleSurfaceArea msa
= ModuleSurfaceAreaDocument
.ModuleSurfaceArea
.Factory
3229 //Add all components into xml doc file
3231 if (xmlmh
!= null) {
3232 msa
.setMsaHeader(xmlmh
);
3234 if (xmllcd
!= null) {
3235 msa
.setLibraryClassDefinitions(xmllcd
);
3237 if (xmlsf
!= null) {
3238 msa
.setSourceFiles(xmlsf
);
3240 if (xmlic
!= null) {
3241 msa
.setIncludes(xmlic
);
3243 if (xmlpl
!= null) {
3244 msa
.setProtocols(xmlpl
);
3246 if (xmlen
!= null) {
3247 msa
.setEvents(xmlen
);
3249 if (xmlhob
!= null) {
3250 msa
.setHobs(xmlhob
);
3252 if (xmlppi
!= null) {
3253 msa
.setPPIs(xmlppi
);
3255 if (xmlvb
!= null) {
3256 msa
.setVariables(xmlvb
);
3258 if (xmlbm
!= null) {
3259 msa
.setBootModes(xmlbm
);
3261 if (xmlst
!= null) {
3262 msa
.setSystemTables(xmlst
);
3264 if (xmldh
!= null) {
3265 msa
.setDataHubs(xmldh
);
3267 if (xmlfs
!= null) {
3268 msa
.setFormsets(xmlfs
);
3270 if (xmlgu
!= null) {
3271 msa
.setGuids(xmlgu
);
3273 if (xmlet
!= null) {
3274 msa
.setExterns(xmlet
);
3276 if (xmlpcd
!= null) {
3277 msa
.setPCDs(xmlpcd
);
3279 if (xmlbo
!= null) {
3280 msa
.setBuildOptions(xmlbo
);
3285 XmlCursor cursor
= msa
.newCursor();
3286 String uri
= "http://www.TianoCore.org/2006/Edk2.0";
3288 cursor
.toNextToken();
3289 cursor
.insertNamespace("", uri
);
3290 cursor
.insertNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance");
3294 //Config file format
3296 XmlOptions options
= new XmlOptions();
3297 options
.setCharacterEncoding("UTF-8");
3298 options
.setSavePrettyPrint();
3299 options
.setSavePrettyPrintIndent(2);
3304 msaDoc
.addNewModuleSurfaceArea();
3305 msaDoc
.setModuleSurfaceArea((ModuleSurfaceAreaDocument
.ModuleSurfaceArea
) cursor
.getObject());
3310 msaDoc
.save(f
, options
);
3311 this.currentModule
= this.saveFileName
;
3312 } catch (Exception e
) {
3313 Log
.err("Save Msa", e
.getMessage());
3321 private void saveMbd() {
3322 File f
= new File(this.saveFileName
);
3323 ModuleBuildDescriptionDocument mbdDoc
= ModuleBuildDescriptionDocument
.Factory
.newInstance();
3324 ModuleBuildDescriptionDocument
.ModuleBuildDescription mbd
= ModuleBuildDescriptionDocument
.ModuleBuildDescription
.Factory
3327 //Add all components into xml doc file
3329 if (xmlmbdh
!= null) {
3330 mbd
.setMbdHeader(xmlmbdh
);
3332 if (xmllib
!= null) {
3333 mbd
.setLibraries(xmllib
);
3335 if (xmlsf
!= null) {
3336 mbd
.setSourceFiles(xmlsf
);
3338 if (xmlic
!= null) {
3339 mbd
.setIncludes(xmlic
);
3341 if (xmlpl
!= null) {
3342 mbd
.setProtocols(xmlpl
);
3344 if (xmlen
!= null) {
3345 mbd
.setEvents(xmlen
);
3347 if (xmlhob
!= null) {
3348 mbd
.setHobs(xmlhob
);
3350 if (xmlppi
!= null) {
3351 mbd
.setPPIs(xmlppi
);
3353 if (xmlvb
!= null) {
3354 mbd
.setVariables(xmlvb
);
3356 if (xmlbm
!= null) {
3357 mbd
.setBootModes(xmlbm
);
3359 if (xmlst
!= null) {
3360 mbd
.setSystemTables(xmlst
);
3362 if (xmldh
!= null) {
3363 mbd
.setDataHubs(xmldh
);
3365 if (xmlfs
!= null) {
3366 mbd
.setFormsets(xmlfs
);
3368 if (xmlgu
!= null) {
3369 mbd
.setGuids(xmlgu
);
3371 if (xmlet
!= null) {
3372 mbd
.setExterns(xmlet
);
3374 if (xmlpcd
!= null) {
3375 mbd
.setPCDs(xmlpcd
);
3377 if (xmlbo
!= null) {
3378 mbd
.setBuildOptions(xmlbo
);
3383 XmlCursor cursor
= mbd
.newCursor();
3384 String uri
= "http://www.TianoCore.org/2006/Edk2.0";
3386 cursor
.toNextToken();
3387 cursor
.insertNamespace("", uri
);
3388 cursor
.insertNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance");
3392 //Config file format
3394 XmlOptions options
= new XmlOptions();
3395 options
.setCharacterEncoding("UTF-8");
3396 options
.setSavePrettyPrint();
3397 options
.setSavePrettyPrintIndent(2);
3402 mbdDoc
.addNewModuleBuildDescription();
3403 mbdDoc
.setModuleBuildDescription((ModuleBuildDescriptionDocument
.ModuleBuildDescription
) cursor
.getObject());
3408 mbdDoc
.save(f
, options
);
3409 this.currentModule
= this.saveFileName
;
3410 } catch (Exception e
) {
3411 Log
.err("Save Mbd", e
.getMessage());
3419 private void saveMlsa() {
3420 File f
= new File(this.saveFileName
);
3421 LibraryModuleSurfaceAreaDocument mlsaDoc
= LibraryModuleSurfaceAreaDocument
.Factory
.newInstance();
3422 LibraryModuleSurfaceAreaDocument
.LibraryModuleSurfaceArea mlsa
= LibraryModuleSurfaceAreaDocument
.LibraryModuleSurfaceArea
.Factory
3425 //Add all components into xml doc file
3427 if (xmlmlh
!= null) {
3428 mlsa
.setMsaLibHeader(xmlmlh
);
3430 if (xmllcd
!= null) {
3431 mlsa
.setLibraryClassDefinitions(xmllcd
);
3433 if (xmlsf
!= null) {
3434 mlsa
.setSourceFiles(xmlsf
);
3436 if (xmlic
!= null) {
3437 mlsa
.setIncludes(xmlic
);
3439 if (xmlpl
!= null) {
3440 mlsa
.setProtocols(xmlpl
);
3442 if (xmlen
!= null) {
3443 mlsa
.setEvents(xmlen
);
3445 if (xmlhob
!= null) {
3446 mlsa
.setHobs(xmlhob
);
3448 if (xmlppi
!= null) {
3449 mlsa
.setPPIs(xmlppi
);
3451 if (xmlvb
!= null) {
3452 mlsa
.setVariables(xmlvb
);
3454 if (xmlbm
!= null) {
3455 mlsa
.setBootModes(xmlbm
);
3457 if (xmlst
!= null) {
3458 mlsa
.setSystemTables(xmlst
);
3460 if (xmldh
!= null) {
3461 mlsa
.setDataHubs(xmldh
);
3463 if (xmlfs
!= null) {
3464 mlsa
.setFormsets(xmlfs
);
3466 if (xmlgu
!= null) {
3467 mlsa
.setGuids(xmlgu
);
3469 if (xmlet
!= null) {
3470 mlsa
.setExterns(xmlet
);
3472 if (xmlpcd
!= null) {
3473 mlsa
.setPCDs(xmlpcd
);
3475 if (xmlbo
!= null) {
3476 mlsa
.setBuildOptions(xmlbo
);
3481 XmlCursor cursor
= mlsa
.newCursor();
3482 String uri
= "http://www.TianoCore.org/2006/Edk2.0";
3484 cursor
.toNextToken();
3485 cursor
.insertNamespace("", uri
);
3486 cursor
.insertNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance");
3490 //Config file format
3492 XmlOptions options
= new XmlOptions();
3493 options
.setCharacterEncoding("UTF-8");
3494 options
.setSavePrettyPrint();
3495 options
.setSavePrettyPrintIndent(2);
3500 mlsaDoc
.addNewLibraryModuleSurfaceArea();
3502 .setLibraryModuleSurfaceArea((LibraryModuleSurfaceAreaDocument
.LibraryModuleSurfaceArea
) cursor
3508 mlsaDoc
.save(f
, options
);
3509 this.currentModule
= this.saveFileName
;
3510 } catch (Exception e
) {
3511 Log
.err("Save Mlsa", e
.getMessage());
3519 private void saveMlbd() {
3520 File f
= new File(this.saveFileName
);
3521 LibraryModuleBuildDescriptionDocument mlbdDoc
= LibraryModuleBuildDescriptionDocument
.Factory
.newInstance();
3522 LibraryModuleBuildDescriptionDocument
.LibraryModuleBuildDescription mlbd
= LibraryModuleBuildDescriptionDocument
.LibraryModuleBuildDescription
.Factory
3525 //Add all components into xml doc file
3527 if (xmlmlbdh
!= null) {
3528 mlbd
.setMbdLibHeader(xmlmlbdh
);
3530 if (xmllib
!= null) {
3531 mlbd
.setLibraries(xmllib
);
3533 if (xmlsf
!= null) {
3534 mlbd
.setSourceFiles(xmlsf
);
3536 if (xmlic
!= null) {
3537 mlbd
.setIncludes(xmlic
);
3539 if (xmlpl
!= null) {
3540 mlbd
.setProtocols(xmlpl
);
3542 if (xmlen
!= null) {
3543 mlbd
.setEvents(xmlen
);
3545 if (xmlhob
!= null) {
3546 mlbd
.setHobs(xmlhob
);
3548 if (xmlppi
!= null) {
3549 mlbd
.setPPIs(xmlppi
);
3551 if (xmlvb
!= null) {
3552 mlbd
.setVariables(xmlvb
);
3554 if (xmlbm
!= null) {
3555 mlbd
.setBootModes(xmlbm
);
3557 if (xmlst
!= null) {
3558 mlbd
.setSystemTables(xmlst
);
3560 if (xmldh
!= null) {
3561 mlbd
.setDataHubs(xmldh
);
3563 if (xmlfs
!= null) {
3564 mlbd
.setFormsets(xmlfs
);
3566 if (xmlgu
!= null) {
3567 mlbd
.setGuids(xmlgu
);
3569 if (xmlet
!= null) {
3570 mlbd
.setExterns(xmlet
);
3572 if (xmlpcd
!= null) {
3573 mlbd
.setPCDs(xmlpcd
);
3575 if (xmlbo
!= null) {
3576 mlbd
.setBuildOptions(xmlbo
);
3581 XmlCursor cursor
= mlbd
.newCursor();
3582 String uri
= "http://www.TianoCore.org/2006/Edk2.0";
3584 cursor
.toNextToken();
3585 cursor
.insertNamespace("", uri
);
3586 cursor
.insertNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance");
3590 //Config file format
3592 XmlOptions options
= new XmlOptions();
3593 options
.setCharacterEncoding("UTF-8");
3594 options
.setSavePrettyPrint();
3595 options
.setSavePrettyPrintIndent(2);
3600 mlbdDoc
.addNewLibraryModuleBuildDescription();
3602 .setLibraryModuleBuildDescription((LibraryModuleBuildDescriptionDocument
.LibraryModuleBuildDescription
) cursor
3608 mlbdDoc
.save(f
, options
);
3609 this.currentModule
= this.saveFileName
;
3610 } catch (Exception e
) {
3611 Log
.err("Save Mbd", e
.getMessage());
3616 Reflash the tree via current value of xml documents.
3618 @param intMode The input data of current operation type
3621 private void reloadTreeAndTable(int intMode
) {
3623 if (intMode
== ModuleMain
.OPENED
) {
3624 this.jMenuItemModuleClose
.setEnabled(true);
3625 this.jMenuItemModuleSaveAs
.setEnabled(true);
3626 this.jMenuEditAdd
.setEnabled(true);
3627 this.setTitle(windowTitle
+ "- [" + this.currentModule
+ "]");
3628 this.jButtonOk
.setEnabled(false);
3629 this.jButtonCancel
.setEnabled(false);
3631 if (intMode
== ModuleMain
.CLOSED
) {
3632 this.jMenuItemModuleClose
.setEnabled(false);
3633 this.jMenuItemModuleSave
.setEnabled(false);
3634 this.jMenuItemModuleSaveAs
.setEnabled(false);
3635 this.jMenuEditAdd
.setEnabled(false);
3636 this.setTitle(windowTitle
+ "- [" + ws
.getCurrentWorkspace() + "]");
3637 this.setButtonEnable(false);
3639 if (intMode
== ModuleMain
.NEW_WITHOUT_CHANGE
) {
3643 if (intMode
== ModuleMain
.NEW_WITH_CHANGE
) {
3644 this.jMenuItemModuleClose
.setEnabled(true);
3645 this.jMenuItemModuleSave
.setEnabled(true);
3646 this.jMenuItemModuleSaveAs
.setEnabled(true);
3647 this.jMenuEditAdd
.setEnabled(true);
3648 setButtonEnable(false);
3650 if (intMode
== ModuleMain
.UPDATE_WITHOUT_CHANGE
) {
3653 if (intMode
== ModuleMain
.UPDATE_WITH_CHANGE
) {
3654 this.jMenuItemModuleClose
.setEnabled(true);
3655 this.jMenuItemModuleSave
.setEnabled(true);
3656 this.jMenuItemModuleSaveAs
.setEnabled(true);
3658 if (intMode
== ModuleMain
.SAVE_WITHOUT_CHANGE
) {
3659 this.jMenuItemModuleClose
.setEnabled(true);
3660 this.jMenuItemModuleSave
.setEnabled(true);
3661 this.jMenuItemModuleSaveAs
.setEnabled(true);
3662 this.jButtonOk
.setEnabled(false);
3663 this.jButtonCancel
.setEnabled(false);
3665 if (intMode
== ModuleMain
.SAVE_WITH_CHANGE
) {
3666 this.jMenuItemModuleClose
.setEnabled(true);
3667 this.jMenuItemModuleSave
.setEnabled(false);
3668 this.jMenuItemModuleSaveAs
.setEnabled(true);
3669 this.jMenuItemEditUpdate
.setEnabled(false);
3670 this.jMenuItemEditDelete
.setEnabled(false);
3671 this.setTitle(windowTitle
+ "- [" + this.currentModule
+ "]");
3672 this.jButtonOk
.setEnabled(false);
3673 this.jButtonCancel
.setEnabled(false);
3676 if (this.currentModuleType
== 1 || this.currentModuleType
== 3) {
3677 this.jMenuItemEditAddLibraries
.setEnabled(false);
3678 this.jMenuItemEditAddLibraryClassDefinitions
.setEnabled(true);
3680 if (this.currentModuleType
== 2 || this.currentModuleType
== 4) {
3681 this.jMenuItemEditAddLibraries
.setEnabled(true);
3682 this.jMenuItemEditAddLibraryClassDefinitions
.setEnabled(false);
3687 Enable/Disable button Ok and Cancel
3689 @param isEnabled The input data to indicate if button is enabled or not
3692 private void setButtonEnable(boolean isEnabled
) {
3693 this.jButtonCancel
.setEnabled(isEnabled
);
3694 this.jButtonOk
.setEnabled(isEnabled
);
3699 When the operation is VIEW, disable all fields of internal frame
3701 @param type The input data of operation type
3704 private void showMsaHeader(int type
) {
3706 msa
= new MsaHeader(this.xmlmh
);
3707 this.jDesktopPane
.removeAll();
3708 this.jDesktopPane
.add(msa
, 1);
3709 this.currentNodeType
= IDefaultMutableTreeNode
.MSA_HEADER
;
3710 this.currentModuleType
= 1;
3711 if (type
== ModuleMain
.VIEW
) {
3712 setButtonEnable(false);
3713 msa
.setViewMode(true);
3715 setButtonEnable(true);
3721 When the operation is VIEW, disable all fields of internal frame
3723 @param type The input data of operation type
3726 private void showMbdHeader(int type
) {
3728 mbd
= new MbdHeader(this.xmlmbdh
);
3729 this.jDesktopPane
.removeAll();
3730 this.jDesktopPane
.add(mbd
, 1);
3731 this.currentNodeType
= IDefaultMutableTreeNode
.MBD_HEADER
;
3732 this.currentModuleType
= 2;
3733 if (type
== ModuleMain
.VIEW
) {
3734 setButtonEnable(false);
3735 mbd
.setViewMode(true);
3737 setButtonEnable(true);
3743 When the operation is VIEW, disable all fields of internal frame
3745 @param type The input data of operation type
3748 private void showMlsaHeader(int type
) {
3750 mlsa
= new MsaLibHeader(this.xmlmlh
);
3751 this.jDesktopPane
.removeAll();
3752 this.jDesktopPane
.add(mlsa
, 1);
3753 this.currentNodeType
= IDefaultMutableTreeNode
.MLSA_HEADER
;
3754 this.currentModuleType
= 3;
3755 if (type
== ModuleMain
.VIEW
) {
3756 setButtonEnable(false);
3757 mlsa
.setViewMode(true);
3759 setButtonEnable(true);
3765 When the operation is VIEW, disable all fields of internal frame
3767 @param type The input data of operation type
3770 private void showMlbdHeader(int type
) {
3772 mlbd
= new MbdLibHeader(this.xmlmlbdh
);
3773 this.jDesktopPane
.removeAll();
3774 this.jDesktopPane
.add(mlbd
, 1);
3775 this.currentNodeType
= IDefaultMutableTreeNode
.MLBD_HEADER
;
3776 this.currentModuleType
= 4;
3777 if (type
== ModuleMain
.VIEW
) {
3778 setButtonEnable(false);
3779 mlbd
.setViewMode(true);
3781 setButtonEnable(true);
3787 When the operation is VIEW, disable all fields of internal frame
3789 @param type The input data of operation type
3792 private void showLibraries(int operationType
, int nodeType
, int location
) {
3794 if (operationType
== ModuleMain
.ADD
) {
3795 mlib
= new MbdLibraries(this.xmllib
, -1, -1, 1);
3797 if (operationType
== ModuleMain
.UPDATE
|| operationType
== ModuleMain
.VIEW
) {
3798 mlib
= new MbdLibraries(this.xmllib
, nodeType
, location
, 2);
3800 this.jDesktopPane
.removeAll();
3801 this.jDesktopPane
.add(mlib
, 1);
3802 this.currentNodeType
= nodeType
;
3803 if (operationType
== ModuleMain
.VIEW
) {
3804 setButtonEnable(false);
3805 mlib
.setViewMode(true);
3807 setButtonEnable(true);
3812 Show LibraryClassDefinitions
3813 When the operation is VIEW, disable all fields of internal frame
3815 @param type The input data of operation type
3818 private void showLibraryClassDefinitions(int operationType
, int nodeType
) {
3820 if (operationType
== ModuleMain
.ADD
) {
3821 mlcd
= new ModuleLibraryClassDefinitions(this.xmllcd
);
3823 if (operationType
== ModuleMain
.UPDATE
|| operationType
== ModuleMain
.VIEW
) {
3824 mlcd
= new ModuleLibraryClassDefinitions(this.xmllcd
);
3826 this.jDesktopPane
.removeAll();
3827 this.jDesktopPane
.add(mlcd
, 1);
3828 this.currentNodeType
= nodeType
;
3829 if (operationType
== ModuleMain
.VIEW
) {
3830 setButtonEnable(false);
3831 mlcd
.setViewMode(true);
3833 setButtonEnable(true);
3839 When the operation is VIEW, disable all fields of internal frame
3841 @param type The input data of operation type
3844 private void showSourceFiles(int operationType
, int nodeType
, int location
) {
3846 if (operationType
== ModuleMain
.ADD
) {
3847 msf
= new ModuleSourceFiles(this.xmlsf
, -1, -1, 1);
3849 if (operationType
== ModuleMain
.UPDATE
|| operationType
== ModuleMain
.VIEW
) {
3850 msf
= new ModuleSourceFiles(this.xmlsf
, nodeType
, location
, 2);
3852 this.jDesktopPane
.removeAll();
3853 this.jDesktopPane
.add(msf
, 1);
3854 this.currentNodeType
= nodeType
;
3855 if (operationType
== ModuleMain
.VIEW
) {
3856 setButtonEnable(false);
3857 msf
.setViewMode(true);
3859 setButtonEnable(true);
3865 When the operation is VIEW, disable all fields of internal frame
3867 @param type The input data of operation type
3870 private void showIncludes(int operationType
, int nodeType
, int location
) {
3872 if (operationType
== ModuleMain
.ADD
) {
3873 mic
= new ModuleIncludes(this.xmlic
, -1, -1, 1);
3875 if (operationType
== ModuleMain
.UPDATE
|| operationType
== ModuleMain
.VIEW
) {
3876 mic
= new ModuleIncludes(this.xmlic
, nodeType
, location
, 2);
3878 this.jDesktopPane
.removeAll();
3879 this.jDesktopPane
.add(mic
, 1);
3880 this.currentNodeType
= nodeType
;
3881 if (operationType
== ModuleMain
.VIEW
) {
3882 setButtonEnable(false);
3883 mic
.setViewMode(true);
3885 setButtonEnable(true);
3891 When the operation is VIEW, disable all fields of internal frame
3893 @param type The input data of operation type
3896 private void showProtocols(int operationType
, int nodeType
, int location
) {
3898 if (operationType
== ModuleMain
.ADD
) {
3899 mp
= new ModuleProtocols(this.xmlpl
);
3901 if (operationType
== ModuleMain
.UPDATE
|| operationType
== ModuleMain
.VIEW
) {
3902 mp
= new ModuleProtocols(this.xmlpl
, nodeType
, location
);
3904 this.jDesktopPane
.removeAll();
3905 this.jDesktopPane
.add(mp
, 1);
3906 this.currentNodeType
= nodeType
;
3907 if (operationType
== ModuleMain
.VIEW
) {
3908 setButtonEnable(false);
3909 mp
.setViewMode(true);
3911 setButtonEnable(true);
3917 When the operation is VIEW, disable all fields of internal frame
3919 @param type The input data of operation type
3922 private void showEvents(int operationType
, int nodeType
, int location
) {
3924 if (operationType
== ModuleMain
.ADD
) {
3925 mev
= new ModuleEvents(this.xmlen
);
3927 if (operationType
== ModuleMain
.UPDATE
|| operationType
== ModuleMain
.VIEW
) {
3928 mev
= new ModuleEvents(this.xmlen
, nodeType
, location
);
3930 this.jDesktopPane
.removeAll();
3931 this.jDesktopPane
.add(mev
, 1);
3932 this.currentNodeType
= nodeType
;
3933 if (operationType
== ModuleMain
.VIEW
) {
3934 setButtonEnable(false);
3935 mev
.setViewMode(true);
3937 setButtonEnable(true);
3943 When the operation is VIEW, disable all fields of internal frame
3945 @param type The input data of operation type
3948 private void showHobs(int operationType
, int nodeType
, int location
) {
3950 if (operationType
== ModuleMain
.ADD
) {
3951 mh
= new ModuleHobs(this.xmlhob
);
3953 if (operationType
== ModuleMain
.UPDATE
|| operationType
== ModuleMain
.VIEW
) {
3954 mh
= new ModuleHobs(this.xmlhob
, nodeType
, location
);
3956 this.jDesktopPane
.removeAll();
3957 this.jDesktopPane
.add(mh
, 1);
3958 this.currentNodeType
= nodeType
;
3959 if (operationType
== ModuleMain
.VIEW
) {
3960 setButtonEnable(false);
3961 mh
.setViewMode(true);
3963 setButtonEnable(true);
3969 When the operation is VIEW, disable all fields of internal frame
3971 @param type The input data of operation type
3974 private void showPpis(int operationType
, int nodeType
, int location
) {
3976 if (operationType
== ModuleMain
.ADD
) {
3977 mpp
= new ModulePpis(this.xmlppi
);
3979 if (operationType
== ModuleMain
.UPDATE
|| operationType
== ModuleMain
.VIEW
) {
3980 mpp
= new ModulePpis(this.xmlppi
, nodeType
, location
);
3982 this.jDesktopPane
.removeAll();
3983 this.jDesktopPane
.add(mpp
, 1);
3984 this.currentNodeType
= nodeType
;
3985 if (operationType
== ModuleMain
.VIEW
) {
3986 setButtonEnable(false);
3987 mpp
.setViewMode(true);
3989 setButtonEnable(true);
3995 When the operation is VIEW, disable all fields of internal frame
3997 @param type The input data of operation type
4000 private void showVariables(int operationType
, int nodeType
, int location
) {
4002 if (operationType
== ModuleMain
.ADD
) {
4003 mv
= new ModuleVariables(this.xmlvb
);
4005 if (operationType
== ModuleMain
.UPDATE
|| operationType
== ModuleMain
.VIEW
) {
4006 mv
= new ModuleVariables(this.xmlvb
, nodeType
, location
);
4008 this.jDesktopPane
.removeAll();
4009 this.jDesktopPane
.add(mv
, 1);
4010 this.currentNodeType
= nodeType
;
4011 if (operationType
== ModuleMain
.VIEW
) {
4012 setButtonEnable(false);
4013 mv
.setViewMode(true);
4015 setButtonEnable(true);
4021 When the operation is VIEW, disable all fields of internal frame
4023 @param type The input data of operation type
4026 private void showBootModes(int operationType
, int nodeType
, int location
) {
4028 if (operationType
== ModuleMain
.ADD
) {
4029 mbm
= new ModuleBootModes(this.xmlbm
);
4031 if (operationType
== ModuleMain
.UPDATE
|| operationType
== ModuleMain
.VIEW
) {
4032 mbm
= new ModuleBootModes(this.xmlbm
, nodeType
, location
);
4034 this.jDesktopPane
.removeAll();
4035 this.jDesktopPane
.add(mbm
, 1);
4036 this.currentNodeType
= nodeType
;
4037 if (operationType
== ModuleMain
.VIEW
) {
4038 setButtonEnable(false);
4039 mbm
.setViewMode(true);
4041 setButtonEnable(true);
4047 When the operation is VIEW, disable all fields of internal frame
4049 @param type The input data of operation type
4052 private void showSystemTables(int operationType
, int nodeType
, int location
) {
4054 if (operationType
== ModuleMain
.ADD
) {
4055 mst
= new ModuleSystemTables(this.xmlst
);
4057 if (operationType
== ModuleMain
.UPDATE
|| operationType
== ModuleMain
.VIEW
) {
4058 mst
= new ModuleSystemTables(this.xmlst
, nodeType
, location
);
4060 this.jDesktopPane
.removeAll();
4061 this.jDesktopPane
.add(mst
, 1);
4062 this.currentNodeType
= nodeType
;
4063 if (operationType
== ModuleMain
.VIEW
) {
4064 setButtonEnable(false);
4065 mst
.setViewMode(true);
4067 setButtonEnable(true);
4073 When the operation is VIEW, disable all fields of internal frame
4075 @param type The input data of operation type
4078 private void showDataHubs(int operationType
, int nodeType
, int location
) {
4080 if (operationType
== ModuleMain
.ADD
) {
4081 mdh
= new ModuleDataHubs(this.xmldh
);
4083 if (operationType
== ModuleMain
.UPDATE
|| operationType
== ModuleMain
.VIEW
) {
4084 mdh
= new ModuleDataHubs(this.xmldh
, nodeType
, location
);
4086 this.jDesktopPane
.removeAll();
4087 this.jDesktopPane
.add(mdh
, 1);
4088 this.currentNodeType
= nodeType
;
4089 if (operationType
== ModuleMain
.VIEW
) {
4090 setButtonEnable(false);
4091 mdh
.setViewMode(true);
4093 setButtonEnable(true);
4099 When the operation is VIEW, disable all fields of internal frame
4101 @param type The input data of operation type
4104 private void showFormsets(int operationType
, int nodeType
, int location
) {
4106 if (operationType
== ModuleMain
.ADD
) {
4107 mf
= new ModuleFormsets(this.xmlfs
);
4109 if (operationType
== ModuleMain
.UPDATE
|| operationType
== ModuleMain
.VIEW
) {
4110 mf
= new ModuleFormsets(this.xmlfs
, nodeType
, location
);
4112 this.jDesktopPane
.removeAll();
4113 this.jDesktopPane
.add(mf
, 1);
4114 this.currentNodeType
= nodeType
;
4115 if (operationType
== ModuleMain
.VIEW
) {
4116 setButtonEnable(false);
4117 mf
.setViewMode(true);
4119 setButtonEnable(true);
4125 When the operation is VIEW, disable all fields of internal frame
4127 @param type The input data of operation type
4130 private void showGuids(int operationType
, int nodeType
, int location
) {
4132 if (operationType
== ModuleMain
.ADD
|| operationType
== ModuleMain
.VIEW
) {
4133 mg
= new ModuleGuids(this.xmlgu
);
4135 if (operationType
== ModuleMain
.UPDATE
|| operationType
== ModuleMain
.VIEW
) {
4136 mg
= new ModuleGuids(this.xmlgu
, nodeType
, location
);
4138 this.jDesktopPane
.removeAll();
4139 this.jDesktopPane
.add(mg
, 1);
4140 this.currentNodeType
= nodeType
;
4141 if (operationType
== ModuleMain
.VIEW
) {
4142 setButtonEnable(false);
4143 mg
.setViewMode(true);
4145 setButtonEnable(true);
4151 When the operation is VIEW, disable all fields of internal frame
4153 @param type The input data of operation type
4156 private void showExterns(int operationType
, int nodeType
, int location
) {
4158 if (operationType
== ModuleMain
.ADD
) {
4159 met
= new ModuleExterns(this.xmlet
);
4161 if (operationType
== ModuleMain
.UPDATE
|| operationType
== ModuleMain
.VIEW
) {
4162 met
= new ModuleExterns(this.xmlet
, nodeType
, location
);
4164 this.jDesktopPane
.removeAll();
4165 this.jDesktopPane
.add(met
, 1);
4166 this.currentNodeType
= nodeType
;
4167 if (operationType
== ModuleMain
.VIEW
) {
4168 setButtonEnable(false);
4169 met
.setViewMode(true);
4171 setButtonEnable(true);
4177 When the operation is VIEW, disable all fields of internal frame
4179 @param type The input data of operation type
4182 private void showPCDs(int operationType
, int nodeType
, int location
) {
4184 if (operationType
== ModuleMain
.ADD
) {
4185 mpcd
= new ModulePCDs(this.xmlpcd
);
4187 if (operationType
== ModuleMain
.UPDATE
|| operationType
== ModuleMain
.VIEW
) {
4188 mpcd
= new ModulePCDs(this.xmlpcd
, nodeType
, location
);
4190 this.jDesktopPane
.removeAll();
4191 this.jDesktopPane
.add(mpcd
, 1);
4192 this.currentNodeType
= nodeType
;
4193 if (operationType
== ModuleMain
.VIEW
) {
4194 setButtonEnable(false);
4195 mpcd
.setViewMode(true);
4197 setButtonEnable(true);
4202 Save currentModule when press button OK
4205 private void save() {
4206 if (this.currentNodeType
== IDefaultMutableTreeNode
.MSA_HEADER
) {
4211 msa
.setViewMode(true);
4212 this.xmlmh
= msa
.getMsaHeader();
4215 if (this.currentNodeType
== IDefaultMutableTreeNode
.MBD_HEADER
) {
4220 mbd
.setViewMode(true);
4221 this.xmlmbdh
= mbd
.getMbdHeader();
4224 if (this.currentNodeType
== IDefaultMutableTreeNode
.MLSA_HEADER
) {
4225 if (!mlsa
.check()) {
4229 mlsa
.setViewMode(true);
4230 this.xmlmlh
= mlsa
.getMsaLibHeader();
4233 if (this.currentNodeType
== IDefaultMutableTreeNode
.MLBD_HEADER
) {
4234 if (!mlbd
.check()) {
4238 mlbd
.setViewMode(true);
4239 this.xmlmlbdh
= mlbd
.getMbdLibHeader();
4242 if (this.currentNodeType
== IDefaultMutableTreeNode
.LIBRARIES
4243 || this.currentNodeType
== IDefaultMutableTreeNode
.LIBRARIES_ARCH
4244 || this.currentNodeType
== IDefaultMutableTreeNode
.LIBRARIES_ARCH_ITEM
4245 || this.currentNodeType
== IDefaultMutableTreeNode
.LIBRARIES_LIBRARY
4246 || this.currentNodeType
== IDefaultMutableTreeNode
.LIBRARIES_LIBRARY_ITEM
) {
4247 if (!mlib
.check()) {
4251 mlib
.setViewMode(true);
4252 this.xmllib
= mlib
.getLibraries();
4255 if (this.currentNodeType
== IDefaultMutableTreeNode
.LIBRARYCLASSDEFINITIONS
4256 || this.currentNodeType
== IDefaultMutableTreeNode
.LIBRARY_CLASS_DEFINITION
) {
4257 if (!mlcd
.check()) {
4261 mlcd
.setViewMode(true);
4262 this.xmllcd
= mlcd
.getLibraryClassDefinitions();
4265 if (this.currentNodeType
== IDefaultMutableTreeNode
.SOURCEFILES
4266 || this.currentNodeType
== IDefaultMutableTreeNode
.SOURCEFILES_ARCH
4267 || this.currentNodeType
== IDefaultMutableTreeNode
.SOURCEFILES_ARCH_ITEM
4268 || this.currentNodeType
== IDefaultMutableTreeNode
.SOURCEFILES_FILENAME
4269 || this.currentNodeType
== IDefaultMutableTreeNode
.SOURCEFILES_FILENAME_ITEM
) {
4274 msf
.setViewMode(true);
4275 this.xmlsf
= msf
.getSourceFiles();
4278 if (this.currentNodeType
== IDefaultMutableTreeNode
.INCLUDES
4279 || this.currentNodeType
== IDefaultMutableTreeNode
.INCLUDES_ARCH
4280 || this.currentNodeType
== IDefaultMutableTreeNode
.INCLUDES_ARCH_ITEM
4281 || this.currentNodeType
== IDefaultMutableTreeNode
.INCLUDES_PACKAGENAME
4282 || this.currentNodeType
== IDefaultMutableTreeNode
.INCLUDES_PACKAGENAME_ITEM
) {
4287 mic
.setViewMode(true);
4288 this.xmlic
= mic
.getIncludes();
4291 if (this.currentNodeType
== IDefaultMutableTreeNode
.PROTOCOLS
4292 || this.currentNodeType
== IDefaultMutableTreeNode
.PROTOCOLS_PROTOCOL
4293 || this.currentNodeType
== IDefaultMutableTreeNode
.PROTOCOLS_PROTOCOL_ITEM
4294 || this.currentNodeType
== IDefaultMutableTreeNode
.PROTOCOLS_PROTOCOLNOTIFY
4295 || this.currentNodeType
== IDefaultMutableTreeNode
.PROTOCOLS_PROTOCOLNOTIFY_ITEM
) {
4300 mp
.setViewMode(true);
4301 this.xmlpl
= mp
.getProtocols();
4304 if (this.currentNodeType
== IDefaultMutableTreeNode
.EVENTS
4305 || this.currentNodeType
== IDefaultMutableTreeNode
.EVENTS_CREATEEVENTS
4306 || this.currentNodeType
== IDefaultMutableTreeNode
.EVENTS_CREATEEVENTS_ITEM
4307 || this.currentNodeType
== IDefaultMutableTreeNode
.EVENTS_SIGNALEVENTS
4308 || this.currentNodeType
== IDefaultMutableTreeNode
.EVENTS_SIGNALEVENTS_ITEM
) {
4313 mev
.setViewMode(true);
4314 this.xmlen
= mev
.getEvents();
4317 if (this.currentNodeType
== IDefaultMutableTreeNode
.HOBS
4318 || this.currentNodeType
== IDefaultMutableTreeNode
.HOBS_HOB_ITEM
) {
4323 mh
.setViewMode(true);
4324 this.xmlhob
= mh
.getHobs();
4327 if (this.currentNodeType
== IDefaultMutableTreeNode
.PPIS
4328 || this.currentNodeType
== IDefaultMutableTreeNode
.PPIS_PPI
4329 || this.currentNodeType
== IDefaultMutableTreeNode
.PPIS_PPI_ITEM
4330 || this.currentNodeType
== IDefaultMutableTreeNode
.PPIS_PPINOTIFY
4331 || this.currentNodeType
== IDefaultMutableTreeNode
.PPIS_PPINOTIFY_ITEM
) {
4336 mpp
.setViewMode(true);
4337 this.xmlppi
= mpp
.getPpis();
4340 if (this.currentNodeType
== IDefaultMutableTreeNode
.VARIABLES
4341 || this.currentNodeType
== IDefaultMutableTreeNode
.VARIABLES_VARIABLE_ITEM
) {
4346 mv
.setViewMode(true);
4347 this.xmlvb
= mv
.getVariables();
4350 if (this.currentNodeType
== IDefaultMutableTreeNode
.BOOTMODES
4351 || this.currentNodeType
== IDefaultMutableTreeNode
.BOOTMODES_BOOTMODE_ITEM
) {
4356 mbm
.setViewMode(true);
4357 this.xmlbm
= mbm
.getBootModes();
4360 if (this.currentNodeType
== IDefaultMutableTreeNode
.SYSTEMTABLES
4361 || this.currentNodeType
== IDefaultMutableTreeNode
.SYSTEMTABLES_SYSTEMTABLE_ITEM
) {
4366 mst
.setViewMode(true);
4367 this.xmlst
= mst
.getSystemTables();
4370 if (this.currentNodeType
== IDefaultMutableTreeNode
.DATAHUBS
4371 || this.currentNodeType
== IDefaultMutableTreeNode
.DATAHUBS_DATAHUB_ITEM
) {
4376 mdh
.setViewMode(true);
4377 this.xmldh
= mdh
.getDataHubs();
4380 if (this.currentNodeType
== IDefaultMutableTreeNode
.FORMSETS
4381 || this.currentNodeType
== IDefaultMutableTreeNode
.FORMSETS_FORMSET_ITEM
) {
4386 mf
.setViewMode(true);
4387 this.xmlfs
= mf
.getFormsets();
4390 if (this.currentNodeType
== IDefaultMutableTreeNode
.GUIDS
4391 || this.currentNodeType
== IDefaultMutableTreeNode
.GUIDS_GUIDENTRY_ITEM
) {
4396 mg
.setViewMode(true);
4397 this.xmlgu
= mg
.getGuids();
4400 if (this.currentNodeType
== IDefaultMutableTreeNode
.EXTERNS
4401 || this.currentNodeType
== IDefaultMutableTreeNode
.EXTERNS_EXTERN_ITEM
) {
4406 met
.setViewMode(true);
4407 this.xmlet
= met
.getExterns();
4410 if (this.currentNodeType
== IDefaultMutableTreeNode
.PCDS
4411 || this.currentNodeType
== IDefaultMutableTreeNode
.PCDS_PCDDATA_ITEM
) {
4412 if (!mpcd
.check()) {
4416 mpcd
.setViewMode(true);
4417 this.xmlpcd
= mpcd
.getPcds();
4420 reloadTreeAndTable(NEW_WITH_CHANGE
);