blob: 0eb3d7c97fc8ac629fb90308c12ff63c2d85b2b1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
package com.vaadin.tests.components.combobox;
import java.net.URISyntaxException;
import java.nio.file.Paths;
import java.util.Locale;
import java.util.stream.IntStream;
import com.vaadin.server.ClassResource;
import com.vaadin.server.FileResource;
import com.vaadin.server.StreamResource;
import com.vaadin.server.ThemeResource;
import com.vaadin.tests.components.TestBase;
import com.vaadin.ui.ComboBox;
import com.vaadin.ui.IconGenerator;
public class ComboBoxItemIcon extends TestBase {
private IconGenerator<Integer> iconGenerator = i -> {
switch (i % 3) {
case 0:
return new StreamResource(() -> getClass().getResourceAsStream(
"/com/vaadin/tests/integration/se.gif"), "se.gif");
case 1:
try {
return new FileResource(Paths.get(getClass()
.getResource("/com/vaadin/tests/integration/fi.gif")
.toURI()).toFile());
} catch (URISyntaxException e) {
return null;
}
case 2:
return new ClassResource("/com/vaadin/tests/m.gif");
default:
return null;
}
};
@Override
protected Integer getTicketNumber() {
return 2455;
}
@Override
protected String getDescription() {
return "All items in the ComboBoxes should have icons.";
}
@Override
protected void setup() {
{
ComboBox<String> cb = new ComboBox<>();
cb.setItems("FI", "SE");
cb.setItemIconGenerator(
item -> new ThemeResource("../tests-tickets/icons/"
+ item.toLowerCase(Locale.ROOT) + ".gif"));
addComponent(cb);
}
{
ComboBox<String> cb = new ComboBox<>();
cb.setItems("Finland", "Australia", "Hungary");
cb.setItemIconGenerator(
item -> new ThemeResource("../tests-tickets/icons/"
+ item.substring(0, 2).toLowerCase(Locale.ROOT)
+ ".gif"));
cb.setValue("Hungary");
addComponent(cb);
}
{
ComboBox<Integer> cb = new ComboBox<>();
cb.setItems(IntStream.range(0, 3).boxed());
cb.setItemIconGenerator(iconGenerator);
cb.setValue(1);
addComponent(cb);
}
}
}
|