List of usage examples for com.google.gwt.dom.client BrowserEvents KEYDOWN
String KEYDOWN
To view the source code for com.google.gwt.dom.client BrowserEvents KEYDOWN.
Click Source Link
From source file:cc.alcina.framework.gwt.client.widget.dialog.RelativePopupPanel.java
License:Apache License
/** * Preview the {@link NativePreviewEvent}. * /*from ww w . j a v a 2 s. com*/ * @param event * the {@link NativePreviewEvent} */ private void previewNativeEvent(NativePreviewEvent event) { // If the event has been canceled or consumed, ignore it if (event.isCanceled() || (!previewAllNativeEvents && event.isConsumed())) { // We need to ensure that we cancel the event even if its been // consumed so // that popups lower on the stack do not auto hide if (modal) { event.cancel(); } return; } // Fire the event hook and return if the event is canceled onPreviewNativeEvent(event); if (event.isCanceled()) { return; } // If the event targets the popup or the partner, consume it Event nativeEvent = Event.as(event.getNativeEvent()); boolean eventTargetsPopupOrPartner = eventTargetsPopup(nativeEvent) || eventTargetsPartner(nativeEvent); if (eventTargetsPopupOrPartner) { event.consume(); } // Cancel the event if it doesn't target the modal popup. Note that the // event can be both canceled and consumed. if (modal) { switch (nativeEvent.getType()) { case BrowserEvents.KEYDOWN: case BrowserEvents.KEYPRESS: case BrowserEvents.KEYUP: if (nativeEvent.getAltKey() || nativeEvent.getMetaKey() || nativeEvent.getCtrlKey()) { return; } } event.cancel(); } // Switch on the event type int type = nativeEvent.getTypeInt(); switch (type) { case Event.ONMOUSEDOWN: case Event.ONTOUCHSTART: // Don't eat events if event capture is enabled, as this can // interfere with dialog dragging, for example. if (DOM.getCaptureElement() != null) { event.consume(); return; } if (!eventTargetsPopupOrPartner && autoHide) { EventTarget target = nativeEvent.getEventTarget(); // if (Element.is(target)) { // ClientUtils.dumpElementTree(Element.as(target)); // } hide(true); return; } break; case Event.ONMOUSEUP: case Event.ONMOUSEMOVE: case Event.ONCLICK: case Event.ONDBLCLICK: { // Don't eat events if event capture is enabled, as this can // interfere with dialog dragging, for example. if (DOM.getCaptureElement() != null) { event.consume(); return; } break; } case Event.ONFOCUS: { if (nativeEvent.getEventTarget().is(Element.class)) { Element target = nativeEvent.getEventTarget().cast(); if (modal && !eventTargetsPopupOrPartner && (target != null)) { blur(target); event.cancel(); return; } } break; } case Event.ONKEYPRESS: { if (event.getNativeEvent().getKeyCode() == KeyCodes.KEY_ESCAPE && isHideOnEscape()) { hide(false); event.cancel(); return; } break; } } }
From source file:com.bearsoft.gwt.ui.widgets.grid.cells.RenderedEditorCell.java
public RenderedEditorCell(Widget aEditor) { super(aEditor, BrowserEvents.DBLCLICK, BrowserEvents.KEYDOWN, BrowserEvents.FOCUS, BrowserEvents.BLUR); }
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);/* ww w . j a v 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);/* w ww . j a va 2 s.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.gafactory.core.client.ui.grids.ActionCell.java
License:Open Source License
/** * Construct a new {@link ActionCell}.// w w w . j a va 2s . c o m * * @param message the message to display on the button * @param delegate the delegate that will handle events */ public ActionCell(SafeHtml message, Delegate<C> delegate) { super(BrowserEvents.CLICK, BrowserEvents.KEYDOWN); this.delegate = delegate; this.html = new SafeHtmlBuilder() .appendHtmlConstant("<button type=\"button\" class=\"btn btn-primary\" tabindex=\"-1\">") .append(message).appendHtmlConstant("</button>").toSafeHtml(); }
From source file:com.geocento.webapps.eobroker.customer.client.widgets.MaterialCheckBoxCell.java
License:Apache License
public MaterialCheckBoxCell(boolean dependsOnSelection, boolean handlesSelection) { super(BrowserEvents.CHANGE, BrowserEvents.KEYDOWN, BrowserEvents.CLICK); this.dependsOnSelection = dependsOnSelection; this.handlesSelection = handlesSelection; }
From source file:com.geocento.webapps.eobroker.customer.client.widgets.MaterialCheckBoxCell.java
License:Apache License
@Override public void onBrowserEvent(Context context, Element parent, Boolean value, NativeEvent event, ValueUpdater<Boolean> valueUpdater) { String type = event.getType(); boolean enterPressed = (BrowserEvents.KEYDOWN.equals(type) && event.getKeyCode() == KeyCodes.KEY_ENTER); if (BrowserEvents.CHANGE.equals(type) || enterPressed) { InputElement input = parent.getFirstChild().getFirstChild().cast(); Boolean isChecked = input.isChecked(); /*//ww w . j a va 2 s .co m * Toggle the value if the enter key was pressed and the cell handles selection or doesn't depend on selection. If the cell depends on selection but doesn't handle selection, then ignore * the enter key and let the SelectionEventManager determine which keys will trigger a change. */ if (enterPressed && (handlesSelection() || !dependsOnSelection())) { isChecked = !isChecked; input.setChecked(isChecked); } /* * Save the new value. However, if the cell depends on the selection, then do not save the value because we can get into an inconsistent state. */ if (value != isChecked && !dependsOnSelection()) { setViewData(context.getKey(), isChecked); } else { clearViewData(context.getKey()); } if (valueUpdater != null) { valueUpdater.update(isChecked); } } }
From source file:com.google.gwt.sample.showcase.client.content.cell.Cells.java
public static <T> Cell<T> makeClickable(Cell<T> cell, final Receiver<T> clickReceiver) { Set<String> events = new HashSet<>(); events.add(BrowserEvents.CLICK);// w w w. j ava 2s . c o m events.add(BrowserEvents.KEYDOWN); return new CellAdapter<T, T>(cell, null, events) { @Override public void onBrowserEvent(Context context, Element parent, T value, NativeEvent event, ValueUpdater<T> valueUpdater) { super.onBrowserEvent(context, parent, value, event, valueUpdater); if (event.getType().equals(BrowserEvents.CLICK) || (event.getType().equals(BrowserEvents.KEYDOWN) && event.getKeyCode() == KeyCodes.KEY_ENTER)) { clickReceiver.accept(value); } } }; }
From source file:com.google.gwt.sample.showcase.client.content.cell.CustomKeyboardHandler.java
@Override public void onCellPreview(CellPreviewEvent<ContactInfo> event) { if (Settings.get().getKeyHandling()) { NativeEvent nativeEvent = event.getNativeEvent(); if (nativeEvent.getType() == BrowserEvents.KEYDOWN) { // A key was pushed down if (nativeEvent.getShiftKey() || nativeEvent.getAltKey() || nativeEvent.getCtrlKey() || nativeEvent.getMetaKey()) { // Ignore if a modifier key is down return; }//w ww .ja va2s. com switch (nativeEvent.getKeyCode()) { case KeyCodes.KEY_DOWN: // The down arrow key case KeyCodes.KEY_J: setCurrentRow(cellList.getKeyboardSelectedRow() + 1); cancelEvent(event); break; case KeyCodes.KEY_UP: // The up arrow key case KeyCodes.KEY_K: if (cellList.getKeyboardSelectedRow() < 1) { goAboveList(event.getValue()); } else { setCurrentRow(cellList.getKeyboardSelectedRow() - 1); } cancelEvent(event); break; case KeyCodes.KEY_PAGEDOWN: case KeyCodes.KEY_SPACE: setCurrentRow(cellList.getKeyboardSelectedRow() + PAGE_INCREMENT); cancelEvent(event); break; case KeyCodes.KEY_PAGEUP: setCurrentRow(cellList.getKeyboardSelectedRow() - PAGE_INCREMENT); cancelEvent(event); break; case KeyCodes.KEY_HOME: setCurrentRow(cellList.getPageStart()); cancelEvent(event); break; case KeyCodes.KEY_END: goToVeryEnd(); cancelEvent(event); break; } // Bypass the default handler (super-class) for all keydown events. // For keys not handled here, let the browser handle them. return; } } // Should get here only if event was not handled above. Send the event to // the default handler. super.onCellPreview(event); }
From source file:com.jitlogic.zico.client.views.admin.TraceTemplatePanel.java
License:Open Source License
private void createTemplateListGrid() { templateGrid = new DataGrid<TraceTemplateInfo>(1024 * 1024, ZicoDataGridResources.INSTANCE, KEY_PROVIDER); selectionModel = new SingleSelectionModel<TraceTemplateInfo>(KEY_PROVIDER); templateGrid.setSelectionModel(selectionModel); Column<TraceTemplateInfo, TraceTemplateInfo> colOrder = new IdentityColumn<TraceTemplateInfo>(ORDER_CELL); templateGrid.addColumn(colOrder, new ResizableHeader<TraceTemplateInfo>("Order", templateGrid, colOrder)); templateGrid.setColumnWidth(colOrder, 80, Style.Unit.PX); Column<TraceTemplateInfo, TraceTemplateInfo> colCondition = new IdentityColumn<TraceTemplateInfo>( CONDITION_CELL);/*from ww w. ja v a 2s .co m*/ templateGrid.addColumn(colCondition, new ResizableHeader<TraceTemplateInfo>("Condition", templateGrid, colCondition)); templateGrid.setColumnWidth(colCondition, 250, Style.Unit.PX); Column<TraceTemplateInfo, TraceTemplateInfo> colTemplate = new IdentityColumn<TraceTemplateInfo>( TEMPLATE_CELL); templateGrid.addColumn(colTemplate, "Description Template"); templateGrid.setColumnWidth(colTemplate, 100, Style.Unit.PCT); templateStore = new ListDataProvider<TraceTemplateInfo>(KEY_PROVIDER); templateStore.addDataDisplay(templateGrid); templateGrid.addCellPreviewHandler(new CellPreviewEvent.Handler<TraceTemplateInfo>() { @Override public void onCellPreview(CellPreviewEvent<TraceTemplateInfo> event) { NativeEvent nev = event.getNativeEvent(); String eventType = nev.getType(); if ((BrowserEvents.KEYDOWN.equals(eventType) && nev.getKeyCode() == KeyCodes.KEY_ENTER) || BrowserEvents.DBLCLICK.equals(nev.getType())) { selectionModel.setSelected(event.getValue(), true); editTemplate(null); } if (BrowserEvents.CONTEXTMENU.equals(eventType)) { selectionModel.setSelected(event.getValue(), true); if (event.getValue() != null) { contextMenu.setPopupPosition(event.getNativeEvent().getClientX(), event.getNativeEvent().getClientY()); contextMenu.show(); } } } }); templateGrid.addDomHandler(new DoubleClickHandler() { @Override public void onDoubleClick(DoubleClickEvent event) { event.preventDefault(); } }, DoubleClickEvent.getType()); templateGrid.addDomHandler(new ContextMenuHandler() { @Override public void onContextMenu(ContextMenuEvent event) { event.preventDefault(); } }, ContextMenuEvent.getType()); }