Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

VCheckBoxPaintable.java 3.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  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.user.client.DOM;
  7. import com.google.gwt.user.client.Event;
  8. import com.google.gwt.user.client.ui.Widget;
  9. import com.vaadin.terminal.gwt.client.ApplicationConnection;
  10. import com.vaadin.terminal.gwt.client.EventHelper;
  11. import com.vaadin.terminal.gwt.client.UIDL;
  12. import com.vaadin.terminal.gwt.client.VTooltip;
  13. public class VCheckBoxPaintable extends AbstractComponentConnector {
  14. @Override
  15. protected boolean delegateCaptionHandling() {
  16. return false;
  17. }
  18. @Override
  19. public void updateFromUIDL(UIDL uidl, ApplicationConnection client) {
  20. // Save details
  21. getWidget().client = client;
  22. getWidget().id = uidl.getId();
  23. // Ensure correct implementation
  24. super.updateFromUIDL(uidl, client);
  25. if (!isRealUpdate(uidl)) {
  26. return;
  27. }
  28. getWidget().focusHandlerRegistration = EventHelper
  29. .updateFocusHandler(this, client,
  30. getWidget().focusHandlerRegistration);
  31. getWidget().blurHandlerRegistration = EventHelper
  32. .updateBlurHandler(this, client,
  33. getWidget().blurHandlerRegistration);
  34. if (uidl.hasAttribute("error")) {
  35. if (getWidget().errorIndicatorElement == null) {
  36. getWidget().errorIndicatorElement = DOM
  37. .createSpan();
  38. getWidget().errorIndicatorElement
  39. .setInnerHTML(" ");
  40. DOM.setElementProperty(
  41. getWidget().errorIndicatorElement,
  42. "className", "v-errorindicator");
  43. DOM.appendChild(getWidget().getElement(),
  44. getWidget().errorIndicatorElement);
  45. DOM.sinkEvents(getWidget().errorIndicatorElement,
  46. VTooltip.TOOLTIP_EVENTS | Event.ONCLICK);
  47. } else {
  48. DOM.setStyleAttribute(
  49. getWidget().errorIndicatorElement,
  50. "display", "");
  51. }
  52. } else if (getWidget().errorIndicatorElement != null) {
  53. DOM.setStyleAttribute(
  54. getWidget().errorIndicatorElement, "display",
  55. "none");
  56. }
  57. if (getState().isReadOnly()) {
  58. getWidget().setEnabled(false);
  59. }
  60. if (uidl.hasAttribute(ATTRIBUTE_ICON)) {
  61. if (getWidget().icon == null) {
  62. getWidget().icon = new Icon(client);
  63. DOM.insertChild(getWidget().getElement(),
  64. getWidget().icon.getElement(), 1);
  65. getWidget().icon
  66. .sinkEvents(VTooltip.TOOLTIP_EVENTS);
  67. getWidget().icon.sinkEvents(Event.ONCLICK);
  68. }
  69. getWidget().icon.setUri(uidl
  70. .getStringAttribute(ATTRIBUTE_ICON));
  71. } else if (getWidget().icon != null) {
  72. // detach icon
  73. DOM.removeChild(getWidget().getElement(),
  74. getWidget().icon.getElement());
  75. getWidget().icon = null;
  76. }
  77. // Set text
  78. getWidget().setText(getState().getCaption());
  79. getWidget()
  80. .setValue(
  81. uidl.getBooleanVariable(getWidget().VARIABLE_STATE));
  82. getWidget().immediate = getState().isImmediate();
  83. }
  84. @Override
  85. public VCheckBox getWidget() {
  86. return (VCheckBox) super.getWidget();
  87. }
  88. @Override
  89. protected Widget createWidget() {
  90. return GWT.create(VCheckBox.class);
  91. }
  92. }