Example usage for com.google.gwt.dom.client NativeEvent getMouseWheelVelocityY

List of usage examples for com.google.gwt.dom.client NativeEvent getMouseWheelVelocityY

Introduction

In this page you can find the example usage for com.google.gwt.dom.client NativeEvent getMouseWheelVelocityY.

Prototype

public final int getMouseWheelVelocityY() 

Source Link

Document

Gets the velocity of the mouse wheel associated with the event along the Y axis.

Usage

From source file:com.spaceapplications.vaadin.addon.eventtimeline.gwt.client.VEventTimelineBrowser.java

public void onMouseWheel(MouseWheelEvent event) {
    NativeEvent mouseEvent = event.getNativeEvent();
    event.preventDefault();/* ww w. ja v a2  s. com*/

    boolean up = mouseEvent.getMouseWheelVelocityY() > 0;

    // Only apply event to scroller
    if (!scroller.isMouseOverScrollArea((Event) mouseEvent)) {
        return;
    }

    sizeAdjustLeft = true;
    sizeAdjustRight = true;

    if (up) {
        scrollAdjustLeft += -5;
        scrollAdjustRight += 10;
    } else {
        scrollAdjustLeft += 5;
        scrollAdjustRight += -10;
    }

    scrollTimer.cancel();
    scrollTimer.schedule(50);
}

From source file:com.spaceapplications.vaadin.addon.eventtimeline.gwt.client.VEventTimelineDisplay.java

public void onMouseWheel(MouseWheelEvent event) {
    NativeEvent mouseEvent = event.getNativeEvent();
    if (hasElement(Element.as(mouseEvent.getEventTarget()))) {
        event.preventDefault();//from www.  java2 s  .  co m
        float x = mouseEvent.getClientX();
        boolean up = mouseEvent.getMouseWheelVelocityY() > 0;
        float canvasWidth = canvas.getWidth();
        float ratio = x / canvasWidth;

        // Calculate the minimum timeunit for the whole range
        long diff = widget.getEndDate().getTime() - widget.getStartDate().getTime();
        float minTimeSpan = (diff / canvasWidth) * 60f;
        float minAllowedTimeSpan = (diff / canvasWidth) * 20f;

        Float startRatio = ratio * minTimeSpan;
        Float endRatio = (1f - ratio) * minTimeSpan;

        if (up) {
            Date start = new Date(currentStartDate.getTime() - startRatio.longValue());

            if (start.before(widget.getStartDate())) {
                /*
                 * Ensure we are in bounds
                 */
                start = widget.getStartDate();
            }

            Date end = new Date(currentEndDate.getTime() + endRatio.longValue());

            if (end.after(widget.getEndDate())) {
                /*
                 * Ensure we are in bounds
                 */
                end = widget.getEndDate();
            }

            if (end.getTime() - start.getTime() > minAllowedTimeSpan) {
                currentStartDate = start;
                currentEndDate = end;
                refresh();
                widget.setBrowserRange(currentStartDate, currentEndDate);
            }

        } else {
            Date start = new Date(currentStartDate.getTime() + startRatio.longValue());

            if (start.before(widget.getStartDate())) {
                /*
                 * Ensure we are in bounds
                 */
                start = widget.getStartDate();
            }

            Date end = new Date(currentEndDate.getTime() - endRatio.longValue());

            if (end.after(widget.getEndDate())) {
                /*
                 * Ensure we are in bounds
                 */
                end = widget.getEndDate();
            }

            if (end.getTime() - start.getTime() > minAllowedTimeSpan) {
                currentStartDate = start;
                currentEndDate = end;
                refresh();
                widget.setBrowserRange(currentStartDate, currentEndDate);
            }
        }
    }
}

From source file:com.vaadin.addon.timeline.gwt.client.VTimelineBrowser.java

@Override
public void onMouseWheel(MouseWheelEvent event) {
    if (isEnabled()) {
        NativeEvent mouseEvent = event.getNativeEvent();
        event.preventDefault();//  w  ww  .j  ava 2  s  . c om

        boolean up = mouseEvent.getMouseWheelVelocityY() > 0;

        // Only apply event to scroller
        if (!scroller.isMouseOverScrollArea(mouseEvent)) {
            return;
        }

        sizeAdjustLeft = true;
        sizeAdjustRight = true;

        if (up) {
            zoomOut(5);
        } else {
            zoomIn(5);
        }
    }
}

From source file:com.vaadin.addon.timeline.gwt.client.VTimelineDisplay.java

@Override
public void onMouseWheel(MouseWheelEvent event) {
    NativeEvent mouseEvent = event.getNativeEvent();
    if (hasElement(Element.as(mouseEvent.getEventTarget()))) {
        event.preventDefault();/*  ww w  .  ja  va 2 s. com*/
        boolean up = mouseEvent.getMouseWheelVelocityY() > 0;
        if (up) {
            zoomIn(mouseEvent.getClientX(), 6f);
        } else {
            zoomOut(mouseEvent.getClientX(), 6f);
        }
    } else {
        VConsole.error("Mouse wheel on unknowm element");
    }
}

From source file:org.gwtportlets.portlet.client.edit.PageEditor.java

License:Open Source License

/**
 * Use preview for our global actions so they work even when the mouse is
 * over our resizers and other widgets.//from   ww  w.  j  a v a  2s .  c  o m
 */
public void onPreviewNativeEvent(Event.NativePreviewEvent event) {
    NativeEvent ev = event.getNativeEvent();
    switch (Event.getTypeInt(ev.getType())) {

    case Event.ONMOUSEWHEEL:
        onMouseWheel(ev.getMouseWheelVelocityY());
        event.cancel();
        break;

    case Event.ONKEYPRESS:
        int key = ev.getKeyCode();
        if (key == 27) {
            onEscPressed();
        } else if (ev.getCtrlKey()) {
            if (key == 'z') {
                undoStack.undo();
            } else if (key == 'Z' && ev.getShiftKey()) {
                undoStack.redo();
            }
        }
        event.cancel();
        break;
    }
}