package com.vaadin.terminal.gwt.client.ui.dd;
import com.google.gwt.dom.client.Element;
+import com.google.gwt.dom.client.EventTarget;
import com.google.gwt.dom.client.NativeEvent;
import com.google.gwt.dom.client.Node;
import com.google.gwt.dom.client.Style;
currentDrag.setCurrentGwtEvent(nativeEvent);
updateDragImagePosition();
- Element targetElement = (Element) nativeEvent.getEventTarget()
- .cast();
+ Element targetElement = Element.as(nativeEvent.getEventTarget());
if (dragElement != null && dragElement.isOrHasChild(targetElement)) {
// to detect the "real" target, hide dragelement temporary and
}
break;
case Event.ONMOUSEOUT:
- Element relatedTarget = (Element) nativeEvent
- .getRelatedEventTarget().cast();
+ Element relatedTarget = Element.as(nativeEvent
+ .getRelatedEventTarget());
VDropHandler newDragHanler = findDragTarget(relatedTarget);
if (dragElement != null
&& dragElement.isOrHasChild(relatedTarget)) {
isStarted = true;
VDropHandler dh = null;
if (startEvent != null) {
- dh = findDragTarget((Element) currentDrag
- .getCurrentGwtEvent().getEventTarget().cast());
+ dh = findDragTarget(Element.as(currentDrag
+ .getCurrentGwtEvent().getEventTarget()));
}
if (dh != null) {
// drag has started on a DropHandler, kind of drag over
int typeInt = event.getTypeInt();
switch (typeInt) {
case Event.ONMOUSEOVER:
- if (dragElement == null
- || !dragElement
- .isOrHasChild((Node) event
- .getNativeEvent()
- .getCurrentEventTarget()
- .cast())) {
+ if (dragElement == null) {
+ break;
+ }
+ EventTarget currentEventTarget = event
+ .getNativeEvent()
+ .getCurrentEventTarget();
+ if (Node.is(currentEventTarget)
+ && !dragElement.isOrHasChild(Node
+ .as(currentEventTarget))) {
// drag image appeared below, ignore
break;
}
break;
case Event.ONMOUSEOUT:
- if (dragElement == null
- || !dragElement
- .isOrHasChild((Node) event
- .getNativeEvent()
- .getRelatedEventTarget()
- .cast())) {
+ if (dragElement == null) {
+ break;
+ }
+ EventTarget relatedEventTarget = event
+ .getNativeEvent()
+ .getRelatedEventTarget();
+ if (Node.is(relatedEventTarget)
+ && !dragElement.isOrHasChild(Node
+ .as(relatedEventTarget))) {
// drag image appeared below, ignore
break;
}
clearDragElement();
break;
}
-
}
});