Example usage for com.google.gwt.touch.client Point Point

List of usage examples for com.google.gwt.touch.client Point Point

Introduction

In this page you can find the example usage for com.google.gwt.touch.client Point Point.

Prototype

public Point(double x, double y) 

Source Link

Usage

From source file:com.vaadin.client.widgets.Grid.java

License:Apache License

private boolean handleHeaderDefaultRowEvent(Event event, RowContainer container) {
    if (container != escalator.getHeader()) {
        return false;
    }/*from  ww w . j  av a 2  s.c  om*/
    if (!getHeader().getRow(eventCell.getRowIndex()).isDefault()) {
        return false;
    }
    if (!eventCell.getColumn().isSortable()) {
        // Only handle sorting events if the column is sortable
        return false;
    }

    if (BrowserEvents.MOUSEDOWN.equals(event.getType()) && event.getShiftKey()) {
        // Don't select text when shift clicking on a header.
        event.preventDefault();
    }

    if (BrowserEvents.TOUCHSTART.equals(event.getType())) {
        if (event.getTouches().length() > 1) {
            return false;
        }

        event.preventDefault();

        Touch touch = event.getChangedTouches().get(0);
        rowEventTouchStartingPoint = new Point(touch.getClientX(), touch.getClientY());

        sorter.sortAfterDelay(GridConstants.LONG_TAP_DELAY, true);

        return true;

    } else if (BrowserEvents.TOUCHMOVE.equals(event.getType())) {
        if (event.getTouches().length() > 1) {
            return false;
        }

        event.preventDefault();

        Touch touch = event.getChangedTouches().get(0);
        double diffX = Math.abs(touch.getClientX() - rowEventTouchStartingPoint.getX());
        double diffY = Math.abs(touch.getClientY() - rowEventTouchStartingPoint.getY());

        // Cancel long tap if finger strays too far from
        // starting point
        if (diffX > GridConstants.LONG_TAP_THRESHOLD || diffY > GridConstants.LONG_TAP_THRESHOLD) {
            sorter.cancelDelayedSort();
        }

        return true;

    } else if (BrowserEvents.TOUCHEND.equals(event.getType())) {
        if (event.getTouches().length() > 1) {
            return false;
        }

        if (sorter.isDelayedSortScheduled()) {
            // Not a long tap yet, perform single sort
            sorter.cancelDelayedSort();
            sorter.sort(eventCell.getColumn(), false);
        }

        return true;

    } else if (BrowserEvents.TOUCHCANCEL.equals(event.getType())) {
        if (event.getTouches().length() > 1) {
            return false;
        }

        sorter.cancelDelayedSort();

        return true;

    } else if (BrowserEvents.CLICK.equals(event.getType())) {

        sorter.sort(eventCell.getColumn(), event.getShiftKey());

        // Click events should go onward to cell focus logic
        return false;
    } else {
        return false;
    }
}

From source file:org.opennms.features.topology.app.internal.gwt.client.handler.DragObject.java

License:Open Source License

public DragObject(TopologyView<TopologyViewRenderer> svgTopologyMap, Element draggableElement,
        Element containerElement, D3 selection) {

    m_svgTopologyMap = svgTopologyMap;//  w  ww  .  jav  a2 s  . c o  m
    m_draggableElement = draggableElement;
    m_containerElement = containerElement;
    m_selection = selection;

    m_selection.each(new Handler<GWTVertex>() {

        @Override
        public void call(GWTVertex vertex, int index) {
            Point p = new Point(vertex.getX(), vertex.getY());
            m_startPosition.put(vertex.getId(), p);
        }
    });

    //User m_vertexgroup because this is what we scale instead of every vertex element
    m_transform = D3.getTransform(D3.d3().select(getTopologyView().getVertexGroup()).attr("transform"));

    JsArrayInteger position = D3.getMouse(containerElement);
    m_startX = (int) (position.get(0) / m_transform.getScale().get(0));
    m_startY = (int) (position.get(1) / m_transform.getScale().get(1));
}

From source file:org.opennms.features.topology.app.internal.gwt.client.svg.BoundingRect.java

License:Open Source License

public void addPoint(Point point) {
    if (m_topLeft == null) {
        m_topLeft = point;/*w w w  .  j av a  2  s. c o m*/
    } else {
        m_topLeft = new Point(Math.min(m_topLeft.getX(), point.getX()),
                Math.min(m_topLeft.getY(), point.getY()));
    }

    if (m_bottomRight == null) {
        m_bottomRight = point;
    } else {
        m_bottomRight = new Point(Math.max(m_bottomRight.getX(), point.getX()),
                Math.max(m_bottomRight.getY(), point.getY()));
    }
}

From source file:org.opennms.features.topology.app.internal.gwt.client.VTopologyComponent.java

License:Open Source License

private BoundingRect createBoundingRect(JsArray<GWTVertex> vertices, boolean fitToView) {
    final BoundingRect rect = new BoundingRect();

    for (int i = 0; i < vertices.length(); i++) {
        GWTVertex vertex = vertices.get(i);

        if (fitToView || vertex.isSelected()) {
            double vertexX = vertex.getX();
            double vertexY = vertex.getY();
            rect.addPoint(new Point(vertexX, vertexY));
        }/*from   w ww . ja  v a  2s .  c  o m*/
    }
    return rect;
}

