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

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

Introduction

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

Prototype

int ONBLUR

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

Click Source Link

Document

Fired when an element loses keyboard focus.

Usage

From source file:asquare.gwt.debug.client.DebugUtil.java

License:Apache License

/**
 * Renders an event bitmask as a human readable String. 
 * /*www  . j ava 2s.  c o m*/
 * @param eventMask
 * @return a String describing the events, or "" if <code>eventMask</code> is <code>0</code>
 */
public static String prettyPrintEventMask(int eventMask) {
    StringBuffer result = new StringBuffer();
    if ((eventMask & Event.ONBLUR) != 0) {
        result.append("blur ");
    }
    if ((eventMask & Event.ONCHANGE) != 0) {
        result.append("change ");
    }
    if ((eventMask & Event.ONCLICK) != 0) {
        result.append("click ");
    }
    if ((eventMask & Event.ONCONTEXTMENU) != 0) {
        result.append("contextmenu ");
    }
    if ((eventMask & Event.ONDBLCLICK) != 0) {
        result.append("dblclick ");
    }
    if ((eventMask & Event.ONERROR) != 0) {
        result.append("error ");
    }
    if ((eventMask & Event.ONFOCUS) != 0) {
        result.append("focus ");
    }
    if ((eventMask & Event.ONKEYDOWN) != 0) {
        result.append("keydown ");
    }
    if ((eventMask & Event.ONKEYPRESS) != 0) {
        result.append("keypress ");
    }
    if ((eventMask & Event.ONKEYUP) != 0) {
        result.append("keyup ");
    }
    if ((eventMask & Event.ONLOAD) != 0) {
        result.append("load ");
    }
    if ((eventMask & Event.ONLOSECAPTURE) != 0) {
        result.append("losecapture ");
    }
    if ((eventMask & Event.ONMOUSEDOWN) != 0) {
        result.append("mousedown ");
    }
    if ((eventMask & Event.ONMOUSEMOVE) != 0) {
        result.append("mousemove ");
    }
    if ((eventMask & Event.ONMOUSEOUT) != 0) {
        result.append("mouseout ");
    }
    if ((eventMask & Event.ONMOUSEOVER) != 0) {
        result.append("mouseover ");
    }
    if ((eventMask & Event.ONMOUSEUP) != 0) {
        result.append("mouseup ");
    }
    if ((eventMask & Event.ONSCROLL) != 0) {
        result.append("scroll ");
    }
    return result.toString();
}

From source file:asquare.gwt.debug.client.DebugUtil.java

License:Apache License

/**
 * Creates a human readable String describing the specified event.
 * /*from w w w  .j  a v a  2s.co  m*/
 * @param event an {@link Event}
 * @return a String describing the <code>event</code>, or
 *         <code>"null"</code> if <code>event</code> is null
 */
