Example usage for com.google.gwt.dom.client NativeEvent getKeyCode

List of usage examples for com.google.gwt.dom.client NativeEvent getKeyCode

Introduction

In this page you can find the example usage for com.google.gwt.dom.client NativeEvent getKeyCode.

Prototype

public final int getKeyCode() 

Source Link

Document

Gets the key code (code associated with the physical key) associated with this event.

Usage

From source file:cc.alcina.framework.gwt.client.cell.EditTextCell.java

License:Apache License

@Override
public void onBrowserEvent(Context context, Element parent, String value, NativeEvent event,
        ValueUpdater<String> valueUpdater) {
    Object key = context.getKey();
    ViewData viewData = getViewData(key);
    if (viewData != null && viewData.isEditing()) {
        // Handle the edit event.
        editEvent(context, parent, value, viewData, event, valueUpdater);
    } else {/*from  www  .j  av a2s .  c  o m*/
        String type = event.getType();
        int keyCode = event.getKeyCode();
        boolean enterPressed = KEYUP.equals(type) && keyCode == KeyCodes.KEY_ENTER;
        if (CLICK.equals(type) || enterPressed) {
            // Go into edit mode.
            if (viewData == null) {
                viewData = new ViewData(value);
                setViewData(key, viewData);
            } else {
                viewData.setEditing(true);
            }
            edit(context, parent, value);
        }
    }
}

From source file:cc.alcina.framework.gwt.client.cell.EditTextCell.java

License:Apache License

private void editEvent(Context context, Element parent, String value, ViewData viewData, NativeEvent event,
        ValueUpdater<String> valueUpdater) {
    String type = event.getType();
    boolean keyUp = KEYUP.equals(type);
    boolean keyDown = KEYDOWN.equals(type);
    if (keyUp || keyDown) {
        int keyCode = event.getKeyCode();
        if (keyUp && keyCode == KeyCodes.KEY_ENTER) {
            // Commit the change.
            commit(context, parent, viewData, valueUpdater);
        } else if (keyUp && keyCode == KeyCodes.KEY_ESCAPE) {
            // Cancel edit mode.
            String originalText = viewData.getOriginal();
            if (viewData.isEditingAgain()) {
                viewData.setText(originalText);
                viewData.setEditing(false);
            } else {
                setViewData(context.getKey(), null);
            }//from  w ww  . j ava  2 s.co  m
            cancel(context, parent, value);
        } else {
            // Update the text in the view data on each key.
            updateViewData(parent, viewData, true);
        }
    } else if (BLUR.equals(type)) {
        // Commit the change. Ensure that we are blurring the input element
        // and
        // not the parent element itself.
        EventTarget eventTarget = event.getEventTarget();
        if (Element.is(eventTarget)) {
            Element target = Element.as(eventTarget);
            if ("input".equals(target.getTagName().toLowerCase(Locale.ROOT))) {
                commit(context, parent, viewData, valueUpdater);
            }
        }
    }
}

From source file:ch.cern.atlas.apvs.client.widget.EditTextCell.java

License:Apache License

private void editEvent(Context context, Element parent, String value, ViewData viewData, NativeEvent event,
        ValueUpdater<String> valueUpdater) {
    String type = event.getType();
    boolean keyUp = KEYUP.equals(type);
    boolean keyDown = KEYDOWN.equals(type);
    if (keyUp || keyDown) {
        int keyCode = event.getKeyCode();
        if (keyUp && keyCode == KeyCodes.KEY_ENTER) {
            // Commit the change.
            commit(context, parent, viewData, valueUpdater);
        } else if (keyUp && keyCode == KeyCodes.KEY_ESCAPE) {
            // Cancel edit mode.
            String originalText = viewData.getOriginal();
            if (viewData.isEditingAgain()) {
                viewData.setText(originalText);
                viewData.setEditing(false);
            } else {
                setViewData(context.getKey(), null);
            }// ww  w  . ja v  a 2 s. c om
            cancel(context, parent, value);
        } else {
            // Update the text in the view data on each key.
            updateViewData(parent, viewData, true);
        }
    } else if (BLUR.equals(type)) {
        // Commit the change. Ensure that we are blurring the input element and
        // not the parent element itself.
        EventTarget eventTarget = event.getEventTarget();
        if (Element.is(eventTarget)) {
            Element target = Element.as(eventTarget);
            if ("input".equals(target.getTagName().toLowerCase())) {
                commit(context, parent, viewData, valueUpdater);
            }
        }
    }
}

