package org.vaadin.viritin.v7; import com.vaadin.annotations.Theme; import com.vaadin.ui.Button; import com.vaadin.ui.Component; import com.vaadin.ui.Notification; import com.vaadin.v7.ui.Table; import com.vaadin.v7.ui.TextField; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; import org.vaadin.addonhelpers.AbstractTest; import org.vaadin.viritin.v7.MBeanFieldGroup; import org.vaadin.viritin.v7.fields.MultiSelectTable; import org.vaadin.viritin.layouts.MVerticalLayout; import org.vaadin.viritin.util.BrowserCookie; /** * * @author Matti Tahvonen */ @Theme("valo") public class MultiSelectTableWithStringCollection extends AbstractTest { public static class Beani { private List<String> strings = new ArrayList<>(); public List<String> getStrings() { return strings; } public void setStrings(List<String> strings) { this.strings = strings; } @Override public String toString() { return "Beani{" + "strings=" + strings + '}'; } } String[] options = new String[] {"Foo", "Bar", "Car"}; MultiSelectTable strings = new MultiSelectTable(); @Override public Component getTestComponent() { strings.setOptions(Arrays.asList(options)); strings.withColumnHeaderMode(Table.ColumnHeaderMode.HIDDEN); strings.withRowHeaderMode(Table.RowHeaderMode.ID); strings.withProperties(); final Beani beani = new Beani(); MBeanFieldGroup.bindFieldsUnbuffered(beani, this); Button showValue = new Button("show value", new Button.ClickListener() { @Override public void buttonClick(Button.ClickEvent event) { Notification.show(beani.toString()); } }); return new MVerticalLayout(strings, showValue); } }