public static String prettyPrintEvent(Event event) {
    if (event == null)
        return String.valueOf(event);

    switch (DOM.eventGetType(event)) {
    case Event.ONKEYDOWN:
        return "event[type=onKeyDown," + createKeyString(event) + "]";

    case Event.ONKEYUP:
        return "event[type=onKeyUp," + createKeyString(event) + "]";

    case Event.ONKEYPRESS:
        return "event[type=onKeyPress," + createKeyString(event) + "]";

    case Event.ONCHANGE:
        return "event[type=onChange,target=" + getTagName(DOM.eventGetTarget(event)) + "]";

    case Event.ONFOCUS:
        return "event[type=onFocus,target=" + getTagName(DOM.eventGetTarget(event)) + "]";

    case Event.ONBLUR:
        return "event[type=onBlur,target=" + getTagName(DOM.eventGetTarget(event)) + "]";

    case Event.ONCLICK:
        return "event[type=onClick,target=" + getTagName(DOM.eventGetTarget(event)) + "]";

    case Event.ONDBLCLICK:
        return "event[type=onDblClick,target=" + getTagName(DOM.eventGetTarget(event)) + "]";

    case Event.ONERROR:
        return "event[type=onError,target=" + getTagName(DOM.eventGetTarget(event)) + "]";

    case Event.ONLOAD:
        return "event[type=onLoad,target=" + getTagName(DOM.eventGetTarget(event)) + "]";

    case Event.ONLOSECAPTURE:
        return "event[type=onLoseCapture,target=" + getTagName(DOM.eventGetTarget(event)) + "]";

    case Event.ONMOUSEDOWN:
        return "event[type=onMouseDown," + createMouseString(event) + "]";

    case Event.ONMOUSEUP:
        return "event[type=onMouseUp," + createMouseString(event) + "]";

    case Event.ONMOUSEOVER:
        return "event[type=onMouseOver," + createMouseString(event) + "]";

    case Event.ONMOUSEOUT:
        return "event[type=onMouseOut," + createMouseString(event) + "]";

    case Event.ONMOUSEMOVE:
        return "event[type=onMouseMove," + createMouseString(event) + "]";

    case Event.ONMOUSEWHEEL:
        return "event[type=onMouseWheel," + createMouseString(event) + "]";

    case Event.ONSCROLL:
        return "event[type=onScroll,target=" + getTagName(DOM.eventGetTarget(event)) + "]";

    default:
        return DOM.eventToString(event);
    }
}

From source file:asquare.gwt.tk.demo.client.DebugPanel.java

License:Apache License

private Widget createCheckBoxes() {
    // can't use HashMap because it does not preserve order
    final Vector eventToMask = new Vector();
    eventToMask.add(new EventToMask("onfocus", Event.ONFOCUS));
    eventToMask.add(new EventToMask("onblur", Event.ONBLUR));
    eventToMask.add(new EventToMask("onchange", Event.ONCHANGE));
    eventToMask.add(new EventToMask("onkeydown", Event.ONKEYDOWN));
    eventToMask.add(new EventToMask("onkeypress", Event.ONKEYPRESS));
    eventToMask.add(new EventToMask("onkeyup", Event.ONKEYUP));
    eventToMask.add(new EventToMask("onscroll", Event.ONSCROLL));
    eventToMask.add(new EventToMask("onmousemove", Event.ONMOUSEMOVE));
    eventToMask.add(new EventToMask("onmouseover", Event.ONMOUSEOVER));
    eventToMask.add(new EventToMask("onmouseout", Event.ONMOUSEOUT));
    eventToMask.add(new EventToMask("onmousedown", Event.ONMOUSEDOWN));
    eventToMask.add(new EventToMask("onmouseup", Event.ONMOUSEUP));
    eventToMask.add(new EventToMask("onclick", Event.ONCLICK));
    eventToMask.add(new EventToMask("ondblclick", Event.ONDBLCLICK));
    eventToMask.add(new EventToMask("onerror", Event.ONERROR));

    ClickListener checkBoxController = new ClickListener() {
        public void onClick(Widget sender) {
            CheckBox cb = (CheckBox) sender;
            EventToMask mapping = (EventToMask) eventToMask.get(eventToMask.indexOf(cb.getText()));
            int traceEventMask = m_eventListener.getEventMask();
            if (cb.isChecked()) {
                traceEventMask |= mapping.m_mask;
            } else {
                traceEventMask &= ~mapping.m_mask;
            }/*from  w  w w  .j a v a  2s. com*/
            m_eventListener.setEventMask(traceEventMask);
        }
    };

    FlowPanel panel = new FlowPanel();
    for (int i = 0; i < eventToMask.size(); i++) {
        EventToMask mapping = (EventToMask) eventToMask.get(i);
        addCheckBox(panel, mapping.m_event, mapping.m_mask, checkBoxController);
    }
    return panel;
}

From source file:asquare.gwt.tkdemo.client.demos.DebugPanel.java

License:Apache License

