From: Artur Signell Date: Mon, 1 Dec 2008 14:27:59 +0000 (+0000) Subject: Fix for #2251 - ExpandLayout used to expand the first component if expand was not... X-Git-Tag: 6.7.0.beta1~3687 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=16eed9c415a1ae0f567e453cc6735a11e92ba3ba;p=vaadin-framework.git Fix for #2251 - ExpandLayout used to expand the first component if expand was not called. svn changeset:6053/svn branch:trunk --- diff --git a/src/com/itmill/toolkit/ui/ExpandLayout.java b/src/com/itmill/toolkit/ui/ExpandLayout.java index 439f6cbbaa..352d11d1fd 100644 --- a/src/com/itmill/toolkit/ui/ExpandLayout.java +++ b/src/com/itmill/toolkit/ui/ExpandLayout.java @@ -16,7 +16,7 @@ package com.itmill.toolkit.ui; * fixed size. If the layout fails to show up, check that the parent layout is * actually giving some space. * - * @deprecated Deprecated in favor of new OrderedLayout + * @deprecated Deprecated in favor of the new OrderedLayout */ @Deprecated public class ExpandLayout extends OrderedLayout { @@ -47,8 +47,54 @@ public class ExpandLayout extends OrderedLayout { } expanded = c; - setExpandRatio(expanded, 1.0f); + if (expanded != null) { + setExpandRatio(expanded, 1.0f); + } + requestRepaint(); } + @Override + public void addComponent(Component c, int index) { + super.addComponent(c, index); + if (expanded == null) { + expand(c); + } + } + + @Override + public void addComponent(Component c) { + super.addComponent(c); + if (expanded == null) { + expand(c); + } + } + + @Override + public void addComponentAsFirst(Component c) { + super.addComponentAsFirst(c); + if (expanded == null) { + expand(c); + } + } + + @Override + public void removeComponent(Component c) { + super.removeComponent(c); + if (c == expanded) { + if (getComponentIterator().hasNext()) { + expand((Component) getComponentIterator().next()); + } else { + expand(null); + } + } + } + + @Override + public void replaceComponent(Component oldComponent, Component newComponent) { + super.replaceComponent(oldComponent, newComponent); + if (oldComponent == expanded) { + expand(newComponent); + } + } }