[OpenLayers-Commits] r11378 - in sandbox/camptocamp/mobile/openlayers: . lib/OpenLayers lib/OpenLayers/Handler tests tests/Control tests/Handler tests/Layer

commits-20090109 at openlayers.org commits-20090109 at openlayers.org
Thu Feb 24 03:47:37 EST 2011


Author: fredj
Date: 2011-02-24 00:47:37 -0800 (Thu, 24 Feb 2011)
New Revision: 11378

Modified:
   sandbox/camptocamp/mobile/openlayers/
   sandbox/camptocamp/mobile/openlayers/lib/OpenLayers/Handler/Drag.js
   sandbox/camptocamp/mobile/openlayers/lib/OpenLayers/Map.js
   sandbox/camptocamp/mobile/openlayers/tests/Control/PanZoom.html
   sandbox/camptocamp/mobile/openlayers/tests/Handler/Drag.html
   sandbox/camptocamp/mobile/openlayers/tests/Layer/EventPane.html
   sandbox/camptocamp/mobile/openlayers/tests/Map.html
   sandbox/camptocamp/mobile/openlayers/tests/run-tests.html
Log:
svn merge -r11324:HEAD http://svn.openlayers.org/trunk/openlayers .


Property changes on: sandbox/camptocamp/mobile/openlayers
___________________________________________________________________
Modified: svn:mergeinfo
   - /sandbox/roberthl/openlayers:9745-9748
/trunk/openlayers:11233,11236-11238,11240-11279,11285-11316
   + /sandbox/roberthl/openlayers:9745-9748
/trunk/openlayers:11233,11236-11238,11240-11279,11285-11316,11325-11376

Modified: sandbox/camptocamp/mobile/openlayers/lib/OpenLayers/Handler/Drag.js
===================================================================
--- sandbox/camptocamp/mobile/openlayers/lib/OpenLayers/Handler/Drag.js	2011-02-24 08:47:34 UTC (rev 11377)
+++ sandbox/camptocamp/mobile/openlayers/lib/OpenLayers/Handler/Drag.js	2011-02-24 08:47:37 UTC (rev 11378)
@@ -156,9 +156,7 @@
             this.down(evt);
             this.callback("down", [evt.xy]);
 
-            if (evt.type === "mousedown") {
-                OpenLayers.Event.stop(evt);
-            }
+            OpenLayers.Event.stop(evt);
 
             if(!this.oldOnselectstart) {
                 this.oldOnselectstart = document.onselectstart ?
@@ -204,9 +202,7 @@
                     this.interval);
             }
             this.dragging = true;
