dragelement.adoc 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. = dragelement
  2. :author:
  3. :revnumber:
  4. :revdate: 2016/03/17 20:48
  5. :relfileprefix: ../../../
  6. :imagesdir: ../../..
  7. ifdef::env-github,env-browser[:outfilesuffix: .adoc]
  8. == DragElement Class
  9. Contrary to hearsay, the DragElement is <strong>NOT</strong> a male Element dressed in women's clothing. It simply provides an easy-to-use Element pre-configured for managing Drag & Drop interaction, with a few extra features.
  10. The DragElement class uses the single constructor of the Element class and configures the Element to:
  11. [source,java]
  12. ----
  13. Element.setIsDragDropDragElement(true);
  14. Element.setIsMovable(true);
  15. ----
  16. It also provides a way of managing multiple drop elements and reacting to the appropriately.
  17. === Enable/Disable the DragElement
  18. [source,java]
  19. ----
  20. dragEl.setIsEnabled(boolean isEnabled);
  21. dragEl.getIsEnabled();
  22. ----
  23. === Managing Drop Elements
  24. [source,java]
  25. ----
  26. // Add an element as a valid drop Element
  27. dragEl.addDropElement(Element element);
  28. // Retrieve an element(s)
  29. dragEl.getDropElements(); // Return all drop elements
  30. dragEl.getDropElement(int index); // Returns a single drop element by index
  31. // Remove drop elements
  32. dragEl.removeDropElement(int index);
  33. dragEl.removeDropElement(Element element);
  34. ----
  35. === Responding to Incorrect Drops
  36. [source,java]
  37. ----
  38. // Enable/disable springback (returns drag element to original position)
  39. dragEl.setUseSpringBack(boolean useSpringBack);
  40. dragEl.getUseSpringBack();
  41. // Use SlideTo effect when springback is called
  42. dragEl.setUseSpringBackEffect(boolean useSpringBackEffect);
  43. dragEl.getUseSpringBackEffect();
  44. ----
  45. === Responding to Correct Drops
  46. [source,java]
  47. ----
  48. //Position the DragElement in the center of drop element
  49. dragEl.setUseLockToDropElementCenter(boolean lockToDropElementCenter);
  50. dragEl.getUseLockToDropElementCenter();
  51. // Use SlideTo effect when centering
  52. dragEl.setUseLockToDropElementEffect(boolean useLockToDropElementEffect);
  53. dragEl.getUseLockToDropElementEffect();
  54. ----
  55. === Abstract Event Methods
  56. [source,java]
  57. ----
  58. public abstract void onDragStart(MouseButtonEvent evt);
  59. public abstract void onDragEnd(MouseButtonEvent evt, int index, Element dropElement);
  60. ----