summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMatti Tahvonen <matti.tahvonen@itmill.com>2009-09-02 12:41:14 +0000
committerMatti Tahvonen <matti.tahvonen@itmill.com>2009-09-02 12:41:14 +0000
commit4e35d933939cd4a0527ff178c90ac5bb80714d09 (patch)
tree1e85d1b70f9cb85ecad5f169948d4306e04ec949 /src
parent40372302823a104693a59cfd3b515c837d56c654 (diff)
downloadvaadin-framework-4e35d933939cd4a0527ff178c90ac5bb80714d09.tar.gz
vaadin-framework-4e35d933939cd4a0527ff178c90ac5bb80714d09.zip
fixes #3264, enabled automatic scrollbars in Vaadin
svn changeset:8637/svn branch:6.1
Diffstat (limited to 'src')
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VGridLayout.java17
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VPanel.java3
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VSplitPanel.java5
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VTabsheet.java5
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VView.java9
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VWindow.java2
6 files changed, 20 insertions, 21 deletions
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VGridLayout.java b/src/com/vaadin/terminal/gwt/client/ui/VGridLayout.java
index 2e4ba2586b..f52b6fc7e2 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VGridLayout.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VGridLayout.java
@@ -87,14 +87,6 @@ public class VGridLayout extends SimplePanel implements Paintable, Container {
return;
}
- boolean mightToggleVScrollBar = "".equals(height) && !"".equals(width);
- boolean mightToggleHScrollBar = "".equals(width) && !"".equals(height);
- int wBeforeRender = 0;
- int hBeforeRender = 0;
- if (mightToggleHScrollBar || mightToggleVScrollBar) {
- wBeforeRender = canvas.getOffsetWidth();
- hBeforeRender = getOffsetHeight();
- }
canvas.setWidth("0px");
handleMargins(uidl);
@@ -201,15 +193,6 @@ public class VGridLayout extends SimplePanel implements Paintable, Container {
boolean needsRelativeSizeCheck = false;
- if (mightToggleHScrollBar && wBeforeRender != canvas.getOffsetWidth()) {
- needsRelativeSizeCheck = true;
- }
- if (mightToggleVScrollBar && hBeforeRender != getOffsetHeight()) {
- needsRelativeSizeCheck = true;
- }
- if (needsRelativeSizeCheck) {
- client.handleComponentRelativeSize(this);
- }
}
private static int[] cloneArray(int[] toBeCloned) {
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VPanel.java b/src/com/vaadin/terminal/gwt/client/ui/VPanel.java
index d1790bf710..ec4acf2e4d 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VPanel.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VPanel.java
@@ -492,6 +492,9 @@ public class VPanel extends SimplePanel implements Container {
}
public boolean requestLayout(Set<Paintable> child) {
+ // content size change might cause change to its available space
+ // (scrollbars)
+ client.handleComponentRelativeSize((Widget) layout);
if (height != null && height != "" && width != null && width != "") {
/*
* If the height and width has been specified the child components
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VSplitPanel.java b/src/com/vaadin/terminal/gwt/client/ui/VSplitPanel.java
index 59015a9606..688283e61d 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VSplitPanel.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VSplitPanel.java
@@ -522,6 +522,11 @@ public class VSplitPanel extends ComplexPanel implements Container,
}
public boolean requestLayout(Set<Paintable> child) {
+ // content size change might cause change to its available space
+ // (scrollbars)
+ for (Paintable paintable : child) {
+ client.handleComponentRelativeSize((Widget) paintable);
+ }
if (height != null && width != null) {
/*
* If the height and width has been specified the child components
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VTabsheet.java b/src/com/vaadin/terminal/gwt/client/ui/VTabsheet.java
index 879d8c403a..3949b0d32e 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VTabsheet.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VTabsheet.java
@@ -822,7 +822,10 @@ public class VTabsheet extends VTabsheetBase {
* If the height and width has been specified for this container the
* child components cannot make the size of the layout change
*/
-
+ // layout size change may affect its available space (scrollbars)
+ for (Paintable paintable : child) {
+ client.handleComponentRelativeSize((Widget) paintable);
+ }
return true;
}
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VView.java b/src/com/vaadin/terminal/gwt/client/ui/VView.java
index 3ea6531b43..95e85aaa1f 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VView.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VView.java
@@ -36,8 +36,8 @@ import com.vaadin.terminal.gwt.client.Util;
/**
*
*/
-public class VView extends SimplePanel implements Container,
- ResizeHandler, Window.ClosingHandler {
+public class VView extends SimplePanel implements Container, ResizeHandler,
+ Window.ClosingHandler {
private static final String CLASSNAME = "v-view";
@@ -561,6 +561,9 @@ public class VView extends SimplePanel implements Container,
*/
updateParentFrameSize();
+ // layout size change may affect its available space (scrollbars)
+ connection.handleComponentRelativeSize((Widget) layout);
+
return true;
}
@@ -599,7 +602,7 @@ public class VView extends SimplePanel implements Container,
/**
* Return an iterator for current subwindows. This method is meant for
* testing purposes only.
- *
+ *
* @return
*/
public ArrayList<VWindow> getSubWindowList() {
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VWindow.java b/src/com/vaadin/terminal/gwt/client/ui/VWindow.java
index 900d49e214..5cb93795b3 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VWindow.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VWindow.java
@@ -966,6 +966,8 @@ public class VWindow extends VOverlay implements Container, ScrollListener {
center();
}
updateShadowSizeAndPosition();
+ // layout size change may affect its available space (scrollbars)
+ client.handleComponentRelativeSize((Widget) layout);
return true;
}