From: Matti Tahvonen Date: Fri, 12 Oct 2007 08:16:29 +0000 (+0000) Subject: Added several missing updateComponent calls. This will probably fix some caching... X-Git-Tag: 6.7.0.beta1~5853 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=16c170ca2e5a18e0e3692450e2fb42eac4f34553;p=vaadin-framework.git Added several missing updateComponent calls. This will probably fix some caching issues. svn changeset:2506/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 3dfe2ab055..fe1fffd497 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/IFormLayout.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/IFormLayout.java @@ -21,6 +21,10 @@ public class IFormLayout extends FlexTable implements Container { public void updateFromUIDL(UIDL uidl, ApplicationConnection client) { this.client = client; + + if (client.updateComponent(this, uidl, false)) + return; + int i = 0; for (Iterator it = uidl.getChildIterator(); it.hasNext(); i++) { prepareCell(i, 1); diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/IGridLayout.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/IGridLayout.java index 73b5a95e80..69645e047d 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/IGridLayout.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/IGridLayout.java @@ -18,6 +18,10 @@ public class IGridLayout extends FlexTable implements Paintable, Container { private HashMap widgetToCaptionWrapper = new HashMap(); public void updateFromUIDL(UIDL uidl, ApplicationConnection client) { + + if (client.updateComponent(this, uidl, false)) + return; + clear(); if (uidl.hasAttribute("caption")) setTitle(uidl.getStringAttribute("caption")); diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/IProgressIndicator.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/IProgressIndicator.java index 9c9bedfd9b..7d22df4379 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/IProgressIndicator.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/IProgressIndicator.java @@ -24,6 +24,9 @@ public class IProgressIndicator extends Widget implements Paintable { } public void updateFromUIDL(UIDL uidl, ApplicationConnection client) { + if (client.updateComponent(this, uidl, true)) + return; + poller.cancel(); this.client = client; if (client.updateComponent(this, uidl, true)) diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/ISplitPanel.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/ISplitPanel.java index 0963e9de91..c0bd2bc03b 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/ISplitPanel.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/ISplitPanel.java @@ -98,7 +98,8 @@ public class ISplitPanel extends ComplexPanel implements Paintable, } public void updateFromUIDL(UIDL uidl, ApplicationConnection client) { - client.updateComponent(this, uidl, true); + if (client.updateComponent(this, uidl, true)) + return; setWidth(uidl.getStringAttribute("width")); setHeight(uidl.getStringAttribute("height")); @@ -150,7 +151,8 @@ public class ISplitPanel extends ComplexPanel implements Paintable, pixelPosition = DOM.getElementPropertyInt(splitter, "offsetLeft"); // reposition splitter in case it is out of box - if (pixelPosition > 0 && pixelPosition + getSplitterSize() > wholeSize) { + if (pixelPosition > 0 + && pixelPosition + getSplitterSize() > wholeSize) { pixelPosition = wholeSize - getSplitterSize(); if (pixelPosition < 0) pixelPosition = 0; @@ -175,7 +177,8 @@ public class ISplitPanel extends ComplexPanel implements Paintable, pixelPosition = DOM.getElementPropertyInt(splitter, "offsetTop"); // reposition splitter in case it is out of box - if (pixelPosition > 0 && pixelPosition + getSplitterSize() > wholeSize) { + if (pixelPosition > 0 + && pixelPosition + getSplitterSize() > wholeSize) { pixelPosition = wholeSize - getSplitterSize(); if (pixelPosition < 0) pixelPosition = 0; @@ -312,7 +315,8 @@ public class ISplitPanel extends ComplexPanel implements Paintable, private int getSplitterSize() { if (splitterSize < 0) { if (isAttached()) { - splitterSize = DOM.getElementPropertyInt(splitter, "offsetWidth"); + splitterSize = DOM.getElementPropertyInt(splitter, + "offsetWidth"); } } return splitterSize; 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 71a6302be3..3deeb88999 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/ITabsheet.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/ITabsheet.java @@ -16,7 +16,8 @@ import com.itmill.toolkit.terminal.gwt.client.Paintable; import com.itmill.toolkit.terminal.gwt.client.UIDL; import com.itmill.toolkit.terminal.gwt.client.Util; -public class ITabsheet extends FlowPanel implements Paintable, ContainerResizedListener { +public class ITabsheet extends FlowPanel implements Paintable, + ContainerResizedListener { public static final String CLASSNAME = "i-tabsheet"; @@ -75,8 +76,7 @@ public class ITabsheet extends FlowPanel implements Paintable, ContainerResizedL this.client = client; id = uidl.getId(); - // Use cached sub-tree if available - if (uidl.getBooleanAttribute("cached")) + if (client.updateComponent(this, uidl, false)) return; // Adjust width and height @@ -164,14 +164,14 @@ public class ITabsheet extends FlowPanel implements Paintable, ContainerResizedL DOM.getChild(tr, DOM.getChildCount(tr) - 1), 0); DOM.removeElementAttribute(rest, "style"); } - + public void setHeight(String height) { this.height = height; iLayout(); } public void iLayout() { - if(height != null) { + if (height != null) { // First, calculate needed pixel height super.setHeight(height); int neededHeight = getOffsetHeight(); @@ -181,7 +181,7 @@ public class ITabsheet extends FlowPanel implements Paintable, ContainerResizedL DOM.setStyleAttribute(tp.getElement(), "overflow", "hidden"); int pixelHeight = getOffsetHeight(); tp.setHeight(neededHeight - pixelHeight + "px"); - DOM.setStyleAttribute(tp.getElement(), "overflow", ""); + DOM.setStyleAttribute(tp.getElement(), "overflow", ""); } Util.runAnchestorsLayout(this); } diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/IUnknownComponent.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/IUnknownComponent.java index 6263c1abeb..cbe7698372 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/IUnknownComponent.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/IUnknownComponent.java @@ -22,6 +22,8 @@ public class IUnknownComponent extends Composite implements Paintable { } public void updateFromUIDL(UIDL uidl, ApplicationConnection client) { + if (client.updateComponent(this, uidl, false)) + return; setCaption("Client faced an unknown component type. Unrendered UIDL:"); uidlTree.clear(); uidlTree.addItem(uidl.dir()); diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/IUpload.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/IUpload.java index f31f33c3e5..477b03298f 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/IUpload.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/IUpload.java @@ -64,6 +64,8 @@ public class IUpload extends FormPanel implements Paintable, ClickListener, } public void updateFromUIDL(UIDL uidl, ApplicationConnection client) { + if (client.updateComponent(this, uidl, false)) + return; this.client = client; this.paintableId = uidl.getId(); setAction(client.getAppUri()); diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/IWindow.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/IWindow.java index ce26267062..e7680093e6 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/IWindow.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/IWindow.java @@ -160,8 +160,8 @@ public class IWindow extends PopupPanel implements Paintable, ScrollListener { public void updateFromUIDL(UIDL uidl, ApplicationConnection client) { this.id = uidl.getId(); this.client = client; - - if (uidl.getBooleanAttribute("cached")) + + if(client.updateComponent(this, uidl, false)) return; if (uidl.hasAttribute("invisible")) {