From b0925e6d0e674b725204b9781310fed4e3c7b129 Mon Sep 17 00:00:00 2001 From: Matti Tahvonen Date: Fri, 12 Oct 2007 08:03:33 +0000 Subject: [PATCH] fixed some caching issues svn changeset:2504/svn branch:trunk --- src/com/itmill/toolkit/terminal/gwt/client/ui/IForm.java | 4 ++++ src/com/itmill/toolkit/terminal/gwt/client/ui/ILink.java | 3 +++ src/com/itmill/toolkit/terminal/gwt/client/ui/IView.java | 7 +++---- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/IForm.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/IForm.java index 06c93dcfac..753947b43a 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/IForm.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/IForm.java @@ -22,6 +22,10 @@ public class IForm extends SimplePanel implements Paintable { public void updateFromUIDL(UIDL uidl, ApplicationConnection client) { this.client = client; + + if(client.updateComponent(this, uidl, true)) + return; + UIDL layoutUidl = uidl.getChildUIDL(0); if (lo == null) { lo = (Container) client.getWidget(layoutUidl); diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/ILink.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/ILink.java index 64653fb0f0..bdebf5a454 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/ILink.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/ILink.java @@ -39,6 +39,9 @@ public class ILink extends HTML implements Paintable, ClickListener { public void updateFromUIDL(UIDL uidl, ApplicationConnection client) { + if (client.updateComponent(this, uidl, false)) + return; + enabled = uidl.hasAttribute("disabled") ? false : true; readonly = uidl.hasAttribute("readonly") ? true : false; diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/IView.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/IView.java index 8cca2b6dce..2e9767f022 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/IView.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/IView.java @@ -52,9 +52,6 @@ public class IView extends SimplePanel implements Paintable, this.id = uidl.getId(); - // Start drawing from scratch - clear(); - // Some attributes to note theme = uidl.getStringAttribute("theme"); com.google.gwt.user.client.Window.setTitle(uidl @@ -76,6 +73,7 @@ public class IView extends SimplePanel implements Paintable, // Draw this application level window UIDL childUidl = uidl.getChildUIDL(childIndex); Paintable lo = (Paintable) client.getWidget(childUidl); + if (layout != null) { if (layout != lo) { // remove old @@ -86,8 +84,9 @@ public class IView extends SimplePanel implements Paintable, } } else { setWidget((Widget) lo); + layout = lo; } - lo.updateFromUIDL(childUidl, client); + layout.updateFromUIDL(childUidl, client); // Update subwindows HashSet removedSubWindows = new HashSet(subWindows); -- 2.39.5