public void onMouseMove(Widget sender, int x, int y) {
if (isDragging) {
int absX = x + getAbsoluteLeft();
int absY = y + getAbsoluteTop();
DragPoint pt = new DragPoint(absX - dragStartX,
absY - dragStartY);
for (DragListener l : d.listeners) {
pt = l.onDrag(pt);
}
setPopupPosition(pt.getX(), pt.getY());
Widget newHover = calc(sender, x, y, false);
if ((lastHover != null) && (lastHover != newHover) &&
dropListeners.containsKey(lastHover)) {