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 package info.magnolia.ui.vaadin.gwt.client.icon.widget;
35
36 import com.google.gwt.dom.client.Style.Unit;
37 import com.google.gwt.user.client.DOM;
38 import com.google.gwt.user.client.Element;
39 import com.google.gwt.user.client.ui.Widget;
40
41
42
43
44 public class BadgeIconWidget extends Widget {
45
46 private static final String CLASSNAME = "badge-icon";
47
48 private final Element root = DOM.createSpan();
49
50 private final Element text = DOM.createSpan();
51
52 public BadgeIconWidget() {
53 setElement(root);
54 setStylePrimaryName(CLASSNAME);
55 text.addClassName("text");
56 root.appendChild(text);
57 }
58
59 public void setValue(int value) {
60 String s = String.valueOf(value);
61 setVisible(value != 0);
62 if (value > 99) {
63 s = "99+";
64 }
65 text.setInnerHTML(s);
66 }
67
68 public void setSize(int value) {
69 root.getStyle().setFontSize(value, Unit.PX);
70 }
71
72 public void setFillColor(String value) {
73 root.getStyle().setBackgroundColor(value);
74 }
75
76 public void setStrokeColor(String value) {
77 root.getStyle().setColor(value);
78 root.getStyle().setBorderColor(value);
79 }
80
81 public void setOutline(boolean outline) {
82 if (outline) {
83 root.getStyle().setBorderWidth(0.13, Unit.EM);
84 } else {
85 root.getStyle().clearBorderWidth();
86 }
87 }
88
89 }