From: Matti Tahvonen Date: Tue, 20 May 2008 10:07:05 +0000 (+0000) Subject: fixes to iformlayout X-Git-Tag: 6.7.0.beta1~4731 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=5d0219ace759b6740222c744db8832e6553d6123;p=vaadin-framework.git fixes to iformlayout svn changeset:4563/svn branch:trunk --- diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/IFormLayout.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/IFormLayout.java index fc1d6c3b80..0d59025587 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/IFormLayout.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/IFormLayout.java @@ -27,6 +27,7 @@ public class IFormLayout extends FlexTable implements Container { HashMap componentToCaption = new HashMap(); private ApplicationConnection client; + private HashMap componentToError = new HashMap(); public void updateFromUIDL(UIDL uidl, ApplicationConnection client) { this.client = client; @@ -45,6 +46,11 @@ public class IFormLayout extends FlexTable implements Container { c = new Caption(p, client); componentToCaption.put(p, c); } + ErrorFlag error = (ErrorFlag) componentToError.get(p); + if (error == null) { + error = new ErrorFlag(); + componentToError.put(p, error); + } final Paintable oldComponent = (Paintable) getWidget(i, 1); if (oldComponent == null) { setWidget(i, 1, (Widget) p); @@ -53,16 +59,13 @@ public class IFormLayout extends FlexTable implements Container { setWidget(i, 1, (Widget) p); } setWidget(i, 0, c); - p.updateFromUIDL(childUidl, client); prepareCell(i, 2); getCellFormatter().setStyleName(i, 2, "i-formlayout-errorcell"); - ErrorFlag error = (ErrorFlag) getWidget(i, 2); - if (error == null) { - error = new ErrorFlag(); - setWidget(i, 2, error); - } - error.updateFromUIDL(childUidl); + setWidget(i, 2, error); + + p.updateFromUIDL(childUidl, client); + } while (getRowCount() > i) { @@ -96,6 +99,10 @@ public class IFormLayout extends FlexTable implements Container { if (c != null) { c.updateCaption(uidl); } + final ErrorFlag e = (ErrorFlag) componentToError.get(component); + if (e != null) { + e.updateFromUIDL(uidl); + } } public class Caption extends HTML {