Search in sources :

Example 1 with MouseUpEvent

use of com.google.gwt.event.dom.client.MouseUpEvent in project lienzo-core by ahome-it.

the class LienzoHandlerManager method addHandlers.

private final void addHandlers() {
    m_lienzo.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(final ClickEvent event) {
            if (!m_viewport.getOnEventHandlers().getOnMouseClickEventHandle().onMouseEventBefore(event)) {
                // could have been set previously by a mousedown, it will need cleaning up
                m_dragging_mouse_pressed = false;
                m_dragging_ignore_clicks = false;
                m_dragging = false;
                return;
            }
            onNodeMouseClick(new NodeMouseClickEvent(event));
            m_mouse_button_left = (event.getNativeButton() == NativeEvent.BUTTON_LEFT);
            m_mouse_button_middle = (event.getNativeButton() == NativeEvent.BUTTON_MIDDLE);
            m_mouse_button_right = (event.getNativeButton() == NativeEvent.BUTTON_RIGHT);
            event.preventDefault();
            m_viewport.getOnEventHandlers().getOnMouseClickEventHandle().onMouseEventAfter(event);
        }
    });
    m_lienzo.addDoubleClickHandler(new DoubleClickHandler() {

        @Override
        public void onDoubleClick(final DoubleClickEvent event) {
            if (!m_viewport.getOnEventHandlers().getOnMouseDoubleClickEventHandle().onMouseEventBefore(event)) {
                return;
            }
            onNodeMouseDoubleClick(new NodeMouseDoubleClickEvent(event));
            m_mouse_button_left = (event.getNativeButton() == NativeEvent.BUTTON_LEFT);
            m_mouse_button_middle = (event.getNativeButton() == NativeEvent.BUTTON_MIDDLE);
            m_mouse_button_right = (event.getNativeButton() == NativeEvent.BUTTON_RIGHT);
            event.preventDefault();
            m_viewport.getOnEventHandlers().getOnMouseDoubleClickEventHandle().onMouseEventBefore(event);
        }
    });
    m_lienzo.addMouseMoveHandler(new MouseMoveHandler() {

        @Override
        public void onMouseMove(final MouseMoveEvent event) {
            if (!m_viewport.getOnEventHandlers().getOnMouseMoveEventHandle().onMouseEventBefore(event)) {
                return;
            }
            if ((m_dragging) && (m_dragging_using_touches)) {
                event.preventDefault();
                // Ignore weird Mouse Move (0,0) in the middle of a Touch Drag on iOS/Safari
                return;
            }
            final NodeMouseMoveEvent nevent = new NodeMouseMoveEvent(event);
            if (m_mediators.handleEvent(nevent)) {
                event.preventDefault();
                return;
            }
            m_mouse_button_left = (event.getNativeButton() == NativeEvent.BUTTON_LEFT);
            m_mouse_button_middle = (event.getNativeButton() == NativeEvent.BUTTON_MIDDLE);
            m_mouse_button_right = (event.getNativeButton() == NativeEvent.BUTTON_RIGHT);
            onNodeMouseMove(nevent);
            event.preventDefault();
            m_viewport.getOnEventHandlers().getOnMouseMoveEventHandle().onMouseEventBefore(event);
        }
    });
    m_lienzo.addMouseUpHandler(new MouseUpHandler() {

        @Override
        public void onMouseUp(final MouseUpEvent event) {
            if (!m_viewport.getOnEventHandlers().getOnMouseUpEventHandle().onMouseEventBefore(event)) {
                // could have been set previously by a mousedown, it will need cleaning up
                m_dragging_mouse_pressed = false;
                m_dragging_ignore_clicks = false;
                m_dragging = false;
                return;
            }
            final NodeMouseUpEvent nevent = new NodeMouseUpEvent(event);
            if (m_mediators.handleEvent(nevent)) {
                return;
            }
            m_mouse_button_left = (event.getNativeButton() == NativeEvent.BUTTON_LEFT);
            m_mouse_button_middle = (event.getNativeButton() == NativeEvent.BUTTON_MIDDLE);
            m_mouse_button_right = (event.getNativeButton() == NativeEvent.BUTTON_RIGHT);
            onNodeMouseUp(nevent);
            m_viewport.getOnEventHandlers().getOnMouseUpEventHandle().onMouseEventBefore(event);
        }
    });
    m_lienzo.addMouseDownHandler(new MouseDownHandler() {

        @Override
        public void onMouseDown(final MouseDownEvent event) {
            if (!m_viewport.getOnEventHandlers().getOnMouseDownEventHandle().onMouseEventBefore(event)) {
                return;
            }
            final NodeMouseDownEvent nevent = new NodeMouseDownEvent(event);
            if (m_mediators.handleEvent(nevent)) {
                event.preventDefault();
                return;
            }
            m_mouse_button_left = (event.getNativeButton() == NativeEvent.BUTTON_LEFT);
            m_mouse_button_middle = (event.getNativeButton() == NativeEvent.BUTTON_MIDDLE);
            m_mouse_button_right = (event.getNativeButton() == NativeEvent.BUTTON_RIGHT);
            onNodeMouseDown(nevent);
            event.preventDefault();
            m_viewport.getOnEventHandlers().getOnMouseDownEventHandle().onMouseEventBefore(event);
        }
    });
    m_lienzo.addMouseOutHandler(new MouseOutHandler() {

        @Override
        public void onMouseOut(final MouseOutEvent event) {
            final NodeMouseOutEvent nevent = new NodeMouseOutEvent(event);
            if (m_mediators.handleEvent(nevent)) {
                return;
            }
            onNodeMouseOut(nevent);
        }
    });
    m_lienzo.addMouseOverHandler(new MouseOverHandler() {

        @Override
        public void onMouseOver(final MouseOverEvent event) {
            final NodeMouseOverEvent nevent = new NodeMouseOverEvent(event);
            if (m_mediators.handleEvent(nevent)) {
                return;
            }
            onNodeMouseOver(nevent);
        }
    });
    m_lienzo.addMouseWheelHandler(new MouseWheelHandler() {

        @Override
        public void onMouseWheel(final MouseWheelEvent event) {
            final NodeMouseWheelEvent nevent = new NodeMouseWheelEvent(event);
            if (m_mediators.handleEvent(nevent)) {
                event.preventDefault();
                event.stopPropagation();
            } else {
                fireEvent(nevent);
            }
        }
    });
    m_lienzo.addTouchCancelHandler(new TouchCancelHandler() {

        @Override
        public void onTouchCancel(final TouchCancelEvent event) {
            final NodeTouchCancelEvent nevent = new NodeTouchCancelEvent(event, getTouches(event));
            if (m_mediators.handleEvent(event)) {
                event.preventDefault();
                return;
            }
            onNodeMouseOut(nevent);
            event.preventDefault();
        }
    });
    m_lienzo.addTouchEndHandler(new TouchEndHandler() {

        @Override
        public void onTouchEnd(final TouchEndEvent event) {
            final NodeTouchEndEvent nevent = new NodeTouchEndEvent(event, m_touches);
            if (m_mediators.handleEvent(nevent)) {
                event.preventDefault();
                return;
            }
            onNodeMouseUp(nevent);
            event.preventDefault();
        }
    });
    m_lienzo.addTouchMoveHandler(new TouchMoveHandler() {

        @Override
        public void onTouchMove(final TouchMoveEvent event) {
            m_touches = getTouches(event);
            final NodeTouchMoveEvent nevent = new NodeTouchMoveEvent(event, m_touches);
            if (m_mediators.handleEvent(nevent)) {
                event.preventDefault();
                return;
            }
            onNodeMouseMove(nevent);
            event.preventDefault();
        }
    });
    m_lienzo.addTouchStartHandler(new TouchStartHandler() {

        @Override
        public void onTouchStart(final TouchStartEvent event) {
            m_touches = getTouches(event);
            final NodeTouchStartEvent nevent = new NodeTouchStartEvent(event, m_touches);
            if (m_mediators.handleEvent(nevent)) {
                event.preventDefault();
                return;
            }
            onNodeMouseDown(nevent);
            event.preventDefault();
        }
    });
    m_lienzo.addGestureStartHandler(new GestureStartHandler() {

        @Override
        public void onGestureStart(final GestureStartEvent event) {
            final NodeGestureStartEvent nevent = new NodeGestureStartEvent(event.getScale(), event.getRotation());
            if (m_mediators.handleEvent(nevent)) {
                event.preventDefault();
                return;
            }
            fireEvent(nevent);
            event.preventDefault();
        }
    });
    m_lienzo.addGestureEndHandler(new GestureEndHandler() {

        @Override
        public void onGestureEnd(final GestureEndEvent event) {
            final NodeGestureEndEvent nevent = new NodeGestureEndEvent(event.getScale(), event.getRotation());
            if (m_mediators.handleEvent(nevent)) {
                event.preventDefault();
                return;
            }
            fireEvent(nevent);
            event.preventDefault();
        }
    });
    m_lienzo.addGestureChangeHandler(new GestureChangeHandler() {

        @Override
        public void onGestureChange(final GestureChangeEvent event) {
            final NodeGestureChangeEvent nevent = new NodeGestureChangeEvent(event.getScale(), event.getRotation());
            if (m_mediators.handleEvent(nevent)) {
                event.preventDefault();
                return;
            }
            fireEvent(nevent);
            event.preventDefault();
        }
    });
}
Also used : MouseUpHandler(com.google.gwt.event.dom.client.MouseUpHandler) NodeMouseClickEvent(com.ait.lienzo.client.core.event.NodeMouseClickEvent) NodeMouseDoubleClickEvent(com.ait.lienzo.client.core.event.NodeMouseDoubleClickEvent) ClickEvent(com.google.gwt.event.dom.client.ClickEvent) DoubleClickEvent(com.google.gwt.event.dom.client.DoubleClickEvent) NodeGestureStartEvent(com.ait.lienzo.client.core.event.NodeGestureStartEvent) NodeMouseClickEvent(com.ait.lienzo.client.core.event.NodeMouseClickEvent) MouseOutEvent(com.google.gwt.event.dom.client.MouseOutEvent) NodeMouseOutEvent(com.ait.lienzo.client.core.event.NodeMouseOutEvent) MouseOutHandler(com.google.gwt.event.dom.client.MouseOutHandler) TouchStartHandler(com.google.gwt.event.dom.client.TouchStartHandler) TouchStartEvent(com.google.gwt.event.dom.client.TouchStartEvent) NodeTouchStartEvent(com.ait.lienzo.client.core.event.NodeTouchStartEvent) MouseOverEvent(com.google.gwt.event.dom.client.MouseOverEvent) NodeMouseOverEvent(com.ait.lienzo.client.core.event.NodeMouseOverEvent) GestureStartHandler(com.google.gwt.event.dom.client.GestureStartHandler) MouseOverHandler(com.google.gwt.event.dom.client.MouseOverHandler) GestureChangeHandler(com.google.gwt.event.dom.client.GestureChangeHandler) NodeGestureChangeEvent(com.ait.lienzo.client.core.event.NodeGestureChangeEvent) NodeMouseOverEvent(com.ait.lienzo.client.core.event.NodeMouseOverEvent) NodeMouseWheelEvent(com.ait.lienzo.client.core.event.NodeMouseWheelEvent) MouseWheelHandler(com.google.gwt.event.dom.client.MouseWheelHandler) TouchMoveHandler(com.google.gwt.event.dom.client.TouchMoveHandler) NodeMouseMoveEvent(com.ait.lienzo.client.core.event.NodeMouseMoveEvent) TouchCancelEvent(com.google.gwt.event.dom.client.TouchCancelEvent) NodeTouchCancelEvent(com.ait.lienzo.client.core.event.NodeTouchCancelEvent) NodeMouseMoveEvent(com.ait.lienzo.client.core.event.NodeMouseMoveEvent) MouseMoveEvent(com.google.gwt.event.dom.client.MouseMoveEvent) GestureEndHandler(com.google.gwt.event.dom.client.GestureEndHandler) NodeMouseUpEvent(com.ait.lienzo.client.core.event.NodeMouseUpEvent) NodeTouchEndEvent(com.ait.lienzo.client.core.event.NodeTouchEndEvent) NodeMouseDownEvent(com.ait.lienzo.client.core.event.NodeMouseDownEvent) MouseDownEvent(com.google.gwt.event.dom.client.MouseDownEvent) NodeMouseDoubleClickEvent(com.ait.lienzo.client.core.event.NodeMouseDoubleClickEvent) DoubleClickEvent(com.google.gwt.event.dom.client.DoubleClickEvent) NodeMouseDownEvent(com.ait.lienzo.client.core.event.NodeMouseDownEvent) NodeMouseUpEvent(com.ait.lienzo.client.core.event.NodeMouseUpEvent) MouseUpEvent(com.google.gwt.event.dom.client.MouseUpEvent) TouchMoveEvent(com.google.gwt.event.dom.client.TouchMoveEvent) NodeTouchMoveEvent(com.ait.lienzo.client.core.event.NodeTouchMoveEvent) NodeTouchMoveEvent(com.ait.lienzo.client.core.event.NodeTouchMoveEvent) NodeMouseDoubleClickEvent(com.ait.lienzo.client.core.event.NodeMouseDoubleClickEvent) MouseMoveHandler(com.google.gwt.event.dom.client.MouseMoveHandler) NodeTouchStartEvent(com.ait.lienzo.client.core.event.NodeTouchStartEvent) NodeGestureEndEvent(com.ait.lienzo.client.core.event.NodeGestureEndEvent) NodeTouchCancelEvent(com.ait.lienzo.client.core.event.NodeTouchCancelEvent) GestureStartEvent(com.google.gwt.event.dom.client.GestureStartEvent) NodeGestureStartEvent(com.ait.lienzo.client.core.event.NodeGestureStartEvent) DoubleClickHandler(com.google.gwt.event.dom.client.DoubleClickHandler) ClickHandler(com.google.gwt.event.dom.client.ClickHandler) MouseWheelEvent(com.google.gwt.event.dom.client.MouseWheelEvent) NodeMouseWheelEvent(com.ait.lienzo.client.core.event.NodeMouseWheelEvent) DoubleClickHandler(com.google.gwt.event.dom.client.DoubleClickHandler) NodeGestureChangeEvent(com.ait.lienzo.client.core.event.NodeGestureChangeEvent) GestureChangeEvent(com.google.gwt.event.dom.client.GestureChangeEvent) NodeMouseOutEvent(com.ait.lienzo.client.core.event.NodeMouseOutEvent) TouchEndEvent(com.google.gwt.event.dom.client.TouchEndEvent) NodeTouchEndEvent(com.ait.lienzo.client.core.event.NodeTouchEndEvent) MouseDownHandler(com.google.gwt.event.dom.client.MouseDownHandler) TouchCancelHandler(com.google.gwt.event.dom.client.TouchCancelHandler) TouchEndHandler(com.google.gwt.event.dom.client.TouchEndHandler) NodeGestureEndEvent(com.ait.lienzo.client.core.event.NodeGestureEndEvent) GestureEndEvent(com.google.gwt.event.dom.client.GestureEndEvent)

