import javax.swing.table.TableModel;\r
\r
import org.tianocore.PackageSurfaceAreaDocument;\r
+import org.tianocore.frameworkwizard.common.Identifications.OpeningPackageType;\r
\r
/**\r
GUI for create library definition elements of spd file.\r
*/\r
private static final long serialVersionUID = 1L;\r
private SpdFileContents sfc = null;\r
+ private OpeningPackageType docConsole = null; \r
\r
public SpdPpiDecls() {\r
super();\r
init(sfc);\r
}\r
\r
+ public SpdPpiDecls(OpeningPackageType opt) {\r
+ this(opt.getXmlSpd());\r
+ docConsole = opt;\r
+ }\r
+ \r
protected void initFrame() {\r
\r
this.setTitle("PPI Declarations");\r
- getJScrollPaneGuid().setVisible(false);\r
- getJLabel3().setVisible(false);\r
\r
- getJTable().getColumn("GuidTypes").setPreferredWidth(0);\r
- getJTable().getColumn("GuidTypes").setWidth(0);\r
- getJTable().getColumn("GuidTypes").setHeaderValue(" ");\r
}\r
\r
protected void init(SpdFileContents sfc){\r
if (sfc.getSpdPpiDeclarationCount() == 0) {\r
return ;\r
}\r
- String[][] saa = new String[sfc.getSpdPpiDeclarationCount()][6];\r
+ saa = new String[sfc.getSpdPpiDeclarationCount()][7];\r
sfc.getSpdPpiDeclarations(saa);\r
int i = 0;\r
while (i < saa.length) {\r
}\r
}\r
\r
- protected void updateRow(int row, TableModel m){\r
+ protected void updateRow(int row, int column, TableModel m){\r
+ String[] sa = new String[7];\r
+ sfc.getSpdPpiDeclaration(sa, row);\r
+ Object cellData = m.getValueAt(row, column);\r
+ if (cellData == null) {\r
+ cellData = "";\r
+ }\r
+ if (cellData.equals(sa[column])) {\r
+ return;\r
+ }\r
+ if (cellData.toString().length() == 0 && sa[column] == null) {\r
+ return;\r
+ }\r
+ \r
String name = m.getValueAt(row, 0) + "";\r
String cName = m.getValueAt(row, 1) + "";\r
String guid = m.getValueAt(row, 2) + "";\r
if (m.getValueAt(row, 5) != null) {\r
modTypeList = m.getValueAt(row, 5).toString();\r
}\r
+ String guidTypeList = null;\r
+ if (m.getValueAt(row, 6) != null) {\r
+ guidTypeList = m.getValueAt(row, 6).toString();\r
+ }\r
String[] rowData = {name, cName, guid, help};\r
if (!dataValidation(rowData)){\r
return;\r
}\r
- sfc.updateSpdPpiDecl(row, name, cName, guid, help, archList, modTypeList);\r
+ docConsole.setSaved(false);\r
+ sfc.updateSpdPpiDecl(row, name, cName, guid, help, archList, modTypeList, guidTypeList);\r
}\r
\r
- protected void addRow(String[] row) {\r
+ protected int addRow(String[] row) {\r
\r
if (!dataValidation(row)){\r
- return;\r
+ return -1;\r
}\r
- sfc.genSpdPpiDeclarations(row[0], row[1], row[2], row[3], stringToVector(row[4]), stringToVector(row[5]));\r
+ docConsole.setSaved(false);\r
+ sfc.genSpdPpiDeclarations(row[0], row[1], row[2], row[3], stringToVector(row[4]), stringToVector(row[5]), stringToVector(row[6]));\r
+ return 0;\r
}\r
\r
protected void removeRow(int i){\r
sfc.removeSpdPpiDeclaration(i);\r
+ docConsole.setSaved(false);\r
}\r
\r
protected void clearAllRow(){\r
sfc.removeSpdPpiDeclaration();\r
+ docConsole.setSaved(false);\r
}\r
}\r