package com.vaadin.tests.components.optiongroup; import java.util.Collection; import java.util.LinkedHashMap; import com.vaadin.server.ThemeResource; import com.vaadin.tests.components.select.AbstractSelectTestCase; import com.vaadin.v7.ui.OptionGroup; public class OptionGroups extends AbstractSelectTestCase<OptionGroup> { @Override protected Class<OptionGroup> getTestClass() { return OptionGroup.class; } @Override protected void createActions() { super.createActions(); createDisabledItemsMultiToggle("Disabled items"); createBooleanAction("HTML content allowed", CATEGORY_STATE, false, new Command<OptionGroup, Boolean>() { @Override public void execute(OptionGroup og, Boolean value, Object data) { og.setHtmlContentAllowed(value.booleanValue()); } }); createIconToggle("Item icons"); } private void createIconToggle(String string) { LinkedHashMap<String, ThemeResource> options = new LinkedHashMap<>(); options.put("-", null); options.put("16x16", ICON_16_USER_PNG_CACHEABLE); options.put("32x32", ICON_32_ATTENTION_PNG_CACHEABLE); options.put("64x64", ICON_64_EMAIL_REPLY_PNG_CACHEABLE); createSelectAction(string, CATEGORY_DECORATIONS, options, options.keySet().iterator().next(), new Command<OptionGroup, ThemeResource>() { @Override public void execute(OptionGroup c, ThemeResource icon, Object data) { Collection<?> itemIds = c.getItemIds(); for (Object itemId : itemIds) { c.setItemIcon(itemId, icon); } } }); } private void createDisabledItemsMultiToggle(String category) { for (Object id : getComponent().getItemIds()) { createBooleanAction(id.toString() + " - enabled", category, true, enabledItemCommand, id); } } private Command<OptionGroup, Boolean> enabledItemCommand = new Command<OptionGroup, Boolean>() { @Override public void execute(OptionGroup c, Boolean value, Object data) { c.setItemEnabled(data, value); } }; }