Example usage for com.google.gwt.user.client Event ONTOUCHMOVE

List of usage examples for com.google.gwt.user.client Event ONTOUCHMOVE

Introduction

In this page you can find the example usage for com.google.gwt.user.client Event ONTOUCHMOVE.

Prototype

int ONTOUCHMOVE

To view the source code for com.google.gwt.user.client Event ONTOUCHMOVE.

Click Source Link

Document

Fired when the user moves while touching an element.

Usage

From source file:ch.unifr.pai.twice.dragndrop.client.TouchDragNDrop.java

License:Apache License

/**
 * Replaces the native preview handler to listen to touch events instead of mouse events
 * //  w  w w  . j  av a  2  s  . c  o m
 * @see ch.unifr.pai.twice.dragndrop.client.MPDragNDrop#createNativePreviewHandler()
 */
@Override
protected NativePreviewHandler createNativePreviewHandler() {
    return new NativePreviewHandler() {
        @Override
        public void onPreviewNativeEvent(NativePreviewEvent event) {
            switch (event.getTypeInt()) {
            case Event.ONTOUCHSTART:
                event.getNativeEvent().preventDefault();
                break;
            case Event.ONTOUCHMOVE:
            case Event.ONTOUCHEND:
                event.getNativeEvent().preventDefault();
                String deviceId = getDeviceId(event.getNativeEvent());
                MPDragNDrop handler = activeHandlers.get(deviceId);
                if (handler != null) {
                    handler.onMouseEvent(deviceId, (Event) event.getNativeEvent());
                }
                break;
            }
            if (event.getTypeInt() == Event.ONTOUCHEND) {
                removeEventPreview();
            }
        }
    };
}

From source file:ch.unifr.pai.twice.dragndrop.client.TouchDragNDrop.java

License:Apache License

/**
 * react to touch events instead of mouse events
 * /*from ww  w.j  a v a 2 s.  co  m*/
 * @see ch.unifr.pai.twice.dragndrop.client.MPDragNDrop#onMouseEvent(java.lang.String, com.google.gwt.user.client.Event)
 */
@Override
protected void onMouseEvent(String deviceId, Event event) {
    switch (DOM.eventGetType(event)) {
    case Event.ONTOUCHMOVE:
        onDrag(deviceId, event);
        break;
    case Event.ONTOUCHEND:
        endDrag(deviceId, event);
        break;
    }
}

From source file:com.cgxlib.xq.client.plugins.MousePlugin.java

License:Apache License

private void bindOtherEvents(final Element element) {

    int moveEvent = touchSupported ? Event.ONTOUCHMOVE : Event.ONMOUSEMOVE;

    int endEvents = touchSupported ? Event.ONTOUCHEND : Event.ONMOUSEUP;

    $(document).as(Events).bind(moveEvent, getPluginName(), (Object) null, new Function() {
        @Override/*from   w  w  w  .ja  va2 s  . co m*/
        public boolean f(Event e) {
            mouseMove(element, (XQEvent) XQEvent.create(e));
            return false;
        }
    }).bind(endEvents, getPluginName(), (Object) null, new Function() {
        @Override
        public boolean f(Event e) {
            mouseUp(element, (XQEvent) XQEvent.create(e));
            return false;
        }
    });

    // TODO Event.ONTOUCHEND | Event.ONTOUCHCANCEL don't work -> investigate
    if (touchSupported) {
        $(document).as(Events).bind(Event.ONTOUCHCANCEL, getPluginName(), (Object) null, new Function() {
            @Override
            public boolean f(Event e) {
                mouseUp(element, (XQEvent) XQEvent.create(e));
                return false;
            }
        });
    }
}

From source file:com.cgxlib.xq.client.plugins.MousePlugin.java

License:Apache License

private void unbindOtherEvents() {
    int events = touchSupported ? Event.ONTOUCHCANCEL | Event.ONTOUCHEND | Event.ONTOUCHMOVE
            : Event.ONMOUSEUP | Event.ONMOUSEMOVE;

    $(document).as(Events).unbind(events, getPluginName(), null);
}

From source file:com.haulmont.cuba.web.toolkit.ui.client.jqueryfileupload.CubaFileUploadProgressWindow.java

License:Apache License

