]> git.proxmox.com Git - mirror_edk2.git/blame - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/packaging/ui/SpdPpiDecls.java
1. Add scroll bars to Package Library Class Declarations editor.
[mirror_edk2.git] / Tools / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / packaging / ui / SpdPpiDecls.java
CommitLineData
a13899c5 1/** @file\r
2 Java class SpdProtocolDecls is GUI for create library definition elements of spd file.\r
3 \r
4Copyright (c) 2006, Intel Corporation\r
5All rights reserved. This program and the accompanying materials\r
6are licensed and made available under the terms and conditions of the BSD License\r
7which accompanies this distribution. The full text of the license may be found at\r
8http://opensource.org/licenses/bsd-license.php\r
9\r
10THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
11WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
12**/\r
13package org.tianocore.frameworkwizard.packaging.ui;\r
14\r
a13899c5 15import javax.swing.table.DefaultTableModel;\r
16import javax.swing.table.TableModel;\r
17\r
18import org.tianocore.PackageSurfaceAreaDocument;\r
d6d24759 19import org.tianocore.frameworkwizard.common.Identifications.OpeningPackageType;\r
a13899c5 20\r
21/**\r
22GUI for create library definition elements of spd file.\r
23 \r
24@since PackageEditor 1.0\r
25**/\r
26public class SpdPpiDecls extends SpdGuidDecls {\r
27\r
ce73a791 28 /**\r
29 * \r
30 */\r
31 private static final long serialVersionUID = 1L;\r
a13899c5 32 private SpdFileContents sfc = null;\r
d6d24759 33 private OpeningPackageType docConsole = null; \r
a13899c5 34 \r
35 public SpdPpiDecls() {\r
36 super();\r
37 // TODO Auto-generated constructor stub\r
38 }\r
39\r
40 public SpdPpiDecls(PackageSurfaceAreaDocument.PackageSurfaceArea inPsa) {\r
41 this();\r
42 sfc = new SpdFileContents(inPsa);\r
43 init(sfc);\r
44 }\r
45 \r
d6d24759 46 public SpdPpiDecls(OpeningPackageType opt) {\r
47 this(opt.getXmlSpd());\r
48 docConsole = opt;\r
49 }\r
50 \r
a13899c5 51 protected void initFrame() {\r
52 \r
53 this.setTitle("PPI Declarations");\r
a13899c5 54 \r
a13899c5 55 }\r
56 \r
57 protected void init(SpdFileContents sfc){\r
58 //\r
59 // initialize table using SpdFileContents object\r
60 //\r
61 DefaultTableModel model = getModel();\r
62 if (sfc.getSpdPpiDeclarationCount() == 0) {\r
63 return ;\r
64 }\r
1be13d3f 65 String[][] saa = new String[sfc.getSpdPpiDeclarationCount()][7];\r
a13899c5 66 sfc.getSpdPpiDeclarations(saa);\r
67 int i = 0;\r
68 while (i < saa.length) {\r
69 model.addRow(saa[i]);\r
70 i++;\r
71 }\r
72 }\r
73 \r
74 protected void updateRow(int row, TableModel m){\r
75 String name = m.getValueAt(row, 0) + "";\r
76 String cName = m.getValueAt(row, 1) + "";\r
77 String guid = m.getValueAt(row, 2) + "";\r
78 String help = m.getValueAt(row, 3) + "";\r
79 String archList = null;\r
80 if (m.getValueAt(row, 4) != null) {\r
81 archList = m.getValueAt(row, 4).toString();\r
82 }\r
83 String modTypeList = null;\r
84 if (m.getValueAt(row, 5) != null) {\r
85 modTypeList = m.getValueAt(row, 5).toString();\r
86 }\r
1be13d3f 87 String guidTypeList = null;\r
88 if (m.getValueAt(row, 6) != null) {\r
89 guidTypeList = m.getValueAt(row, 6).toString();\r
90 }\r
ce73a791 91 String[] rowData = {name, cName, guid, help};\r
92 if (!dataValidation(rowData)){\r
93 return;\r
94 }\r
d6d24759 95 docConsole.setSaved(false);\r
1be13d3f 96 sfc.updateSpdPpiDecl(row, name, cName, guid, help, archList, modTypeList, guidTypeList);\r
a13899c5 97 }\r
98 \r
99 protected void addRow(String[] row) {\r
ce73a791 100 \r
101 if (!dataValidation(row)){\r
102 return;\r
103 }\r
d6d24759 104 docConsole.setSaved(false);\r
1be13d3f 105 sfc.genSpdPpiDeclarations(row[0], row[1], row[2], row[3], stringToVector(row[4]), stringToVector(row[5]), stringToVector(row[6]));\r
a13899c5 106 }\r
107 \r
108 protected void removeRow(int i){\r
109 sfc.removeSpdPpiDeclaration(i);\r
2c85fbc8 110 docConsole.setSaved(false);\r
a13899c5 111 }\r
112 \r
113 protected void clearAllRow(){\r
114 sfc.removeSpdPpiDeclaration();\r
2c85fbc8 115 docConsole.setSaved(false);\r
a13899c5 116 }\r
117}\r