List of usage examples for com.google.gwt.user.client DOM eventGetKeyCode
@Deprecated public static int eventGetKeyCode(Event evt)
From source file:org.palaso.languageforge.client.lex.controls.FastTree.java
License:Apache License
@Override @SuppressWarnings("fallthrough") public void onBrowserEvent(Event event) { int eventType = DOM.eventGetType(event); if (event.getButton() == Event.BUTTON_RIGHT) { DOM.eventCancelBubble(event, true); DOM.eventPreventDefault(event);//from w w w . j a v a2 s. com } switch (eventType) { case Event.ONCLICK: { Element e = DOM.eventGetTarget(event); if (shouldTreeDelegateFocusToElement(e)) { // The click event should have given focus to this element // already. // Avoid moving focus back up to the tree (so that focusable // widgets // attached to TreeItems can receive keyboard events). } else { if (!hasModifiers(event)) { clickedOnFocus(DOM.eventGetTarget(event)); } } break; } case Event.ONMOUSEUP: { boolean left = event.getButton() == Event.BUTTON_LEFT; if (lostMouseDown) { // artificial mouse down due to IE bug where mouse downs are // lost. if (left && !hasModifiers(event)) { elementClicked(root, event); } if (event.getButton() == Event.BUTTON_RIGHT) { if (contextClickHandler != null) { Element target = DOM.eventGetTarget(event); ArrayList<Element> chain = new ArrayList<Element>(); collectElementChain(chain, getElement(), target); FastTreeItem item = findItemByChain(chain, 0, root); if (item != null && item != root) { onSelection(item, false, true); DOM.eventCancelBubble(event, true); DOM.eventPreventDefault(event); int x = DOM.eventGetClientX(event); int y = DOM.eventGetClientY(event); TreeItemContextClickEvent contextEvent = new TreeItemContextClickEvent(item, popupPanel); contextClickHandler.onTreeItemContextClick(contextEvent); popupPanel.setPopupPosition(x, y); popupPanel.show(); break; } } } } lostMouseDown = true; break; } case Event.ONMOUSEDOWN: { boolean left = event.getButton() == Event.BUTTON_LEFT; lostMouseDown = false; if (left && !hasModifiers(event)) { elementClicked(root, event); } if (!left) { lostMouseDown = true; } break; } case Event.ONKEYDOWN: keyDown = event; // Intentional fallthrough. case Event.ONKEYUP: if (eventType == Event.ONKEYUP) { // If we got here because of a key tab, then we need to make // sure the // current tree item is selected. if (DOM.eventGetKeyCode(event) == KeyCodes.KEY_TAB) { ArrayList<Element> chain = new ArrayList<Element>(); collectElementChain(chain, getElement(), DOM.eventGetTarget(event)); FastTreeItem item = findItemByChain(chain, 0, root); if (item != getSelectedItem()) { setSelectedItem(item, true); } } } case Event.ONCONTEXTMENU: { break; } // Intentional fall through. case Event.ONKEYPRESS: { if (hasModifiers(event)) { break; } // Trying to avoid duplicate key downs and fire navigation despite // missing key downs. if (eventType != Event.ONKEYUP) { if (lastKeyDown == null || (!lastKeyDown.equals(keyDown))) { keyboardNavigation(event); } if (eventType == Event.ONKEYPRESS) { lastKeyDown = null; } else { lastKeyDown = keyDown; } } if (DOMHelper.isArrowKey(DOM.eventGetKeyCode(event))) { DOM.eventCancelBubble(event, true); DOM.eventPreventDefault(event); } break; } } // We must call SynthesizedWidget's implementation for all other events. super.onBrowserEvent(event); }
From source file:org.palaso.languageforge.client.lex.controls.FastTree.java
License:Apache License
protected void keyboardNavigation(Event event) { // If nothing's selected, select the first item. if (curSelection == null) { if (root.getChildCount() > 0) { onSelection(root.getChild(0), true, true); }// w w w .ja v a2s. c o m super.onBrowserEvent(event); } else { // Handle keyboard events if keyboard navigation is enabled switch (DOMHelper.standardizeKeycode(DOM.eventGetKeyCode(event))) { case KeyCodes.KEY_UP: { moveSelectionUp(curSelection); break; } case KeyCodes.KEY_DOWN: { moveSelectionDown(curSelection, true); break; } case KeyCodes.KEY_LEFT: { if (curSelection.isOpen()) { curSelection.setState(false); } else { FastTreeItem parent = curSelection.getParentItem(); if (parent != null) { setSelectedItem(parent); } } break; } case KeyCodes.KEY_RIGHT: { if (!curSelection.isOpen()) { curSelection.setState(true); } // Do nothing if the element is already open. break; } } } }
From source file:org.utgenome.gwt.widget.client.Icon.java
License:Apache License
@Override public void onBrowserEvent(Event event) { // Should not act on button if disabled. int type = DOM.eventGetType(event); switch (type) { case Event.ONMOUSEDOWN: isFocusing = true;/* w ww . ja v a 2s .c o m*/ onClickStart(); // DOM.setCapture(getElement()); isCapturing = true; // Prevent dragging (on some browsers); DOM.eventPreventDefault(event); break; case Event.ONMOUSEUP: if (isCapturing) { isCapturing = false; // DOM.releaseCapture(getElement()); if (isHovering) { onClick(); } } break; case Event.ONMOUSEMOVE: if (isCapturing) { // Prevent dragging (on other browsers); DOM.eventPreventDefault(event); } break; case Event.ONMOUSEOUT: Element to = DOM.eventGetToElement(event); if (DOM.isOrHasChild(getElement(), DOM.eventGetTarget(event)) && (to == null || !DOM.isOrHasChild(getElement(), to))) { if (isCapturing) { onClickCancel(); // DOM.releaseCapture(getElement()); } } setHovering(false); break; case Event.ONMOUSEOVER: if (DOM.isOrHasChild(getElement(), DOM.eventGetTarget(event))) { setHovering(true); if (isCapturing) { onClickStart(); } } break; case Event.ONCLICK: // we handle clicks ourselves return; case Event.ONBLUR: if (isFocusing) { isFocusing = false; onClickCancel(); } break; case Event.ONLOSECAPTURE: if (isCapturing) { isCapturing = false; onClickCancel(); } break; case Event.ONERROR: setHovering(false); break; } super.onBrowserEvent(event); // Synthesize clicks based on keyboard events AFTER the normal key handling. char keyCode = (char) DOM.eventGetKeyCode(event); switch (type) { case Event.ONKEYDOWN: if (keyCode == ' ') { isFocusing = true; onClickStart(); } break; case Event.ONKEYUP: if (isFocusing && keyCode == ' ') { isFocusing = false; onClick(); } break; case Event.ONKEYPRESS: if (keyCode == '\n' || keyCode == '\r') { onClickStart(); onClick(); } break; } }
From source file:org.utgenome.gwt.widget.client.Switch.java
License:Apache License
@Override public void onBrowserEvent(Event event) { // Should not act on button if disabled. int type = DOM.eventGetType(event); switch (type) { case Event.ONMOUSEDOWN: isFocusing = true;/*from w ww . j a v a 2 s . c om*/ onClickStart(); DOM.setCapture(getElement()); isCapturing = true; // Prevent dragging (on some browsers); DOM.eventPreventDefault(event); break; case Event.ONMOUSEUP: if (isCapturing) { isCapturing = false; DOM.releaseCapture(getElement()); if (isHovering) { onClick(); } } break; case Event.ONMOUSEMOVE: if (isCapturing) { // Prevent dragging (on other browsers); DOM.eventPreventDefault(event); } break; case Event.ONMOUSEOUT: Element to = DOM.eventGetToElement(event); if (DOM.isOrHasChild(getElement(), DOM.eventGetTarget(event)) && (to == null || !DOM.isOrHasChild(getElement(), to))) { if (isCapturing) { onClickCancel(); } setHovering(false); } break; case Event.ONMOUSEOVER: if (DOM.isOrHasChild(getElement(), DOM.eventGetTarget(event))) { setHovering(true); if (isCapturing) { onClickStart(); } } break; case Event.ONCLICK: // we handle clicks ourselves return; case Event.ONBLUR: if (isFocusing) { isFocusing = false; onClickCancel(); } break; case Event.ONLOSECAPTURE: if (isCapturing) { isCapturing = false; onClickCancel(); } break; } super.onBrowserEvent(event); // Synthesize clicks based on keyboard events AFTER the normal key handling. char keyCode = (char) DOM.eventGetKeyCode(event); switch (type) { case Event.ONKEYDOWN: if (keyCode == ' ') { isFocusing = true; onClickStart(); } break; case Event.ONKEYUP: if (isFocusing && keyCode == ' ') { isFocusing = false; onClick(); } break; case Event.ONKEYPRESS: if (keyCode == '\n' || keyCode == '\r') { onClickStart(); onClick(); } break; } }
From source file:org.waveprotocol.wave.client.editor.sugg.SuggestionMenu.java
License:Apache License
private void handleEventInner(Event event) { switch (DOM.eventGetType(event)) { case Event.ONCONTEXTMENU: event.preventDefault();//from ww w. j a v a 2s . c o m break; case Event.ONKEYPRESS: case Event.ONKEYDOWN: { // NOTE(user): It is necessary to stop propagation on the key events to // prevent them from leaking to the blip/wave presenters. int keyCode = DOM.eventGetKeyCode(event); // Move left/right to previous/next drop down widget switch (keyCode) { case KeyCodes.KEY_LEFT: case KeyCodes.KEY_RIGHT: handler.handleLeftRight(keyCode == KeyCodes.KEY_RIGHT); event.stopPropagation(); return; case KeyCodes.KEY_ENTER: event.stopPropagation(); } if (keyCode >= '1' && keyCode <= '9') { // TODO(danilatos): Is this ok? i18n etc? int index = keyCode - '1'; if (index >= 0 && index < getItems().size()) { MenuItem item = getItems().get(index); if (item == null) { return; } item.getCommand().execute(); DOM.eventPreventDefault(event); } } break; } case Event.ONMOUSEOUT: { // Need to check that we really seem to have left the menu, as // mouse-out events get triggered whenever the mouse moves between // selections in the menu. EventTarget target = event.getRelatedEventTarget(); Element targetElement = Element.as(target); if (!getElement().isOrHasChild(targetElement)) { handler.handleMouseOut(); } break; } case Event.ONMOUSEOVER: { handler.handleMouseOver(); break; } } }
From source file:pl.balon.gwt.diagramsexample.client.examples.DiagramBuilderExample.java
License:Apache License
protected void createContents() { PickupDragController dragController = new PickupDragController(getArea(), true); AbsolutePositionDropController dropController = new AbsolutePositionDropController(getArea()); toolboxDragController = new ToolboxDragController(dropController, dragController); toolbox = new HorizontalPanel(); toolbox.setStyleName("toolbox"); panel = new AbsolutePanel(); helpPanel = new HorizontalPanel(); helpPanel.setStyleName("helpPanel"); VerticalPanel vp = new VerticalPanel(); vp.setStyleName("builder"); vp.add(helpPanel);/* w ww .j a v a 2s .c o m*/ vp.add(toolbox); vp.add(panel); getArea().add(vp); createToolboxNode("A", "all"); createToolboxNode("L", "left"); createToolboxNode("R", "right"); createToolboxNode("T", "top"); createToolboxNode("B", "bottom"); createStyleOption("rectilinear", true); createStyleOption("bezier", false); createStyleOption("straight", false); createHelpEntry("drag&drop from toolbar to add"); createHelpEntry("CTRL+click to select/connect"); createHelpEntry("DEL to delete selected"); DOM.addEventPreview(new EventPreview() { public boolean onEventPreview(Event event) { if (Event.ONKEYDOWN == DOM.eventGetType(event) && KeyboardListener.KEY_DELETE == DOM.eventGetKeyCode(event) && !selected.isEmpty()) { for (Iterator i = selected.listIterator(); i.hasNext();) { Widget w = (Widget) i.next(); UIObjectConnector.unwrap(w); i.remove(); w.removeFromParent(); } return false; } return true; } }); }
From source file:toastwars.client.slider.SliderBar.java
License:Apache License
/** * Listen for events that will move the knob. * //from w w w .j a va2s.co m * @param event * the event that occurred */ public void onBrowserEvent(Event event) { super.onBrowserEvent(event); switch (DOM.eventGetType(event)) { // Unhighlight and cancel keyboard events case Event.ONBLUR: keyTimer.cancel(); if (slidingMouse) { DOM.releaseCapture(getElement()); slidingMouse = false; slideKnob(event); stopSliding(true, true); } else if (slidingKeyboard) { slidingKeyboard = false; stopSliding(true, true); } unhighlight(); break; // Highlight on focus case Event.ONFOCUS: highlight(); break; // Mousewheel events case Event.ONMOUSEWHEEL: int velocityY = DOM.eventGetMouseWheelVelocityY(event); DOM.eventPreventDefault(event); if (velocityY > 0) { shiftRight(1); } else { shiftLeft(1); } break; // Shift left or right on key press case Event.ONKEYDOWN: if (!slidingKeyboard) { int multiplier = 1; if (DOM.eventGetCtrlKey(event)) { multiplier = (int) (getTotalRange() / stepSize / 10); } switch (DOM.eventGetKeyCode(event)) { case KeyboardListener.KEY_HOME: DOM.eventPreventDefault(event); setCurrentValue(minValue); break; case KeyboardListener.KEY_END: DOM.eventPreventDefault(event); setCurrentValue(maxValue); break; case KeyboardListener.KEY_LEFT: DOM.eventPreventDefault(event); slidingKeyboard = true; startSliding(false, true); shiftLeft(multiplier); keyTimer.schedule(400, false, multiplier); break; case KeyboardListener.KEY_RIGHT: DOM.eventPreventDefault(event); slidingKeyboard = true; startSliding(false, true); shiftRight(multiplier); keyTimer.schedule(400, true, multiplier); break; case 32: DOM.eventPreventDefault(event); setCurrentValue(minValue + getTotalRange() / 2); break; } } break; // Stop shifting on key up case Event.ONKEYUP: keyTimer.cancel(); if (slidingKeyboard) { slidingKeyboard = false; stopSliding(true, true); } break; // Mouse Events case Event.ONMOUSEDOWN: setFocus(true); slidingMouse = true; DOM.setCapture(getElement()); startSliding(true, true); DOM.eventPreventDefault(event); slideKnob(event); break; case Event.ONMOUSEUP: if (slidingMouse) { DOM.releaseCapture(getElement()); slidingMouse = false; slideKnob(event); stopSliding(true, true); } break; case Event.ONMOUSEMOVE: if (slidingMouse) { slideKnob(event); } break; } }