Example usage for com.google.gwt.user.client DOM releaseCapture

List of usage examples for com.google.gwt.user.client DOM releaseCapture

Introduction

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

Prototype

public static void releaseCapture(Element elem) 

Source Link

Document

Releases mouse/touch/gesture capture on the given element.

Usage

From source file:asquare.gwt.tk.client.ui.behavior.DragController.java

License:Apache License

@Override
public void onMouseUp(MouseEvent e) {
    if (m_mouseDown) {
        // do last to prevent reentrancy via ONLOSECAPTURE
        DOM.releaseCapture(getPluggedInWidget().getElement());
    }// www  . j a va2s.  c om
    m_mouseDown = false;
}

From source file:at.ac.fhcampuswien.atom.client.gui.attributes.components.slider.SliderBar.java

License:Apache License

/**
 * Listen for events that will move the knob.
 * //from  ww  w  .  j  a v a  2  s  . co m
 * @param event the event that occurred
 */
@Override
public void onBrowserEvent(Event event) {
    super.onBrowserEvent(event);
    if (enabled) {
        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);
            } else {
                shiftLeft(1);
            }
            break;

        // Shift left or right on key press
        case Event.ONKEYDOWN:
            if (!slidingKeyboard) {
                int multiplier = 1;
                if (DOM.eventGetCtrlKey(event)) {
                    multiplier = (int) (getTotalRange() / stepSize / 10);
                }

                switch (DOM.eventGetKeyCode(event)) {
                case KeyCodes.KEY_HOME:
                    DOM.eventPreventDefault(event);
                    setCurrentValue(minValue);
                    break;
                case KeyCodes.KEY_END:
                    DOM.eventPreventDefault(event);
                    setCurrentValue(maxValue);
                    break;
                case KeyCodes.KEY_LEFT:
                    DOM.eventPreventDefault(event);
                    slidingKeyboard = true;
                    startSliding(false, true);
                    shiftLeft(multiplier);
                    keyTimer.schedule(400, false, multiplier);
                    break;
                case KeyCodes.KEY_RIGHT:
                    DOM.eventPreventDefault(event);
                    slidingKeyboard = true;
                    startSliding(false, true);
                    shiftRight(multiplier);
                    keyTimer.schedule(400, true, multiplier);
                    break;
                case 32:
                    DOM.eventPreventDefault(event);
                    setCurrentValue(minValue + getTotalRange() / 2);
                    break;
                }
            }
            break;
        // Stop shifting on key up
        case Event.ONKEYUP:
            keyTimer.cancel();
            if (slidingKeyboard) {
                slidingKeyboard = false;
                stopSliding(true, true);
            }
            break;

        // Mouse Events
        case Event.ONMOUSEDOWN:
            setFocus(true);
            slidingMouse = true;
            DOM.setCapture(getElement());
            startSliding(true, true);
            DOM.eventPreventDefault(event);
            slideKnob(event);
            break;
        case Event.ONMOUSEUP:
            if (slidingMouse) {
                DOM.releaseCapture(getElement());
                slidingMouse = false;
                slideKnob(event);
                stopSliding(true, true);
            }
            break;
        case Event.ONMOUSEMOVE:
            if (slidingMouse) {
                slideKnob(event);
            }
            break;
        }
    }
}

From source file:cc.alcina.framework.gwt.client.widget.complex.SliderBar.java

License:Apache License

/**
 * Listen for events that will move the knob.
 *
 * @param event//from   w  ww  . j  a v  a 2  s  . com
 *            the event that occurred
 */