From source file:client.application.ApplicationView.java

License:Apache License

void register() {
    if (!registred) {
        registred = true;//from  www . j  ava 2  s.c  o  m
        Event.addNativePreviewHandler(new Event.NativePreviewHandler() {
            @Override
            public void onPreviewNativeEvent(Event.NativePreviewEvent event) {
                NativeEvent ne = event.getNativeEvent();
                if ("keypress".equals(ne.getType()) && ne.getKeyCode() != 0) {
                    logger.log(Level.INFO, String.valueOf((char) ne.getKeyCode()));
                    ServerEventBusService.App.getInstance().onSendKeyEvent(ne.getKeyCode(), counter++,
                            new VoidAsyncCallback());
                } else if ("mousedown".equals(ne.getType()) && ne.getButton() == NativeEvent.BUTTON_RIGHT) {
                    ne.preventDefault();
                }
            }
        });
    }
}

From source file:com.badlogic.gdx.backends.gwt.GwtInput.java

License:Apache License

private void handleEvent(NativeEvent e) {
    if (e.getType().equals("mousedown")) {
        if (!e.getEventTarget().equals(canvas) || touched[0]) {
            float mouseX = getRelativeX(e, canvas);
            float mouseY = getRelativeY(e, canvas);
            if (mouseX < 0 || mouseX > Gdx.graphics.getWidth() || mouseY < 0
                    || mouseY > Gdx.graphics.getHeight()) {
                hasFocus = false;//from  w  w w.  j av a2s. c  o  m
            }
            return;
        }
        hasFocus = true;
        this.justTouched = true;
        this.touched[0] = true;
        this.pressedButtons.add(getButton(e.getButton()));
        this.deltaX[0] = 0;
        this.deltaY[0] = 0;
        if (isCursorCatched()) {
            this.touchX[0] += getMovementXJSNI(e);
            this.touchY[0] += getMovementYJSNI(e);
        } else {
            this.touchX[0] = getRelativeX(e, canvas);
            this.touchY[0] = getRelativeY(e, canvas);
        }
        this.currentEventTimeStamp = TimeUtils.nanoTime();
        if (processor != null)
            processor.touchDown(touchX[0], touchY[0], 0, getButton(e.getButton()));
    }

    if (e.getType().equals("mousemove")) {
        if (isCursorCatched()) {
            this.deltaX[0] = (int) getMovementXJSNI(e);
            this.deltaY[0] = (int) getMovementYJSNI(e);
            this.touchX[0] += getMovementXJSNI(e);
            this.touchY[0] += getMovementYJSNI(e);
        } else {
            this.deltaX[0] = getRelativeX(e, canvas) - touchX[0];
            this.deltaY[0] = getRelativeY(e, canvas) - touchY[0];
            this.touchX[0] = getRelativeX(e, canvas);
            this.touchY[0] = getRelativeY(e, canvas);
        }
        this.currentEventTimeStamp = TimeUtils.nanoTime();
        if (processor != null) {
            if (touched[0])
                processor.touchDragged(touchX[0], touchY[0], 0);
            else
                processor.mouseMoved(touchX[0], touchY[0]);
        }
    }

    if (e.getType().equals("mouseup")) {
        if (!touched[0])
            return;
        this.pressedButtons.remove(getButton(e.getButton()));
        this.touched[0] = pressedButtons.size > 0;
        if (isCursorCatched()) {
            this.deltaX[0] = (int) getMovementXJSNI(e);
            this.deltaY[0] = (int) getMovementYJSNI(e);
            this.touchX[0] += getMovementXJSNI(e);
            this.touchY[0] += getMovementYJSNI(e);
        } else {
            this.deltaX[0] = getRelativeX(e, canvas) - touchX[0];
            this.deltaY[0] = getRelativeY(e, canvas) - touchY[0];
            this.touchX[0] = getRelativeX(e, canvas);
            this.touchY[0] = getRelativeY(e, canvas);
        }
        this.currentEventTimeStamp = TimeUtils.nanoTime();
        this.touched[0] = false;
        if (processor != null)
            processor.touchUp(touchX[0], touchY[0], 0, getButton(e.getButton()));
    }
    if (e.getType().equals(getMouseWheelEvent())) {
        if (processor != null) {
            processor.scrolled((int) getMouseWheelVelocity(e));
        }
        this.currentEventTimeStamp = TimeUtils.nanoTime();
        e.preventDefault();
    }
    if (e.getType().equals("keydown") && hasFocus) {
        // System.out.println("keydown");
        int code = keyForCode(e.getKeyCode());
        if (code == 67) {
            e.preventDefault();
            if (processor != null) {
                processor.keyDown(code);
                processor.keyTyped('\b');
            }
        } else {
            if (!pressedKeys[code]) {
                pressedKeyCount++;
                pressedKeys[code] = true;
                keyJustPressed = true;
                justPressedKeys[code] = true;
                if (processor != null) {
                    processor.keyDown(code);
                }
            }
        }
    }

    if (e.getType().equals("keypress") && hasFocus) {
        // System.out.println("keypress");
        char c = (char) e.getCharCode();
        if (processor != null)
            processor.keyTyped(c);
    }

    if (e.getType().equals("keyup") && hasFocus) {
        // System.out.println("keyup");
        int code = keyForCode(e.getKeyCode());
        if (pressedKeys[code]) {
            pressedKeyCount--;
            pressedKeys[code] = false;
        }
        if (processor != null) {
            processor.keyUp(code);
        }
    }

    if (e.getType().equals("touchstart")) {
        this.justTouched = true;
        JsArray<Touch> touches = e.getChangedTouches();
        for (int i = 0, j = touches.length(); i < j; i++) {
            Touch touch = touches.get(i);
            int real = touch.getIdentifier();
            int touchId;
            touchMap.put(real, touchId = getAvailablePointer());
            touched[touchId] = true;
            touchX[touchId] = getRelativeX(touch, canvas);
            touchY[touchId] = getRelativeY(touch, canvas);
            deltaX[touchId] = 0;
            deltaY[touchId] = 0;
            if (processor != null) {
                processor.touchDown(touchX[touchId], touchY[touchId], touchId, Buttons.LEFT);
            }
        }
        this.currentEventTimeStamp = TimeUtils.nanoTime();
        e.preventDefault();
    }
    if (e.getType().equals("touchmove")) {
        JsArray<Touch> touches = e.getChangedTouches();
        for (int i = 0, j = touches.length(); i < j; i++) {
            Touch touch = touches.get(i);
            int real = touch.getIdentifier();
            int touchId = touchMap.get(real);
            deltaX[touchId] = getRelativeX(touch, canvas) - touchX[touchId];
            deltaY[touchId] = getRelativeY(touch, canvas) - touchY[touchId];
            touchX[touchId] = getRelativeX(touch, canvas);
            touchY[touchId] = getRelativeY(touch, canvas);
            if (processor != null) {
                processor.touchDragged(touchX[touchId], touchY[touchId], touchId);
            }
        }
        this.currentEventTimeStamp = TimeUtils.nanoTime();
        e.preventDefault();
    }
    if (e.getType().equals("touchcancel")) {
        JsArray<Touch> touches = e.getChangedTouches();
        for (int i = 0, j = touches.length(); i < j; i++) {
            Touch touch = touches.get(i);
            int real = touch.getIdentifier();
            int touchId = touchMap.get(real);
            touchMap.remove(real);
            touched[touchId] = false;
            deltaX[touchId] = getRelativeX(touch, canvas) - touchX[touchId];
            deltaY[touchId] = getRelativeY(touch, canvas) - touchY[touchId];
            touchX[touchId] = getRelativeX(touch, canvas);
            touchY[touchId] = getRelativeY(touch, canvas);
            if (processor != null) {
                processor.touchUp(touchX[touchId], touchY[touchId], touchId, Buttons.LEFT);
            }
        }
        this.currentEventTimeStamp = TimeUtils.nanoTime();
        e.preventDefault();
    }
    if (e.getType().equals("touchend")) {
        JsArray<Touch> touches = e.getChangedTouches();
        for (int i = 0, j = touches.length(); i < j; i++) {
            Touch touch = touches.get(i);
            int real = touch.getIdentifier();
            int touchId = touchMap.get(real);
            touchMap.remove(real);
            touched[touchId] = false;
            deltaX[touchId] = getRelativeX(touch, canvas) - touchX[touchId];
            deltaY[touchId] = getRelativeY(touch, canvas) - touchY[touchId];
            touchX[touchId] = getRelativeX(touch, canvas);
            touchY[touchId] = getRelativeY(touch, canvas);
            if (processor != null) {
                processor.touchUp(touchX[touchId], touchY[touchId], touchId, Buttons.LEFT);
            }
        }
        this.currentEventTimeStamp = TimeUtils.nanoTime();
        e.preventDefault();
    }
    // if(hasFocus) e.preventDefault();
}

