Exemplo n.º 1
0
  /**
   * Stage two of an incremental programmatic move of an object from one location in the layout to
   * another. This will signal the engine to respond with a test drop location and size for the
   * source object and a test drop mutation for the target object.
   *
   * @param source the object being moved.
   * @param target the object sharing its boundaries to provide a drop location
   * @param p the quadrant of the target object specifying the drop location.
   * @see #requestMove(Object, Object, Position)
   * @see #requestMoveBegin(Object)
   * @see #requestMoveCommit(Object, Object, Position)
   * @see #requestMoveReject(Object)
   * @see #requestMoveCancel()
   */
  @Override
  public void requestMoveTest(T source, T target, Position p) {
    if (!locked) return;

    engine.testDropElement(
        this,
        interimLayoutSnapshot,
        layoutCopy.getNode(layoutCopy.get(source)),
        layout.getNode(layout.get(target)),
        p);
  }