]> source.dussan.org Git - vaadin-framework.git/commitdiff
Table now refreshes explicitly when adding and removing stuff and the contained does...
authorMarc Englund <marc.englund@itmill.com>
Tue, 24 Jun 2008 14:21:11 +0000 (14:21 +0000)
committerMarc Englund <marc.englund@itmill.com>
Tue, 24 Jun 2008 14:21:11 +0000 (14:21 +0000)
svn changeset:4949/svn branch:trunk

src/com/itmill/toolkit/ui/Table.java

index 0e46e74e88d28d694ceabc0bfaf035a0f495af8d..e914584460f2f59503efc23c87bcc81f41b294f7 100644 (file)
@@ -1449,6 +1449,11 @@ public class Table extends AbstractSelect implements Action.Container,
             item.getItemProperty(cols[i]).setValue(cells[i]);
         }
 
+        if (!(items instanceof Container.ItemSetChangeNotifier)) {
+            resetPageBuffer();
+            refreshRenderedCells();
+        }
+
         return itemId;
     }
 
@@ -2192,6 +2197,10 @@ public class Table extends AbstractSelect implements Action.Container,
         if (ret && (itemId != null) && (itemId.equals(currentPageFirstItemId))) {
             currentPageFirstItemId = nextItemId;
         }
+        if (!(items instanceof Container.ItemSetChangeNotifier)) {
+            resetPageBuffer();
+            refreshRenderedCells();
+        }
         return ret;
     }
 
@@ -2239,6 +2248,10 @@ public class Table extends AbstractSelect implements Action.Container,
             }
             return false;
         }
+        if (!(items instanceof Container.PropertySetChangeNotifier)) {
+            resetPageBuffer();
+            refreshRenderedCells();
+        }
         return true;
     }
 
@@ -2479,7 +2492,13 @@ public class Table extends AbstractSelect implements Action.Container,
      */
     public Object addItemAfter(Object previousItemId)
             throws UnsupportedOperationException {
-        return ((Container.Ordered) items).addItemAfter(previousItemId);
+        Object itemId = ((Container.Ordered) items)
+                .addItemAfter(previousItemId);
+        if (!(items instanceof Container.ItemSetChangeNotifier)) {
+            resetPageBuffer();
+            refreshRenderedCells();
+        }
+        return itemId;
     }
 
     /**
@@ -2490,8 +2509,13 @@ public class Table extends AbstractSelect implements Action.Container,
      */
     public Item addItemAfter(Object previousItemId, Object newItemId)
             throws UnsupportedOperationException {
-        return ((Container.Ordered) items).addItemAfter(previousItemId,
+        Item item = ((Container.Ordered) items).addItemAfter(previousItemId,
                 newItemId);
+        if (!(items instanceof Container.ItemSetChangeNotifier)) {
+            resetPageBuffer();
+            refreshRenderedCells();
+        }
+        return item;
     }
 
     /**