aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArtur Signell <artur.signell@itmill.com>2008-12-01 14:27:59 +0000
committerArtur Signell <artur.signell@itmill.com>2008-12-01 14:27:59 +0000
commit16eed9c415a1ae0f567e453cc6735a11e92ba3ba (patch)
treeb4b4194e2c1e363efdfdd6340a745da54546f818
parent69b6ba8299a55a4b4e5957b624035b572ec49329 (diff)
downloadvaadin-framework-16eed9c415a1ae0f567e453cc6735a11e92ba3ba.tar.gz
vaadin-framework-16eed9c415a1ae0f567e453cc6735a11e92ba3ba.zip
Fix for #2251 - ExpandLayout used to expand the first component if expand was not called.
svn changeset:6053/svn branch:trunk
-rw-r--r--src/com/itmill/toolkit/ui/ExpandLayout.java50
1 files changed, 48 insertions, 2 deletions
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);
+ }
+ }
}