From: Matti Tahvonen Date: Tue, 6 Nov 2007 09:10:41 +0000 (+0000) Subject: fixed wrong function name + fixes to tabsheet X-Git-Tag: 6.7.0.beta1~5663 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=e813e59c2472065f2e910df3ac4676aca9f4bedf;p=vaadin-framework.git fixed wrong function name + fixes to tabsheet svn changeset:2717/svn branch:trunk --- diff --git a/src/com/itmill/toolkit/terminal/gwt/client/Util.java b/src/com/itmill/toolkit/terminal/gwt/client/Util.java index f0c7883ad2..6540e662ec 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/Util.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/Util.java @@ -66,7 +66,7 @@ public class Util { * * @param container */ - public static void runAncestorsLayout(HasWidgets container) { + public static void runDescendentsLayout(HasWidgets container) { Iterator childWidgets = container.iterator(); while (childWidgets.hasNext()) { Widget child = (Widget) childWidgets.next(); @@ -74,7 +74,7 @@ public class Util { ((ContainerResizedListener) child).iLayout(); } else if (child instanceof HasWidgets) { HasWidgets childContainer = (HasWidgets) child; - runAncestorsLayout(childContainer); + runDescendentsLayout(childContainer); } } } diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/IExpandLayout.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/IExpandLayout.java index 2854e1635e..2a838fba1b 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/IExpandLayout.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/IExpandLayout.java @@ -160,7 +160,7 @@ public class IExpandLayout extends IOrderedLayout implements DOM.removeChild(childContainer, meter); // TODO save previous size and only propagate if really changed - Util.runAncestorsLayout(this); + Util.runDescendentsLayout(this); } } diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/IPanel.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/IPanel.java index 8f894990fe..6bcaf49d6e 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/IPanel.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/IPanel.java @@ -145,7 +145,7 @@ public class IPanel extends SimplePanel implements Paintable, } else { DOM.setStyleAttribute(contentNode, "height", ""); } - Util.runAncestorsLayout(this); + Util.runDescendentsLayout(this); } } 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 7b6b7abcd8..1e6a043d10 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/ISplitPanel.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/ISplitPanel.java @@ -186,7 +186,6 @@ public class ISplitPanel extends ComplexPanel implements Paintable, pixelPosition = DOM.getElementPropertyInt(splitter, "offsetTop"); // reposition splitter in case it is out of box - int pixelSize = getSplitterSize(); if (pixelPosition > 0 && pixelPosition + getSplitterSize() > wholeSize) { pixelPosition = wholeSize - getSplitterSize(); @@ -212,7 +211,7 @@ public class ISplitPanel extends ComplexPanel implements Paintable, break; } - Util.runAncestorsLayout(this); + Util.runDescendentsLayout(this); } private void setFirstWidget(Widget w) { 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 cb766441d3..b98c92581a 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/ITabsheet.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/ITabsheet.java @@ -45,10 +45,13 @@ public class ITabsheet extends FlowPanel implements Paintable, if (ITabsheet.this.client != null && ITabsheet.this.activeTabIndex != tabIndex) { addStyleDependentName("loading"); - ITabsheet.this.tp.getWidget( - ITabsheet.this.tp.getVisibleWidget()).setVisible(false); + // run updating variables in deferred command to bypass some FF + // optimization issues DeferredCommand.addCommand(new Command() { public void execute() { + ITabsheet.this.tp.getWidget( + ITabsheet.this.tp.getVisibleWidget()) + .setVisible(false); ITabsheet.this.client.updateVariable(ITabsheet.this.id, "selected", "" + ITabsheet.this.tabKeys.get(tabIndex), @@ -117,14 +120,11 @@ public class ITabsheet extends FlowPanel implements Paintable, // Height calculations if (h != null) { - setHeight(h); + if (!h.equals(height)) + setHeight(h); } else { this.height = null; - this.tp.setHeight("auto"); - // We don't need overflow:auto when tabsheet height is not set - // TODO reconsider, we might sometimes have wide, non-breaking - // content - DOM.setStyleAttribute(this.tp.getElement(), "overflow", "hidden"); + this.tp.setHeight(""); } // Render content @@ -181,14 +181,12 @@ public class ITabsheet extends FlowPanel implements Paintable, // Open selected tab this.tb.selectTab(this.activeTabIndex); - // tp.showWidget(activeTabIndex); } private void renderContent(final UIDL contentUIDL) { DeferredCommand.addCommand(new Command() { public void execute() { - // Loading done, start drawing Widget content = ITabsheet.this.client.getWidget(contentUIDL); ITabsheet.this.tp.remove(ITabsheet.this.activeTabIndex); ITabsheet.this.tp @@ -197,8 +195,10 @@ public class ITabsheet extends FlowPanel implements Paintable, ((Paintable) content).updateFromUIDL(contentUIDL, ITabsheet.this.client); removeStyleDependentName("loading"); + ITabsheet.this.iLayout(); } }); + } private void clearTabs() { @@ -234,6 +234,6 @@ public class ITabsheet extends FlowPanel implements Paintable, this.tp.setHeight(neededHeight - pixelHeight + "px"); DOM.setStyleAttribute(this.tp.getElement(), "overflow", ""); } - Util.runAncestorsLayout(this); + Util.runDescendentsLayout(this); } } 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 30fe2a3d4e..80184505e4 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/IView.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/IView.java @@ -152,7 +152,7 @@ public class IView extends SimplePanel implements Paintable, } public void onWindowResized(int width, int height) { - Util.runAncestorsLayout(this); + Util.runDescendentsLayout(this); } } 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 e6694023da..c5ab9c9463 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/IWindow.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/IWindow.java @@ -342,7 +342,7 @@ public class IWindow extends PopupPanel implements Paintable, ScrollListener { client.updateVariable(id, "height", h, false); } // Update child widget dimensions - Util.runAncestorsLayout(this); + Util.runDescendentsLayout(this); } public void setWidth(String width) {