if (updateZIndex) {
dragWidget.setZIndex(XDOM.getTopZIndex());
}
DragEvent de = new DragEvent(this);
de.setComponent(dragWidget);
de.setEvent(event);
de.setX(startBounds.x);
de.setY(startBounds.y);
de.setCancelled(false);
lastX = startBounds.x;
lastY = startBounds.y;
if (!fireEvent(Events.DragStart, de)) {
stopDrag(event);
return;
}
if (dragEvent == null) {
dragEvent = new DragEvent(this);
}
dragging = true;
if (useProxy) {
if (proxyEl == null) {
createProxy();
}
Element body = XDOM.getBody();
DOM.appendChild(body, proxyEl.dom);
proxyEl.setVisibility(true);
proxyEl.setZIndex(XDOM.getTopZIndex());
proxyEl.makePositionable(true);
if (sizeProxyToSource) {
proxyEl.setBounds(startBounds);
} else {
proxyEl.setXY(startBounds.x, startBounds.y);
}
// did listeners change size?
if (de.getHeight() > 0) {
proxyEl.setHeight(de.getHeight(), true);
}
if (de.getWidth() > 0) {
proxyEl.setWidth(de.getWidth(), true);
}
}
}