@Override
public void onBrowserEvent(Event event) {
    super.onBrowserEvent(event);
    if (enabled) {
        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) {
                shiftUp(1);
            } else {
                shiftDown(1);
            }
            break;
        // Shift left or right on key press
        case Event.ONKEYDOWN:
            if (!slidingKeyboard && isKeyEventsEnabled()) {
                int multiplier = 1;
                if (DOM.eventGetCtrlKey(event)) {
                    multiplier = (int) (getTotalRange() / stepSize / 10);
                }
                switch (DOM.eventGetKeyCode(event)) {
                case KeyCodes.KEY_HOME:
                    DOM.eventPreventDefault(event);
                    setCurrentValue(minValue);
                    break;
                case KeyCodes.KEY_END:
                    DOM.eventPreventDefault(event);
                    setCurrentValue(maxValue);
                    break;
                case KeyCodes.KEY_LEFT:
                    DOM.eventPreventDefault(event);
                    slidingKeyboard = true;
                    startSliding(false, true);
                    shiftDown(multiplier);
                    keyTimer.schedule(400, false, multiplier);
                    break;
                case KeyCodes.KEY_RIGHT:
                    DOM.eventPreventDefault(event);
                    slidingKeyboard = true;
                    startSliding(false, true);
                    shiftUp(multiplier);
                    keyTimer.schedule(400, true, multiplier);
                    break;
                case 32:
                    DOM.eventPreventDefault(event);
                    setCurrentValue(minValue + getTotalRange() / 2);
                    break;
                }
            }
            break;
        // Stop shifting on key up
        case Event.ONKEYUP:
            keyTimer.cancel();
            if (slidingKeyboard) {
                slidingKeyboard = false;
                stopSliding(true, true);
            }
            break;
        // Mouse Events
        case Event.ONMOUSEDOWN:
            setFocus(true);
            slidingMouse = true;
            DOM.setCapture(getElement());
            startSliding(true, true);
            DOM.eventPreventDefault(event);
            slideKnob(event);
            break;
        case Event.ONMOUSEUP:
            if (slidingMouse) {
                DOM.releaseCapture(getElement());
                slidingMouse = false;
                slideKnob(event);
                stopSliding(true, true);
            }
            break;
        case Event.ONMOUSEMOVE:
            if (slidingMouse) {
                slideKnob(event);
            }
            break;
        }
    }
}

From source file:com.alkacon.geranium.client.ui.AreaSelectPanel.java

License:Open Source License

/**
 * @see com.google.gwt.event.dom.client.MouseUpHandler#onMouseUp(com.google.gwt.event.dom.client.MouseUpEvent)
 *//*from w ww .j a  v  a2 s . c  o  m*/
public void onMouseUp(MouseUpEvent event) {

    switch (m_state) {
    case SELECTING:
    case DRAGGING:
    case RESIZE_HEIGHT:
    case RESIZE_WIDTH:
        m_state = State.SELECTED;
        m_mouseOverArea = null;
        fireChangeEvent(true);
        DOM.releaseCapture(getElement());
        event.preventDefault();
        event.stopPropagation();
        break;
    case SELECTED:
    case EMPTY:
    default:
    }
}

From source file:com.alkacon.geranium.client.ui.Popup.java

License:Open Source License

/**
 * Called on mouse up in the caption area, ends dragging by ending event
 * capture.//from ww  w . j  a v  a2  s.  com
 * 
 * @param event the mouse up event that ended dragging
 * 
 * @see DOM#releaseCapture
 * @see #beginDragging
 * @see #endDragging
 */
protected void endDragging(MouseUpEvent event) {

    m_dragging = false;
    DOM.releaseCapture(getElement());
    removeStyleName(I_LayoutBundle.INSTANCE.dialogCss().dragging());
}

From source file:com.allen_sauer.gwt.dnd.client.MouseDragHandler.java

License:Apache License

private void dragEndCleanup() {
    DOM.releaseCapture(capturingWidget.getElement());
    capturingWidget.removeFromParent();
    dragging = NOT_DRAGGING;
    context.dragEndCleanup();
}

From source file:com.apress.progwt.client.gui.timeline.TLORangeEdge.java

License:Apache License

public void onMouseUp(Widget sender, int x, int y) {

    if (resizing) {
        int clientX = DOM.eventGetClientX(DOM.eventGetCurrentEvent());
        timeline.setDateFromDrag(tlo, rp, clientX, leftSide, true);
    }/*  ww w  . ja  va 2  s.  c om*/

    resizing = false;
    DOM.releaseCapture(myLabel.getElement());
}

