private final void doCancelEnterExitShape(final INodeXYEvent event) { if ((null != m_over_prim) && (m_over_prim.isEventHandled(NodeMouseExitEvent.getType()))) { m_over_prim.fireEvent(new NodeMouseExitEvent(null, event.getX(), event.getY())); } m_over_prim = null; }
@SuppressWarnings("unchecked") private final void doCancelEnterExitShape(final INodeXYEvent event) { if ((null != m_over_prim) && (m_over_prim.isEventHandled(NodeMouseExitEvent.getType()))) { if (event instanceof AbstractNodeHumanInputEvent) { m_over_prim.fireEvent(new NodeMouseExitEvent(((AbstractNodeHumanInputEvent<MouseEvent<?>, ?>) event).getHumanInputEvent(), event.getX(), event.getY())); } else { m_over_prim.fireEvent(new NodeMouseExitEvent(null, event.getX(), event.getY())); } } m_over_prim = null; }
@SuppressWarnings("unchecked") private final void doCancelEnterExitShape(final INodeXYEvent event) { if ((null != m_over_prim) && (m_over_prim.isEventHandled(NodeMouseExitEvent.getType()))) { if (event instanceof AbstractNodeHumanInputEvent) { m_over_prim.fireEvent(new NodeMouseExitEvent(((AbstractNodeHumanInputEvent<MouseEvent<?>, ?>) event).getHumanInputEvent(), event.getX(), event.getY())); } else { m_over_prim.fireEvent(new NodeMouseExitEvent(null, event.getX(), event.getY())); } } m_over_prim = null; }
@SuppressWarnings("unchecked") private final void doCancelEnterExitShape(final INodeXYEvent event) { if ((null != m_over_prim) && (m_over_prim.isEventHandled(NodeMouseExitEvent.getType()))) { if (event instanceof AbstractNodeHumanInputEvent) { m_over_prim.fireEvent(new NodeMouseExitEvent(((AbstractNodeHumanInputEvent<MouseEvent<?>, ?>) event).getHumanInputEvent(), event.getX(), event.getY())); } else { m_over_prim.fireEvent(new NodeMouseExitEvent(null, event.getX(), event.getY())); } } m_over_prim = null; }
private final IPrimitive<?> findPrimitiveForEvent(final INodeXYEvent event, final Type<?> type) { IPrimitive<?> find = null; Node<?> node = findShapeAtPoint(event.getX(), event.getY()); while ((null != node) && (node.getNodeType() != NodeType.LAYER)) { final IPrimitive<?> prim = node.asPrimitive(); if ((null != prim) && (prim.isListening()) && (prim.isVisible()) && (prim.isEventHandled(type))) { find = prim; // find the topmost event matching node, not necessarily the first ancestor } node = node.getParent(); } return find; }
private final void doPrepareDragging(final INodeXYEvent event) { IPrimitive<?> find = null; Node<?> node = findShapeAtPoint(event.getX(), event.getY()); while ((null != node) && (node.getNodeType() != NodeType.LAYER)) { final IPrimitive<?> prim = node.asPrimitive(); if ((null != prim) && (prim.isDraggable()) && (prim.isListening()) && (prim.isVisible())) { find = prim; // find the topmost draggable node, not necessarily the first ancestor } node = node.getParent(); } if (null != find) { doDragStart(find, event); } }
@Override public boolean isNodeMouseEventOverCaption(final INodeXYEvent event) { final Point2D ap = CoordinateUtilities.convertDOMToGridCoordinate(this, new Point2D(event.getX(), event.getY())); final double cx = ap.getX(); final double cy = ap.getY(); if (cx > headerCaption.getX() && cx < headerCaption.getX() + getHeaderCaptionWidth()) { if (cy > headerCaption.getY() && cy < headerCaption.getY() + HEADER_CAPTION_HEIGHT) { return true; } } return false; }
@Override public boolean isNodeMouseEventOverCaption(final INodeXYEvent event) { final Point2D ap = CoordinateUtilities.convertDOMToGridCoordinate(this, new Point2D(event.getX(), event.getY())); final double cx = ap.getX(); final double cy = ap.getY(); if (cx > headerCaption.getX() && cx < headerCaption.getX() + getHeaderCaptionWidth()) { if (cy > headerCaption.getY() && cy < headerCaption.getY() + HEADER_CAPTION_HEIGHT) { return true; } } return false; }
/** * Starts a drap operation for the specified node, using viewport coordiants * @param event the first drag event * @param prim the node that is being dragged * @param viewportToGlobalTransform The Transform of the Viewport */ public DragContext(final INodeXYEvent event, final IPrimitive<?> prim, final Transform viewportToGlobalTransform) { m_prim = prim; m_vtog = viewportToGlobalTransform; m_lstx = m_prmx = m_prim.getX(); m_lsty = m_prmy = m_prim.getY(); m_evtx = m_begx = event.getX(); m_evty = m_begy = event.getY(); m_ltog = m_prim.getParent().getAbsoluteTransform(); m_gtol = m_ltog.getInverse(); // Convert one point from global to local coordinates // We need it when calculating (dx,dy) in local coordinates m_gtol.transform(new Point2D(0, 0), m_pref); // Initialize the DragConstraintsEnforcer m_drag = m_prim.getDragConstraints(); if (m_drag != null) { m_drag.startDrag(this); } }
/** * Starts a drap operation for the specified node, using viewport coordiants * @param event the first drag event * @param prim the node that is being dragged * @param viewportToGlobalTransform The Transform of the Viewport */ public DragContext(final INodeXYEvent event, final IPrimitive<?> prim, final Transform viewportToGlobalTransform) { m_prim = prim; m_vtog = viewportToGlobalTransform; m_lstx = m_prmx = m_prim.getX(); m_lsty = m_prmy = m_prim.getY(); m_evtx = m_begx = event.getX(); m_evty = m_begy = event.getY(); m_ltog = m_prim.getParent().getAbsoluteTransform(); m_gtol = m_ltog.getInverse(); // Convert one point from global to local coordinates // We need it when calculating (dx,dy) in local coordinates m_gtol.transform(new Point2D(0, 0), m_pref); // Initialize the DragConstraintsEnforcer m_drag = m_prim.getDragConstraints(); if (m_drag != null) { m_drag.startDrag(this); } }
/** * Starts a drag operation for the specified node. * * @param event the first drag event * @param prim the node that is being dragged */ public DragContext(final INodeXYEvent event, final IPrimitive<?> prim) { m_prim = prim; m_prmx = m_prim.getX(); m_prmy = m_prim.getY(); m_evtx = m_begx = event.getX(); m_evty = m_begy = event.getY(); m_ltog = m_prim.getParent().getAbsoluteTransform(); m_gtol = m_ltog.getInverse(); // Convert one point from global to local coordinates // We need it when calculating (dx,dy) in local coordinates m_gtol.transform(new Point2D(0, 0), m_pref); // Initialize the DragConstraintsEnforcer m_drag = m_prim.getDragConstraints(); if (m_drag != null) { m_drag.startDrag(this); } }
/** * Starts a drap operation for the specified node, using viewport coordiants * @param event the first drag event * @param prim the node that is being dragged * @param viewportToGlobalTransform The Transform of the Viewport */ public DragContext(final INodeXYEvent event, final IPrimitive<?> prim, final Transform viewportToGlobalTransform) { m_prim = prim; m_vtog = viewportToGlobalTransform; m_lstx = m_prmx = m_prim.getX(); m_lsty = m_prmy = m_prim.getY(); m_evtx = m_begx = event.getX(); m_evty = m_begy = event.getY(); m_ltog = m_prim.getParent().getAbsoluteTransform(); m_gtol = m_ltog.getInverse(); // Convert one point from global to local coordinates // We need it when calculating (dx,dy) in local coordinates m_gtol.transform(new Point2D(0, 0), m_pref); // Initialize the DragConstraintsEnforcer m_drag = m_prim.getDragConstraints(); if (m_drag != null) { m_drag.startDrag(this); } }
/** * Updates the context for the specified Drag Move event. * Used internally. * * @param event Drag Move event */ public void dragUpdate(final INodeXYEvent event) { m_evtx = event.getX(); m_evty = event.getY(); m_dstx = m_evtx - m_begx; m_dsty = m_evty - m_begy; final Point2D p2 = new Point2D(0, 0); m_gtol.transform(new Point2D(m_dstx, m_dsty), p2); m_lclp.setX(p2.getX() - m_pref.getX()); m_lclp.setY(p2.getY() - m_pref.getY()); // Let the constraints adjust the location if necessary if (m_drag != null) { m_drag.adjust(m_lclp); } save(); }
/** * Updates the context for the specified Drag Move event. * Used internally. * * @param event Drag Move event */ public void dragUpdate(final INodeXYEvent event) { m_evtx = event.getX(); m_evty = event.getY(); m_dstx = m_evtx - m_begx; m_dsty = m_evty - m_begy; final Point2D p2 = new Point2D(0, 0); m_gtol.transform(new Point2D(m_dstx, m_dsty), p2); m_lclp.setX(p2.getX() - m_pref.getX()); m_lclp.setY(p2.getY() - m_pref.getY()); // Let the constraints adjust the location if necessary if (m_drag != null) { m_drag.adjust(m_lclp); } save(); }
/** * Updates the context for the specified Drag Move event. * Used internally. * * @param event Drag Move event */ public void dragUpdate(final INodeXYEvent event) { m_evtx = event.getX(); m_evty = event.getY(); m_dstx = m_evtx - m_begx; m_dsty = m_evty - m_begy; final Point2D p2 = new Point2D(0, 0); m_gtol.transform(new Point2D(m_dstx, m_dsty), p2); m_lclp.setX(p2.getX() - m_pref.getX()); m_lclp.setY(p2.getY() - m_pref.getY()); // Let the constraints adjust the location if necessary if (m_drag != null) { m_drag.adjust(m_lclp); } save(); }
private final Shape<?> doCheckEnterExitShape(final INodeXYEvent event) final int x = event.getX();
/** * Updates the context for the specified Drag Move event. * Used internally. * * @param event Drag Move event */ public void dragUpdate(INodeXYEvent event) { m_evtx = event.getX(); m_evty = event.getY(); m_dstx = m_evtx - m_begx; m_dsty = m_evty - m_begy; Point2D p2 = new Point2D(0, 0); m_gtol.transform(new Point2D(m_dstx, m_dsty), p2); m_lclp.setX(p2.getX() - m_pref.getX()); m_lclp.setY(p2.getY() - m_pref.getY()); // Let the constraints adjust the location if necessary if (m_drag != null) { m_drag.adjust(m_lclp); } m_prim.setX(m_prmx + m_lclp.getX()); m_prim.setY(m_prmy + m_lclp.getY()); }
Node<?> node = findShapeAtPoint(event.getX(), event.getY());
Node<?> node = findShapeAtPoint(event.getX(), event.getY());
@SuppressWarnings("unchecked") private final Shape<?> doCheckEnterExitShape(final INodeXYEvent event) final int x = event.getX();