private void onResizeEvent(Event event) {
    if (resizable && WidgetUtil.isTouchEventOrLeftMouseButton(event)) {
        switch (event.getTypeInt()) {
        case Event.ONMOUSEDOWN:
        case Event.ONTOUCHSTART:
            showResizingCurtain();//from  w ww . j ava2  s . c o m
            if (BrowserInfo.get().isIE()) {
                resizeBox.getStyle().setVisibility(Style.Visibility.HIDDEN);
            }
            resizing = true;
            startX = WidgetUtil.getTouchOrMouseClientX(event);
            startY = WidgetUtil.getTouchOrMouseClientY(event);
            origW = getElement().getOffsetWidth();
            origH = getElement().getOffsetHeight();
            DOM.setCapture(getElement());
            event.preventDefault();
            break;
        case Event.ONMOUSEUP:
        case Event.ONTOUCHEND:
            setSize(event);
        case Event.ONTOUCHCANCEL:
            DOM.releaseCapture(getElement());
        case Event.ONLOSECAPTURE:
            hideResizingCurtain();
            if (BrowserInfo.get().isIE()) {
                resizeBox.getStyle().clearVisibility();
            }
            resizing = false;
            break;
        case Event.ONMOUSEMOVE:
        case Event.ONTOUCHMOVE:
            if (resizing) {
                setSize(event);
                event.preventDefault();
            }
            break;
        default:
            event.preventDefault();
            break;
        }
    }
}

From source file:com.haulmont.cuba.web.toolkit.ui.client.jqueryfileupload.CubaFileUploadProgressWindow.java

License:Apache License

private void onDragEvent(Event event) {
    if (!WidgetUtil.isTouchEventOrLeftMouseButton(event)) {
        return;//ww w  .j  ava  2s . co m
    }

    switch (DOM.eventGetType(event)) {
    case Event.ONTOUCHSTART:
        if (event.getTouches().length() > 1) {
            return;
        }
    case Event.ONMOUSEDOWN:
        beginMovingWindow(event);
        break;
    case Event.ONMOUSEUP:
    case Event.ONTOUCHEND:
    case Event.ONTOUCHCANCEL:
    case Event.ONLOSECAPTURE:
        stopMovingWindow();
        break;
    case Event.ONMOUSEMOVE:
    case Event.ONTOUCHMOVE:
        moveWindow(event);
        break;
    default:
        break;
    }
}

From source file:com.haulmont.cuba.web.widgets.client.addons.dragdroplayouts.ui.VLayoutDragDropMouseHandler.java

License:Apache License

/**
 * Initiates the drag only on the first move event
 *
 * @param originalEvent/*from www  .j  a  va  2  s .  co  m*/
 *            the original Mouse Down event. Only events on elements are
 *            passed in here (Element.as() is safe without check here)
 */
protected void initiateDragOnMove(final NativeEvent originalEvent) {
    EventTarget eventTarget = originalEvent.getEventTarget();

    boolean stopEventPropagation = false;

    Element targetElement = Element.as(eventTarget);
    Widget target = WidgetUtil.findWidget(targetElement, null);
    Widget targetParent = target.getParent();

    // Stop event propagation and prevent default behaviour if
    // - target is *not* a VTabsheet.TabCaption or
    // - drag mode is caption mode and widget is caption
    boolean isTabCaption = targetParent instanceof VTabsheet.TabCaption;
    boolean isCaption = VDragDropUtil.isCaptionOrCaptionless(targetParent);

    if (dragMode == LayoutDragMode.CLONE && isTabCaption == false) {

        stopEventPropagation = true;

        // overwrite stopEventPropagation flag again if
        // - root implements VHasDragFilter but
        // - target is not part of its drag filter and
        // - target is not a GWT Label based widget
        if (root instanceof VHasDragFilter) {
            if (((VHasDragFilter) root).getDragFilter().isDraggable(target) == false
                    && (target instanceof LabelBase) == false) {
                stopEventPropagation = false;
            }
        }

        if (root instanceof VHasGrabFilter) {
            VGrabFilter grabFilter = ((VHasGrabFilter) root).getGrabFilter();
            if (grabFilter != null && !grabFilter.canBeGrabbed(root, target)) {
                return;
            }
        }
    }

    if (dragMode == LayoutDragMode.CAPTION && isCaption) {
        stopEventPropagation = true;
    }

    if (isElementNotDraggable(targetElement)) {
        stopEventPropagation = false;
    }

    if (stopEventPropagation) {
        originalEvent.stopPropagation();
        originalEvent.preventDefault();

        // Manually focus as preventDefault() will also cancel focus
        targetElement.focus();
    }

    mouseDownHandlerReg = Event.addNativePreviewHandler(new NativePreviewHandler() {

        @Override
        public void onPreviewNativeEvent(NativePreviewEvent event) {
            int type = event.getTypeInt();
            if (type == Event.ONMOUSEUP || type == Event.ONTOUCHCANCEL || type == Event.ONTOUCHEND) {
                mouseDownHandlerReg.removeHandler();
                mouseDownHandlerReg = null;

            } else if (type == Event.ONMOUSEMOVE || type == Event.ONTOUCHMOVE) {
                mouseDownHandlerReg.removeHandler();
                mouseDownHandlerReg = null;
                initiateDrag(originalEvent);
            }
        }
    });
}

