summaryrefslogtreecommitdiffstats
path: root/server
diff options
context:
space:
mode:
authorTeemu Pòˆntelin <teemu@vaadin.com>2013-06-28 15:13:45 +0300
committerVaadin Code Review <review@vaadin.com>2013-06-28 13:04:31 +0000
commit08d365a41885c62597b9f0d29d6ef59b45b36577 (patch)
tree940d6edb22a55cedea5592718c791301fe955fda /server
parenta4f127722af09a0e67f8df7c9aa3916b52d4595a (diff)
downloadvaadin-framework-08d365a41885c62597b9f0d29d6ef59b45b36577.tar.gz
vaadin-framework-08d365a41885c62597b9f0d29d6ef59b45b36577.zip
Fixed slider value initialization on HSV and RGB tabs of ColorPicker. (#7863)
Change-Id: I3776400d849d4ba9f76d6296603152c0a6464aaa
Diffstat (limited to 'server')
-rw-r--r--server/src/com/vaadin/ui/components/colorpicker/ColorPickerPopup.java84
1 files changed, 31 insertions, 53 deletions
diff --git a/server/src/com/vaadin/ui/components/colorpicker/ColorPickerPopup.java b/server/src/com/vaadin/ui/components/colorpicker/ColorPickerPopup.java
index fee52d1a24..b1eef16024 100644
--- a/server/src/com/vaadin/ui/components/colorpicker/ColorPickerPopup.java
+++ b/server/src/com/vaadin/ui/components/colorpicker/ColorPickerPopup.java
@@ -276,11 +276,9 @@ public class ColorPickerPopup extends Window implements ClickListener,
sliders.setStyleName("rgb-sliders");
redSlider = createRGBSlider("Red", "red");
-
- try {
- redSlider.setValue(((Integer) color.getRed()).doubleValue());
- } catch (ValueOutOfBoundsException e) {
- }
+ greenSlider = createRGBSlider("Green", "green");
+ blueSlider = createRGBSlider("Blue", "blue");
+ setRgbSliderValues(color);
redSlider.addValueChangeListener(new ValueChangeListener() {
@Override
@@ -296,13 +294,6 @@ public class ColorPickerPopup extends Window implements ClickListener,
sliders.addComponent(redSlider);
- greenSlider = createRGBSlider("Green", "green");
-
- try {
- greenSlider.setValue(((Integer) color.getGreen()).doubleValue());
- } catch (ValueOutOfBoundsException e) {
- }
-
greenSlider.addValueChangeListener(new ValueChangeListener() {
@Override
public void valueChange(ValueChangeEvent event) {
@@ -316,13 +307,6 @@ public class ColorPickerPopup extends Window implements ClickListener,
});
sliders.addComponent(greenSlider);
- blueSlider = createRGBSlider("Blue", "blue");
-
- try {
- blueSlider.setValue(((Integer) color.getBlue()).doubleValue());
- } catch (ValueOutOfBoundsException e) {
- }
-
blueSlider.addValueChangeListener(new ValueChangeListener() {
@Override
public void valueChange(ValueChangeEvent event) {
@@ -368,15 +352,15 @@ public class ColorPickerPopup extends Window implements ClickListener,
hsvLayout.addComponent(hsvGradient);
selectors.add(hsvGradient);
- float[] hsv = color.getHSV();
VerticalLayout sliders = new VerticalLayout();
sliders.setStyleName("hsv-sliders");
hueSlider = new Slider("Hue", 0, 360);
- try {
- hueSlider.setValue(((Float) hsv[0]).doubleValue());
- } catch (ValueOutOfBoundsException e1) {
- }
+ saturationSlider = new Slider("Saturation", 0, 100);
+ valueSlider = new Slider("Value", 0, 100);
+
+ float[] hsv = color.getHSV();
+ setHsvSliderValues(hsv);
hueSlider.setStyleName("hsv-slider");
hueSlider.addStyleName("hue-slider");
@@ -410,13 +394,6 @@ public class ColorPickerPopup extends Window implements ClickListener,
});
sliders.addComponent(hueSlider);
- saturationSlider = new Slider("Saturation", 0, 100);
-
- try {
- saturationSlider.setValue(((Float) hsv[1]).doubleValue());
- } catch (ValueOutOfBoundsException e1) {
- }
-
saturationSlider.setStyleName("hsv-slider");
saturationSlider.setWidth("220px");
saturationSlider.setImmediate(true);
@@ -438,13 +415,6 @@ public class ColorPickerPopup extends Window implements ClickListener,
});
sliders.addComponent(saturationSlider);
- valueSlider = new Slider("Value", 0, 100);
-
- try {
- valueSlider.setValue(((Float) hsv[2]).doubleValue());
- } catch (ValueOutOfBoundsException e1) {
- }
-
valueSlider.setStyleName("hsv-slider");
valueSlider.setWidth("220px");
valueSlider.setImmediate(true);
@@ -576,23 +546,11 @@ public class ColorPickerPopup extends Window implements ClickListener,
setColor(event.getColor());
updatingColors = true;
- try {
- redSlider
- .setValue(((Integer) selectedColor.getRed()).doubleValue());
- blueSlider.setValue(((Integer) selectedColor.getBlue())
- .doubleValue());
- greenSlider.setValue(((Integer) selectedColor.getGreen())
- .doubleValue());
-
- float[] hsv = selectedColor.getHSV();
- hueSlider.setValue(((Float) (hsv[0] * 360f)).doubleValue());
- saturationSlider.setValue(((Float) (hsv[1] * 100f)).doubleValue());
- valueSlider.setValue(((Float) (hsv[2] * 100f)).doubleValue());
+ setRgbSliderValues(selectedColor);
+ float[] hsv = selectedColor.getHSV();
+ setHsvSliderValues(hsv);
- } catch (ValueOutOfBoundsException e) {
- e.printStackTrace();
- }
updatingColors = false;
for (ColorSelector s : selectors) {
@@ -603,6 +561,26 @@ public class ColorPickerPopup extends Window implements ClickListener,
}
}
+ private void setRgbSliderValues(Color color) {
+ try {
+ redSlider.setValue(((Integer) color.getRed()).doubleValue());
+ blueSlider.setValue(((Integer) color.getBlue()).doubleValue());
+ greenSlider.setValue(((Integer) color.getGreen()).doubleValue());
+ } catch (ValueOutOfBoundsException e) {
+ e.printStackTrace();
+ }
+ }
+
+ private void setHsvSliderValues(float[] hsv) {
+ try {
+ hueSlider.setValue(((Float) (hsv[0] * 360f)).doubleValue());
+ saturationSlider.setValue(((Float) (hsv[1] * 100f)).doubleValue());
+ valueSlider.setValue(((Float) (hsv[2] * 100f)).doubleValue());
+ } catch (ValueOutOfBoundsException e) {
+ e.printStackTrace();
+ }
+ }
+
@Override
public void addColorChangeListener(ColorChangeListener listener) {
addListener(ColorChangeEvent.class, listener, COLOR_CHANGE_METHOD);