]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/packaging/ui/SpdGuidDecls.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 / SpdGuidDecls.java
index 6459c2c56ed432d7c0fe731392779d163b81f9b6..120c52845b7a677a615ca9a000671a8422204ff7 100644 (file)
@@ -129,7 +129,7 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{
 \r
     private JLabel jLabel3 = null;\r
 \r
-\r
+    protected String[][] saa = null;\r
 \r
     /**\r
       This method initializes this\r
@@ -237,6 +237,7 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{
                    }\r
                    else{\r
                        selectedRow = lsm.getMinSelectionIndex();\r
+                       \r
                    }\r
                }\r
            });\r
@@ -250,14 +251,28 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{
    public void tableChanged(TableModelEvent arg0) {\r
        // TODO Auto-generated method stub\r
        int row = arg0.getFirstRow();\r
+       int column = arg0.getColumn();\r
        TableModel m = (TableModel)arg0.getSource();\r
        if (arg0.getType() == TableModelEvent.UPDATE){\r
            \r
-           updateRow(row, m);\r
+           updateRow(row, column, m);\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.getSpdGuidDeclaration(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
@@ -409,7 +424,7 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{
         //\r
         // initialize table using SpdFileContents object\r
         //\r
-        String[][] saa = new String[sfc.getSpdGuidDeclarationCount()][7];\r
+        saa = new String[sfc.getSpdGuidDeclarationCount()][7];\r
         sfc.getSpdGuidDeclarations(saa);\r
         int i = 0;\r
         while (i < saa.length) {\r