aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/com/itmill/toolkit/terminal/gwt/client/ui/IForm.java4
-rw-r--r--src/com/itmill/toolkit/terminal/gwt/client/ui/ILink.java3
-rw-r--r--src/com/itmill/toolkit/terminal/gwt/client/ui/IView.java7
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);