選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

SliderConnector.java 2.3KB

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.UIDL;
  11. public class SliderConnector extends AbstractComponentConnector {
  12. @Override
  13. public void updateFromUIDL(UIDL uidl, ApplicationConnection client) {
  14. getWidget().client = client;
  15. getWidget().id = uidl.getId();
  16. // Ensure correct implementation
  17. super.updateFromUIDL(uidl, client);
  18. if (!isRealUpdate(uidl)) {
  19. return;
  20. }
  21. getWidget().immediate = getState().isImmediate();
  22. getWidget().disabled = getState().isDisabled();
  23. getWidget().readonly = getState().isReadOnly();
  24. getWidget().vertical = uidl.hasAttribute("vertical");
  25. // TODO should these style names be used?
  26. String style = getState().getStyle();
  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. }