List of usage examples for com.google.gwt.user.client Event getMetaKey
public final boolean getMetaKey()
From source file:asquare.gwt.debug.client.DebugUtil.java
License:Apache License
private static String createModifiersString(Event event) { ArrayList<String> modifiers = new ArrayList<String>(); if (event.getShiftKey()) { modifiers.add("shift"); }/*from w ww . j a va 2s . c om*/ if (event.getCtrlKey()) { modifiers.add("ctrl"); } if (event.getAltKey()) { modifiers.add("alt"); } if (event.getMetaKey()) { modifiers.add("meta"); } if (modifiers.size() == 0) return "()"; StringBuilder result = new StringBuilder("("); for (int i = 0, size = modifiers.size(); i < size; i++) { if (i > 0) { result.append('|'); } result.append(modifiers.get(i)); } result.append(')'); return result.toString(); }
From source file:asquare.gwt.tk.client.util.Platform.java
License:Apache License
public static boolean isToggleKeyDown(Event event) { return DomUtil.isMac() ? event.getMetaKey() : event.getCtrlKey(); }
From source file:cc.alcina.framework.gwt.client.widget.dialog.GlassDialogBox.java
License:Apache License
@Override protected void onPreviewNativeEvent(NativePreviewEvent event) { if (event.isFirstHandler()) { Event as = Event.as(event.getNativeEvent()); int typeInt = as.getTypeInt(); if ((typeInt & Event.KEYEVENTS) > 0) { if (as.getCtrlKey() || as.getMetaKey() || as.getAltKey()) { event.consume();/*from w ww . j av a 2 s .c o m*/ } } } super.onPreviewNativeEvent(event); }
From source file:cc.alcina.framework.gwt.client.widget.dialog.RelativePopupPanel.java
License:Apache License
/** * Preview the {@link NativePreviewEvent}. * /*from w w w. j ava 2s . 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.arcbees.chosen.client.ChosenImpl.java
License:Apache License
protected void resultSelect(Event e) { if (resultHighlight != null) { GQuery high = resultHighlight;/*from w w w. j a v a 2 s . c om*/ resultClearHighlight(); resultDeactivate(high, true); high.addClass(css.resultSelected()); OptionItem item = getOptionItem(high); item.setSelected(true); OptionElement option = selectElement.getOptions().getItem(item.getOptionsIndex()); if (option != null) { option.setSelected(true); } addChoice(item); winnowResultsClear(); String oldValue = getCurrentValue(); String newValue = item.getValue(); selectedValues.add(newValue); onResultSelected(item, newValue, oldValue, e.getMetaKey()); searchFieldScale(fWidth); } }
From source file:com.haulmont.cuba.web.toolkit.ui.client.button.CubaButtonWidget.java
License:Apache License
protected boolean isShortcut(Event event) { return event.getShiftKey() || event.getAltKey() || event.getCtrlKey() || event.getMetaKey(); }
From source file:com.haulmont.cuba.web.toolkit.ui.client.Tools.java
License:Apache License
public static boolean isAnyModifierKeyPressed(Event event) { return (event.getShiftKey() || event.getAltKey() || event.getCtrlKey() || event.getMetaKey()); }
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 www.ja v 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 . j av a 2 s. com*/ 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:com.vaadin.addon.spreadsheet.client.SheetWidget.java
/** * * @param target/*from w ww. j ava 2s. c om*/ * The clicked element * @param event * The original event (that can be onClick or onTouchStart) */ protected void onSheetMouseDown(Event event) { Element target = event.getEventTarget().cast(); String className = target.getAttribute("class"); // click target is the inner div because IE10 and 9 are not compatible // with 'pointer-events: none' if ((BrowserInfo.get().isIE9() || BrowserInfo.get().isIE10()) && (className == null || className.isEmpty())) { String parentClassName = target.getParentElement().getAttribute("class"); if (parentClassName.contains("cell")) { className = parentClassName; } } if (cellCommentEditMode && !className.contains("comment-overlay")) { cellCommentEditMode = false; currentlyEditedCellComment.setEditMode(false); if (currentlyEditedCellComment.equals(cellCommentOverlay)) { cellCommentOverlay.hide(); cellCommentCellClassName = null; cellCommentCellColumn = -1; cellCommentCellRow = -1; } } if (className.contains("sheet") || target.getTagName().equals("input") || className.equals("floater")) { return; // event target is one of the panes or input } if (isEventInCustomEditorCell(event)) { // allow sheet context menu on top of custom editors if (event.getButton() == NativeEvent.BUTTON_RIGHT) { actionHandler.onCellRightClick(event, selectedCellCol, selectedCellRow); } else if (selectingCells) { // this is probably unnecessary stoppedSelectingCellsWithDrag(event); } } else if (className.contains("cell")) { if (className.equals("cell-comment-triangle")) { jsniUtil.parseColRow(target.getParentElement().getAttribute("class")); } else { jsniUtil.parseColRow(className); } int targetCol = jsniUtil.getParsedCol(); int targetRow = jsniUtil.getParsedRow(); // because of text overflow, the click might have happened on // top of a another cell than what event has. // merged cells are a special case, text won't overflow -> skip try { if (!className.endsWith(MERGED_CELL_CLASSNAME)) { int clientX = SpreadsheetWidget.getTouchOrMouseClientX(event); int clientY = SpreadsheetWidget.getTouchOrMouseClientY(event); Cell targetCell = getRealEventTargetCell(clientX, clientY, getCell(targetCol, targetRow)); target = targetCell.getElement(); targetCol = targetCell.getCol(); targetRow = targetCell.getRow(); } } catch (JavaScriptException jse) { debugConsole.severe( "SheetWidget:onSheetMouseDown - JSE while trying to find real event target, className:" + className); } catch (IndexOutOfBoundsException ioobe) { debugConsole.severe( "SheetWidget:onSheetMouseDown - IOOBE while trying to find real event target, className:" + className); } event.stopPropagation(); event.preventDefault(); if (event.getButton() == NativeEvent.BUTTON_RIGHT) { Event.releaseCapture(sheet); actionHandler.onCellRightClick(event, targetCol, targetRow); } else { sheet.focus(); // quit input if active if (editingCell && !input.getElement().isOrHasChild(target)) { actionHandler.onCellInputBlur(input.getValue()); } if (event.getCtrlKey() || event.getMetaKey() || event.getShiftKey()) { actionHandler.onCellClick(targetCol, targetRow, target.getInnerText(), event.getShiftKey(), event.getMetaKey() || event.getCtrlKey(), true); tempCol = -1; tempRow = -1; } else { // no special keys used // link cells are special keys // TODO should investigate what is the correct action when // clicking on hyperlink cells that overflow to next cells if (cellLinksMap != null && cellLinksMap.containsKey(toKey(jsniUtil.getParsedCol(), jsniUtil.getParsedRow()))) { actionHandler.onLinkCellClick(targetCol, targetRow); } else { // otherwise selecting starts actionHandler.onCellClick(targetCol, targetRow, target.getInnerText(), event.getShiftKey(), event.getMetaKey() || event.getCtrlKey(), false); selectingCells = true; tempCol = targetCol; tempRow = targetRow; startCellTopLeft = isCellRenderedInTopLeftPane(targetCol, targetRow); startCellTopRight = isCellRenderedInTopRightPane(targetCol, targetRow); startCellBottomLeft = isCellRenderedInBottomLeftPane(targetCol, targetRow); crossedDown = !startCellTopLeft && !startCellTopRight; crossedLeft = !startCellTopLeft && !startCellBottomLeft; clientX = SpreadsheetWidget.getTouchOrMouseClientX(event); clientY = SpreadsheetWidget.getTouchOrMouseClientY(event); Event.setCapture(sheet); } } } } }