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

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

Introduction

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

Prototype

public final int getCharCode() 

Source Link

Document

Gets the Unicode codepoint of the character generated by this key event.

Usage

From source file:com.cgxlib.core.CGXHelper.java

License:Apache License

public static int which(Event e) {
    if (e.getCharCode() != 0) {
        return e.getCharCode();
    } else {//from www.j a  va 2 s . co  m
        return e.getKeyCode();
    }
}

From source file:com.vaadin.addon.spreadsheet.client.SheetEventListener.java

private void onKeyDown(Event event) {
    if (!widget.isEditingCell()) {
        if (!sheetFocused) {
            return; // focus in input or custom editor
        }//from ww w.  j  av  a2 s . c o m
        final int keyCode = event.getKeyCode();
        switch (keyCode) {
        case KeyCodes.KEY_BACKSPACE:
        case KeyCodes.KEY_F2:
        case KeyCodes.KEY_UP:
        case KeyCodes.KEY_DOWN:
        case KeyCodes.KEY_LEFT:
        case KeyCodes.KEY_RIGHT:
        case KeyCodes.KEY_TAB:
        case KeyCodes.KEY_DELETE:
        case KeyCodes.KEY_SPACE:
            if (event.getCharCode() == 0) {
                widget.getSheetHandler().onSheetKeyPress(event, "");
                // prevent the default browser action (scroll to key
                // direction) or switch focus (tab)
                event.preventDefault();
                event.stopPropagation();
            }
            break;
        case 89: // y
            if ((!isMac && event.getCtrlKey()) || event.getMetaKey()) {
                widget.getSheetHandler().onRedoPress();
                event.preventDefault();
                event.stopPropagation();
            }
            break;
        case 90: // z
            if ((!isMac && event.getCtrlKey()) || event.getMetaKey()) {
                widget.getSheetHandler().onUndoPress();
                event.preventDefault();
                event.stopPropagation();
            }
            break;
        case 65: // a
            if ((!isMac && event.getCtrlKey()) || event.getMetaKey()) {
                widget.getSheetHandler().selectAll();
                event.preventDefault();
                event.stopPropagation();
            }
            break;
        default:
            break;
        }
    }
}

From source file:com.vaadin.addon.spreadsheet.client.SheetEventListener.java

private void onKeyPress(Event event) {
    if (!widget.isEditingCell()) {
        if (!sheetFocused) {
            return; // focus in input or custom editor
        }/* ww w .ja  v  a 2s  .c o m*/
        final int keyCode = event.getKeyCode();
        final int charCode = event.getCharCode();
        // these have been handled with onKeyDown (FF causes both
        // for some reason!)
        if ((charCode == 122 || charCode == 121) && (event.getCtrlKey() || event.getMetaKey())) {
            event.preventDefault();
            event.stopPropagation();
            return;
        }
        if (charCode == 0) {
            switch (keyCode) {
            // these have been handled with onKeyDown (FF causes both
            // for some reason!)
            case KeyCodes.KEY_UP:
            case KeyCodes.KEY_DOWN:
            case KeyCodes.KEY_LEFT:
            case KeyCodes.KEY_RIGHT:
            case KeyCodes.KEY_TAB:
            case KeyCodes.KEY_BACKSPACE:
            case KeyCodes.KEY_DELETE:
            case KeyCodes.KEY_SPACE:
                event.preventDefault();
                event.stopPropagation();
                break;

            case KeyCodes.KEY_ENTER:
                // happens on FF (other browsers have charcode as 13)
                widget.getSheetHandler().onSheetKeyPress(event,
                        widget.getSheetJsniUtil().convertUnicodeIntoCharacter(charCode));
                break;
            }
        } else if (!event.getCtrlKey() && !event.getMetaKey()) {
            widget.getSheetHandler().onSheetKeyPress(event,
                    widget.getSheetJsniUtil().convertUnicodeIntoCharacter(charCode));
        }
    }
}

From source file:fr.putnami.pwt.core.widget.client.base.AbstractInputSelect.java

License:Open Source License