Example 2 with MouseUpEvent

use of com.google.gwt.event.dom.client.MouseUpEvent in project kie-wb-common by kiegroup.

the class ShapeGlyphDragHandler method attachHandlers.

private void attachHandlers(final ShapeGlyphDragHandler.Callback callback) {
    final AbsolutePanel root = rootPanelSupplier.get();
    // Mouse move event registration & handling..
    register(root.addDomHandler(event -> onMouseMove(event, callback), MouseMoveEvent.getType()));
    // Mouse up event registration & handling..
    // delay to attach the MouseUpEvent handler, to avoid "clicking" to drop item.
    timer.accept(() -> {
        register(root.addDomHandler(event -> onMouseUp(event, callback), MouseUpEvent.getType()));
    }, 200);
    // Keyboard event registration & handling..
    register(root.addDomHandler(this::onKeyDown, KeyDownEvent.getType()));
}
Also used : MouseMoveEvent(com.google.gwt.event.dom.client.MouseMoveEvent) AbsolutePanel(com.google.gwt.user.client.ui.AbsolutePanel) Function(java.util.function.Function) Supplier(java.util.function.Supplier) RootPanel(com.google.gwt.user.client.ui.RootPanel) ArrayList(java.util.ArrayList) Objects(java.util.Objects) Inject(javax.inject.Inject) HandlerRegistration(com.google.gwt.event.shared.HandlerRegistration) List(java.util.List) Layer(com.ait.lienzo.client.core.shape.Layer) Style(com.google.gwt.dom.client.Style) Glyph(org.kie.workbench.common.stunner.core.definition.shape.Glyph) Dependent(javax.enterprise.context.Dependent) LienzoPanel(com.ait.lienzo.client.widget.panel.LienzoPanel) MouseUpEvent(com.google.gwt.event.dom.client.MouseUpEvent) BiConsumer(java.util.function.BiConsumer) LienzoPanelImpl(com.ait.lienzo.client.widget.panel.impl.LienzoPanelImpl) KeyDownEvent(com.google.gwt.event.dom.client.KeyDownEvent) Timer(com.google.gwt.user.client.Timer) Command(org.uberfire.mvp.Command) AbsolutePanel(com.google.gwt.user.client.ui.AbsolutePanel)