private Widget createCheckBoxes() {
    // can't use HashMap because it does not preserve order
    final ArrayList<EventToMask> eventToMask = new ArrayList<EventToMask>();
    eventToMask.add(new EventToMask("onfocus", Event.ONFOCUS));
    eventToMask.add(new EventToMask("onblur", Event.ONBLUR));
    eventToMask.add(new EventToMask("onchange", Event.ONCHANGE));
    eventToMask.add(new EventToMask("onkeydown", Event.ONKEYDOWN));
    eventToMask.add(new EventToMask("onkeypress", Event.ONKEYPRESS));
    eventToMask.add(new EventToMask("onkeyup", Event.ONKEYUP));
    eventToMask.add(new EventToMask("onscroll", Event.ONSCROLL));
    eventToMask.add(new EventToMask("onmousemove", Event.ONMOUSEMOVE));
    eventToMask.add(new EventToMask("onmouseover", Event.ONMOUSEOVER));
    eventToMask.add(new EventToMask("onmouseout", Event.ONMOUSEOUT));
    eventToMask.add(new EventToMask("onmousedown", Event.ONMOUSEDOWN));
    eventToMask.add(new EventToMask("onmouseup", Event.ONMOUSEUP));
    eventToMask.add(new EventToMask("onclick", Event.ONCLICK));
    eventToMask.add(new EventToMask("ondblclick", Event.ONDBLCLICK));
    eventToMask.add(new EventToMask("onerror", Event.ONERROR));

    ClickHandler checkBoxController = new ClickHandler() {
        public void onClick(ClickEvent event) {
            CheckBox cb = (CheckBox) event.getSource();
            String eventText = cb.getText();
            EventToMask mapping = null;//from   w w w. j  a va2s.c o m
            for (int i = 0, size = eventToMask.size(); i < size; i++) {
                EventToMask candidate = eventToMask.get(i);
                if (candidate.m_eventString.equals(eventText)) {
                    mapping = candidate;
                    break;
                }
            }
            int traceEventMask = m_eventListener.getEventMask();
            if (cb.getValue()) {
                traceEventMask |= mapping.m_eventMask;
            } else {
                traceEventMask &= ~mapping.m_eventMask;
            }
            m_eventListener.setEventMask(traceEventMask);
        }
    };

    ColumnPanel panel = new ColumnPanel();
    for (int i = 0; i < eventToMask.size(); i++) {
        if (i == 0 || i == 7) {
            panel.addCell();
        }
        EventToMask mapping = eventToMask.get(i);
        addCheckBox(panel, mapping.m_eventString, mapping.m_eventMask, checkBoxController);
    }

    return panel;
}

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   w ww .  j  a  v  a  2 s.  c o  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  www .  j av  a  2  s .c  o m
 *            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.apress.progwt.client.college.gui.ext.FocusPanelExt.java

License:Apache License

