From 3b809dd732bc44332fb982d6cbc6f03aeab292a2 Mon Sep 17 00:00:00 2001 From: Matti Tahvonen Date: Wed, 13 Feb 2008 07:35:38 +0000 Subject: [PATCH] test case for OrderedLayout component swapping svn changeset:3785/svn branch:trunk --- .../tests/OrderedLayoutSwapComponents.java | 109 ++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 src/com/itmill/toolkit/tests/OrderedLayoutSwapComponents.java diff --git a/src/com/itmill/toolkit/tests/OrderedLayoutSwapComponents.java b/src/com/itmill/toolkit/tests/OrderedLayoutSwapComponents.java new file mode 100644 index 0000000000..3baf8c4813 --- /dev/null +++ b/src/com/itmill/toolkit/tests/OrderedLayoutSwapComponents.java @@ -0,0 +1,109 @@ +/* +@ITMillApache2LicenseForJavaFiles@ + */ + +package com.itmill.toolkit.tests; + +import java.util.ArrayList; + +import com.itmill.toolkit.ui.Button; +import com.itmill.toolkit.ui.CustomComponent; +import com.itmill.toolkit.ui.Label; +import com.itmill.toolkit.ui.OrderedLayout; +import com.itmill.toolkit.ui.Button.ClickEvent; + +/** + * + * This Component contains some simple test to see that component updates its + * contents propertly. + * + * @author IT Mill Ltd. + */ +public class OrderedLayoutSwapComponents extends CustomComponent { + + private final OrderedLayout main; + + ArrayList order = new ArrayList(); + + public OrderedLayoutSwapComponents() { + + main = new OrderedLayout(); + // main.setSizeFull(); + setCompositionRoot(main); + createNewView(); + } + + public void createNewView() { + main.removeAllComponents(); + + for (int i = 0; i < 10; i++) { + MyComponent c = new MyComponent("Component " + i); + main.addComponent(c); + order.add(c); + } + setCompositionRoot(main); + + } + + class MyComponent extends CustomComponent { + + private static final int FIRST = 0; + private static final int LAST = 1; + private Button up; + private Button down; + + MyComponent(String name) { + OrderedLayout ol = new OrderedLayout( + OrderedLayout.ORIENTATION_HORIZONTAL); + ol.setDebugId(name.replaceAll(" ", "")); + ol.addComponent(new Label(name)); + up = new Button("up"); + up.addListener(new Button.ClickListener() { + public void buttonClick(ClickEvent event) { + int newIndex = order.indexOf(MyComponent.this) - 1; + MyComponent old = (MyComponent) order.get(newIndex); + main.replaceComponent(old, MyComponent.this); + order.remove(MyComponent.this); + order.add(newIndex, MyComponent.this); + if (newIndex == 0) { + MyComponent.this.setMode(FIRST); + } else { + MyComponent.this.setMode(69); + } + } + }); + ol.addComponent(up); + + down = new Button("down"); + down.addListener(new Button.ClickListener() { + public void buttonClick(ClickEvent event) { + int newIndex = order.indexOf(MyComponent.this) + 1; + MyComponent old = (MyComponent) order.get(newIndex); + main.replaceComponent(old, MyComponent.this); + order.remove(MyComponent.this); + order.add(newIndex, MyComponent.this); + if (newIndex == order.size() - 1) { + MyComponent.this.setMode(LAST); + } else { + MyComponent.this.setMode(69); + } + } + }); + ol.addComponent(down); + + setCompositionRoot(ol); + + } + + public void setMode(int mode) { + up.setEnabled(true); + down.setEnabled(true); + if (mode == FIRST) { + up.setEnabled(false); + } else if (mode == LAST) { + down.setEnabled(false); + } + } + } + +} -- 2.39.5