]> git.proxmox.com Git - mirror_edk2.git/blame - Tools/Java/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/packaging/ui/SpdPpiDecls.java
Delete useless file SpdPackageDefinitions.java;
[mirror_edk2.git] / Tools / Java / 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
62df8efa 15import javax.swing.JOptionPane;\r
a13899c5 16import javax.swing.table.DefaultTableModel;\r
17import javax.swing.table.TableModel;\r
18\r
19import org.tianocore.PackageSurfaceAreaDocument;\r
d6d24759 20import org.tianocore.frameworkwizard.common.Identifications.OpeningPackageType;\r
fbf730ff 21import org.tianocore.frameworkwizard.platform.ui.ListEditor;\r
a13899c5 22\r
23/**\r
24GUI for create library definition elements of spd file.\r
25 \r
26@since PackageEditor 1.0\r
27**/\r
28public class SpdPpiDecls extends SpdGuidDecls {\r
29\r
ce73a791 30 /**\r
31 * \r
32 */\r
33 private static final long serialVersionUID = 1L;\r
a13899c5 34 private SpdFileContents sfc = null;\r
d6d24759 35 private OpeningPackageType docConsole = null; \r
a13899c5 36 \r
37 public SpdPpiDecls() {\r
38 super();\r
39 // TODO Auto-generated constructor stub\r
40 }\r
41\r
42 public SpdPpiDecls(PackageSurfaceAreaDocument.PackageSurfaceArea inPsa) {\r
43 this();\r
44 sfc = new SpdFileContents(inPsa);\r
45 init(sfc);\r
46 }\r
47 \r
d6d24759 48 public SpdPpiDecls(OpeningPackageType opt) {\r
49 this(opt.getXmlSpd());\r
50 docConsole = opt;\r
62df8efa 51 if (sfc.getSpdPkgDefsRdOnly().equals("true")) {\r
52 JOptionPane.showMessageDialog(frame, "This is a read-only package. You will not be able to edit contents in table.");\r
53 }\r
54 initFrame();\r
d6d24759 55 }\r
56 \r
a13899c5 57 protected void initFrame() {\r
62df8efa 58 super.initFrame();\r
a13899c5 59 this.setTitle("PPI Declarations");\r
fbf730ff 60 starLabel.setVisible(false);\r
61 ((ListEditor)getJTable().getColumnModel().getColumn(6).getCellEditor()).setCanNotBeEmpty(false);\r
a13899c5 62 }\r
63 \r
64 protected void init(SpdFileContents sfc){\r
65 //\r
66 // initialize table using SpdFileContents object\r
67 //\r
68 DefaultTableModel model = getModel();\r
69 if (sfc.getSpdPpiDeclarationCount() == 0) {\r
70 return ;\r
71 }\r
a490bca8 72 saa = new String[sfc.getSpdPpiDeclarationCount()][7];\r
a13899c5 73 sfc.getSpdPpiDeclarations(saa);\r
74 int i = 0;\r
75 while (i < saa.length) {\r
76 model.addRow(saa[i]);\r
77 i++;\r
78 }\r
62df8efa 79 \r
a13899c5 80 }\r
81 \r
a490bca8 82 protected void updateRow(int row, int column, TableModel m){\r
83 String[] sa = new String[7];\r
84 sfc.getSpdPpiDeclaration(sa, row);\r
85 Object cellData = m.getValueAt(row, column);\r
86 if (cellData == null) {\r
87 cellData = "";\r
88 }\r
89 if (cellData.equals(sa[column])) {\r
90 return;\r
91 }\r
92 if (cellData.toString().length() == 0 && sa[column] == null) {\r
93 return;\r
94 }\r
95 \r
a13899c5 96 String name = m.getValueAt(row, 0) + "";\r
97 String cName = m.getValueAt(row, 1) + "";\r
98 String guid = m.getValueAt(row, 2) + "";\r
99 String help = m.getValueAt(row, 3) + "";\r
100 String archList = null;\r
101 if (m.getValueAt(row, 4) != null) {\r
102 archList = m.getValueAt(row, 4).toString();\r
103 }\r
104 String modTypeList = null;\r
105 if (m.getValueAt(row, 5) != null) {\r
106 modTypeList = m.getValueAt(row, 5).toString();\r
107 }\r
1be13d3f 108 String guidTypeList = null;\r
109 if (m.getValueAt(row, 6) != null) {\r
110 guidTypeList = m.getValueAt(row, 6).toString();\r
111 }\r
ce73a791 112 String[] rowData = {name, cName, guid, help};\r
113 if (!dataValidation(rowData)){\r
114 return;\r
115 }\r
d6d24759 116 docConsole.setSaved(false);\r
1be13d3f 117 sfc.updateSpdPpiDecl(row, name, cName, guid, help, archList, modTypeList, guidTypeList);\r
a13899c5 118 }\r
119 \r
5f97c029 120 protected int addRow(String[] row) {\r
ce73a791 121 \r
122 if (!dataValidation(row)){\r
5f97c029 123 return -1;\r
ce73a791 124 }\r
d6d24759 125 docConsole.setSaved(false);\r
1be13d3f 126 sfc.genSpdPpiDeclarations(row[0], row[1], row[2], row[3], stringToVector(row[4]), stringToVector(row[5]), stringToVector(row[6]));\r
5f97c029 127 return 0;\r
a13899c5 128 }\r
129 \r
130 protected void removeRow(int i){\r
131 sfc.removeSpdPpiDeclaration(i);\r
2c85fbc8 132 docConsole.setSaved(false);\r
a13899c5 133 }\r
134 \r
135 protected void clearAllRow(){\r
136 sfc.removeSpdPpiDeclaration();\r
2c85fbc8 137 docConsole.setSaved(false);\r
a13899c5 138 }\r
62df8efa 139 \r
140 /**\r
141 * @return Returns the sfc.\r
142 */\r
143 protected SpdFileContents getSfc() {\r
144 return sfc;\r
145 }\r
a13899c5 146}\r