List of usage examples for com.vaadin.v7.client.widget.grid.events GridKeyDownEvent getNativeKeyCode
public int getNativeKeyCode()
From source file:com.haulmont.cuba.web.widgets.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 ww w . j a v a 2 s . c om*/ event.stopPropagation(); Element componentElement = extractComponentElement(event.getFocusedCell()); WidgetUtil.focus(componentElement); focusInputField(componentElement); } } }
From source file:com.haulmont.cuba.web.widgets.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. j av a 2 s .c om } } }