From source file:com.lawal.client.ui.VRangeSliderBar.java

License:Apache License

/**
 * Listen for events that will move the knob.
 * /*  ww  w  .  ja  v  a  2  s .c o m*/
 * @param event
 *            the event that occurred
 */
@Override
public void onBrowserEvent(Event event) {
    super.onBrowserEvent(event);
    // VConsole.log("browser event" + DOM.eventGetType(event));
    if (!enabled || readonly) {
        return;
    }

    switch (DOM.eventGetType(event)) {
    // Unhighlight and cancel keyboard events
    case Event.ONBLUR:
        keyTimer.cancel();
        if (slidingMouse) {
            DOM.releaseCapture(getElement());
            slidingMouse = false;
            slideKnob(event);
            stopSliding(true, true);
        } else if (slidingKeyboard) {
            slidingKeyboard = false;
            stopSliding(true, true);
        }
        unhighlight();
        break;
    // Highlight on focus
    case Event.ONFOCUS:
        highlight();
        break;
    // Mousewheel events
    case Event.ONMOUSEWHEEL:
        int velocityY = DOM.eventGetMouseWheelVelocityY(event);
        DOM.eventPreventDefault(event);
        if (velocityY < 0) {
            //             shiftRight(1,true);
        } else {
            // shiftLeft(1,true);
        }
        break;
    // Shift left or right on key press
    case Event.ONKEYDOWN:
        processKeyDown(event);
        break;
    // Stop shifting on key up
    case Event.ONKEYUP:
        keyTimer.cancel();
        if (slidingKeyboard) {
            slidingKeyboard = false;
            stopSliding(true, true);
        }
        break;
    // Mouse Events
    case Event.ONMOUSEDOWN:
    case Event.ONTOUCHSTART:
        setFocus(true);
        slidingMouse = true;
        DOM.setCapture(getElement());
        startSliding(true, true);
        DOM.eventPreventDefault(event);
        slideKnob(event);
        break;
    case Event.ONMOUSEUP:
        // case Event.ONTOUCHEND:
        if (slidingMouse) {
            DOM.releaseCapture(getElement());
            slidingMouse = false;
            slideKnob(event);
            stopSliding(true, true);
        }
        break;
    case Event.ONMOUSEMOVE:
    case Event.ONTOUCHMOVE:
        if (slidingMouse) {
            slideKnob(event);
        }
        break;
    }
    VConsole.log("sliding mouse " + slidingMouse + " slidKey" + slidingKeyboard + " step SZ" + stepSize);
}

From source file:com.lawal.client.ui.VSliderBar.java

License:Apache License

/**
 * Listen for events that will move the knob.
 * //from ww w.j  av a2s .c o m
 * @param event
 *            the event that occurred
 */
