From: Leif Åstrand Date: Tue, 14 Feb 2012 14:33:54 +0000 (+0200) Subject: Update widths before heights to optimize for measuring widgets (#8313) X-Git-Tag: 7.0.0.alpha2~434^2~48 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=157df9283aac8cb93f582c0ef8729a6f7dd4fab7;p=vaadin-framework.git Update widths before heights to optimize for measuring widgets (#8313) --- diff --git a/src/com/vaadin/terminal/gwt/client/MeasureManager.java b/src/com/vaadin/terminal/gwt/client/MeasureManager.java index c72ee43d60..ffb9628641 100644 --- a/src/com/vaadin/terminal/gwt/client/MeasureManager.java +++ b/src/com/vaadin/terminal/gwt/client/MeasureManager.java @@ -61,32 +61,32 @@ public class MeasureManager { FastStringSet updatedSet = FastStringSet.create(); - JsArrayString needsHeightUpdateArray = needsHeightUpdate.dump(); - for (int i = 0; i < needsHeightUpdateArray.length(); i++) { - String pid = needsHeightUpdateArray.get(i); + JsArrayString needsWidthUpdateArray = needsWidthUpdate.dump(); - VPaintableWidget paintable = (VPaintableWidget) paintableMap - .getPaintable(pid); + for (int i = 0; i < needsWidthUpdateArray.length(); i++) { + String pid = needsWidthUpdateArray.get(i); + + VPaintable paintable = paintableMap.getPaintable(pid); if (paintable instanceof CalculatingLayout) { CalculatingLayout cl = (CalculatingLayout) paintable; - cl.updateVerticalSizes(); - + cl.updateHorizontalSizes(); } else if (paintable instanceof ResizeRequired) { ResizeRequired rr = (ResizeRequired) paintable; rr.onResize(); - needsWidthUpdate.remove(pid); + needsHeightUpdate.remove(pid); } updatedSet.add(pid); } - JsArrayString needsWidthUpdateArray = needsWidthUpdate.dump(); - for (int i = 0; i < needsWidthUpdateArray.length(); i++) { - String pid = needsWidthUpdateArray.get(i); + JsArrayString needsHeightUpdateArray = needsHeightUpdate.dump(); + for (int i = 0; i < needsHeightUpdateArray.length(); i++) { + String pid = needsHeightUpdateArray.get(i); - VPaintable paintable = paintableMap.getPaintable(pid); + VPaintableWidget paintable = (VPaintableWidget) paintableMap + .getPaintable(pid); if (paintable instanceof CalculatingLayout) { CalculatingLayout cl = (CalculatingLayout) paintable; - cl.updateHorizontalSizes(); + cl.updateVerticalSizes(); } else if (paintable instanceof ResizeRequired) { ResizeRequired rr = (ResizeRequired) paintable; rr.onResize();