From source file:com.bearsoft.gwt.ui.containers.DraggableDecoration.java

public DraggableDecoration(String... aClasses) {
    super();//from   ww w.j a  va  2  s. co  m
    Element e = Document.get().createDivElement();
    setElement(e);
    for (String className : aClasses) {
        e.addClassName(className);
    }
    addDomHandler(new MouseDownHandler() {

        @Override
        public void onMouseDown(MouseDownEvent event) {
            DOM.setCapture(getElement());
            event.preventDefault();
            event.stopPropagation();
            mouseScreenX = event.getScreenX();
            mouseScreenY = event.getScreenY();
            event.stopPropagation();
            Widget target = getMovableTarget();
            assert target != null : "movable target widget must present to accept position changes";
            String tLeft = target.getElement().getStyle().getLeft();
            targetScrollLeft = Double.parseDouble(tLeft.substring(0, tLeft.length() - 2));
            String tTop = target.getElement().getStyle().getTop();
            targetScrollTop = Double.parseDouble(tTop.substring(0, tTop.length() - 2));

            target = getResizableTarget();
            assert target != null : "resizable target widget must present to accept size changes";
            String tWidth = target.getElement().getStyle().getWidth();
            targetWidth = Double.parseDouble(tWidth.substring(0, tWidth.length() - 2));
            String tHeight = target.getElement().getStyle().getHeight();
            targetHeight = Double.parseDouble(tHeight.substring(0, tHeight.length() - 2));
            mousePressed();
        }
    }, MouseDownEvent.getType());
    addDomHandler(new MouseUpHandler() {

        @Override
        public void onMouseUp(MouseUpEvent event) {
            DOM.releaseCapture(getElement());
            event.preventDefault();
            event.stopPropagation();
            mouseReleased();
        }
    }, MouseUpEvent.getType());
    addDomHandler(new MouseMoveHandler() {

        @Override
        public void onMouseMove(MouseMoveEvent event) {
            if (DOM.getCaptureElement() == getElement()) {
                int dx = event.getScreenX() - mouseScreenX;
                int dy = event.getScreenY() - mouseScreenY;
                event.preventDefault();
                event.stopPropagation();
                changeTarget(getMovableTarget(), getResizableTarget(), dx, dy, event);
            }
        }

    }, MouseMoveEvent.getType());
}

From source file:com.bearsoft.gwt.ui.containers.window.WindowPanel.java

@Override
public final void setCaptionWidget(HasHTML aCaptionWidget) {
    if (captionWidget != aCaptionWidget) {
        if (captionWidget != null) {
            captionWidget.removeFromParent();
        }/*  www .j  a va2s .c o m*/
        if (mdHandler != null) {
            mdHandler.removeHandler();
        }
        if (muHandler != null) {
            muHandler.removeHandler();
        }
        if (mmHandler != null) {
            mmHandler.removeHandler();
        }
        if (aCaptionWidget instanceof Widget) {
            captionWidget = (Widget) aCaptionWidget;
        } else {
            captionWidget = new Caption(aCaptionWidget.getHTML());
        }
        if (captionWidget != null) {
            mdHandler = captionWidget.addDomHandler(new MouseDownHandler() {

                @Override
                public void onMouseDown(MouseDownEvent event) {
                    event.preventDefault();
                    event.stopPropagation();
                    focus();
                    if (movable && !maximized) {
                        DOM.setCapture(captionWidget.getElement());
                        mouseScreenX = event.getScreenX();
                        mouseScreenY = event.getScreenY();
                        String tLeft = getMovableTarget().getElement().getStyle().getLeft();
                        targetScrollLeft = Integer.parseInt(tLeft.substring(0, tLeft.length() - 2));
                        String tTop = getMovableTarget().getElement().getStyle().getTop();
                        targetScrollTop = Integer.parseInt(tTop.substring(0, tTop.length() - 2));
                        beginMoving();
                    }
                }

            }, MouseDownEvent.getType());
            muHandler = captionWidget.addDomHandler(new MouseUpHandler() {

                @Override
                public void onMouseUp(MouseUpEvent event) {
                    event.preventDefault();
                    event.stopPropagation();
                    if (movable && !maximized) {
                        DOM.releaseCapture(captionWidget.getElement());
                        endMoving();
                    }
                }

            }, MouseUpEvent.getType());
            mmHandler = captionWidget.addDomHandler(new MouseMoveHandler() {

                @Override
                public void onMouseMove(MouseMoveEvent event) {
                    if (movable && !maximized) {
                        if (DOM.getCaptureElement() == captionWidget.getElement()) {
                            event.preventDefault();
                            event.stopPropagation();
                            int dx = event.getScreenX() - mouseScreenX;
                            int dy = event.getScreenY() - mouseScreenY;
                            setPosition(targetScrollLeft + dx >= 0 ? targetScrollLeft + dx : 0,
                                    targetScrollTop + dy >= 0 ? targetScrollTop + dy : 0);
                        }
                    }
                }

            }, MouseMoveEvent.getType());
            verticalPanel.insert(captionWidget, 0);
        }
    }
}

