aboutsummaryrefslogtreecommitdiffstats
path: root/src/com/itmill/toolkit/terminal/gwt/client/ui
diff options
context:
space:
mode:
authorArtur Signell <artur.signell@itmill.com>2008-12-02 10:25:37 +0000
committerArtur Signell <artur.signell@itmill.com>2008-12-02 10:25:37 +0000
commit35c68514a234c858dd13660e05b10deaaaf05d2f (patch)
treed69ae291e3c1074bf0c048d5d8ffdb6d3d2371dc /src/com/itmill/toolkit/terminal/gwt/client/ui
parentf4583415e5a3ae5dc07b75b0e9f3e7ba186c353b (diff)
downloadvaadin-framework-35c68514a234c858dd13660e05b10deaaaf05d2f.tar.gz
vaadin-framework-35c68514a234c858dd13660e05b10deaaaf05d2f.zip
Fixed #2257 for Panel and TabSheet.
svn changeset:6067/svn branch:trunk
Diffstat (limited to 'src/com/itmill/toolkit/terminal/gwt/client/ui')
-rw-r--r--src/com/itmill/toolkit/terminal/gwt/client/ui/IPanel.java12
-rw-r--r--src/com/itmill/toolkit/terminal/gwt/client/ui/ITabsheet.java17
2 files changed, 28 insertions, 1 deletions
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 2b7a853824..22d215f4e3 100644
--- a/src/com/itmill/toolkit/terminal/gwt/client/ui/IPanel.java
+++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/IPanel.java
@@ -51,7 +51,7 @@ public class IPanel extends SimplePanel implements Container {
ShortcutActionHandler shortcutHandler;
- private String width;
+ private String width = "";
private Element geckoCaptionMeter;
@@ -432,10 +432,20 @@ public class IPanel extends SimplePanel implements Container {
@Override
public void setWidth(String width) {
+ if (this.width.equals(width)) {
+ return;
+ }
+
this.width = width;
super.setWidth(width);
if (!rendering) {
runHacks(true);
+
+ if (height.equals("")) {
+ // Width change may affect height
+ Util.updateRelativeChildrenAndSendSizeUpdateEvent(client, this);
+ }
+
}
}
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 06a6810fbb..ccb7bb6a75 100644
--- a/src/com/itmill/toolkit/terminal/gwt/client/ui/ITabsheet.java
+++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/ITabsheet.java
@@ -431,6 +431,13 @@ public class ITabsheet extends ITabsheetBase {
ITabsheet.this.iLayout();
(content).updateFromUIDL(contentUIDL, client);
+ /*
+ * The size of a cached, relative sized component must be updated to
+ * report correct size to updateOpenTabSize().
+ */
+ if (contentUIDL.getBooleanAttribute("cached")) {
+ client.handleComponentRelativeSize((Widget) content);
+ }
updateOpenTabSize();
ITabsheet.this.removeStyleDependentName("loading");
if (previousVisibleWidget != null) {
@@ -469,6 +476,11 @@ public class ITabsheet extends ITabsheetBase {
@Override
public void setWidth(String width) {
+ if ((this.width == null && width.equals(""))
+ || (this.width != null && this.width.equals(width))) {
+ return;
+ }
+
super.setWidth(width);
if (width.equals("")) {
width = null;
@@ -487,6 +499,11 @@ public class ITabsheet extends ITabsheetBase {
}
if (!rendering) {
+ if (isDynamicHeight()) {
+ Util.updateRelativeChildrenAndSendSizeUpdateEvent(client, tp,
+ this);
+ }
+
updateOpenTabSize();
iLayout();
// TODO Check if this is needed