Monotone-Parent: 12bd2da2143e884691df4530016c9e5725370d74

Monotone-Revision: 53a9a0c604dc0d44347247cc86a74a8d746c3c4b

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2006-11-10T22:58:25
Monotone-Branch: ca.inverse.sogo
This commit is contained in:
Wolfgang Sourdeau
2006-11-10 22:58:25 +00:00
parent d3b837cdf3
commit bfc1f9012b
5 changed files with 270 additions and 228 deletions

View File

@@ -28,44 +28,3 @@ HTMLTableElement.prototype.deselectAll = function() {
for (var i = 0; i < nodes.length; i++)
deselectNode(nodes[i]);
}
/* "draggesture" seems inhibited on Mozilla so we create a work-around */
HTMLTableElement.prototype.workAroundDragGesture = function() {
this._dragGestureStartPoint = null;
this.addEventListener("mousedown", this._dragGestureMouseDownHandler, false);
}
HTMLTableElement.prototype._dragGestureMouseDownHandler = function(event) {
this.addEventListener("mousemove", this._dragGestureMouseMoveHandler, false);
this.addEventListener("mouseup", this._dragGestureMouseUpHandler, false);
this._dragGestureStartPoint = new Array(event.clientX, event.clientY);
this._dragGestureTarget = event.target;
}
HTMLTableElement.prototype._dragGestureMouseUpHandler = function(event) {
this.removeEventListener("mousemove", this._dragGestureMouseMoveHandler, false);
this.removeEventListener("mouseup", this._dragGestureMouseUpHandler, false);
this._dragGestureStartPoint = null;
}
HTMLTableElement.prototype._dragGestureMouseMoveHandler = function(event) {
var deltaX = event.clientX - this._dragGestureStartPoint[0];
var deltaY = event.clientX - this._dragGestureStartPoint[0];
if (Math.sqrt((deltaX * deltaX) + (deltaY * deltaY)) > 10) {
this.removeEventListener("mousemove", this._dragGestureMouseMoveHandler, false);
this.removeEventListener("mousedown", this._dragGestureMouseUpHandler, false);
this._dragGestureStartPoint = null;
var dragStart = document.createEvent("MouseEvents");
dragStart.initMouseEvent("draggesture-hack", true, true, window,
event.detail, event.screenX, event.screenY,
event.clientX, event.clientY, event.ctrlKey,
event.altKey, event.shiftKey, event.metaKey,
event.button, null);
this.dispatchEvent(dragStart);
window.addEventListener("mouseup", document.DNDManager.destinationDrop, false);
window.addEventListener("mouseover", document.DNDManager.destinationEnter, false);
window.addEventListener("mousemove", document.DNDManager.destinationOver, false);
window.addEventListener("mouseout", document.DNDManager.destinationExit, false);
event.returnValue = false;
}
}