From source file:com.bearsoft.gwt.ui.widgets.progress.SliderBar.java

License:Apache License

/**
 * Listen for events that will move the knob.
 *
 * @param event the event that occurred/*from ww w . j av  a  2 s .c o  m*/
 */
@Override
public void onBrowserEvent(Event event) {
    super.onBrowserEvent(event);
    if (enabled) {
        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);
            } else if (slidingKeyboard) {
                slidingKeyboard = false;
                stopSliding(true);
            }
            unhighlightFocus();
            break;

        // Highlight on focus
        case Event.ONFOCUS:
            highlightFocus();
            break;

        // Mousewheel events
        case Event.ONMOUSEWHEEL:
            int velocityY = event.getMouseWheelVelocityY();
            event.preventDefault();
            if (velocityY > 0) {
                shiftRight(1);
            } else {
                shiftLeft(1);
            }
            break;

        // Shift left or right on key press
        case Event.ONKEYDOWN:
            if (!slidingKeyboard) {
                int multiplier = 1;
                if (event.getCtrlKey()) {
                    multiplier = (int) (getTotalRange() / stepSize / 10);
                }

                switch (event.getKeyCode()) {
                case KeyCodes.KEY_HOME:
                    event.preventDefault();
                    setValue(minValue, true);
                    break;
                case KeyCodes.KEY_END:
                    event.preventDefault();
                    setValue(maxValue, true);
                    break;
                case KeyCodes.KEY_LEFT:
                    event.preventDefault();
                    slidingKeyboard = true;
                    startSliding(false);
                    shiftLeft(multiplier);
                    keyTimer.schedule(400, false, multiplier);
                    break;
                case KeyCodes.KEY_RIGHT:
                    event.preventDefault();
                    slidingKeyboard = true;
                    startSliding(false);
                    shiftRight(multiplier);
                    keyTimer.schedule(400, true, multiplier);
                    break;
                case KeyCodes.KEY_SPACE:
                    event.preventDefault();
                    setValue(minValue + getTotalRange() / 2, true);
                    break;
                }
            }
            break;
        // Stop shifting on key up
        case Event.ONKEYUP:
            keyTimer.cancel();
            if (slidingKeyboard) {
                slidingKeyboard = false;
                stopSliding(true);
            }
            break;

        // Mouse Events
        case Event.ONMOUSEDOWN:
            setFocus(true);
            slidingMouse = true;
            DOM.setCapture(getElement());
            startSliding(true);
            event.preventDefault();
            //slideKnob(event);
            break;
        case Event.ONMOUSEUP:
            if (slidingMouse) {
                DOM.releaseCapture(getElement());
                slidingMouse = false;
                slideKnob(event);
                stopSliding(true);
            }
            break;
        case Event.ONMOUSEMOVE:
            if (slidingMouse) {
                slideKnob(event);
            }
            break;
        }
    }
}