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.layout.lazylayout.widget;
35
36 import com.google.gwt.dom.client.DivElement;
37 import com.google.gwt.dom.client.Element;
38 import com.google.gwt.dom.client.ImageElement;
39 import com.google.gwt.dom.client.SpanElement;
40 import com.google.gwt.dom.client.Style;
41 import com.google.gwt.user.client.DOM;
42
43
44
45
46
47
48 @Deprecated
49 public class EscalatorThumbnailsPanel extends EscalatorPanel {
50
51 private static Flyweight flyweight = new Flyweight() {
52
53 static final String ICON_STYLE_NAME = "icon";
54 static final String THUMBNAIL_STYLE_NAME = "thumbnail";
55 static final String THUMBNAIL_IMAGE_STYLE_NAME = "thumbnail-image";
56 public static final String CLEARED_STYLE_NAME = "cleared";
57
58 @Override
59 Element createThumbnail() {
60 final DivElement thumbnail = DivElement.as(DOM.createDiv());
61 thumbnail.addClassName(THUMBNAIL_STYLE_NAME);
62
63 final SpanElement iconFontEl = SpanElement.as(DOM.createSpan());
64 iconFontEl.addClassName(ICON_STYLE_NAME);
65 Style style = iconFontEl.getStyle();
66 style.setDisplay(Style.Display.NONE);
67 style.setFontSize(24, Style.Unit.PX);
68 style.setLineHeight(1, Style.Unit.PX);
69
70 final ImageElement image = ImageElement.as(DOM.createImg());
71 image.addClassName(THUMBNAIL_IMAGE_STYLE_NAME);
72 image.getStyle().setDisplay(Style.Display.NONE);
73
74 thumbnail.appendChild(image);
75 thumbnail.appendChild(iconFontEl);
76
77 return thumbnail;
78 }
79
80 @Override
81 void setImageSrc(String src, Element thumbnail) {
82 final Element img = getImage(thumbnail);
83 final Element icon = getIcon(thumbnail);
84
85 img.getStyle().setDisplay(Style.Display.INLINE_BLOCK);
86 icon.getStyle().setDisplay(Style.Display.NONE);
87
88 img.setAttribute("src", src);
89 thumbnail.removeClassName(CLEARED_STYLE_NAME);
90 }
91
92 @Override
93 void setIconFontStyle(String style, Element thumbnail) {
94 final Element img = getImage(thumbnail);
95 final Element icon = getIcon(thumbnail);
96
97 img.getStyle().setDisplay(Style.Display.NONE);
98 icon.getStyle().setDisplay(Style.Display.INLINE_BLOCK);
99
100 icon.setClassName(ICON_STYLE_NAME);
101 icon.addClassName(style);
102 thumbnail.removeClassName(CLEARED_STYLE_NAME);
103 }
104
105 Element getIcon(Element thumbnail) {
106 return Element.as(thumbnail.getChild(1));
107 }
108
109 @Override
110 Element getImage(Element thumbnail) {
111 return Element.as(thumbnail.getChild(0));
112 }
113
114 @Override
115 public void clear(Element thumbnail) {
116 Element icon = getIcon(thumbnail);
117 icon.setClassName(ICON_STYLE_NAME);
118 icon.getStyle().setDisplay(Style.Display.NONE);
119
120 Element image = getImage(thumbnail);
121 image.removeAttribute("src");
122 image.getStyle().setDisplay(Style.Display.NONE);
123
124 thumbnail.addClassName(CLEARED_STYLE_NAME);
125 }
126
127 @Override
128 void setCaption(String newCaption, Element thumbnail) {
129
130 }
131 };
132
133 public EscalatorThumbnailsPanel(Listener listener) {
134 super(listener, flyweight);
135 }
136 }