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 info.magnolia.ui.vaadin.gwt.client.icon.widget.IconWidget;
37
38 import com.google.gwt.dom.client.Style;
39 import com.google.gwt.event.logical.shared.HasValueChangeHandlers;
40 import com.google.gwt.event.logical.shared.ValueChangeHandler;
41 import com.google.gwt.event.shared.HandlerRegistration;
42 import com.google.gwt.user.client.ui.Composite;
43 import com.google.gwt.user.client.ui.FlowPanel;
44 import com.google.gwt.user.client.ui.HasValue;
45 import com.vaadin.v7.client.ui.VSlider;
46
47
48
49
50 public class Slider extends Composite implements HasValueChangeHandlers<Double>, HasValue<Double> {
51
52 private VSlider slider = new VSlider();
53 private FlowPanel panel = new FlowPanel();
54
55 public Slider() {
56 super();
57
58 IconWidget iconSizeSmall = new IconWidget();
59 iconSizeSmall.setIconName("search");
60 iconSizeSmall.setSize(20);
61 iconSizeSmall.setColor("#aaa");
62 iconSizeSmall.getElement().getStyle().setVerticalAlign(Style.VerticalAlign.TOP);
63
64 panel.addStyleName("slider-panel");
65 panel.getElement().getStyle().setPadding(10, Style.Unit.PX);
66 panel.add(iconSizeSmall);
67
68 slider.setMinValue(0);
69 slider.setMaxValue(100);
70 panel.add(slider);
71
72 initWidget(panel);
73 }
74
75 @Override
76 public HandlerRegistration addValueChangeHandler(ValueChangeHandler<Double> integerValueChangeHandler) {
77 return slider.addValueChangeHandler(integerValueChangeHandler);
78 }
79
80 @Override
81 public Double getValue() {
82 return slider.getValue();
83 }
84
85 @Override
86 public void setValue(Double value) {
87 slider.setValue(value);
88 }
89
90 @Override
91 public void setValue(Double value, boolean fireEvents) {
92 slider.setValue(value, fireEvents);
93 }
94 }