/** * Gets the current target element of the given event. This is the element * whose listener fired last, not the element which fired the event initially. * * @param evt the event * @return the event's current target element * @see DOM#eventGetTarget(Event) */ public static com.google.gwt.user.client.Element eventGetCurrentTarget(Event evt) { return evt.getCurrentEventTarget().cast(); }
/** * Gets the current target element of this event. This is the element whose * listener fired last, not the element which fired the event initially. * * @return the event's current target element * @deprecated use {@link NativeEvent#getCurrentEventTarget()} instead */ @Deprecated public final Element getCurrentTarget() { return getCurrentEventTarget().cast(); }
/** * Returns the element that was the actual target of the given event. * * @return the target element * @deprecated use {@link NativeEvent#getEventTarget()} instead */ @Deprecated public final Element getTarget() { return getEventTarget().cast(); }
/** * Gets the related target for this event. * * @return the related target * @deprecated use {@link NativeEvent#getRelatedEventTarget()} instead */ @Deprecated public final Element getRelatedTarget() { return getRelatedEventTarget().cast(); }
/** * Returns the element that was the actual target of the given event. * * @param evt the event to be tested * @return the target element */ public static com.google.gwt.user.client.Element eventGetTarget(Event evt) { return evt.getEventTarget().cast(); }
public void onBrowserEvent(Event event) { if (!resettingScrollables && Event.ONSCROLL == event.getTypeInt()) { EventTarget eventTarget = event.getEventTarget(); if (!Element.is(eventTarget)) { return; } Element target = eventTarget.cast(); if (target == collapsible || target == expandable) { handleResize(); } } }
private static Element getFirstAncestorWithListener(Event evt) { Element curElem = evt.getCurrentEventTarget().cast(); while (curElem != null && getEventListener(curElem) == null) { curElem = curElem.getParentNode().cast(); } return curElem; }
private static void dispatchUnhandledEvent(Event evt) { Element element = evt.getCurrentEventTarget().cast(); element.setPropertyString("__gwtLastUnhandledEvent", evt.getType()); dispatchEvent(evt); }
@Override public void onBrowserEvent(Context context, Element parent, C value, NativeEvent event, ValueUpdater<C> valueUpdater) { super.onBrowserEvent(context, parent, value, event, valueUpdater); // Ignore events that don't target the input. Element target = event.getEventTarget().cast(); if (!getInputElement(parent).isOrHasChild(target)) { return; } String eventType = event.getType(); if (BrowserEvents.FOCUS.equals(eventType)) { focusedKey = context.getKey(); } else if (BrowserEvents.BLUR.equals(eventType)) { focusedKey = null; } }
@Override public void onBrowserEvent(final Widget widget, Event event) { // We need to remove the event listener from the cell now that the event // has fired. String type = event.getType().toLowerCase(Locale.ROOT); if (BrowserEvents.FOCUS.equals(type) || BrowserEvents.BLUR.equals(type) || BrowserEvents.CHANGE.equals(type)) { EventTarget eventTarget = event.getEventTarget(); if (Element.is(eventTarget)) { Element target = eventTarget.cast(); if (target != widget.getElement()) { DOM.setEventListener(target, null); } } } // Update the value of the focused input box. if (focusedInput != null && BrowserEvents.CHANGE.equals(type)) { focusedInputValue = getInputValue(focusedInput); } // We might need to fire a synthetic change event on the input element. if (focusedInput != null && !focusedInputChangesOnBlurOnly && changeEventTriggers.contains(type)) { // Defer the change event because the change does not occur until after // the events specified above. Scheduler.get().scheduleDeferred(new ScheduledCommand() { public void execute() { maybeFireChangeEvent(widget); } }); } }
public SelectAction translateSelectionEvent(CellPreviewEvent<T> event) { // Handle the event. NativeEvent nativeEvent = event.getNativeEvent(); if (BrowserEvents.CLICK.equals(nativeEvent.getType())) { // Ignore if the event didn't occur in the correct column. if (column > -1 && column != event.getColumn()) { return SelectAction.IGNORE; } // Determine if we clicked on a checkbox. Element target = nativeEvent.getEventTarget().cast(); if ("input".equals(target.getTagName().toLowerCase(Locale.ROOT))) { final InputElement input = target.cast(); if ("checkbox".equals(input.getType().toLowerCase(Locale.ROOT))) { // Synchronize the checkbox with the current selection state. input.setChecked(event.getDisplay().getSelectionModel().isSelected( event.getValue())); return SelectAction.TOGGLE; } } return SelectAction.IGNORE; } // For keyboard events, do the default action. return SelectAction.DEFAULT; } }
/** * Check whether or not an event occurred within the wrapper around the image * element. * * @param event the event * @param parent the parent element * @return true if the event targets the image */ private boolean eventOccurredOnImage(NativeEvent event, Element parent) { EventTarget eventTarget = event.getEventTarget(); if (!Element.is(eventTarget)) { return false; } Element target = eventTarget.cast(); // Make sure the target occurred within the div around the image. Element imgWrapper = parent.getFirstChildElement().getNextSiblingElement(); return imgWrapper.isOrHasChild(target); } }
@Override public void onBrowserEvent(Context context, Element parent, C value, NativeEvent event, ValueUpdater<C> valueUpdater) { int index = 0; EventTarget eventTarget = event.getEventTarget(); if (Element.is(eventTarget)) { Element target = eventTarget.cast(); Element container = getContainerElement(parent); Element wrapper = container.getFirstChildElement(); while (wrapper != null) { if (wrapper.isOrHasChild(target)) { onBrowserEventImpl(context, wrapper, value, event, valueUpdater, hasCells.get(index)); } index++; wrapper = wrapper.getNextSiblingElement(); } } }
public void onBrowserEvent(Event event) { switch (DOM.eventGetType(event)) { case Event.ONMOUSEOVER: // Only fire the mouse over event if it's coming from outside this // widget. case Event.ONMOUSEOUT: // Only fire the mouse out event if it's leaving this // widget. Element related = event.getRelatedEventTarget().cast(); if (related != null && getElement().isOrHasChild(related)) { return; } break; } DomEvent.fireNativeEvent(event, this, this.getElement()); }
@Override protected void onEnterKeyDown(Context context, Element parent, C value, NativeEvent event, ValueUpdater<C> valueUpdater) { Element input = getInputElement(parent); Element target = event.getEventTarget().cast(); Object key = context.getKey(); if (getInputElement(parent).isOrHasChild(target)) { finishEditing(parent, value, key, valueUpdater); } else { focusedKey = key; input.focus(); } } }
Element target = event.getEventTarget().cast(); if (!parent.getFirstChildElement().isOrHasChild(target)) { return;
@Override public void onBrowserEvent(Context context, Element parent, String value, NativeEvent event, ValueUpdater<String> valueUpdater) { super.onBrowserEvent(context, parent, value, event, valueUpdater); // Ignore events that don't target the input. InputElement input = getInputElement(parent); Element target = event.getEventTarget().cast(); if (!input.isOrHasChild(target)) { return; } String eventType = event.getType(); Object key = context.getKey(); if (BrowserEvents.CHANGE.equals(eventType)) { finishEditing(parent, value, key, valueUpdater); } else if (BrowserEvents.KEYUP.equals(eventType)) { // Record keys as they are typed. ViewData vd = getViewData(key); if (vd == null) { vd = new ViewData(value); setViewData(key, vd); } vd.setCurrentValue(input.getValue()); } }
/** * Handle an event from a cell. Used by {@link #initEventSystem()}. * * @param event the event to handle. */ private static void handleNonBubblingEvent(Event event) { // Get the event target. EventTarget eventTarget = event.getEventTarget(); if (!Element.is(eventTarget)) { return; } Element target = eventTarget.cast(); // Get the event listener, which is the first widget that handles the // specified event type. String typeName = event.getType(); EventListener listener = DOM.getEventListener(target); while (target != null && listener == null) { target = target.getParentElement().cast(); if (target != null && isNonBubblingEventHandled(target, typeName)) { // The target handles the event, so this must be the event listener. listener = DOM.getEventListener(target); } } // Fire the event. if (listener != null) { DOM.dispatchEvent(event, target, listener); } }