From 373004e71058077145708327b36f29ca88cfab53 Mon Sep 17 00:00:00 2001 From: Jouni Koivuviita Date: Mon, 1 Oct 2007 09:02:02 +0000 Subject: [PATCH] committed something that Joonas forgot to :) svn changeset:2400/svn branch:trunk --- .../toolkit/terminal/gwt/client/ui/ITabsheet.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) 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); } -- 2.39.5