ginebra/chrome/js/LongPress.js
branchGCC_SURGE
changeset 8 2e16851ffecd
parent 2 bf4420e9fa4d
parent 6 1c3b8676e58c
--- a/ginebra/chrome/js/LongPress.js	Fri Jun 11 16:23:26 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +0,0 @@
-//
-// Use LongPress() to set a function callback for a long-press on a particular DOM element.
-//   Example:
-//        <javascript ...> 
-//          new LongPress("btnId", function() { alert("hello"); });
-//        </javascript>
-//        ...
-//        <img id="btnId" ... />
-//
-function LongPress(elementId, callback) {
-	this.el = document.getElementById(elementId);
-    this.callback = callback;
-    this.initialX = 0;
-    this.initialY = 0;
-
-	if(!this.el) {
-		window.chrome.alert("LongPress: element " + elementId + " not found");
-		return;
-	}
-
-    this.onTimerFired = function() {
-        window.chrome.alert("onTimerFired");
-        this.callback.call();
-        this.cancelTimer();
-        this.unregisterMouseMove();
-    }
-
-    this.startTimer = function() {
-        this.cancelTimer();
-        this.timer = window.setTimeout(createDelegate(this, this.onTimerFired), 1500);
-	}
-
-    this.cancelTimer = function() {
-        if(this.timer) {
-            window.clearTimeout(this.timer);
-            this.timer = null;
-        }
-    }
-
-    // Stop tracking mouse movements.
-    this.unregisterMouseMove= function() {
-        this.el.onmousemove = null;
-    }
-
-    this.cancel = function() {
-        window.chrome.alert("cancel");
-        this.cancelTimer();
-        this.unregisterMouseMove();
-    }
-
-    // If the mouse has moved too much it's not considered a long press, so cancel.
-    this.onMouseMove = function() {
-        //window.chrome.alert("LongPress::onMouseMove " + this + " event=" + window.event +
-        //                    " " + window.event.clientX + "," + window.event.clientY);
-        if(Math.abs(this.initialX - window.event.clientX) > 4 ||
-           Math.abs(this.initialY - window.event.clientY) > 4) {
-            this.cancel();
-        }
-    }
-
-    // Start tracking the mouse and save the initial mouse coords.
-    this.onMouseDown = function() {
-        window.chrome.alert("LongPress::onMouseDown " + this);
-        this.isDown = true;
-        this.initialX = window.event.clientX;
-        this.initialY = window.event.clientY;
-		this.el.onmousemove = this.onMouseMove.bind(this);
-        this.startTimer();
-    }
-
-	this.el.onmousedown = this.onMouseDown.bind(this);
-
-    // Cancel tracking on mouse up and out events, ie. not a long press.
-	this.el.onmouseup = this.cancel.bind(this);
-	this.el.onmouseout = this.cancel.bind(this);
-}