From: Jouni Koivuviita Date: Mon, 1 Oct 2007 09:02:02 +0000 (+0000) Subject: committed something that Joonas forgot to :) X-Git-Tag: 6.7.0.beta1~5939 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=373004e71058077145708327b36f29ca88cfab53;p=vaadin-framework.git committed something that Joonas forgot to :) svn changeset:2400/svn branch:trunk --- diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/ITabsheet.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/ITabsheet.java index df7401388e..c11e7a2ab2 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/ITabsheet.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/ITabsheet.java @@ -70,6 +70,10 @@ public class ITabsheet extends FlowPanel implements Paintable { public void updateFromUIDL(UIDL uidl, ApplicationConnection client) { this.client = client; id = uidl.getId(); + + // Use cached sub-tree if available + if(uidl.getBooleanAttribute("cached")) + return; UIDL tabs = uidl.getChildUIDL(0); boolean keepCurrentTabs = tabKeys.size() == tabs.getNumberOfChildren(); @@ -84,8 +88,11 @@ public class ITabsheet extends FlowPanel implements Paintable { UIDL tab = (UIDL) it.next(); if (tab.getBooleanAttribute("selected")) { activeTabIndex = index; - Widget content = client.getWidget(tab.getChildUIDL(0)); - ((Paintable)content).updateFromUIDL(tab.getChildUIDL(0), client); + UIDL contentUIDL = tab.getChildUIDL(0); + + // Otherwise render new content + Widget content = client.getWidget(contentUIDL); + ((Paintable)content).updateFromUIDL(contentUIDL, client); tp.remove(index); tp.insert(content, index); }