-            if (evt.type === "touchmove") {
-                OpenLayers.Event.stop(evt);
-            }
+
             this.move(evt);
             this.callback("move", [evt.xy]);
             if(!this.oldOnselectstart) {

Modified: sandbox/camptocamp/mobile/openlayers/lib/OpenLayers/Map.js
===================================================================
--- sandbox/camptocamp/mobile/openlayers/lib/OpenLayers/Map.js	2011-02-24 08:47:34 UTC (rev 11377)
+++ sandbox/camptocamp/mobile/openlayers/lib/OpenLayers/Map.js	2011-02-24 08:47:37 UTC (rev 11378)
@@ -507,18 +507,27 @@
         this.viewPortDiv.className = "olMapViewport";
         this.div.appendChild(this.viewPortDiv);
 
+        // the eventsDiv is where we listen for all map events
+        var eventsDiv = document.createElement("div");
+        eventsDiv.id = this.id + "_events";
+        eventsDiv.style.position = "absolute";
+        eventsDiv.style.width = "100%";
+        eventsDiv.style.height = "100%";
+        eventsDiv.style.zIndex = this.Z_INDEX_BASE.Control - 1;
+        this.viewPortDiv.appendChild(eventsDiv);
+        this.eventsDiv = eventsDiv;
+        this.events = new OpenLayers.Events(
+            this, this.eventsDiv, this.EVENT_TYPES, this.fallThrough, 
+            {includeXY: true}
+        );
+
         // the layerContainerDiv is the one that holds all the layers
         id = this.id + "_OpenLayers_Container";
         this.layerContainerDiv = OpenLayers.Util.createDiv(id);
         this.layerContainerDiv.style.zIndex=this.Z_INDEX_BASE['Popup']-1;
         
-        this.viewPortDiv.appendChild(this.layerContainerDiv);
+        this.eventsDiv.appendChild(this.layerContainerDiv);
 
-        this.events = new OpenLayers.Events(this, 
-                                            this.viewPortDiv, 
-                                            this.EVENT_TYPES, 
-                                            this.fallThrough, 
-                                            {includeXY: true});
         this.updateSize();
         if(this.eventListeners instanceof Object) {
             this.events.on(this.eventListeners);

Modified: sandbox/camptocamp/mobile/openlayers/tests/Control/PanZoom.html
===================================================================
--- sandbox/camptocamp/mobile/openlayers/tests/Control/PanZoom.html	2011-02-24 08:47:34 UTC (rev 11377)
+++ sandbox/camptocamp/mobile/openlayers/tests/Control/PanZoom.html	2011-02-24 08:47:37 UTC (rev 11378)
@@ -74,7 +74,7 @@
                     t.delay_call(2, function() {
                         t.ok( wnd.mapper.getCenter().lat > wnd.centerLL.lat, "1) Pan up works correctly" );
                         t.ok(!flag.mousedown, "1) mousedown does not get to the map");
-                        t.ok(flag.mouseup, "1) mouseup does get to the map");
+                        t.ok(!flag.mouseup, "1) mouseup does not get to the map");
                         t.ok(!flag.click, "1) click does not get to the map");
                         t.ok(!flag.dblclick, "1) dblclick does not get to the map");
                         resetFlags();
@@ -83,7 +83,7 @@
                     }, 2, function() {    
                     t.ok( wnd.mapper.getCenter().lon < wnd.centerLL.lon, "2) Pan left works correctly" );
                     t.ok(!flag.mousedown, "2) mousedown does not get to the map");
-                    t.ok(flag.mouseup, "2) mouseup does get to the map");
+                    t.ok(!flag.mouseup, "2) mouseup does not get to the map");
                     t.ok(!flag.click, "2) click does not get to the map");
                     t.ok(!flag.dblclick, "2) dblclick does not get to the map");
                     resetFlags();
@@ -92,7 +92,7 @@
                     }, 2, function() {
                     t.ok( wnd.mapper.getCenter().lon == wnd.centerLL.lon, "3) Pan right works correctly" );
                     t.ok(!flag.mousedown, "3) mousedown does not get to the map");
-                    t.ok(flag.mouseup, "3) mouseup does get to the map");
+                    t.ok(!flag.mouseup, "3) mouseup does not get to the map");
                     t.ok(!flag.click, "3) click does not get to the map");
                     t.ok(!flag.dblclick, "3) dblclick does not get to the map");
                     resetFlags();
@@ -101,7 +101,7 @@
                     }, 2, function() {
                     t.ok( wnd.mapper.getCenter().lat == wnd.centerLL.lat, "4) Pan down works correctly" );
                     t.ok(!flag.mousedown, "4) mousedown does not get to the map");
-                    t.ok(flag.mouseup, "4) mouseup does get to the map");
+                    t.ok(!flag.mouseup, "4) mouseup does not get to the map");
                     t.ok(!flag.click, "4) click does not get to the map");
                     t.ok(!flag.dblclick, "4) dblclick does not get to the map");
                     resetFlags();
@@ -110,7 +110,7 @@
                     }, 2, function() {
                     t.eq( wnd.mapper.getZoom(), 6, "5) zoomin works correctly" );
                     t.ok(!flag.mousedown, "5) mousedown does not get to the map");
-                    t.ok(flag.mouseup, "5) mouseup does get to the map");
+                    t.ok(!flag.mouseup, "5) mouseup does not get to the map");
                     t.ok(!flag.click, "5) click does not get to the map");
                     t.ok(!flag.dblclick, "5) dblclick does not get to the map");
                     resetFlags();
@@ -119,7 +119,7 @@
                     }, 2, function() {
                     t.eq( wnd.mapper.getZoom(), 5, "6) zoomout works correctly" );
                     t.ok(!flag.mousedown, "6) mousedown does not get to the map");
-                    t.ok(flag.mouseup, "6) mouseup does get to the map");
+                    t.ok(!flag.mouseup, "6) mouseup does not get to the map");
                     t.ok(!flag.click, "6) click does not get to the map");
                     t.ok(!flag.dblclick, "6) dblclick does not get to the map");
                     resetFlags();
@@ -128,7 +128,7 @@
                     }, 2, function() {
                     t.eq( wnd.mapper.getZoom(), 2, "7) zoomworld works correctly" );
                     t.ok(!flag.mousedown, "7) mousedown does not get to the map");
-                    t.ok(flag.mouseup, "7) mouseup does get to the map");
+                    t.ok(!flag.mouseup, "7) mouseup does not get to the map");
                     t.ok(!flag.click, "7) click does not get to the map");
                     t.ok(!flag.dblclick, "7) dblclick does not get to the map");
                     resetFlags();

Modified: sandbox/camptocamp/mobile/openlayers/tests/Handler/Drag.html
===================================================================
--- sandbox/camptocamp/mobile/openlayers/tests/Handler/Drag.html	2011-02-24 08:47:34 UTC (rev 11377)
+++ sandbox/camptocamp/mobile/openlayers/tests/Handler/Drag.html	2011-02-24 08:47:37 UTC (rev 11378)
@@ -294,7 +294,7 @@
         // "touchend" events set expected states in the drag handler.
         // We also verify that we stop event bubbling as appropriate.
 
-        t.plan(12);
+        t.plan(14);
 
         // set up
 
@@ -302,37 +302,44 @@
         var c = new OpenLayers.Control();
         m.addControl(c);
         var h = new OpenLayers.Handler.Drag(c, {
-            done: function(px) { log = px; }});
+            done: function(px) { 
+                log.push(px); 
+            }
+        });
         h.activate();
 
         var _stop = OpenLayers.Event.stop;
-        OpenLayers.Event.stop = function(e) { log = e; };
+        OpenLayers.Event.stop = function(e) {
+            log.push(e);
+        };
 
-        var Px = OpenLayers.Pixel, e, log;
+        var Px = OpenLayers.Pixel, e;
+        var log = [];
 
         // test
-
         e = {touches: [{}], xy: new Px(0, 0)};
         m.events.triggerEvent('touchstart', e);
         t.eq(h.started, true, '[touchstart] started is set');
         t.eq(h.start.x, 0, '[touchstart] start.x is correct');
         t.eq(h.start.y, 0, '[touchstart] start.y is correct');
-        t.eq(log, undefined, '[touchstart] event is not stopped');
+        t.eq(log.length, 1, '[touchstart] one item in log');
+        t.ok(log[0] === e, "touchstart", '[touchstart] event is stopped');
 
         e = {xy: new Px(1, 1)};
         m.events.triggerEvent('touchmove', e);
         t.eq(h.dragging, true, '[touchmove] dragging is set');
-        t.eq(h.last.x, 1, '[touchstart] last.x is correct');
-        t.eq(h.last.y, 1, '[touchstart] last.y is correct');
-        t.ok(log == e, '[touchmove] event is stopped');
+        t.eq(h.last.x, 1, '[touchmove] last.x is correct');
+        t.eq(h.last.y, 1, '[touchmove] last.y is correct');
+        t.eq(log.length, 1, '[touchmove] one item in log (event is not stopped)');
 
         e = {xy: new Px(2, 2)};
         m.events.triggerEvent('touchend', e);
         t.eq(h.started, false, '[touchend] started is reset');
         t.eq(h.started, false, '[touchend] started is reset');
         // the "done" callback gets the position of the last touchmove
-        t.eq(log.x, 1, '[touchend] done callback got correct x position');
-        t.eq(log.y, 1, '[touchend] done callback got correct y position');
+        t.eq(log.length, 2, '[touchend] two items in log');
+        t.ok(log[1] instanceof Px, '[touchend] got');
+        t.ok(log[1].equals(e.xy), '[touchend] done callback got correct position');
 
         // tear down
 

Modified: sandbox/camptocamp/mobile/openlayers/tests/Layer/EventPane.html
===================================================================
--- sandbox/camptocamp/mobile/openlayers/tests/Layer/EventPane.html	2011-02-24 08:47:34 UTC (rev 11377)
+++ sandbox/camptocamp/mobile/openlayers/tests/Layer/EventPane.html	2011-02-24 08:47:37 UTC (rev 11378)
@@ -94,9 +94,9 @@
         if (document.createEvent) { // Mozilla
             var evObj = document.createEvent('MouseEvents');
             evObj.initEvent('mousemove', true, false);
-            layer.pane.dispatchEvent(evObj);
+            map.eventsDiv.dispatchEvent(evObj);
         } else if(document.createEventObject) { // IE
-            layer.pane.fireEvent('onmousemove');
+            map.eventsDiv.fireEvent('onmousemove');
         }
         
         t.eq(log.length, 1, "got one event");

Modified: sandbox/camptocamp/mobile/openlayers/tests/Map.html
===================================================================
--- sandbox/camptocamp/mobile/openlayers/tests/Map.html	2011-02-24 08:47:34 UTC (rev 11377)
+++ sandbox/camptocamp/mobile/openlayers/tests/Map.html	2011-02-24 08:47:37 UTC (rev 11378)
@@ -1667,7 +1667,26 @@
         map.destroy();
         
     }
+    function test_pixel_lonlat(t) {
+        
+        t.plan(4);
 
+        var map = new OpenLayers.Map({
+            div: "map",
+            layers: [
+                new OpenLayers.Layer("name", {isBaseLayer:true})
+            ]
+        });
+        map.zoomToMaxExtent();
+        var px = map.getPixelFromLonLat(map.getLonLatFromPixel(new OpenLayers.Pixel(100, 100)));
+        t.eq(px.x, 100, "x is the same in and ot");
+        t.eq(px.y, 100, "y is the same in and out");
+        var ll = map.getLonLatFromPixel(map.getPixelFromLonLat(new OpenLayers.LonLat(100, 100)));
+        t.ok((ll.lon > (100 -map.getResolution()) && (ll.lon < (100 + map.getResolution()))), "lon is the same in and ot");
+        t.ok((ll.lat > (100 -map.getResolution()) && (ll.lat < (100 + map.getResolution()))), "lat is the same in and ot");
+        map.destroy();
+    }    
+
   </script>
 </head>
 <body>

Modified: sandbox/camptocamp/mobile/openlayers/tests/run-tests.html
===================================================================
--- sandbox/camptocamp/mobile/openlayers/tests/run-tests.html	2011-02-24 08:47:34 UTC (rev 11377)
+++ sandbox/camptocamp/mobile/openlayers/tests/run-tests.html	2011-02-24 08:47:37 UTC (rev 11378)
@@ -686,7 +686,7 @@
 		timeout_seconds=4;
 	}
 	var no_close=document.getElementById( "dont_close_test_windows" );
-	var action={ action_kind: "window", wnd_url: url.toString(), wnd_wnd: null, wnd_fn: fn, wnd_timeout_milliseconds: timeout_seconds*1000, wnd_no_close: no_close.checked };
+	var action={ action_kind: "window", wnd_url: url.toString() + (window.location.search || ""), wnd_wnd: null, wnd_fn: fn, wnd_timeout_milliseconds: timeout_seconds*1000, wnd_no_close: no_close.checked };
 	this.delay_total_milliseconds_left+=Test.AnotherWay._action_estimate_milliseconds( action );
 	this.delay_actions.push( action );
 }



More information about the Commits mailing list