package com.vaadin.tests.components.uitest.components;
import com.vaadin.tests.components.uitest.TestSampler;
import com.vaadin.ui.Component;
import com.vaadin.ui.GridLayout;
import com.vaadin.v7.ui.AbstractSelect;
import com.vaadin.v7.ui.ComboBox;
import com.vaadin.v7.ui.ListSelect;
import com.vaadin.v7.ui.NativeSelect;
import com.vaadin.v7.ui.OptionGroup;
import com.vaadin.v7.ui.Select;
import com.vaadin.v7.ui.TwinColSelect;
import com.vaadin.v7.ui.themes.ChameleonTheme;
public class SelectsCssTest extends GridLayout {
private TestSampler parent;
private int debugIdCounter = 0;
public SelectsCssTest(TestSampler parent) {
super(8, 1);
this.parent = parent;
setSpacing(true);
setWidth(null);
Select s = new Select("Basic select");
s.setId("select" + debugIdCounter++);
addComponent(s);
s = new Select("Select with items");
s.setId("select" + debugIdCounter++);
createDummyData(s);
addComponent(s);
TwinColSelect tws = new TwinColSelect();
tws.setId("select" + debugIdCounter++);
createDummyData(tws);
addComponent(tws);
OptionGroup og = new OptionGroup();
og.setId("select" + debugIdCounter++);
createDummyData(og, 4);
addComponent(og);
og = new OptionGroup();
og.setId("select" + debugIdCounter++);
createDummyData(og, 4);
og.setItemEnabled("Foo2", false);
og.setItemEnabled("Foo3", false);
addComponent(og);
NativeSelect ns = new NativeSelect();
ns.setId("select" + debugIdCounter++);
createDummyData(ns);
addComponent(ns);
createComboBoxWith(null, null, null);
createComboBoxWith("CB Search", ChameleonTheme.COMBOBOX_SEARCH, null);
createComboBoxWith("SelectButton",
ChameleonTheme.COMBOBOX_SELECT_BUTTON, null);
ListSelect ls = new ListSelect();
ls.setId("select" + debugIdCounter++);
createDummyData(ls);
addComponent(ls);
s = new Select("Basic select");
s.setId("select" + debugIdCounter++);
s.setWidth("100px");
addComponent(s);
s = new Select("Select with items");
s.setWidth("100px");
s.setId("select" + debugIdCounter++);
createDummyData(s);
addComponent(s);
createComboBoxWith(null, null, "100px");
createComboBoxWith("CB Search", ChameleonTheme.COMBOBOX_SEARCH,
"100px");
createComboBoxWith("SelectButton",
ChameleonTheme.COMBOBOX_SELECT_BUTTON, "100px");
}
private void createComboBoxWith(String caption, String primaryStyleName,
String width) {
ComboBox cb = new ComboBox();
cb.setId("select" + debugIdCounter++);
if (caption != null) {
cb.setCaption(caption);
}
if (primaryStyleName != null) {
cb.addStyleName(primaryStyleName);
}
if (width != null) {
cb.setWidth(width);
}
createDummyData(cb);
addComponent(cb);
}
@Override
public void addComponent(Component c) {
parent.registerComponent(c);
super.addComponent(c);
}
private void createDummyData(AbstractSelect select) {
createDummyData(select, 20);
}
private void createDummyData(AbstractSelect select, int items) {
for (int i = 0; i < items; i++) {
select.addItem("Foo" + i);
}
}
}