You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

OptionGroups.java 2.4KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. package com.vaadin.tests.components.optiongroup;
  2. import java.util.Collection;
  3. import java.util.LinkedHashMap;
  4. import com.vaadin.server.ThemeResource;
  5. import com.vaadin.tests.components.select.AbstractSelectTestCase;
  6. import com.vaadin.v7.ui.OptionGroup;
  7. public class OptionGroups extends AbstractSelectTestCase<OptionGroup> {
  8. @Override
  9. protected Class<OptionGroup> getTestClass() {
  10. return OptionGroup.class;
  11. }
  12. @Override
  13. protected void createActions() {
  14. super.createActions();
  15. createDisabledItemsMultiToggle("Disabled items");
  16. createBooleanAction("HTML content allowed", CATEGORY_STATE, false,
  17. new Command<OptionGroup, Boolean>() {
  18. @Override
  19. public void execute(OptionGroup og, Boolean value,
  20. Object data) {
  21. og.setHtmlContentAllowed(value.booleanValue());
  22. }
  23. });
  24. createIconToggle("Item icons");
  25. }
  26. private void createIconToggle(String string) {
  27. LinkedHashMap<String, ThemeResource> options = new LinkedHashMap<>();
  28. options.put("-", null);
  29. options.put("16x16", ICON_16_USER_PNG_CACHEABLE);
  30. options.put("32x32", ICON_32_ATTENTION_PNG_CACHEABLE);
  31. options.put("64x64", ICON_64_EMAIL_REPLY_PNG_CACHEABLE);
  32. createSelectAction(string, CATEGORY_DECORATIONS, options,
  33. options.keySet().iterator().next(),
  34. new Command<OptionGroup, ThemeResource>() {
  35. @Override
  36. public void execute(OptionGroup c, ThemeResource icon,
  37. Object data) {
  38. Collection<?> itemIds = c.getItemIds();
  39. for (Object itemId : itemIds) {
  40. c.setItemIcon(itemId, icon);
  41. }
  42. }
  43. });
  44. }
  45. private void createDisabledItemsMultiToggle(String category) {
  46. for (Object id : getComponent().getItemIds()) {
  47. createBooleanAction(id + " - enabled", category, true,
  48. enabledItemCommand, id);
  49. }
  50. }
  51. private Command<OptionGroup, Boolean> enabledItemCommand = new Command<OptionGroup, Boolean>() {
  52. @Override
  53. public void execute(OptionGroup c, Boolean value, Object data) {
  54. c.setItemEnabled(data, value);
  55. }
  56. };
  57. }