]> git.proxmox.com Git - mirror_edk2.git/blame - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/packaging/ui/SpdPpiDecls.java
fix the problem that if no data updated in wizard editors, the Save indicator will...
[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
a490bca8 65 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
a490bca8 74 protected void updateRow(int row, int column, TableModel m){\r
75 String[] sa = new String[7];\r
76 sfc.getSpdPpiDeclaration(sa, row);\r
77 Object cellData = m.getValueAt(row, column);\r
78 if (cellData == null) {\r
79 cellData = "";\r
80 }\r
81 if (cellData.equals(sa[column])) {\r
82 return;\r
83 }\r
84 if (cellData.toString().length() == 0 && sa[column] == null) {\r
85 return;\r
86 }\r
87 \r
a13899c5 88 String name = m.getValueAt(row, 0) + "";\r
89 String cName = m.getValueAt(row, 1) + "";\r
90 String guid = m.getValueAt(row, 2) + "";\r
91 String help = m.getValueAt(row, 3) + "";\r
92 String archList = null;\r
93 if (m.getValueAt(row, 4) != null) {\r
94 archList = m.getValueAt(row, 4).toString();\r
95 }\r
96 String modTypeList = null;\r
97 if (m.getValueAt(row, 5) != null) {\r
98 modTypeList = m.getValueAt(row, 5).toString();\r
99 }\r
1be13d3f 100 String guidTypeList = null;\r
101 if (m.getValueAt(row, 6) != null) {\r
102 guidTypeList = m.getValueAt(row, 6).toString();\r
103 }\r
ce73a791 104 String[] rowData = {name, cName, guid, help};\r
105 if (!dataValidation(rowData)){\r
106 return;\r
107 }\r
d6d24759 108 docConsole.setSaved(false);\r
1be13d3f 109 sfc.updateSpdPpiDecl(row, name, cName, guid, help, archList, modTypeList, guidTypeList);\r
a13899c5 110 }\r
111 \r
112 protected void addRow(String[] row) {\r
ce73a791 113 \r
114 if (!dataValidation(row)){\r
115 return;\r
116 }\r
d6d24759 117 docConsole.setSaved(false);\r
1be13d3f 118 sfc.genSpdPpiDeclarations(row[0], row[1], row[2], row[3], stringToVector(row[4]), stringToVector(row[5]), stringToVector(row[6]));\r
a13899c5 119 }\r
120 \r
121 protected void removeRow(int i){\r
122 sfc.removeSpdPpiDeclaration(i);\r
2c85fbc8 123 docConsole.setSaved(false);\r
a13899c5 124 }\r
125 \r
126 protected void clearAllRow(){\r
127 sfc.removeSpdPpiDeclaration();\r
2c85fbc8 128 docConsole.setSaved(false);\r
a13899c5 129 }\r
130}\r