Example 3 with MouseUpEvent

use of com.google.gwt.event.dom.client.MouseUpEvent in project gerrit by GerritCodeReview.

the class DraftBox method initResizeHandler.

private void initResizeHandler() {
    resizeTimer = new Timer() {

        @Override
        public void run() {
            getCommentGroup().resize();
        }
    };
    addDomHandler(new MouseMoveHandler() {

        @Override
        public void onMouseMove(MouseMoveEvent event) {
            int h = editArea.getOffsetHeight();
            if (isEdit() && h != editAreaHeight) {
                getCommentGroup().resize();
                resizeTimer.scheduleRepeating(50);
                editAreaHeight = h;
            }
        }
    }, MouseMoveEvent.getType());
    addDomHandler(new MouseUpHandler() {

        @Override
        public void onMouseUp(MouseUpEvent event) {
            resizeTimer.cancel();
            getCommentGroup().resize();
        }
    }, MouseUpEvent.getType());
}
Also used : Timer(com.google.gwt.user.client.Timer) MouseMoveEvent(com.google.gwt.event.dom.client.MouseMoveEvent) MouseUpHandler(com.google.gwt.event.dom.client.MouseUpHandler) MouseUpEvent(com.google.gwt.event.dom.client.MouseUpEvent) MouseMoveHandler(com.google.gwt.event.dom.client.MouseMoveHandler)

