]> source.dussan.org Git - vaadin-framework.git/commitdiff
fixes #2365
authorMatti Tahvonen <matti.tahvonen@itmill.com>
Thu, 18 Dec 2008 09:11:24 +0000 (09:11 +0000)
committerMatti Tahvonen <matti.tahvonen@itmill.com>
Thu, 18 Dec 2008 09:11:24 +0000 (09:11 +0000)
svn changeset:6260/svn branch:trunk

src/com/itmill/toolkit/ui/AbstractComponentContainer.java

index a0717579a41f7532a032bc238ade1c67cedd31b5..51aca35d25d022b5054ddfb718c72700f1318bb6 100644 (file)
@@ -216,6 +216,36 @@ public abstract class AbstractComponentContainer extends AbstractComponent
         }
     }
 
+    @Override
+    public void setWidth(float width, int unit) {
+        if (getWidth() < 0 && width >= 0) {
+            // width becoming defined -> relative width children currently
+            // painted undefined may become defined
+            // TODO could be optimized(subtree of only those components
+            // which have undefined height due this component), currently just
+            // repaints whole subtree
+            requestRepaintAll();
+        } else if (getWidth() >= 0 && width < 0) {
+            requestRepaintAll();
+        }
+        super.setWidth(width, unit);
+    }
+
+    @Override
+    public void setHeight(float height, int unit) {
+        if (getHeight() < 0 && height >= 0) {
+            // height becoming defined -> relative height childs currently
+            // painted undefined may become defined
+            // TODO this could be optimized (subtree of only those components
+            // which have undefined width due this component), currently just
+            // repaints whole
+            // subtree
+        } else if (getHeight() >= 0 && height < 0) {
+            requestRepaintAll();
+        }
+        super.setHeight(height, unit);
+    }
+
     public void requestRepaintAll() {
         requestRepaint();
         for (Iterator childIterator = getComponentIterator(); childIterator