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.

VNot.java 1.6KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. /*
  2. @VaadinApache2LicenseForJavaFiles@
  3. */
  4. /**
  5. *
  6. */
  7. package com.vaadin.terminal.gwt.client.ui.dd;
  8. import com.vaadin.event.dd.acceptcriteria.Not;
  9. import com.vaadin.terminal.gwt.client.UIDL;
  10. import com.vaadin.terminal.gwt.client.VConsole;
  11. /**
  12. * TODO implementation could now be simplified/optimized
  13. *
  14. */
  15. @AcceptCriterion(Not.class)
  16. final public class VNot extends VAcceptCriterion {
  17. private boolean b1;
  18. private VAcceptCriterion crit1;
  19. @Override
  20. public void accept(VDragEvent drag, UIDL configuration,
  21. VAcceptCallback callback) {
  22. if (crit1 == null) {
  23. crit1 = getCriteria(drag, configuration, 0);
  24. if (crit1 == null) {
  25. VConsole.log("Not criteria didn't found a child criteria");
  26. return;
  27. }
  28. }
  29. b1 = false;
  30. VAcceptCallback accept1cb = new VAcceptCallback() {
  31. public void accepted(VDragEvent event) {
  32. b1 = true;
  33. }
  34. };
  35. crit1.accept(drag, configuration.getChildUIDL(0), accept1cb);
  36. if (!b1) {
  37. callback.accepted(drag);
  38. }
  39. }
  40. private VAcceptCriterion getCriteria(VDragEvent drag, UIDL configuration,
  41. int i) {
  42. UIDL childUIDL = configuration.getChildUIDL(i);
  43. return VAcceptCriteria.get(childUIDL.getStringAttribute("name"));
  44. }
  45. @Override
  46. public boolean needsServerSideCheck(VDragEvent drag, UIDL criterioUIDL) {
  47. return false; // TODO enforce on server side
  48. }
  49. @Override
  50. protected boolean accept(VDragEvent drag, UIDL configuration) {
  51. return false; // not used
  52. }
  53. }