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.

SelectsCssTest.java 3.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. package com.vaadin.tests.components.uitest.components;
  2. import java.util.Iterator;
  3. import com.vaadin.tests.components.uitest.TestSampler;
  4. import com.vaadin.ui.Component;
  5. import com.vaadin.ui.GridLayout;
  6. import com.vaadin.v7.ui.AbstractSelect;
  7. import com.vaadin.v7.ui.ComboBox;
  8. import com.vaadin.v7.ui.ListSelect;
  9. import com.vaadin.v7.ui.NativeSelect;
  10. import com.vaadin.v7.ui.OptionGroup;
  11. import com.vaadin.v7.ui.Select;
  12. import com.vaadin.v7.ui.TwinColSelect;
  13. import com.vaadin.v7.ui.themes.ChameleonTheme;
  14. @SuppressWarnings("deprecation")
  15. public class SelectsCssTest extends GridLayout {
  16. private TestSampler parent;
  17. private int debugIdCounter = 0;
  18. public SelectsCssTest(TestSampler parent) {
  19. super(8, 1);
  20. this.parent = parent;
  21. setSpacing(true);
  22. setWidth(null);
  23. Select s = new Select("Basic select");
  24. s.setId("select" + debugIdCounter++);
  25. addComponent(s);
  26. s = new Select("Select with items");
  27. s.setId("select" + debugIdCounter++);
  28. createDummyData(s);
  29. addComponent(s);
  30. TwinColSelect tws = new TwinColSelect();
  31. tws.setId("select" + debugIdCounter++);
  32. createDummyData(tws);
  33. addComponent(tws);
  34. OptionGroup og = new OptionGroup();
  35. og.setId("select" + debugIdCounter++);
  36. createDummyData(og, 4);
  37. addComponent(og);
  38. og = new OptionGroup();
  39. og.setId("select" + debugIdCounter++);
  40. createDummyData(og, 4);
  41. og.setItemEnabled("Foo2", false);
  42. og.setItemEnabled("Foo3", false);
  43. addComponent(og);
  44. NativeSelect ns = new NativeSelect();
  45. ns.setId("select" + debugIdCounter++);
  46. createDummyData(ns);
  47. addComponent(ns);
  48. createComboBoxWith(null, null, null);
  49. createComboBoxWith("CB Search", ChameleonTheme.COMBOBOX_SEARCH, null);
  50. createComboBoxWith("SelectButton",
  51. ChameleonTheme.COMBOBOX_SELECT_BUTTON, null);
  52. ListSelect ls = new ListSelect();
  53. ls.setId("select" + debugIdCounter++);
  54. createDummyData(ls);
  55. addComponent(ls);
  56. s = new Select("Basic select");
  57. s.setId("select" + debugIdCounter++);
  58. s.setWidth("100px");
  59. addComponent(s);
  60. s = new Select("Select with items");
  61. s.setWidth("100px");
  62. s.setId("select" + debugIdCounter++);
  63. createDummyData(s);
  64. addComponent(s);
  65. createComboBoxWith(null, null, "100px");
  66. createComboBoxWith("CB Search", ChameleonTheme.COMBOBOX_SEARCH,
  67. "100px");
  68. createComboBoxWith("SelectButton",
  69. ChameleonTheme.COMBOBOX_SELECT_BUTTON, "100px");
  70. parent.addReadOnlyChangeListener(event -> {
  71. Iterator<Component> iterator = iterator();
  72. while (iterator.hasNext()) {
  73. Component c = iterator.next();
  74. if (c instanceof AbstractSelect) {
  75. AbstractSelect as = (AbstractSelect) c;
  76. as.setReadOnly(!as.isReadOnly());
  77. }
  78. }
  79. });
  80. }
  81. private void createComboBoxWith(String caption, String primaryStyleName,
  82. String width) {
  83. ComboBox cb = new ComboBox();
  84. cb.setId("select" + debugIdCounter++);
  85. if (caption != null) {
  86. cb.setCaption(caption);
  87. }
  88. if (primaryStyleName != null) {
  89. cb.addStyleName(primaryStyleName);
  90. }
  91. if (width != null) {
  92. cb.setWidth(width);
  93. }
  94. createDummyData(cb);
  95. addComponent(cb);
  96. }
  97. @Override
  98. public void addComponent(Component c) {
  99. parent.registerComponent(c);
  100. super.addComponent(c);
  101. }
  102. private void createDummyData(AbstractSelect select) {
  103. createDummyData(select, 20);
  104. }
  105. private void createDummyData(AbstractSelect select, int items) {
  106. for (int i = 0; i < items; i++) {
  107. select.addItem("Foo" + i);
  108. }
  109. }
  110. }