package org.vaadin.touchkit.itest.oldtests; import java.util.Iterator; import org.vaadin.touchkit.AbstractTouchKitIntegrationTest; import org.vaadin.touchkit.ui.HorizontalButtonGroup; import org.vaadin.touchkit.ui.NavigationView; import org.vaadin.touchkit.ui.VerticalComponentGroup; import com.vaadin.server.ClassResource; import com.vaadin.server.Resource; import com.vaadin.ui.Button; import com.vaadin.ui.Button.ClickEvent; import com.vaadin.ui.Button.ClickListener; import com.vaadin.ui.Component; import com.vaadin.ui.CssLayout; import com.vaadin.v7.ui.Label; import com.vaadin.v7.ui.TextField; public class MoreButtonsInComponentGroups extends AbstractTouchKitIntegrationTest { private static final String GREEN = "green"; public MoreButtonsInComponentGroups() { NavigationView navigationView = new NavigationView(); navigationView.setCaption("Buttons buttons buttons"); CssLayout l = new CssLayout(); Button button = new Button("Button not in a component group"); button.setWidth("100%"); l.addComponent(button); VerticalComponentGroup verticalComponentGroup = new VerticalComponentGroup( "Vertical component group"); verticalComponentGroup.setWidth("100%"); button = new Button("Button"); button.setWidth("100%"); verticalComponentGroup.addComponent(button); verticalComponentGroup.addComponent(new TextField("TextField")); button = new Button("Button too"); button.setWidth("100%"); verticalComponentGroup.addComponent(button); verticalComponentGroup.addComponent(new Label( "FIXME: Label, between buttons bugs")); button = new Button("Button too"); button.setWidth("100%"); verticalComponentGroup.addComponent(button); l.addComponent(verticalComponentGroup); verticalComponentGroup = new VerticalComponentGroup(); verticalComponentGroup.setWidth("100%"); verticalComponentGroup.setCaption("Horizontal in vertical"); HorizontalButtonGroup horizontalGroup = getHorizontalGroup(); horizontalGroup.setCaption("Caption"); verticalComponentGroup.addComponent(horizontalGroup); horizontalGroup = getHorizontalGroup(); Button c = new Button("Third"); c.setStyleName(GREEN); horizontalGroup.addComponent(c); horizontalGroup.setWidth("300px"); Iterator<Component> componentIterator = horizontalGroup .getComponentIterator(); while (componentIterator.hasNext()) { Component next = componentIterator.next(); next.setWidth("" + 100.0 / (horizontalGroup.getComponentCount()) + "%"); } verticalComponentGroup.addComponent(horizontalGroup); horizontalGroup = getHorizontalGroup(); Iterator<Component> it = horizontalGroup.getComponentIterator(); it.next().setCaption("Only one here"); horizontalGroup.removeComponent(it.next()); verticalComponentGroup.addComponent(horizontalGroup); l.addComponent(verticalComponentGroup); l.addComponent(getHorizontalGroup()); navigationView.setContent(l); Resource mailImage = new ClassResource(getClass(), "/mail.png"); HorizontalButtonGroup horizontalComponentGroup = new HorizontalButtonGroup(); c = new Button(); c.setIcon(mailImage); horizontalComponentGroup.addComponent(c); c = new Button("Up"); c.setIcon(mailImage); horizontalComponentGroup.addComponent(c); c = new Button("T"); c.addClickListener(new ClickListener() { @Override public void buttonClick(ClickEvent event) { Button b = event.getButton(); if(GREEN.equals(b.getStyleName())) { b.setStyleName(null); } else { b.setStyleName(GREEN); } } }); c.addStyleName(GREEN); horizontalComponentGroup.addComponent(c); navigationView.setRightComponent(horizontalComponentGroup); c = new Button(); c.setIcon(mailImage); c.setStyleName(GREEN); navigationView.setLeftComponent(c); addComponent(navigationView); TestUtils.makeSmallTabletSize(navigationView); } private HorizontalButtonGroup getHorizontalGroup() { HorizontalButtonGroup horizontalComponentGroup = new HorizontalButtonGroup(); horizontalComponentGroup.addComponent(new Button("First")); horizontalComponentGroup.addComponent(new Button("Another")); return horizontalComponentGroup; } }