public void onBrowserEvent(Event event) {

    switch (DOM.eventGetType(event)) {
    case Event.ONCLICK:
        lastClickEventCtrl = DOM.eventGetCtrlKey(event);
        lastClickClientX = DOM.eventGetClientX(event);
        lastClickClientY = DOM.eventGetClientY(event);
        if (clickListeners != null) {
            // Log.debug("DELAYED CLICK SCHEDULE");
            delayedclickFirer.schedule(DBL_CLICK_DELAY);
        }/*from   w  w w.  j  a v  a  2  s.  c  om*/
        break;

    case Event.ONMOUSEDOWN:
    case Event.ONMOUSEUP:
    case Event.ONMOUSEMOVE:
    case Event.ONMOUSEOVER:
    case Event.ONMOUSEOUT:
        if (mouseListeners != null) {
            mouseListeners.fireMouseEvent(this, event);
        }
        break;
    case Event.ONDBLCLICK:
        if (doubleClickLisenerCollection != null) {
            delayedclickFirer.cancel();
            // Log.debug("DELAYED CLICK CANCEL ON DOUBLE");
            doubleClickLisenerCollection.fireDoubleClick(this);
        }
        break;
    case Event.ONMOUSEWHEEL:
        if (mouseWheelListeners != null) {
            mouseWheelListeners.fireMouseWheelEvent(this, event);
        }
        break;

    case Event.ONBLUR:
    case Event.ONFOCUS:
        if (focusListeners != null) {
            focusListeners.fireFocusEvent(this, event);
        }
        break;

    case Event.ONKEYDOWN:
    case Event.ONKEYUP:
    case Event.ONKEYPRESS:
        if (keyboardListeners != null) {
            keyboardListeners.fireKeyboardEvent(this, event);
        }
        break;
    }
    // lastClickEvent = null;
}

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/*  www  .ja v 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;
        }
    }
}

From source file:com.cardfight.client.SliderBar.java

License:Apache License

/**
 * Listen for events that will move the knob.
 * /*from   w  w  w  . j  a  v a 2 s  .  com*/
 * @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();
            decideWhichKnobGetsFocus(event);
            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 KeyboardListener.KEY_HOME:
                    DOM.eventPreventDefault(event);
                    setCurrentValue(minValue);
                    break;
                case KeyboardListener.KEY_END:
                    DOM.eventPreventDefault(event);
                    if (displaySecondKnob)
                        setCurrentValue2(maxValue);
                    else
                        setCurrentValue(maxValue);
                    break;
                case KeyboardListener.KEY_LEFT:
                    DOM.eventPreventDefault(event);
                    slidingKeyboard = true;
                    startSliding(false, true);
                    shiftLeft(multiplier);
                    keyTimer.schedule(400, false, multiplier);
                    break;
                case KeyboardListener.KEY_RIGHT:
                    DOM.eventPreventDefault(event);
                    slidingKeyboard = true;
                    startSliding(false, true);
                    shiftRight(multiplier);
                    keyTimer.schedule(400, true, multiplier);
                    break;
                case 32:
                    DOM.eventPreventDefault(event);
                    if (displaySecondKnob)
                        setCurrentValue2(minValue + getTotalRange() / 2);
                    else
                        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());
            decideWhichKnobGetsFocus(event);
            startSliding(true, true);
            DOM.eventPreventDefault(event);
            slideKnob(event);
            break;
        case Event.ONMOUSEUP:
            if (slidingMouse) {
                DOM.releaseCapture(getElement());
                slidingMouse = false;
                decideWhichKnobGetsFocus(event);
                slideKnob(event);
                stopSliding(true, true);
            }
            break;
        case Event.ONMOUSEMOVE:
            if (slidingMouse) {
                boolean state = knob1HasFocus;
                decideWhichKnobGetsFocus(event);
                if (state != knob1HasFocus) {
                    knob1HasFocus = state;
                    stopSliding(true, true);
                    knob1HasFocus = !state;
                    startSliding(true, true);
                }
                slideKnob(event);
            }
            break;
        }
    }
}

From source file:com.cardfight.client.table.SliderBar.java

License:Apache License

/**
 * Listen for events that will move the knob.
 * /*ww w. j  ava  2  s. c o  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 KeyboardListener.KEY_HOME:
                    DOM.eventPreventDefault(event);
                    setCurrentValue(minValue);
                    break;
                case KeyboardListener.KEY_END:
                    DOM.eventPreventDefault(event);
                    setCurrentValue(maxValue);
                    break;
                case KeyboardListener.KEY_LEFT:
                    DOM.eventPreventDefault(event);
                    slidingKeyboard = true;
                    startSliding(false, true);
                    shiftLeft(multiplier);
                    keyTimer.schedule(400, false, multiplier);
                    break;
                case KeyboardListener.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;
                moveInDirectionOfClick(event);
                stopSliding(true, true);
            }
            break;
        case Event.ONMOUSEMOVE:
            if (slidingMouse) {
                slideKnob(event);
            }
            break;
        }
    }
}