@Override
public void onBrowserEvent(Event event) {
    super.onBrowserEvent(event);
    // VConsole.log("browser event" + DOM.eventGetType(event));
    if (!enabled || readonly) {
        return;
    }
    switch (DOM.eventGetType(event)) {
    // Unhighlight and cancel keyboard events
    case Event.ONBLUR:
        keyTimer.cancel();
        if (slidingMouse) {
            DOM.releaseCapture(getElement());
            slidingMouse = false;
            slideKnob(event);
            stopSliding(true, true);
        } else if (slidingKeyboard) {
            slidingKeyboard = false;
            stopSliding(true, true);
        }
        unhighlight();
        break;
    // Highlight on focus
    case Event.ONFOCUS:
        highlight();
        break;
    // Mousewheel events
    case Event.ONMOUSEWHEEL:
        int velocityY = DOM.eventGetMouseWheelVelocityY(event);
        DOM.eventPreventDefault(event);
        if (velocityY < 0) {
            shiftRight(1, true);
        } else {
            shiftLeft(1, true);
        }
        break;
    // Shift left or right on key press
    case Event.ONKEYDOWN:
        processKeyDown(event);
        break;
    // Stop shifting on key up
    case Event.ONKEYUP:
        keyTimer.cancel();
        if (slidingKeyboard) {
            slidingKeyboard = false;
            stopSliding(true, true);
        }
        break;
    // Mouse Events
    case Event.ONMOUSEDOWN:
    case Event.ONTOUCHSTART:
        setFocus(true);
        slidingMouse = true;
        DOM.setCapture(getElement());
        startSliding(true, true);
        DOM.eventPreventDefault(event);
        slideKnob(event);
        break;
    case Event.ONMOUSEUP:
        // case Event.ONTOUCHEND:
        if (slidingMouse) {
            DOM.releaseCapture(getElement());
            slidingMouse = false;
            slideKnob(event);
            stopSliding(true, true);
        }
        break;
    case Event.ONMOUSEMOVE:
    case Event.ONTOUCHMOVE:
        if (slidingMouse) {
            slideKnob(event);
        }
        break;
    }
    VConsole.log("sldMouse " + slidingMouse + " slidKey" + slidingKeyboard + " stepSZ" + stepSize);
}

From source file:com.sencha.gxt.cell.core.client.form.ComboBoxCell.java

License:sencha.com license

protected void init(ListStore<T> store) {
    listContainer = new VerticalLayoutContainer();
    listContainer.getElement().makePositionable(true);
    listContainer.setBorders(true);/*w  w  w . jav a2  s .  c  o  m*/
    listContainer.setShadow(true);
    listContainer.add(listView, new VerticalLayoutData(1, -1));

    bindStore(store);

    final TapGestureRecognizer previewTapGestureRecognizer = new TapGestureRecognizer() {

        @Override
        protected void onTap(TouchData touchData) {
            NativeEvent event = touchData.getLastNativeEvent();
            Element target = touchData.getStartElement().asElement();
            if (listContainer.getElement().isOrHasChild(target)) {
                if (pagingToolBar == null || (!pagingToolBar.getElement().isOrHasChild(target))) {
                    onViewClick(lastParent, event, true, false);
                    event.preventDefault();
                }
            } else {
                collapseIf(target.<XElement>cast());
            }
            super.onTap(touchData);
        }
    };

    eventPreview = new BaseEventPreview() {
        protected boolean onPreview(NativePreviewEvent pe) {
            Element target = pe.getNativeEvent().getEventTarget().cast();

            // pointer event MOUSEDOWN conflicts with scrolling
            if (PointerEventsSupport.impl.isSupported()) {
                previewTapGestureRecognizer.handle(pe.getNativeEvent());
                return true;
            }

            switch (pe.getTypeInt()) {
            case Event.ONSCROLL:
            case Event.ONMOUSEWHEEL:
                collapseIf(pe);
                break;
            case Event.ONMOUSEDOWN:
                if (listContainer.getElement().isOrHasChild(target)) {
                    if (pagingToolBar == null || (!pagingToolBar.getElement().isOrHasChild(target))) {
                        onViewClick(lastParent, pe.getNativeEvent(), true, false);
                        pe.getNativeEvent().preventDefault();
                    }
                } else {
                    collapseIf(pe);
                }
                break;
            case Event.ONTOUCHSTART:
            case Event.ONTOUCHMOVE:
            case Event.ONTOUCHEND:
            case Event.ONTOUCHCANCEL:
                previewTapGestureRecognizer.handle(pe.getNativeEvent());
                break;
            }

            NativeEvent e = pe.getNativeEvent();

            if (pe.getTypeInt() == KeyNav.getKeyEvent() && expanded) {
                if (e.getKeyCode() == KeyCodes.KEY_ENTER) {
                    if (pagingToolBar != null && pagingToolBar.getElement().isOrHasChild(target)) {
                        return true;
                    }
                    e.stopPropagation();
                    e.preventDefault();

                    if (GXT.isIE()) {
                        ignoreNextEnter = true;
                    }

                    onViewClick(lastParent, e, false, true);
                }
            }
            return true;
        }
    };
    eventPreview.setAutoHide(false);

    dqTask = new DelayedTask() {

        @Override
        public void onExecute() {
            doQuery(lastContext, lastParent, lastValueUpdater, lastValue, getText(lastParent), false);
        }
    };

}