]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/packaging/ui/SpdProtocolDecls.java
1. Move resize funtions from IInternalFrame.java to Tools.java.
[mirror_edk2.git] / Tools / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / packaging / ui / SpdProtocolDecls.java
index 5c70c1769c85b037383226f23dfbf4abb270c555..e5453947e58782949b7d88fb17c8c3d26d11140a 100644 (file)
@@ -16,6 +16,7 @@ import javax.swing.table.DefaultTableModel;
 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
@@ -24,7 +25,12 @@ GUI for create library definition elements of spd file.
 **/\r
 public class SpdProtocolDecls extends SpdGuidDecls {\r
 \r
+    /**\r
+     * \r
+     */\r
+    private static final long serialVersionUID = 1L;\r
     private SpdFileContents sfc = null;\r
+    private OpeningPackageType docConsole = null;\r
     \r
     public SpdProtocolDecls() {\r
         super();\r
@@ -37,15 +43,15 @@ public class SpdProtocolDecls extends SpdGuidDecls {
         init(sfc);\r
     }\r
     \r
+    public SpdProtocolDecls(OpeningPackageType opt) {\r
+        this(opt.getXmlSpd());\r
+        docConsole = opt;\r
+    }\r
+    \r
     protected void initFrame() {\r
         \r
         this.setTitle("Protocol 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
@@ -56,7 +62,7 @@ public class SpdProtocolDecls extends SpdGuidDecls {
         if (sfc.getSpdProtocolDeclarationCount() == 0) {\r
             return ;\r
         }\r
-        String[][] saa = new String[sfc.getSpdProtocolDeclarationCount()][6];\r
+        saa = new String[sfc.getSpdProtocolDeclarationCount()][7];\r
         sfc.getSpdProtocolDeclarations(saa);\r
         int i = 0;\r
         while (i < saa.length) {\r
@@ -66,7 +72,20 @@ public class SpdProtocolDecls extends SpdGuidDecls {
         \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.getSpdProtocolDeclaration(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
@@ -79,19 +98,33 @@ public class SpdProtocolDecls extends SpdGuidDecls {
         if (m.getValueAt(row, 5) != null) {\r
             modTypeList = m.getValueAt(row, 5).toString();\r
         }\r
-        \r
-        sfc.updateSpdProtocolDecl(row, name, cName, guid, help, archList, modTypeList);\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
+        docConsole.setSaved(false);\r
+        sfc.updateSpdProtocolDecl(row, name, cName, guid, help, archList, modTypeList, guidTypeList);\r
     }\r
     \r
     protected void addRow(String[] row) {\r
-        sfc.genSpdProtocolDeclarations(row[0], row[1], row[2], row[3], stringToVector(row[4]), stringToVector(row[5]));\r
+        if (!dataValidation(row)){\r
+            return;\r
+        }\r
+        docConsole.setSaved(false);\r
+        sfc.genSpdProtocolDeclarations(row[0], row[1], row[2], row[3], stringToVector(row[4]), stringToVector(row[5]), stringToVector(row[6]));\r
     }\r
     \r
     protected void removeRow(int i){\r
         sfc.removeSpdProtocolDeclaration(i);\r
+        docConsole.setSaved(false);\r
     }\r
     \r
     protected void clearAllRow(){\r
         sfc.removeSpdProtocolDeclaration();\r
+        docConsole.setSaved(false);\r
     }\r
 }\r