package org.vaadin.touchkit.itest;
import org.vaadin.touchkit.AbstractTouchKitIntegrationTest;
import org.vaadin.touchkit.ui.NavigationButton;
import org.vaadin.touchkit.ui.NavigationManager;
import org.vaadin.touchkit.ui.NavigationView;
import org.vaadin.touchkit.ui.VerticalComponentGroup;
import org.vaadin.touchkit.ui.NavigationButton.NavigationButtonClickEvent;
import org.vaadin.touchkit.ui.NavigationButton.NavigationButtonClickListener;
import com.vaadin.ui.Button;
import com.vaadin.ui.Button.ClickEvent;
import com.vaadin.v7.ui.Label;
public class ProgrammaticNavigation extends AbstractTouchKitIntegrationTest {
public ProgrammaticNavigation() {
setDescription("Going back&forth repeatedly should work and be animated.");
final NavigationManager manager = new NavigationManager();
final NavigationView first = new NavigationView();
final NavigationView second = new NavigationView("Second view");
second.setContent(new NavigationButton(first));
second.setContent(new Label("Second view"));
second.setLeftComponent(new Button("Back", new Button.ClickListener() {
public void buttonClick(Button.ClickEvent event) {
manager.navigateBack();
}
}));
VerticalComponentGroup verticalComponentGroup = new VerticalComponentGroup();
first.setContent(verticalComponentGroup);
NavigationButton nb = new NavigationButton(
"NavigationButton, target, no listener", second);
verticalComponentGroup.addComponent(nb);
nb = new NavigationButton("NavigationButton, navigateTo()");
nb.addClickListener(new NavigationButtonClickListener() {
@Override
public void buttonClick(NavigationButtonClickEvent event) {
manager.navigateTo(second);
}
});
verticalComponentGroup.addComponent(nb);
Button b = new Button("Button, navigateTo()",
new Button.ClickListener() {
@Override
public void buttonClick(ClickEvent event) {
manager.navigateTo(second);
}
});
verticalComponentGroup.addComponent(b);
manager.navigateTo(first);
addComponent(manager);
}
}