@Override
 /**
  * It is not possible to adjust height of horizontal sliderbar with help of this method. Height of
  * horizontal sliderbar is automatically calculated on base of height of components which are
  * included in widget
  */
 public void setHeight(final String height) {
   super.setHeight(getBarHeight() + "px");
 }
 @Override
 public void setWidth(final String width) {
   super.setWidth(width);
   if (isAttached()) {
     presenter.setBarPixelSize(this.getOffsetWidth());
     presenter.processParams();
     reDrawMarks();
     setValue(getValue());
   }
 }
 @Override
 public void setScaleWidget(final Widget scaleWidget, final int scaleHeight) {
   super.setScaleWidget(scaleWidget, scaleHeight);
 }
Example #4
0
  /**
   * Fired when the user clicks on a widget.
   *
   * <p>Subclasses that override this method must call <tt>super.onClick(sender)</tt> to ensure that
   * the Widget recieves its events.
   *
   * @param sender the widget sending the event.
   */
  public void onClick(Widget sender) {
    if (sender == rbHue) {
      if (colorMode != SliderMap.Hue) {
        colorMode = SliderMap.Hue;
        slidermap.setColorSelectMode(SliderMap.Hue);
        sliderbar.setColorSelectMode(SliderBar.Hue);
        slidermap.setOverlayOpacity(100);
        sliderbar.setLayerOpacity(100, SliderBar.BarD);
      }

      try {
        Color color = new Color();
        color.setHSV(hue, 100, 100);
        slidermap.setOverlayColor("#" + color.getHex());
      } catch (Exception e) {
      }

      sliderbar.setSliderPosition(256 - (int) ((new Integer(hue).floatValue() / 360) * 256));
      slidermap.setSliderPosition(
          (int) ((new Integer(saturation).floatValue() / 100) * 256),
          256 - (int) ((new Integer(brightness).floatValue() / 100) * 256));
    } else if (sender == rbSaturation) {
      if (colorMode != SliderMap.Saturation) {
        colorMode = SliderMap.Saturation;
        slidermap.setColorSelectMode(SliderMap.Saturation);
        sliderbar.setColorSelectMode(SliderBar.Saturation);
        slidermap.setOverlayColor("transparent");
        sliderbar.setLayerColor("#ffffff", SliderBar.BarC);
        sliderbar.setLayerOpacity(100, SliderBar.BarD);
      }

      slidermap.setOverlayOpacity(100 - saturation);
      sliderbar.setLayerColor(tbHexColor.getText(), SliderBar.BarD);

      sliderbar.setSliderPosition(256 - (int) ((new Integer(saturation).floatValue() / 100) * 256));
      slidermap.setSliderPosition(
          (int) ((new Integer(hue).floatValue() / 360) * 256),
          256 - (int) ((new Integer(brightness).floatValue() / 100) * 256));
    } else if (sender == rbBrightness) {
      if (colorMode != SliderMap.Brightness) {
        colorMode = SliderMap.Brightness;
        slidermap.setColorSelectMode(SliderMap.Brightness);
        sliderbar.setColorSelectMode(SliderBar.Brightness);
        slidermap.setUnderlayColor("#000000");
        slidermap.setOverlayColor("transparent");
        sliderbar.setLayerOpacity(100, SliderBar.BarD);
      }

      try {
        Color color = new Color();
        color.setHSV(hue, saturation, 100);
        sliderbar.setLayerColor("#" + color.getHex(), SliderBar.BarD);
      } catch (Exception e) {
      }

      slidermap.setOverlayOpacity(brightness);

      sliderbar.setSliderPosition(256 - (int) ((new Integer(brightness).floatValue() / 100) * 256));
      slidermap.setSliderPosition(
          (int) ((new Integer(hue).floatValue() / 360) * 256),
          256 - (int) ((new Integer(saturation).floatValue() / 100) * 256));
    } else if (sender == rbRed) {
      if (colorMode != SliderMap.Red) {
        colorMode = SliderMap.Red;
        slidermap.setColorSelectMode(SliderMap.Red);
        sliderbar.setColorSelectMode(SliderBar.Red);
      }
      slidermap.setOverlayOpacity(percentOf(red, 100));

      sliderbar.setSliderPosition(256 - red);
      slidermap.setSliderPosition(blue, 256 - green);
    } else if (sender == rbGreen) {
      if (colorMode != SliderMap.Green) {
        colorMode = SliderMap.Green;
        slidermap.setColorSelectMode(SliderMap.Green);
        sliderbar.setColorSelectMode(SliderBar.Green);
      }

      slidermap.setOverlayOpacity(percentOf(green, 100));

      sliderbar.setSliderPosition(256 - green);
      slidermap.setSliderPosition(blue, 256 - red);
    } else if (sender == rbBlue) {
      if (colorMode != SliderMap.Blue) {
        colorMode = SliderMap.Blue;
        slidermap.setColorSelectMode(SliderMap.Blue);
        sliderbar.setColorSelectMode(SliderBar.Blue);
      }

      slidermap.setOverlayOpacity(percentOf(blue, 100));

      sliderbar.setSliderPosition(256 - blue);
      slidermap.setSliderPosition(red, 256 - green);
    }

    if (colorMode == SliderMap.Red || colorMode == SliderMap.Green || colorMode == SliderMap.Blue) {
      int x = 0;
      int y = 0;

      if (colorMode == SliderMap.Red) {
        x = blue;
        y = green;
      }

      if (colorMode == SliderMap.Green) {
        x = blue;
        y = red;
      }

      if (colorMode == SliderMap.Blue) {
        x = red;
        y = green;
      }

      int horzPer = (int) ((new Float(x).floatValue() / 256) * 100);
      int vertPer = (int) ((new Float(y).floatValue() / 256) * 100);
      int horzPerRev = (int) (((256 - new Float(x).floatValue()) / 256) * 100);
      int vertPerRev = (int) (((256 - new Float(y).floatValue()) / 256) * 100);

      if (vertPerRev > horzPerRev) sliderbar.setLayerOpacity(horzPerRev, SliderBar.BarD);
      else sliderbar.setLayerOpacity(vertPerRev, SliderBar.BarD);
      if (vertPerRev > horzPer) sliderbar.setLayerOpacity(horzPer, SliderBar.BarC);
      else sliderbar.setLayerOpacity(vertPerRev, SliderBar.BarC);
      if (vertPer > horzPer) sliderbar.setLayerOpacity(horzPer, SliderBar.BarB);
      else sliderbar.setLayerOpacity(vertPer, SliderBar.BarB);
      if (vertPer > horzPerRev) sliderbar.setLayerOpacity(horzPerRev, SliderBar.BarA);
      else sliderbar.setLayerOpacity(vertPer, SliderBar.BarA);
    }
  }