From e455b59e361e742d5f4082d1921d63692b297aef Mon Sep 17 00:00:00 2001 From: Matti Tahvonen Date: Mon, 8 Oct 2007 09:23:26 +0000 Subject: [PATCH] table now supports percentage heights svn changeset:2452/svn branch:trunk --- .../terminal/gwt/client/ui/IScrollTable.java | 17 +++++++++++++++-- ...licationLayoutThatUsesWholeBrosersSpace.java | 2 +- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/IScrollTable.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/IScrollTable.java index 17286bbdf9..9a5d810c29 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/IScrollTable.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/IScrollTable.java @@ -21,6 +21,7 @@ import com.google.gwt.user.client.ui.ScrollListener; import com.google.gwt.user.client.ui.ScrollPanel; import com.google.gwt.user.client.ui.Widget; import com.itmill.toolkit.terminal.gwt.client.ApplicationConnection; +import com.itmill.toolkit.terminal.gwt.client.ContainerResizedListener; import com.itmill.toolkit.terminal.gwt.client.Paintable; import com.itmill.toolkit.terminal.gwt.client.UIDL; import com.itmill.toolkit.terminal.gwt.client.Util; @@ -49,7 +50,7 @@ import com.itmill.toolkit.terminal.gwt.client.ui.IScrollTable.IScrollTableBody.I * * TODO implement unregistering for child componts in Cells */ -public class IScrollTable extends Composite implements Table, ScrollListener { +public class IScrollTable extends Composite implements Table, ScrollListener, ContainerResizedListener { public static final String CLASSNAME = "i-table"; /** @@ -473,7 +474,8 @@ public class IScrollTable extends Composite implements Table, ScrollListener { if (height == null) { bodyContainer.setHeight((tBody.getRowHeight() * pageLength) + "px"); } else { - bodyContainer.setHeight(height); + setHeight(height); + iLayout(); } if (width == null) { @@ -558,6 +560,16 @@ public class IScrollTable extends Composite implements Table, ScrollListener { }); initializedAndAttached = true; } + + public void iLayout() { + if(height != null && height.indexOf("%") > 0) { + int contentH = (DOM.getElementPropertyInt(getElement(), "clientHeight") - tHead.getOffsetHeight()); + if(contentH < 0) + contentH = 0; + bodyContainer.setHeight( contentH + "px"); + } + } + private int getScrollbarWidth() { return bodyContainer.getOffsetWidth() @@ -1868,4 +1880,5 @@ public class IScrollTable extends Composite implements Table, ScrollListener { public boolean remove(Widget w) { return panel.remove(w); } + } diff --git a/src/com/itmill/toolkit/tests/TestForApplicationLayoutThatUsesWholeBrosersSpace.java b/src/com/itmill/toolkit/tests/TestForApplicationLayoutThatUsesWholeBrosersSpace.java index fd56c21543..d79b0aaef7 100644 --- a/src/com/itmill/toolkit/tests/TestForApplicationLayoutThatUsesWholeBrosersSpace.java +++ b/src/com/itmill/toolkit/tests/TestForApplicationLayoutThatUsesWholeBrosersSpace.java @@ -33,7 +33,7 @@ public class TestForApplicationLayoutThatUsesWholeBrosersSpace extends t.setWidth(100); t.setWidthUnits(Table.UNITS_PERCENTAGE); t.setHeight(100); - t.setHeightUnits(Table.UNITS_PIXELS); + t.setHeightUnits(Table.UNITS_PERCENTAGE); topRight.addComponent(t); topRight.expand(t); -- 2.39.5