dragelement.adoc 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. = dragelement
  2. :revnumber: 2.0
  3. :revdate: 2020/07/27
  4. == DragElement Class
  5. 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.
  6. The DragElement class uses the single constructor of the Element class and configures the Element to:
  7. [source,java]
  8. ----
  9. Element.setIsDragDropDragElement(true);
  10. Element.setIsMovable(true);
  11. ----
  12. It also provides a way of managing multiple drop elements and reacting to the appropriately.
  13. === Enable/Disable the DragElement
  14. [source,java]
  15. ----
  16. dragEl.setIsEnabled(boolean isEnabled);
  17. dragEl.getIsEnabled();
  18. ----
  19. === Managing Drop Elements
  20. [source,java]
  21. ----
  22. // Add an element as a valid drop Element
  23. dragEl.addDropElement(Element element);
  24. // Retrieve an element(s)
  25. dragEl.getDropElements(); // Return all drop elements
  26. dragEl.getDropElement(int index); // Returns a single drop element by index
  27. // Remove drop elements
  28. dragEl.removeDropElement(int index);
  29. dragEl.removeDropElement(Element element);
  30. ----
  31. === Responding to Incorrect Drops
  32. [source,java]
  33. ----
  34. // Enable/disable springback (returns drag element to original position)
  35. dragEl.setUseSpringBack(boolean useSpringBack);
  36. dragEl.getUseSpringBack();
  37. // Use SlideTo effect when springback is called
  38. dragEl.setUseSpringBackEffect(boolean useSpringBackEffect);
  39. dragEl.getUseSpringBackEffect();
  40. ----
  41. === Responding to Correct Drops
  42. [source,java]
  43. ----
  44. //Position the DragElement in the center of drop element
  45. dragEl.setUseLockToDropElementCenter(boolean lockToDropElementCenter);
  46. dragEl.getUseLockToDropElementCenter();
  47. // Use SlideTo effect when centering
  48. dragEl.setUseLockToDropElementEffect(boolean useLockToDropElementEffect);
  49. dragEl.getUseLockToDropElementEffect();
  50. ----
  51. === Abstract Event Methods
  52. [source,java]
  53. ----
  54. public abstract void onDragStart(MouseButtonEvent evt);
  55. public abstract void onDragEnd(MouseButtonEvent evt, int index, Element dropElement);
  56. ----