Monotone-Parent: 46cfc558341a7482d8ce926d2a12cd80e68a2c98
Monotone-Revision: 9fe3529f7c302f3b3b2e565e15ab9d4dabc1943d Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2006-11-13T22:32:42 Monotone-Branch: ca.inverse.sogo
This commit is contained in:
parent
6211790491
commit
6e1066d372
|
@ -12,27 +12,33 @@ var SOGODragAndDropSourceInterface = {
|
||||||
this.addEventListener("mousedown", this.dragGestureMouseDownHandler, false);
|
this.addEventListener("mousedown", this.dragGestureMouseDownHandler, false);
|
||||||
},
|
},
|
||||||
dragGestureMouseDownHandler: function (event) {
|
dragGestureMouseDownHandler: function (event) {
|
||||||
|
// log("mousedown");
|
||||||
document._dragGestureStartPoint = new Array(event.clientX, event.clientY);
|
document._dragGestureStartPoint = new Array(event.clientX, event.clientY);
|
||||||
document._currentMouseGestureObject = this;
|
document._currentMouseGestureObject = this;
|
||||||
window.addEventListener("mousemove", this.dragGestureMouseMoveHandler, false);
|
window.addEventListener("mousemove", this.dragGestureMouseMoveHandler, false);
|
||||||
window.addEventListener("mouseup", this.dragGestureMouseUpHandler, false);
|
window.addEventListener("mouseup", this.dragGestureMouseUpHandler, false);
|
||||||
},
|
},
|
||||||
dragGestureMouseUpHandler: function (event) {
|
dragGestureMouseUpHandler: function (event) {
|
||||||
|
log("mouseup");
|
||||||
document._currentMouseGestureObject._removeGestureHandlers();
|
document._currentMouseGestureObject._removeGestureHandlers();
|
||||||
},
|
},
|
||||||
dragGestureMouseMoveHandler: function (event) {
|
dragGestureMouseMoveHandler: function (event) {
|
||||||
log("source mouse move (target: " + event.target + ")");
|
// log("source mouse move (target: " + event.target + ")");
|
||||||
var deltaX = event.clientX - document._dragGestureStartPoint[0];
|
var deltaX = event.clientX - document._dragGestureStartPoint[0];
|
||||||
var deltaY = event.clientY - document._dragGestureStartPoint[1];
|
var deltaY = event.clientY - document._dragGestureStartPoint[1];
|
||||||
if (Math.sqrt((deltaX * deltaX) + (deltaY * deltaY)) > 10) {
|
if (Math.sqrt((deltaX * deltaX) + (deltaY * deltaY)) > 10) {
|
||||||
event.stopPropagation();
|
// log("event: " + event);
|
||||||
event.preventDefault();
|
// event.stopPropagation();
|
||||||
event.returnValue = false;
|
// event.preventDefault();
|
||||||
event.cancelBubble = false;
|
event.returnValue = true;
|
||||||
|
event.cancelBubble = true;
|
||||||
var object = document._currentMouseGestureObject;
|
var object = document._currentMouseGestureObject;
|
||||||
var point = document._dragGestureStartPoint;
|
var point = document._dragGestureStartPoint;
|
||||||
document._currentMouseGestureObject._removeGestureHandlers();
|
|
||||||
document.DNDManager.startDragging(object, point);
|
document.DNDManager.startDragging(object, point);
|
||||||
|
document._currentMouseGestureObject._removeGestureHandlers();
|
||||||
|
// var mouseup = document.createEvent("MouseEvent");
|
||||||
|
// mouseup.initEvent("mouseup", true, true);
|
||||||
|
// event.target.dispatchEvent(mouseup);
|
||||||
// var dragStart = document.createEvent("MouseEvents");
|
// var dragStart = document.createEvent("MouseEvents");
|
||||||
// dragStart.initMouseEvent("draggesture-hack", true, true, window,
|
// dragStart.initMouseEvent("draggesture-hack", true, true, window,
|
||||||
// event.detail, event.screenX, event.screenY,
|
// event.detail, event.screenX, event.screenY,
|
||||||
|
@ -88,8 +94,7 @@ document.DNDManager = {
|
||||||
var source = document.DNDManager._lookupSource (object);
|
var source = document.DNDManager._lookupSource (object);
|
||||||
if (source) {
|
if (source) {
|
||||||
// log("source known");
|
// log("source known");
|
||||||
document.DNDManager.currentDndOperation
|
document.DNDManager.currentDndOperation = new document.DNDOperation(source, point);
|
||||||
= new document.DNDOperation (source, point);
|
|
||||||
window.addEventListener("mouseup",
|
window.addEventListener("mouseup",
|
||||||
document.DNDManager.destinationDrop, false);
|
document.DNDManager.destinationDrop, false);
|
||||||
window.addEventListener("mouseover",
|
window.addEventListener("mouseover",
|
||||||
|
@ -138,6 +143,7 @@ document.DNDManager = {
|
||||||
// log("over: " + event.target);
|
// log("over: " + event.target);
|
||||||
},
|
},
|
||||||
destinationDrop: function (event) {
|
destinationDrop: function (event) {
|
||||||
|
// log ("drop...");
|
||||||
var operation = document.DNDManager.currentDndOperation;
|
var operation = document.DNDManager.currentDndOperation;
|
||||||
if (operation) {
|
if (operation) {
|
||||||
window.removeEventListener("mouseup",
|
window.removeEventListener("mouseup",
|
||||||
|
@ -149,7 +155,7 @@ document.DNDManager = {
|
||||||
window.removeEventListener("mouseout",
|
window.removeEventListener("mouseout",
|
||||||
document.DNDManager.destinationExit, false);
|
document.DNDManager.destinationExit, false);
|
||||||
if (operation.destination == event.target) {
|
if (operation.destination == event.target) {
|
||||||
log("drag / drop: " + operation.source + " to " + operation.destination);
|
// log("drag / drop: " + operation.source + " to " + operation.destination);
|
||||||
if (operation.destination.dndExit)
|
if (operation.destination.dndExit)
|
||||||
event.target.dndExit();
|
event.target.dndExit();
|
||||||
if (operation.destination.dndDrop) {
|
if (operation.destination.dndDrop) {
|
||||||
|
|
Loading…
Reference in a new issue