@Override
public void onBrowserEvent(Event event) {
    super.onBrowserEvent(event);
    boolean mustKillEvent = false;
    switch (DOM.eventGetType(event)) {
    case Event.ONKEYDOWN:
        switch (event.getKeyCode()) {
        case KeyCodes.KEY_HOME:
            this.selectionHandler.onHomeKeyDown();
            mustKillEvent = true;// ww  w .  j av a2s .co  m
            break;
        case KeyCodes.KEY_END:
            this.selectionHandler.onEndKeyDown();
            mustKillEvent = true;
            break;
        case KeyCodes.KEY_UP:
            this.selectionHandler.onUpKeyDown();
            mustKillEvent = true;
            break;
        case KeyCodes.KEY_DOWN:
            this.selectionHandler.onDownKeyDown();
            mustKillEvent = true;
            break;
        default:
            break;
        }
        break;
    case Event.ONKEYPRESS:
        this.keyPressHandler.handleKeyPress(event.getCharCode());
        break;
    default:
        break;
    }

    if (mustKillEvent) {
        event.preventDefault();
        event.stopPropagation();
    }
}

From source file:jetbrains.jetpad.event.dom.EventTranslator.java

License:Apache License

private static KeyEvent toKeyEvent(Event e) {
    Key key = KeyCodeMapper.getKey(e.getKeyCode());

    Set<ModifierKey> modifiers = new HashSet<>();
    if (e.getCtrlKey()) {
        modifiers.add(ModifierKey.CONTROL);
    }/*from   w ww .ja v  a 2  s  .com*/
    if (e.getAltKey()) {
        modifiers.add(ModifierKey.ALT);
    }
    if (e.getShiftKey()) {
        modifiers.add(ModifierKey.SHIFT);
    }
    if (e.getMetaKey()) {
        modifiers.add(ModifierKey.META);
    }
    return new KeyEvent(key, (char) e.getCharCode(), modifiers);
}

From source file:jetbrains.jetpad.event.dom.EventTranslator.java

License:Apache License

public static boolean dispatchKeyType(Event e, Handler<KeyEvent> handler) {
    final KeyEvent event = EventTranslator.toKeyEvent(e);

    if (e.getCharCode() == 0)
        return true;
    if (e.getCharCode() == '\n')
        return true;
    if (e.getCharCode() == '\r')
        return true;
    if (event.has(ModifierKey.META) || event.has(ModifierKey.ALT) || event.has(ModifierKey.CONTROL))
        return true;

    handler.handle(event);//  w  ww .  j  a v  a 2 s  . c o m

    return !event.isConsumed();
}

From source file:org.jbpm.form.builder.ng.model.common.handler.EventHelper.java

License:Apache License

protected static void onKeyEvent(Widget widget, Event event) {
    List<ControlKeyHandler> handlers = null;
    switch (DOM.eventGetType(event)) {
    case Event.ONKEYPRESS:
        if (event.getCtrlKey()) {
            switch (event.getCharCode()) {
            case 'c':
            case 'C': //copy
                event.stopPropagation();
                event.preventDefault();/*  w ww. j a v  a2  s  .c o  m*/
                handlers = KCOPY_HANDLERS.get(widget);
                break;
            case 'x':
            case 'X': //cut
                event.stopPropagation();
                event.preventDefault();
                handlers = KCUT_HANDLERS.get(widget);
                break;
            case 'v':
            case 'V': //paste
                event.stopPropagation();
                event.preventDefault();
                handlers = KPASTE_HANDLERS.get(widget);
                break;
            default:
                //Do nothing
            }
        }
        break;
    default:
        //Do nothing
    }//end switch
    if (handlers != null) {
        for (ControlKeyHandler handler : handlers) {
            handler.onKeyboardControl();
        }
    }
}

From source file:org.waveprotocol.wave.client.common.util.EventWrapper.java

License:Apache License

/**
 * Wrapper for GWT's get[Key Char]Code() that conflates the two values. If
 * there is no keyCode present, it returns charCode instead. This matches the
 * values in {{@link #keyMap} above.//from  ww w . j  a  v a2s .c om
 */
public static int getKeyCode(Event evt) {
    int keyCode = evt.getKeyCode();
    if (keyCode == 0) {
        keyCode = evt.getCharCode();
    }
    return keyCode;
}

From source file:ru.fly.client.ui.field.datefield.DateField.java

License:Apache License