From source file:com.bearsoft.gwt.ui.widgets.grid.cells.RenderedEditorCell.java

public void onBrowserEvent(Cell.Context context, Element parent, T value, NativeEvent event,
        ValueUpdater<T> valueUpdater) {
    if (readonly == null || !readonly.isReadonly()) {
        if (!isEditing(context, parent, value)) {
            String type = event.getType();
            int keyCode = event.getKeyCode();
            boolean editToggleKeys = BrowserEvents.KEYDOWN.equals(type)
                    && (keyCode == KeyCodes.KEY_ENTER || keyCode == KeyCodes.KEY_F2);
            if (BrowserEvents.DBLCLICK.equals(type) || editToggleKeys) {
                // Switch to edit mode.
                ViewData<T> viewData = new ViewData<>(Document.get().createUniqueId(), valueUpdater);
                setViewData(context.getKey(), viewData);
                setValue(new RenderedCellContext(context.getIndex(), context.getColumn(), context.getKey()),
                        parent, value);/*w  ww . j  av  a  2 s.  c  o  m*/
            }
        }
    }
}

From source file:com.bearsoft.gwt.ui.widgets.grid.GridSection.java

public GridSection(ProvidesKey<T> keyProvider) {
    super(15, ThemedGridResources.instance, keyProvider, null, true, false);
    setKeyboardPagingPolicy(HasKeyboardPagingPolicy.KeyboardPagingPolicy.CURRENT_PAGE);
    setLoadingIndicator(null);//from ww w. j a  va 2s .c  om
    setEmptyTableWidget(null);
    getElement().getStyle().setProperty("borderCollapse", "collapse");
    setKeyboardSelectionHandler(new CellTableKeyboardSelectionHandler<T>(this) {

        @Override
        public void onCellPreview(CellPreviewEvent<T> event) {
            NativeEvent nativeEvent = event.getNativeEvent();
            String eventType = event.getNativeEvent().getType();
            if (BrowserEvents.KEYDOWN.equals(eventType) && !event.isCellEditing()) {
                /*
                 * Handle keyboard navigation, unless the cell is being
                 * edited. If the cell is being edited, we do not want to
                 * change rows.
                 * 
                 * Prevent default on navigation events to prevent default
                 * scrollbar behavior.
                 */
                int oldRow = GridSection.this.getKeyboardSelectedRow();
                int oldColumn = GridSection.this.getKeyboardSelectedColumn();
                boolean isRtl = LocaleInfo.getCurrentLocale().isRTL();
                int keyCodeLineEnd = isRtl ? KeyCodes.KEY_LEFT : KeyCodes.KEY_RIGHT;
                int keyCodeLineStart = isRtl ? KeyCodes.KEY_RIGHT : KeyCodes.KEY_LEFT;
                int keyCode = nativeEvent.getKeyCode();
                super.onCellPreview(event);
                if (keyCode == keyCodeLineEnd) {
                    GridSection.this.setKeyboardSelectedRow(oldRow);
                    if (GridSection.this.getKeyboardSelectedColumn() < oldColumn)
                        GridSection.this.setKeyboardSelectedColumn(oldColumn);
                } else if (keyCode == keyCodeLineStart) {
                    GridSection.this.setKeyboardSelectedRow(oldRow);
                    if (GridSection.this.getKeyboardSelectedColumn() > oldColumn)
                        GridSection.this.setKeyboardSelectedColumn(oldColumn);
                }
            } else
                super.onCellPreview(event);
        }
    });
}

