Example usage for com.vaadin.client.widget.grid.events GridKeyDownEvent getNativeKeyCode

List of usage examples for com.vaadin.client.widget.grid.events GridKeyDownEvent getNativeKeyCode

Introduction

In this page you can find the example usage for com.vaadin.client.widget.grid.events GridKeyDownEvent getNativeKeyCode.

Prototype

public int getNativeKeyCode() 

Source Link

Document

Gets the native key code.

Usage

From source file:com.haulmont.cuba.web.toolkit.ui.client.renderers.componentrenderer.componentcellkey.EnterKeyDownHandler.java

License:Apache License

@Override
public void onKeyDown(GridKeyDownEvent event) {

    if (event.getNativeKeyCode() == KeyCodes.KEY_ENTER) {

        if (isCellContainingComponent(event.getFocusedCell())) {

            // if the ENTER key-event's propagation is not stopped it would
            // be propagated to the newly focused component, which e.g. in the
            // case of a button leads to an immediate button press
            event.preventDefault();//from  w  w  w.  j ava  2 s. com
            event.stopPropagation();

            Element componentElement = extractComponentElement(event.getFocusedCell());

            WidgetUtil.focus(componentElement);
            focusInputField(componentElement);

        }

    }

}

From source file:com.haulmont.cuba.web.toolkit.ui.client.renderers.componentrenderer.detailskeys.DetailsKeyDownHandler.java

License:Apache License

@Override
public void onKeyDown(GridKeyDownEvent keyEvent) {

    if (keyEvent.isControlKeyDown()) {

        if (keyEvent.getNativeKeyCode() == KeyCodes.KEY_DOWN) {

            int rowIndex = keyEvent.getFocusedCell().getRowIndex();
            detailsRpc.setDetailsVisible(rowIndex, true);

        } else if (keyEvent.getNativeKeyCode() == KeyCodes.KEY_UP) {

            int rowIndex = keyEvent.getFocusedCell().getRowIndex();
            detailsRpc.setDetailsVisible(rowIndex, false);

            // cell-focus is moved by grid even if event propagation + default are stopped.
            // To make use more intuitive when closing detailsrows also the details above the
            // focus are closed. Now you can flick open/close with keeping CTRL pressed and flicking
            // key-down and key-up.
            int rowAbove = rowIndex - 1;

            if (rowAbove >= 0) {
                detailsRpc.setDetailsVisible(rowAbove, false);
            }/*from   w w w.jav  a2  s  . c  o m*/

        }
    }

}