Examples of ElementDragEvent


Examples of pl.tecna.gwt.connectors.client.listeners.event.ElementDragEvent

            Diagram.this.boundaryPanel.getWidgetLeft(event.getContext().draggable)
                - Diagram.this.boundaryPanel.getAbsoluteLeft();
        int startY =
            Diagram.this.boundaryPanel.getWidgetTop(event.getContext().draggable)
                - Diagram.this.boundaryPanel.getAbsoluteTop();
        Diagram.this.onElementDrag(new ElementDragEvent(event.getContext().draggable, startX, startY,
            ElementDragEvent.DragEventType.DRAG_START));
      }

      @Override
      public void onDragEnd(DragEndEvent event) {

        Widget widget = event.getContext().draggable;
        if (event.getContext().vetoException != null) {
          if (event.getContext().draggable instanceof Shape) {
            Shape draggable = (Shape) event.getContext().draggable;
            draggable.updateConnectors();
          }
        }
        if (widget instanceof Shape) {
          Shape shape = (Shape) event.getContext().draggable;
          if (!ctrlPressed) {
            fixShapePosition(shape);

            for (ConnectionPoint cp : shape.connectionPoints) {
              for (EndPoint ep : cp.gluedEndPoints) {
                // connector between two dragged shapes
                if (ep.connector.startEndPoint.gluedConnectionPoint != null
                    && ep.connector.endEndPoint.gluedConnectionPoint != null
                    && ep.connector.startEndPoint.gluedConnectionPoint.getParentWidget() != null
                    && ep.connector.endEndPoint.gluedConnectionPoint.getParentWidget() != null
                    && selectedWidgets.contains(ep.connector.startEndPoint.gluedConnectionPoint.getParentWidget())
                    && selectedWidgets.contains(ep.connector.endEndPoint.gluedConnectionPoint.getParentWidget())) {
                  ep.connector.moveOffsetFromStartPos(shape.getTranslationX(), shape.getTranslationY());
                } else {
                  ep.connector.updateCornerPoints();
                }
              }
            }

            fixLineSections(shape);
          } else {
            fixShapePosition(shape);
            for (Connector c : shape.getConnectedConnectors()) {
              if (c.startEndPoint.gluedConnectionPoint != null && c.endEndPoint.gluedConnectionPoint != null
                  && c.startEndPoint.gluedConnectionPoint.getParentWidget() != null
                  && c.endEndPoint.gluedConnectionPoint.getParentWidget() != null
                  && selectedWidgets.contains(c.startEndPoint.gluedConnectionPoint.getParentWidget())
                  && selectedWidgets.contains(c.endEndPoint.gluedConnectionPoint.getParentWidget())) {
                c.moveOffsetFromStartPos(shape.getTranslationX(), shape.getTranslationY());
              } else {
                c.fixEndSectionDirection(c.endEndPoint);
                c.fixEndSectionDirection(c.startEndPoint);
                c.fixLineSections(c.getCorners());
                c.drawSections();
              }
            }
          }
        }

        int endX =
            Diagram.this.boundaryPanel.getWidgetLeft(event.getContext().draggable)
                - Diagram.this.boundaryPanel.getAbsoluteLeft();
        int endY =
            Diagram.this.boundaryPanel.getWidgetTop(event.getContext().draggable)
                - Diagram.this.boundaryPanel.getAbsoluteTop();

        Diagram.this.onElementDrag(new ElementDragEvent(event.getContext().draggable, endX, endY,
            ElementDragEvent.DragEventType.DRAG_END));
      }

    });

    // Create drag controller to control end point dragging
    endPointDragController = new EndPointDragController(this.boundaryPanel, true, Diagram.this);
    endPointDragController.setBehaviorConstrainedToBoundaryPanel(true);
    endPointDragController.setBehaviorDragStartSensitivity(4);
    endPointDragController.addDragHandler(new DragHandlerAdapter() {

      @Override
      public void onDragStart(DragStartEvent event) {
        endPointDragging = true;
        if (event != null) {
          EndPoint ep = (EndPoint) event.getSource();
          ep.connector.select();
        }

        int startX =
            Diagram.this.boundaryPanel.getWidgetLeft(event.getContext().draggable)
                - Diagram.this.boundaryPanel.getAbsoluteLeft();
        int startY =
            Diagram.this.boundaryPanel.getWidgetTop(event.getContext().draggable)
                - Diagram.this.boundaryPanel.getAbsoluteTop();
        Diagram.this.onElementDrag(new ElementDragEvent(event.getContext().draggable, startX, startY,
            ElementDragEvent.DragEventType.DRAG_START));
      }

      @Override
      public void onDragEnd(DragEndEvent event) {

        endPointDragging = false;
        EndPoint endPoint = (EndPoint) event.getSource();
        endPoint.connector.fixEndSectionDirection(endPoint);
        endPoint.connector.drawSections(endPoint.connector.getCorners());

        try {
          endPoint.connector.cornerPoints =
              (ArrayList<CornerPoint>) endPoint.connector.fixLineSections(endPoint.connector.getCorners());
          endPoint.connector.drawSections();
          endPoint.connector.fixSections();
        } catch (Exception e) {
          LOG.log(Level.SEVERE, "Unexpected exception", e);
        }

        Integer endX = null;
        Integer endY = null;
        if (event.getContext().draggable.getParent() != null
            && Diagram.this.boundaryPanel.equals(event.getContext().draggable.getParent())) {
          endX =
              Diagram.this.boundaryPanel.getWidgetLeft(event.getContext().draggable)
                  - Diagram.this.boundaryPanel.getAbsoluteLeft();
          endY =
              Diagram.this.boundaryPanel.getWidgetTop(event.getContext().draggable)
                  - Diagram.this.boundaryPanel.getAbsoluteTop();
        }
        Diagram.this.onElementDrag(new ElementDragEvent(event.getContext().draggable, endX, endY,
            ElementDragEvent.DragEventType.DRAG_END));
      }
    });
  }
View Full Code Here

Examples of pl.tecna.gwt.connectors.client.listeners.event.ElementDragEvent

        // - connector.diagram.boundaryPanel.getAbsoluteLeft();
        // int endY =
        // connector.diagram.boundaryPanel.getWidgetTop(event.getContext().draggable)
        // - connector.diagram.boundaryPanel.getAbsoluteTop();

        connector.diagram.onElementDrag(new ElementDragEvent(event.getContext().draggable,
            event.getContext().desiredDraggableX, event.getContext().desiredDraggableY,
            ElementDragEvent.DragEventType.DRAG_END));

      }
    });
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.