From source file:com.edgenius.wiki.gwt.client.BaseEntryPoint.java

License:Open Source License

public void onPreviewNativeEvent(NativePreviewEvent event) {
    int type = event.getTypeInt();

    //IE only work for Event.ONKEYDOWN but not Event.ONKEYPRESS (FF is OK)
    if (!event.isCanceled() && type == Event.ONKEYDOWN) {
        NativeEvent evt = event.getNativeEvent();
        int keyCode = evt.getKeyCode();

        boolean ret = bindGloablKeyShortcut(evt.getCtrlKey(), evt.getAltKey(), evt.getShiftKey(),
                evt.getMetaKey(), keyCode);

        if (!ret) {
            event.cancel();//from   w  w w  . j a v  a 2  s. co  m
        }
    }

}

From source file:com.edgenius.wiki.gwt.client.page.widgets.TagsPanel.java

License:Open Source License

public void onPreviewNativeEvent(NativePreviewEvent event) {
    int type = event.getTypeInt();

    //IE only work for Event.ONKEYDOWN but not Event.ONKEYPRESS (FF is OK)
    if (!event.isCanceled() && type == Event.ONKEYDOWN) {
        NativeEvent evt = event.getNativeEvent();
        int keyCode = evt.getKeyCode();
        boolean ctrl = evt.getCtrlKey();
        boolean alt = evt.getAltKey();
        boolean shift = evt.getShiftKey();
        boolean meta = evt.getMetaKey();

        if (keyCode == KeyCodes.KEY_ESCAPE
                || KeyMap.isKey(KeyMap.EDIT_CANCEL, ctrl, alt, shift, meta, keyCode)) {
            cancel();//from   w ww  .  j ava 2  s.  com
            event.cancel();
        } else if (KeyMap.isKey(KeyMap.EDIT_SAVE, ctrl, alt, shift, meta, keyCode)) {
            done();
            event.cancel();
        }
    }

}

From source file:com.ephesoft.dcma.gwt.core.client.view.ExternalAppDialogBox.java

License:Open Source License

@Override
protected void onPreviewNativeEvent(NativePreviewEvent preview) {
    super.onPreviewNativeEvent(preview);

    NativeEvent evt = preview.getNativeEvent();

    if (evt.getCtrlKey()) {
        switch (evt.getKeyCode()) {
        case 'a':
        case 'A':
            evt.preventDefault();/*from  www  .j  a va  2 s  . c  o m*/
            okButton.click();
        case 'z':
        case 'Z':
            evt.preventDefault();
            closeButton.click();
            break;
        }
    }

}