Search in sources :

Example 1 with MouseWheelEvent

use of com.google.gwt.event.dom.client.MouseWheelEvent 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 MouseWheelEvent

use of com.google.gwt.event.dom.client.MouseWheelEvent in project drools-wb by kiegroup.

the class CollectionEditorSingletonDOMElementFactory method createDomElement.

@Override
public CollectionEditorDOMElement createDomElement(final GridLayer gridLayer, final GridWidget gridWidget) {
    if (this.widget != null) {
        this.widget.close();
    }
    this.widget = createWidget();
    /* Don't propagate MouseWheel and RightClick events to the Grid */
    this.widget.addDomHandler(MouseWheelEvent::stopPropagation, MouseWheelEvent.getType());
    this.widget.addDomHandler(event -> {
        event.stopPropagation();
        event.preventDefault();
    }, ContextMenuEvent.getType());
    this.widget.addDomHandler(ClickEvent::stopPropagation, ClickEvent.getType());
    this.widget.addDomHandler(KeyDownEvent::stopPropagation, KeyDownEvent.getType());
    final AbstractScesimGridModel<? extends AbstractScesimModel, ? extends AbstractScesimData> model = ((ScenarioGrid) gridWidget).getModel();
    final GridData.SelectedCell selectedCellsOrigin = model.getSelectedCellsOrigin();
    final Optional<GridColumn<?>> selectedColumn = model.getColumns().stream().filter(col -> col.getIndex() == selectedCellsOrigin.getColumnIndex()).findFirst();
    selectedColumn.ifPresent(col -> {
        final int actualIndex = model.getColumns().indexOf(col);
        final FactMapping factMapping = model.getAbstractScesimModel().get().getScesimModelDescriptor().getFactMappingByIndex(actualIndex);
        setCollectionEditorStructureData(this.widget, factMapping);
        this.e = createDomElementInternal(widget, gridLayer, gridWidget);
    });
    return e;
}
Also used : RULE(org.drools.scenariosimulation.api.model.ScenarioSimulationModel.Type.RULE) ContextMenuEvent(com.google.gwt.event.dom.client.ContextMenuEvent) ScenarioSimulationModel(org.drools.scenariosimulation.api.model.ScenarioSimulationModel) ClickEvent(com.google.gwt.event.dom.client.ClickEvent) GridColumn(org.uberfire.ext.wires.core.grids.client.model.GridColumn) HashMap(java.util.HashMap) CollectionEditorDOMElement(org.drools.workbench.screens.scenariosimulation.client.domelements.CollectionEditorDOMElement) ScenarioSimulationContext(org.drools.workbench.screens.scenariosimulation.client.commands.ScenarioSimulationContext) AbstractScesimModel(org.drools.scenariosimulation.api.model.AbstractScesimModel) GridLienzoPanel(org.uberfire.ext.wires.core.grids.client.widget.layer.impl.GridLienzoPanel) CollectionViewImpl(org.drools.workbench.screens.scenariosimulation.client.collectioneditor.CollectionViewImpl) VALUE(org.drools.scenariosimulation.api.utils.ConstantsHolder.VALUE) ScenarioSimulationSharedUtils(org.drools.scenariosimulation.api.utils.ScenarioSimulationSharedUtils) Map(java.util.Map) AbstractScesimGridModel(org.drools.workbench.screens.scenariosimulation.client.models.AbstractScesimGridModel) ViewsProvider(org.drools.workbench.screens.scenariosimulation.client.utils.ViewsProvider) KeyDownEvent(com.google.gwt.event.dom.client.KeyDownEvent) ScenarioSimulationUtils(org.drools.workbench.screens.scenariosimulation.client.utils.ScenarioSimulationUtils) BaseSingletonDOMElementFactory(org.uberfire.ext.wires.core.grids.client.widget.dom.single.impl.BaseSingletonDOMElementFactory) ScenarioSimulationUtils.isSimpleJavaType(org.drools.workbench.screens.scenariosimulation.client.utils.ScenarioSimulationUtils.isSimpleJavaType) ScenarioGrid(org.drools.workbench.screens.scenariosimulation.client.widgets.ScenarioGrid) MouseWheelEvent(com.google.gwt.event.dom.client.MouseWheelEvent) GridData(org.uberfire.ext.wires.core.grids.client.model.GridData) Collectors(java.util.stream.Collectors) GridWidget(org.uberfire.ext.wires.core.grids.client.widget.grid.GridWidget) GridLayer(org.uberfire.ext.wires.core.grids.client.widget.layer.GridLayer) List(java.util.List) FactMapping(org.drools.scenariosimulation.api.model.FactMapping) Optional(java.util.Optional) AbstractScesimData(org.drools.scenariosimulation.api.model.AbstractScesimData) FactMapping(org.drools.scenariosimulation.api.model.FactMapping) KeyDownEvent(com.google.gwt.event.dom.client.KeyDownEvent) MouseWheelEvent(com.google.gwt.event.dom.client.MouseWheelEvent) ClickEvent(com.google.gwt.event.dom.client.ClickEvent) ScenarioGrid(org.drools.workbench.screens.scenariosimulation.client.widgets.ScenarioGrid) GridData(org.uberfire.ext.wires.core.grids.client.model.GridData) GridColumn(org.uberfire.ext.wires.core.grids.client.model.GridColumn)

Example 3 with MouseWheelEvent

use of com.google.gwt.event.dom.client.MouseWheelEvent in project drools-wb by kiegroup.

the class AbstractTextBoxSingletonDOMElementFactory method createWidget.

@Override
public TextArea createWidget() {
    final TextArea textArea = GWT.create(TextArea.class);
    /* Don't propagate MouseWheel and RightClick events to the Grid */
    textArea.addDomHandler(MouseWheelEvent::stopPropagation, MouseWheelEvent.getType());
    textArea.addDomHandler(event -> {
        event.stopPropagation();
        event.preventDefault();
    }, ContextMenuEvent.getType());
    return textArea;
}
Also used : MouseWheelEvent(com.google.gwt.event.dom.client.MouseWheelEvent) TextArea(org.gwtbootstrap3.client.ui.TextArea)

Aggregations

MouseWheelEvent (com.google.gwt.event.dom.client.MouseWheelEvent)3 ClickEvent (com.google.gwt.event.dom.client.ClickEvent)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 NodeTouchStartEvent (com.ait.lienzo.client.core.event.NodeTouchStartEvent)1 ClickHandler (com.google.gwt.event.dom.client.ClickHandler)1 ContextMenuEvent (com.google.gwt.event.dom.client.ContextMenuEvent)1 DoubleClickEvent (com.google.gwt.event.dom.client.DoubleClickEvent)1