From source file:org.tltv.gantt.client.GanttWidget.java

License:Apache License

protected void onTouchOrMouseDown(NativeEvent event) {
    JavaScriptObject target = event.getEventTarget().cast();
    if (touchSupported) {
        if (target == container || target == content || (!isMovableSteps())) {
            containerScrollStartPosY = container.getScrollTop() + event.getTouches().get(0).getPageY();
            return;
        } else {//from ww w .ja  v a  2 s  .co m
            containerScrollStartPosY = -1;
        }
    }

    Element bar = getBar(event);
    if (bar == null) {
        return;
    }

    Event.setCapture(bar); // can't trust this one, unfortunately
    targetBarElement = bar;
    capturePoint = new Point(getTouchOrMouseClientX(event), getTouchOrMouseClientY(event));
    movePoint = new Point(getTouchOrMouseClientX(event), getTouchOrMouseClientY(event));

    capturePointLeftPercentage = bar.getStyle().getProperty("left");
    capturePointWidthPercentage = bar.getStyle().getProperty("width");
    capturePointLeftPx = bar.getOffsetLeft();
    capturePointWidthPx = bar.getClientWidth();
    capturePointBgColor = bar.getStyle().getBackgroundColor();

    if (detectResizing(bar)) {
        resizing = true;
        resizingFromLeft = isResizingLeft(bar);
    } else {
        resizing = false;
    }

    disallowClickTimer.schedule(CLICK_INTERVAL);

    event.stopPropagation();
}

From source file:org.tltv.gantt.client.GanttWidget.java

License:Apache License

protected void onTouchOrMouseMove(NativeEvent event) {
    // did we intend to scroll the container?
    if (containerScrollStartPosY != -1) {
        container.setScrollTop(containerScrollStartPosY - event.getChangedTouches().get(0).getPageY());
        return;//from   w  w w . jav  a  2s  .c  o m
    }

    Element bar = getBar(event);
    if (bar != null) {
        movePoint = new Point(getTouchOrMouseClientX(event), getTouchOrMouseClientY(event));
        showResizingPointer(bar, detectResizing(bar));
    }

    if (targetBarElement == null) {
        return;
    }
    bar = targetBarElement;

    disallowClickTimer.cancel();
    clickOnNextMouseUp = false;

    // calculate delta x and y by original position and the current one.
    double deltax = getTouchOrMouseClientX(event) - capturePoint.getX();
    double deltay = getTouchOrMouseClientY(event) - capturePoint.getY();

    GWT.log("Position delta x: " + deltax + "px");

    if (resizing) {
        resizingInProgress = deltax != 0.0;
        if (resizingFromLeft) {
            updateBarResizingLeft(bar, deltax);
        } else {
            updateBarResizingRight(bar, deltax);
        }
        addResizingStyles(bar);
        bar.getStyle().clearBackgroundColor();
    } else if (isMovableSteps()) {
        updateMoveInProgressFlag(deltax, deltay);
        updateBarMovingPosition(bar, deltax);
        addMovingStyles(bar);
        bar.getStyle().clearBackgroundColor();
    }

    event.stopPropagation();
}

From source file:org.tltv.gantt.client.SvgArrowWidget.java

License:Apache License

protected void startMoving(NativeEvent event, Element element) {
    if (element.equals(startingPoint)) {
        selectPredecessorMode = true;//from  w  w  w. j  a v a 2  s  .c o  m
        startingPoint.getStyle().setVisibility(Visibility.HIDDEN);
    } else if (element.equals(endingPoint)) {
        selectFollowerMode = true;
        endingPoint.getStyle().setVisibility(Visibility.HIDDEN);
    }
    capturePointScrollTop = getElement().getParentElement().getParentElement().getScrollTop();
    capturePointScrollLeft = getElement().getParentElement().getParentElement().getScrollLeft();
    getParent().getElement().appendChild(movePointElement);
    getElement().getParentElement().addClassName(SELECTION_STYLE_NAME);
    GWT.log("Capturing clicked point.");
    captureElement = getElement();
    Event.setCapture(getElement());
    event.stopPropagation();

    // enable MODE for new predecessor/following step
    // selection.
    addMoveHandler();

    capturePoint = new Point(getTouchOrMouseClientX(event), getTouchOrMouseClientY(event));
    originalWidth = width;
    originalHeight = height;
}

From source file:org.tltv.gantt.client.SvgArrowWidget.java

License:Apache License

protected void handleMove(NativeEvent event) {
    Point movePoint = new Point(getTouchOrMouseClientX(event), getTouchOrMouseClientY(event));

    updateMovingData(movePoint);//from ww  w  .j av a2  s .  c  o m

    setWidth(movingData.getWidth());
    setHeight(movingData.getHeight());
    setTop((int) movingData.getTop());
    setLeft((int) movingData.getLeft());

    startingPoint.getStyle().setVisibility(Visibility.HIDDEN);
    endingPoint.getStyle().setVisibility(Visibility.HIDDEN);

    internalDrawCurve(movingData);
    event.stopPropagation();
}