From 4c8cce269293787068039a21efafe97ff5358ec0 Mon Sep 17 00:00:00 2001 From: Jouni Koivuviita Date: Mon, 6 Oct 2008 13:58:11 +0000 Subject: [PATCH] Test case for Matti. svn changeset:5599/svn branch:trunk --- .../ITMILL/themes/tests-tickets/styles.css | 13 ++ .../toolkit/tests/ScrollbarStressTest.java | 126 ++++++++++++++++++ 2 files changed, 139 insertions(+) create mode 100644 src/com/itmill/toolkit/tests/ScrollbarStressTest.java diff --git a/WebContent/ITMILL/themes/tests-tickets/styles.css b/WebContent/ITMILL/themes/tests-tickets/styles.css index 20d2c18574..0326b24b92 100644 --- a/WebContent/ITMILL/themes/tests-tickets/styles.css +++ b/WebContent/ITMILL/themes/tests-tickets/styles.css @@ -155,3 +155,16 @@ padding-top: 40px; } + + + + + +/*****************************************************************************/ +/* No ticket, just for general test cases */ +/*****************************************************************************/ + +.i-label-no-padding { + padding: 0; + background: lime; +} \ No newline at end of file diff --git a/src/com/itmill/toolkit/tests/ScrollbarStressTest.java b/src/com/itmill/toolkit/tests/ScrollbarStressTest.java new file mode 100644 index 0000000000..1c755c6edf --- /dev/null +++ b/src/com/itmill/toolkit/tests/ScrollbarStressTest.java @@ -0,0 +1,126 @@ +package com.itmill.toolkit.tests; + +import com.itmill.toolkit.Application; +import com.itmill.toolkit.ui.Button; +import com.itmill.toolkit.ui.Label; +import com.itmill.toolkit.ui.OptionGroup; +import com.itmill.toolkit.ui.OrderedLayout; +import com.itmill.toolkit.ui.Panel; +import com.itmill.toolkit.ui.Window; +import com.itmill.toolkit.ui.Button.ClickEvent; +import com.itmill.toolkit.ui.Button.ClickListener; + +public class ScrollbarStressTest extends Application { + + final Window main = new Window("Scrollbar Stress Test"); + + final Panel panel = new Panel("Panel"); + final Window subwindow = new Window("Subwindow"); + + final OptionGroup width = new OptionGroup("Width"); + final OptionGroup height = new OptionGroup("Height"); + + @Override + public void init() { + setTheme("tests-tickets"); + setMainWindow(main); + createControlWindow(); + subwindow.setWidth("400px"); + subwindow.setHeight("400px"); + } + + private void createControlWindow() { + final OptionGroup context = new OptionGroup("Context"); + context.addItem("Main window"); + context.addItem("Subwindow"); + context.addItem("Panel"); + context.setValue("Main window"); + + width.addItem("100%"); + width.addItem("50%"); + width.addItem("150%"); + width.addItem("100px"); + width.addItem("500px"); + width.setValue("100%"); + + height.addItem("100%"); + height.addItem("50%"); + height.addItem("150%"); + height.addItem("100px"); + height.addItem("500px"); + height.setValue("100%"); + + final Button set = new Button("Set", new ClickListener() { + public void buttonClick(ClickEvent event) { + if (context.getValue() == "Main window") { + drawInMainWindow(); + } else if (context.getValue() == "Subwindow") { + drawInSubwindow(); + } else if (context.getValue() == "Panel") { + drawInPanel(); + } + } + }); + + OrderedLayout ol = new OrderedLayout( + OrderedLayout.ORIENTATION_HORIZONTAL); + ol.addComponent(context); + ol.addComponent(width); + ol.addComponent(height); + ol.addComponent(set); + ol.setSpacing(true); + ol.setMargin(true); + + Window controller = new Window("Controller"); + controller.setLayout(ol); + main.addWindow(controller); + } + + private void drawInPanel() { + OrderedLayout ol = new OrderedLayout(); + ol.setSizeFull(); + main.setLayout(ol); + ol.addComponent(panel); + + ol = new OrderedLayout(); + ol.setSizeFull(); + panel.setSizeFull(); + panel.setLayout(ol); + + Label l = new Label("Label"); + l.setWidth((String) width.getValue()); + l.setHeight((String) height.getValue()); + l.setStyleName("no-padding"); + + ol.addComponent(l); + main.removeWindow(subwindow); + } + + private void drawInSubwindow() { + main.removeAllComponents(); + OrderedLayout ol = new OrderedLayout(); + ol.setSizeFull(); + Label l = new Label("Label"); + l.setWidth((String) width.getValue()); + l.setHeight((String) height.getValue()); + l.setStyleName("no-padding"); + + ol.addComponent(l); + subwindow.setLayout(ol); + main.addWindow(subwindow); + } + + private void drawInMainWindow() { + OrderedLayout ol = new OrderedLayout(); + ol.setSizeFull(); + main.setLayout(ol); + + Label l = new Label("Label"); + l.setWidth((String) width.getValue()); + l.setHeight((String) height.getValue()); + l.setStyleName("no-padding"); + + ol.addComponent(l); + main.removeWindow(subwindow); + } +} -- 2.39.5