diff options
author | Matti Tahvonen <matti.tahvonen@itmill.com> | 2007-11-29 15:16:38 +0000 |
---|---|---|
committer | Matti Tahvonen <matti.tahvonen@itmill.com> | 2007-11-29 15:16:38 +0000 |
commit | 54c79ea56c2475eeeae3671284aed0ea5041eb9f (patch) | |
tree | 129ed95e502dec839bd3237246a9fda7dfee7d28 /src/com/itmill | |
parent | f12ec69dad3fba51b66179562bc9dd36b538726c (diff) | |
download | vaadin-framework-54c79ea56c2475eeeae3671284aed0ea5041eb9f.tar.gz vaadin-framework-54c79ea56c2475eeeae3671284aed0ea5041eb9f.zip |
fixes #1178
svn changeset:3048/svn branch:trunk
Diffstat (limited to 'src/com/itmill')
-rw-r--r-- | src/com/itmill/toolkit/terminal/gwt/client/ui/IGridLayout.java | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/IGridLayout.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/IGridLayout.java index d0ae64ed02..2d3328a4a5 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/IGridLayout.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/IGridLayout.java @@ -23,7 +23,6 @@ public class IGridLayout extends FlexTable implements Paintable, Container { return; } - clear(); if (uidl.hasAttribute("caption")) { setTitle(uidl.getStringAttribute("caption")); } @@ -52,10 +51,16 @@ public class IGridLayout extends FlexTable implements Paintable, Container { Widget child = client.getWidget(u); prepareCell(row, column); Widget oldChild = getWidget(row, column); + if (oldChild instanceof CaptionWrapper) { + CaptionWrapper new_name = (CaptionWrapper) oldChild; + oldChild = (Widget) new_name.getPaintable(); + } if (child != oldChild) { if (oldChild != null) { - CaptionWrapper cw = (CaptionWrapper) oldChild; - detachdedPaintables.add(cw.getPaintable()); + detachdedPaintables.add(oldChild); + CaptionWrapper cw = (CaptionWrapper) widgetToCaptionWrapper + .get(oldChild); + cw.removeFromParent(); widgetToCaptionWrapper.remove(oldChild); } CaptionWrapper wrapper = new CaptionWrapper( @@ -63,7 +68,9 @@ public class IGridLayout extends FlexTable implements Paintable, Container { setWidget(row, column, wrapper); widgetToCaptionWrapper.put(child, wrapper); } - ((Paintable) child).updateFromUIDL(u, client); + if (!u.getBooleanAttribute("cached")) { + ((Paintable) child).updateFromUIDL(u, client); + } } column += w; } |