You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

SliderConnector.java 2.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. /*
  2. @VaadinApache2LicenseForJavaFiles@
  3. */
  4. package com.vaadin.terminal.gwt.client.ui;
  5. import com.google.gwt.core.client.GWT;
  6. import com.google.gwt.core.client.Scheduler;
  7. import com.google.gwt.user.client.Command;
  8. import com.google.gwt.user.client.ui.Widget;
  9. import com.vaadin.terminal.gwt.client.ApplicationConnection;
  10. import com.vaadin.terminal.gwt.client.Paintable;
  11. import com.vaadin.terminal.gwt.client.UIDL;
  12. import com.vaadin.ui.Slider;
  13. @Component(Slider.class)
  14. public class SliderConnector extends AbstractFieldConnector implements
  15. Paintable {
  16. public void updateFromUIDL(UIDL uidl, ApplicationConnection client) {
  17. getWidget().client = client;
  18. getWidget().id = uidl.getId();
  19. if (!isRealUpdate(uidl)) {
  20. return;
  21. }
  22. getWidget().immediate = getState().isImmediate();
  23. getWidget().disabled = !isEnabled();
  24. getWidget().readonly = isReadOnly();
  25. getWidget().vertical = uidl.hasAttribute("vertical");
  26. // TODO should style names be used?
  27. if (getWidget().vertical) {
  28. getWidget().addStyleName(VSlider.CLASSNAME + "-vertical");
  29. } else {
  30. getWidget().removeStyleName(VSlider.CLASSNAME + "-vertical");
  31. }
  32. getWidget().min = uidl.getDoubleAttribute("min");
  33. getWidget().max = uidl.getDoubleAttribute("max");
  34. getWidget().resolution = uidl.getIntAttribute("resolution");
  35. getWidget().value = new Double(uidl.getDoubleVariable("value"));
  36. getWidget().setFeedbackValue(getWidget().value);
  37. getWidget().buildBase();
  38. if (!getWidget().vertical) {
  39. // Draw handle with a delay to allow base to gain maximum width
  40. Scheduler.get().scheduleDeferred(new Command() {
  41. public void execute() {
  42. getWidget().buildHandle();
  43. getWidget().setValue(getWidget().value, false);
  44. }
  45. });
  46. } else {
  47. getWidget().buildHandle();
  48. getWidget().setValue(getWidget().value, false);
  49. }
  50. }
  51. @Override
  52. public VSlider getWidget() {
  53. return (VSlider) super.getWidget();
  54. }
  55. @Override
  56. protected Widget createWidget() {
  57. return GWT.create(VSlider.class);
  58. }
  59. }