diff options
author | Artur Signell <artur@vaadin.com> | 2012-08-30 17:24:36 +0300 |
---|---|---|
committer | Artur Signell <artur@vaadin.com> | 2012-08-30 17:24:36 +0300 |
commit | 7b25b3886ea95bc6495506fbe9472e45fcbde684 (patch) | |
tree | 0b93cb65dab437feb46720659a63b8f1ef48f7f4 /uitest/src/com/vaadin/tests/OrderedLayoutSwapComponents.java | |
parent | 8941056349e302e687e40e94c13709e75f256d73 (diff) | |
download | vaadin-framework-7b25b3886ea95bc6495506fbe9472e45fcbde684.tar.gz vaadin-framework-7b25b3886ea95bc6495506fbe9472e45fcbde684.zip |
Renamed tests -> uitest and tests/testbench -> uitest/src (#9299)
Diffstat (limited to 'uitest/src/com/vaadin/tests/OrderedLayoutSwapComponents.java')
-rw-r--r-- | uitest/src/com/vaadin/tests/OrderedLayoutSwapComponents.java | 124 |
1 files changed, 124 insertions, 0 deletions
diff --git a/uitest/src/com/vaadin/tests/OrderedLayoutSwapComponents.java b/uitest/src/com/vaadin/tests/OrderedLayoutSwapComponents.java new file mode 100644 index 0000000000..f47078ba8c --- /dev/null +++ b/uitest/src/com/vaadin/tests/OrderedLayoutSwapComponents.java @@ -0,0 +1,124 @@ +/* + * Copyright 2011 Vaadin Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package com.vaadin.tests; + +import java.util.ArrayList; + +import com.vaadin.ui.AbstractOrderedLayout; +import com.vaadin.ui.Button; +import com.vaadin.ui.Button.ClickEvent; +import com.vaadin.ui.CustomComponent; +import com.vaadin.ui.HorizontalLayout; +import com.vaadin.ui.Label; +import com.vaadin.ui.VerticalLayout; + +/** + * + * This Component contains some simple test to see that component updates its + * contents propertly. + * + * @author Vaadin Ltd. + */ +public class OrderedLayoutSwapComponents extends CustomComponent { + + private final AbstractOrderedLayout main; + + ArrayList<MyComponent> order = new ArrayList<MyComponent>(); + + public OrderedLayoutSwapComponents() { + + main = new VerticalLayout(); + // 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) { + HorizontalLayout ol = new HorizontalLayout(); + ol.setId(name.replaceAll(" ", "")); + ol.addComponent(new Label(name)); + up = new Button("up"); + up.addListener(new Button.ClickListener() { + @Override + public void buttonClick(ClickEvent event) { + int newIndex = order.indexOf(MyComponent.this) - 1; + MyComponent old = 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() { + @Override + public void buttonClick(ClickEvent event) { + int newIndex = order.indexOf(MyComponent.this) + 1; + MyComponent old = 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); + } + } + } + +} |