From a947348fd9ee6d62a8ce6cbd0fccc4542f4b3daf Mon Sep 17 00:00:00 2001 From: Joonas Lehtinen Date: Thu, 10 Jul 2008 14:27:21 +0000 Subject: [PATCH] Test for #1921 : IOrderedLayout needs cross-browser DOM structures svn changeset:5080/svn branch:trunk --- .../ITMILL/themes/tests-tickets/styles.css | 24 +++- .../toolkit/tests/tickets/Ticket1921.java | 129 ++++++++++++++++++ 2 files changed, 147 insertions(+), 6 deletions(-) create mode 100644 src/com/itmill/toolkit/tests/tickets/Ticket1921.java diff --git a/WebContent/ITMILL/themes/tests-tickets/styles.css b/WebContent/ITMILL/themes/tests-tickets/styles.css index dfc4dabf6e..b40139cc5c 100644 --- a/WebContent/ITMILL/themes/tests-tickets/styles.css +++ b/WebContent/ITMILL/themes/tests-tickets/styles.css @@ -4,11 +4,6 @@ /* Ticket 1710 */ /*****************************************************************************/ -.i-orderedlayout-controls { - overflow: auto; - white-space : nowrap; -} - .i-orderedlayout-tested-layout, .i-gridlayout-tested-layout, .i-expandllayout-tested-layout { background-color: #fff; } @@ -17,7 +12,13 @@ background-color: #eee; } +.i-panel-content-testarea { + background-color: #f4f4f4; +} + + + /*****************************************************************************/ /* Ticket 1857 */ /*****************************************************************************/ @@ -37,6 +38,18 @@ .i-orderedlayout-red-background { background: red; } + +/*****************************************************************************/ +/* Ticket 1921 */ +/*****************************************************************************/ + +.i-orderedlayout-red { + background: red; +} + +.i-orderedlayout-blue { + background: blue; +} /*****************************************************************************/ /* Ticket 1924 */ @@ -45,4 +58,3 @@ .i-label-red { background: red; } - \ No newline at end of file diff --git a/src/com/itmill/toolkit/tests/tickets/Ticket1921.java b/src/com/itmill/toolkit/tests/tickets/Ticket1921.java new file mode 100644 index 0000000000..5adde6eb27 --- /dev/null +++ b/src/com/itmill/toolkit/tests/tickets/Ticket1921.java @@ -0,0 +1,129 @@ +package com.itmill.toolkit.tests.tickets; + +import java.util.Map; + +import com.itmill.toolkit.Application; +import com.itmill.toolkit.terminal.ParameterHandler; +import com.itmill.toolkit.ui.Button; +import com.itmill.toolkit.ui.Label; +import com.itmill.toolkit.ui.OrderedLayout; +import com.itmill.toolkit.ui.Window; + +public class Ticket1921 extends Application implements ParameterHandler { + + int state = -1; + int round = 1; + Button button; + OrderedLayout outer, inner; + + public void init() { + + outer = new OrderedLayout(); + setMainWindow(new Window("#1921", outer)); + setTheme("tests-tickets"); + inner = new OrderedLayout(); + outer.addComponent(inner); + button = new Button("foo", this, "newState"); + inner.addComponent(button); + + outer.setStyleName("red"); + inner.setStyleName("blue"); + + newState(); + + getMainWindow().addParameterHandler(this); + } + + public void newState() { + + if (state >= 8) { + state = 0; + round++; + } else { + state++; + } + + button.setCaption("state " + round + "." + state); + + switch (state) { + + case 0: + outer.setMargin(true); + inner.setMargin(true); + inner.setSizeFull(); + outer.setSizeFull(); + button.setSizeFull(); + break; + + case 1: + button.setSizeUndefined(); + break; + + case 2: + inner.setMargin(false); + break; + + case 3: + outer.setMargin(false); + break; + + case 4: + inner.setMargin(true); + break; + + case 5: + inner.addComponent(new Label("Added at " + button.getCaption())); + break; + + case 6: + inner + .setOrientation(inner.getOrientation() == OrderedLayout.ORIENTATION_HORIZONTAL ? OrderedLayout.ORIENTATION_VERTICAL + : OrderedLayout.ORIENTATION_HORIZONTAL); + getMainWindow() + .showNotification( + "inner swithed to " + + (inner.getOrientation() == OrderedLayout.ORIENTATION_HORIZONTAL ? "horizontal" + : "vertical")); + break; + + case 7: + outer.addComponent(new Label("Added at " + button.getCaption())); + break; + + case 8: + outer + .setOrientation(outer.getOrientation() == OrderedLayout.ORIENTATION_HORIZONTAL ? OrderedLayout.ORIENTATION_VERTICAL + : OrderedLayout.ORIENTATION_HORIZONTAL); + getMainWindow() + .showNotification( + "outer swithed to " + + (outer.getOrientation() == OrderedLayout.ORIENTATION_HORIZONTAL ? "horizontal" + : "vertical")); + break; + } + } + + public void handleParameters(Map parameters) { + String[] s = (String[]) parameters.get("state"); + if (s == null || s.length != 1) { + return; + } + String v[] = s[0].split("\\."); + if (v == null || v.length != 2) { + return; + } + try { + int rr = Integer.parseInt(v[0]); + int rs = Integer.parseInt(v[1]); + if (rr < round || (rr == round && rs < state)) { + getMainWindow().showNotification( + "Already past requested " + s[0]); + return; + } + while (round < rr || state < rs) { + newState(); + } + } catch (NumberFormatException ignored) { + } + } +} -- 2.39.5