package org.vaadin.touchkit.itest;
import org.vaadin.touchkit.AbstractTouchKitIntegrationTest;
import org.vaadin.touchkit.ui.VerticalComponentGroup;
import com.vaadin.ui.Button;
import com.vaadin.ui.Button.ClickEvent;
import com.vaadin.ui.CssLayout;
import com.vaadin.ui.Label;
@SuppressWarnings("serial")
public class DynamicVerticalComponentGroupTest extends AbstractTouchKitIntegrationTest {
final VerticalComponentGroup group = new VerticalComponentGroup();
int counter = 0;
public DynamicVerticalComponentGroupTest() {
setDescription("This is dynamic VerticalComponentGroup test");
CssLayout buttonLayout = new CssLayout();
addComponent(buttonLayout);
Button addToTop = new Button("AddToTop");
addToTop.setId("add-top");
buttonLayout.addComponent(addToTop);
addToTop.addClickListener(new Button.ClickListener() {
@Override
public void buttonClick(ClickEvent event) {
group.addComponent(new Label("First generated " + (++counter)),
0);
}
});
Button addToSecond = new Button("AddToSecond");
addToSecond.setId("add-second");
buttonLayout.addComponent(addToSecond);
addToSecond.addClickListener(new Button.ClickListener() {
@Override
public void buttonClick(ClickEvent event) {
group.addComponent(new Label("Second generated " + (++counter)),
1);
}
});
group.setWidth("100%");
for (int i = 0; i < 3; ++i) {
final CssLayout layout = new CssLayout();
layout.setData(new Integer(++counter));
layout.setId("layout-" + counter);
layout.setWidth("100%");
final Button hideCaption = new Button("Show caption");
hideCaption.setId("hide-" + counter);
hideCaption.setWidth("30%");
layout.addComponent(hideCaption);
hideCaption.addClickListener(new Button.ClickListener() {
@Override
public void buttonClick(ClickEvent event) {
if (layout.getCaption() == null || layout.getCaption().isEmpty()) {
layout.setCaption("Caption #" + layout.getData().toString());
hideCaption.setCaption("Hide caption");
} else {
layout.setCaption(null);
hideCaption.setCaption("Show caption");
}
}
});
Button remove = new Button("Remove");
remove.setId("remove-" + counter);
remove.setWidth("30%");
layout.addComponent(remove);
remove.addClickListener(new Button.ClickListener() {
@Override
public void buttonClick(ClickEvent event) {
group.removeComponent(layout);
}
});
Button first = new Button("First");
first.setId("first-" + counter);
first.setWidth("30%");
layout.addComponent(first);
first.addClickListener(new Button.ClickListener() {
@Override
public void buttonClick(ClickEvent event) {
group.addComponent(layout, 0);
}
});
group.addComponent(layout);
}
addComponent(group);
}
}