Example 4 with MouseUpEvent

use of com.google.gwt.event.dom.client.MouseUpEvent in project pentaho-platform by pentaho.

the class EmailAdminPanelController method prepareTextBox.

private void prepareTextBox(final TextBox textBox, final ChangeHandler changeHandler) {
    textBox.addKeyUpHandler(new KeyUpHandler() {

        @Override
        public void onKeyUp(KeyUpEvent event) {
            changeHandler.onChange(null);
        }
    });
    textBox.addMouseUpHandler(new MouseUpHandler() {

        @Override
        public void onMouseUp(MouseUpEvent event) {
            final String oldValue = textBox.getValue();
            new // set timer for IE 'x' clear input button.
            Timer() {

                @Override
                public void run() {
                    if (!oldValue.equals(textBox.getValue())) {
                        changeHandler.onChange(null);
                    }
                }
            }.schedule(100);
        }
    });
}
Also used : Timer(com.google.gwt.user.client.Timer) KeyUpEvent(com.google.gwt.event.dom.client.KeyUpEvent) MouseUpHandler(com.google.gwt.event.dom.client.MouseUpHandler) MouseUpEvent(com.google.gwt.event.dom.client.MouseUpEvent) KeyUpHandler(com.google.gwt.event.dom.client.KeyUpHandler)