@Override
public void onBrowserEvent(Event e) {
    if (e.getTypeInt() == Event.ONMOUSEDOWN) {
        if (!isFocused())
            seekToEnd = true;/*w w w  .  ja  va 2  s.  c o m*/
    } else if (e.getTypeInt() == Event.ONMOUSEUP) {
        int pos = impl.getCursorPos(getInputElement());
        if (seekToEnd) {
            if (pos == out.length()) {
                pos = seekToEnd();
                if (pos != -1)
                    impl.setSelectionRange(getInputElement(), pos, 0);
            }
            seekToEnd = false;
        }
    } else if (e.getTypeInt() == Event.ONKEYPRESS) {
        char code = (char) e.getCharCode();
        if (allows.contains(code)) {
            onInput(code, impl.getCursorPos(getInputElement()));
        }
        if (e.getKeyCode() != KeyCodes.KEY_LEFT && e.getKeyCode() != KeyCodes.KEY_RIGHT
                && e.getKeyCode() != KeyCodes.KEY_TAB) {
            e.stopPropagation();
            e.preventDefault();
        }
        return;
    } else if (e.getTypeInt() == Event.ONKEYDOWN) {
        selectionLength = impl.getSelectionLength(getInputElement());
        if (e.getKeyCode() == KeyCodes.KEY_BACKSPACE) {
            if (selectionLength == out.length())
                erasePrev(Integer.MAX_VALUE);
            else
                erasePrev(impl.getCursorPos(getInputElement()) - 1);
            e.stopPropagation();
            e.preventDefault();
            return;
        } else if (e.getKeyCode() == KeyCodes.KEY_DELETE) {
            onInput('_', impl.getCursorPos(getInputElement()));
            e.stopPropagation();
            e.preventDefault();
            return;
        } else if (e.getCtrlKey() && e.getKeyCode() == 86) {//? CTRL+v
            //    CTRL+v
            if (ctrlvFixed) {
                e.stopPropagation();
                e.preventDefault();
            } else {
                ctrlvFixed = true;
            }
        }
    } else if (e.getTypeInt() == Event.ONKEYUP) {
        if (isEnabled()) {
            fireEvent(new KeyUpEvent(e));
            if (ctrlvFixed) {//CTRL+v
                ctrlvFixed = false;
                ctrlv(impl.getCursorPos(getInputElement()));
            }
        }
    }
    super.onBrowserEvent(e);
}

From source file:ru.fly.client.ui.field.MaskedTextField.java

License:Apache License

@Override
public void onBrowserEvent(Event e) {
    switch (e.getTypeInt()) {
    case Event.ONMOUSEDOWN:
        if (!isFocused())
            seekToEnd = true;//from  w w  w  .  jav a2s  . c o  m
        break;
    case Event.ONMOUSEUP:
        int pos = impl.getCursorPos(getInputElement());
        if (seekToEnd) {
            if (pos == out.length()) {
                pos = seekToEnd();
                if (pos != -1)
                    impl.setSelectionRange(getInputElement(), pos, 0);
            }
            seekToEnd = false;
        }
        break;
    case Event.ONKEYPRESS:
        if (e.getKeyCode() != KeyCodes.KEY_LEFT && e.getKeyCode() != KeyCodes.KEY_RIGHT) {
            char code = (char) e.getCharCode();
            onInput(code, impl.getCursorPos(getInputElement()));
            e.stopPropagation();
            e.preventDefault();
        }
        break;
    case Event.ONKEYDOWN:
        selectionLength = impl.getSelectionLength(getInputElement());
        if (e.getKeyCode() == KeyCodes.KEY_BACKSPACE) {
            if (selectionLength == out.length())
                erasePrev(Integer.MAX_VALUE);
            else
                erasePrev(impl.getCursorPos(getInputElement()) - 1);
            e.stopPropagation();
            e.preventDefault();
        } else if (e.getKeyCode() == KeyCodes.KEY_DELETE) {
            onInput('_', impl.getCursorPos(getInputElement()));
            e.stopPropagation();
            e.preventDefault();
        } else if (e.getCtrlKey() && e.getKeyCode() == 86) {//? CTRL+v
            //    CTRL+v
            if (ctrlvFixed) {
                e.stopPropagation();
                e.preventDefault();
            } else {
                ctrlvFixed = true;
            }
        }
        break;
    case Event.ONKEYUP:
        if (ctrlvFixed) {//CTRL+v
            ctrlv(impl.getCursorPos(getInputElement()));
            ctrlvFixed = false;
        }
        break;
    }
    super.onBrowserEvent(e);
}