Example 5 with MouseUpEvent

use of com.google.gwt.event.dom.client.MouseUpEvent in project kie-wb-common by kiegroup.

the class ShapeGlyphDragHandlerTest method testProxyhHandlers.

@Test
public void testProxyhHandlers() throws Exception {
    Callback callback = mock(Callback.class);
    tested.show(glyphDragItem, 11, 33, callback);
    // Check keyboard event handling.
    assertEquals(keyHandlerReg, handlerRegistrations.get(2));
    // Check mouse move event handling.
    assertEquals(moveHandlerReg, handlerRegistrations.get(0));
    MouseMoveEvent moveEvent = mock(MouseMoveEvent.class);
    when(moveEvent.getX()).thenReturn(7);
    when(moveEvent.getY()).thenReturn(9);
    when(moveEvent.getClientX()).thenReturn(3);
    when(moveEvent.getClientY()).thenReturn(5);
    tested.onMouseMove(moveEvent, callback);
    verify(proxyStyle, times(1)).setLeft(eq(7d), eq(Style.Unit.PX));
    verify(proxyStyle, times(1)).setTop(eq(9d), eq(Style.Unit.PX));
    verify(callback, times(1)).onMove(eq(3), eq(5));
    // Check mouse up event handling.
    assertEquals(upHandlerReg, handlerRegistrations.get(1));
    MouseUpEvent upEvent = mock(MouseUpEvent.class);
    when(upEvent.getX()).thenReturn(7);
    when(upEvent.getY()).thenReturn(9);
    when(upEvent.getClientX()).thenReturn(3);
    when(upEvent.getClientY()).thenReturn(5);
    tested.onMouseUp(upEvent, callback);
    verify(moveHandlerReg, times(1)).removeHandler();
    verify(upHandlerReg, times(1)).removeHandler();
    verify(rootPanel, times(1)).remove(eq(proxyPanel));
    verify(callback, times(1)).onComplete(eq(3), eq(5));
    assertTrue(handlerRegistrations.isEmpty());
}
Also used : Callback(org.kie.workbench.common.stunner.client.lienzo.components.glyph.ShapeGlyphDragHandler.Callback) MouseMoveEvent(com.google.gwt.event.dom.client.MouseMoveEvent) MouseUpEvent(com.google.gwt.event.dom.client.MouseUpEvent) Test(org.junit.Test)

Aggregations

MouseUpEvent (com.google.gwt.event.dom.client.MouseUpEvent)6 MouseMoveEvent (com.google.gwt.event.dom.client.MouseMoveEvent)4 MouseUpHandler (com.google.gwt.event.dom.client.MouseUpHandler)4 MouseMoveHandler (com.google.gwt.event.dom.client.MouseMoveHandler)2 Timer (com.google.gwt.user.client.Timer)2 Test (org.junit.Test)2 NodeGestureChangeEvent (com.ait.lienzo.client.core.event.NodeGestureChangeEvent)1 NodeGestureEndEvent (com.ait.lienzo.client.core.event.NodeGestureEndEvent)1 NodeGestureStartEvent (com.ait.lienzo.client.core.event.NodeGestureStartEvent)1 NodeMouseClickEvent (com.ait.lienzo.client.core.event.NodeMouseClickEvent)1 NodeMouseDoubleClickEvent (com.ait.lienzo.client.core.event.NodeMouseDoubleClickEvent)1 NodeMouseDownEvent (com.ait.lienzo.client.core.event.NodeMouseDownEvent)1 NodeMouseMoveEvent (com.ait.lienzo.client.core.event.NodeMouseMoveEvent)1 NodeMouseOutEvent (com.ait.lienzo.client.core.event.NodeMouseOutEvent)1 NodeMouseOverEvent (com.ait.lienzo.client.core.event.NodeMouseOverEvent)1 NodeMouseUpEvent (com.ait.lienzo.client.core.event.NodeMouseUpEvent)1 NodeMouseWheelEvent (com.ait.lienzo.client.core.event.NodeMouseWheelEvent)1 NodeTouchCancelEvent (com.ait.lienzo.client.core.event.NodeTouchCancelEvent)1 NodeTouchEndEvent (com.ait.lienzo.client.core.event.NodeTouchEndEvent)1 NodeTouchMoveEvent (com.ait.lienzo.client.core.event.NodeTouchMoveEvent)1