[OpenLayers-Commits] r5108 - in sandbox/ahocevar/sldRenderer: examples lib lib/OpenLayers lib/OpenLayers/Control lib/OpenLayers/Format lib/OpenLayers/Geometry lib/OpenLayers/Handler lib/OpenLayers/Layer lib/OpenLayers/Renderer tests/Control tests/Handler tests/Layer

commits at openlayers.org commits at openlayers.org
Sat Nov 3 12:56:10 EDT 2007


Author: ahocevar
Date: 2007-11-03 12:56:08 -0400 (Sat, 03 Nov 2007)
New Revision: 5108

Modified:
   sandbox/ahocevar/sldRenderer/examples/lite.html
   sandbox/ahocevar/sldRenderer/examples/spherical-mercator.html
   sandbox/ahocevar/sldRenderer/examples/tilecache.html
   sandbox/ahocevar/sldRenderer/lib/OpenLayers.js
   sandbox/ahocevar/sldRenderer/lib/OpenLayers/Ajax.js
   sandbox/ahocevar/sldRenderer/lib/OpenLayers/BaseTypes.js
   sandbox/ahocevar/sldRenderer/lib/OpenLayers/Control/ModifyFeature.js
   sandbox/ahocevar/sldRenderer/lib/OpenLayers/Control/MouseToolbar.js
   sandbox/ahocevar/sldRenderer/lib/OpenLayers/Control/PanZoomBar.js
   sandbox/ahocevar/sldRenderer/lib/OpenLayers/Format/GML.js
   sandbox/ahocevar/sldRenderer/lib/OpenLayers/Format/KML.js
   sandbox/ahocevar/sldRenderer/lib/OpenLayers/Geometry/Polygon.js
   sandbox/ahocevar/sldRenderer/lib/OpenLayers/Handler/Drag.js
   sandbox/ahocevar/sldRenderer/lib/OpenLayers/Handler/Point.js
   sandbox/ahocevar/sldRenderer/lib/OpenLayers/Handler/RegularPolygon.js
   sandbox/ahocevar/sldRenderer/lib/OpenLayers/Layer/EventPane.js
   sandbox/ahocevar/sldRenderer/lib/OpenLayers/Layer/GeoRSS.js
   sandbox/ahocevar/sldRenderer/lib/OpenLayers/Layer/Markers.js
   sandbox/ahocevar/sldRenderer/lib/OpenLayers/Layer/Text.js
   sandbox/ahocevar/sldRenderer/lib/OpenLayers/Layer/TileCache.js
   sandbox/ahocevar/sldRenderer/lib/OpenLayers/Map.js
   sandbox/ahocevar/sldRenderer/lib/OpenLayers/Renderer/SVG.js
   sandbox/ahocevar/sldRenderer/lib/OpenLayers/SingleFile.js
   sandbox/ahocevar/sldRenderer/lib/OpenLayers/Tile.js
   sandbox/ahocevar/sldRenderer/lib/OpenLayers/Util.js
   sandbox/ahocevar/sldRenderer/tests/Control/test_ModifyFeature.html
   sandbox/ahocevar/sldRenderer/tests/Handler/test_Drag.html
   sandbox/ahocevar/sldRenderer/tests/Handler/test_Point.html
   sandbox/ahocevar/sldRenderer/tests/Handler/test_RegularPolygon.html
   sandbox/ahocevar/sldRenderer/tests/Layer/test_TileCache.html
Log:
Merging from r5023 to HEAD

Modified: sandbox/ahocevar/sldRenderer/examples/lite.html
===================================================================
--- sandbox/ahocevar/sldRenderer/examples/lite.html	2007-11-03 12:08:41 UTC (rev 5107)
+++ sandbox/ahocevar/sldRenderer/examples/lite.html	2007-11-03 16:56:08 UTC (rev 5108)
@@ -1,26 +1,18 @@
 <html xmlns="http://www.w3.org/1999/xhtml">
   <head>
     <style type="text/css">
-        #map {
-            width: 800px;
-            height: 475px;
-            border: 1px solid black;
-        }
+        #map { width:512px; height:256px; border:1px solid black; }
     </style>
     <script src="../lib/OpenLayers.js"></script>
     <script type="text/javascript">
-        var lon = 5;
-        var lat = 40;
-        var zoom = 5;
         var map, layer;
-
         function init(){
             map = new OpenLayers.Map( 'map' );
             layer = new OpenLayers.Layer.WMS( "OpenLayers WMS", 
                     "http://labs.metacarta.com/wms/vmap0",
                     {layers: 'basic'} );
             map.addLayer(layer);
-            map.setCenter(new OpenLayers.LonLat(lon, lat), zoom);
+            map.zoomToMaxExtent();
         }
     </script>
   </head>

Modified: sandbox/ahocevar/sldRenderer/examples/spherical-mercator.html
===================================================================
--- sandbox/ahocevar/sldRenderer/examples/spherical-mercator.html	2007-11-03 12:08:41 UTC (rev 5107)
+++ sandbox/ahocevar/sldRenderer/examples/spherical-mercator.html	2007-11-03 16:56:08 UTC (rev 5108)
@@ -90,7 +90,7 @@
                 "http://world.freemap.in/tiles/",
                 {'layers': 'factbook-overlay', 'format':'png'},
                 {
-                    'reproject': false, 'opacity': 0.4,
+                    'opacity': 0.4,
                     'isBaseLayer': false,'wrapDateLine': true
                 }
             );

Modified: sandbox/ahocevar/sldRenderer/examples/tilecache.html
===================================================================
--- sandbox/ahocevar/sldRenderer/examples/tilecache.html	2007-11-03 12:08:41 UTC (rev 5107)
+++ sandbox/ahocevar/sldRenderer/examples/tilecache.html	2007-11-03 16:56:08 UTC (rev 5108)
@@ -28,7 +28,7 @@
                      "http://c2.labs.metacarta.com/wms-c/cache/",
                      "http://c3.labs.metacarta.com/wms-c/cache/",
                      "http://c4.labs.metacarta.com/wms-c/cache/"],
-                    "basic");
+                    "basic", {'format': 'image/png'});
             map.addLayer(layer);
             map.setCenter(new OpenLayers.LonLat(0, 0), 0);
         }

Modified: sandbox/ahocevar/sldRenderer/lib/OpenLayers/Ajax.js
===================================================================
--- sandbox/ahocevar/sldRenderer/lib/OpenLayers/Ajax.js	2007-11-03 12:08:41 UTC (rev 5107)
+++ sandbox/ahocevar/sldRenderer/lib/OpenLayers/Ajax.js	2007-11-03 16:56:08 UTC (rev 5108)
@@ -526,6 +526,6 @@
  */
 OpenLayers.Ajax.serializeXMLToString = function(xmldom) {
     var serializer = new XMLSerializer();
-    data = serializer.serializeToString(xmldom);
+    var data = serializer.serializeToString(xmldom);
     return data;
 };

Modified: sandbox/ahocevar/sldRenderer/lib/OpenLayers/BaseTypes.js
===================================================================
--- sandbox/ahocevar/sldRenderer/lib/OpenLayers/BaseTypes.js	2007-11-03 12:08:41 UTC (rev 5107)
+++ sandbox/ahocevar/sldRenderer/lib/OpenLayers/BaseTypes.js	2007-11-03 16:56:08 UTC (rev 5108)
@@ -22,7 +22,7 @@
 
 OpenLayers.String = {
     /**
-     * APIMethod: OpenLayers.String.startsWith
+     * APIFunction: OpenLayers.String.startsWith
      * Test whether a string starts with another string. 
      * 
      * Parameters:
@@ -37,7 +37,7 @@
     },
 
     /**
-     * APIMethod: OpenLayers.String.contains
+     * APIFunction: OpenLayers.String.contains
      * Test whether a string contains another string.
      * 
      * Parameters:
@@ -52,7 +52,7 @@
     },
     
     /**
-     * APIMethod: OpenLayers.String.trim
+     * APIFunction: OpenLayers.String.trim
      * Removes leading and trailing whitespace characters from a string.
      * 
      * Parameters:
@@ -68,7 +68,7 @@
     },
     
     /**
-     * APIMethod: OpenLayers.String.camelize
+     * APIFunction: OpenLayers.String.camelize
      * Camel-case a hyphenated string. 
      *     Ex. "chicken-head" becomes "chickenHead", and
      *     "-chicken-head" becomes "ChickenHead".
@@ -175,23 +175,21 @@
 
 OpenLayers.Number = {
     /**
-     * APIMethod: OpenLayers.Number.limitSigDigs
-     * Limit the number of significant digits on an integer.
+     * APIFunction: OpenLayers.Number.limitSigDigs
+     * Limit the number of significant digits on a float.
      * 
      * Parameters:
-     * num - {Integer}
+     * num - {Float}
      * sig - {Integer}
      * 
      * Returns:
-     * {Integer} The number, rounded to the specified number of significant
+     * {Float} The number, rounded to the specified number of significant
      *     digits.
      */
     limitSigDigs: function(num, sig) {
-        var fig;
-        if(sig > 0) {
+        var fig = 0;
+        if (sig > 0) {
             fig = parseFloat(num.toPrecision(sig));
-        } else {
-            fig = 0;
         }
         return fig;
     }
@@ -227,7 +225,7 @@
 
 OpenLayers.Function = {
     /**
-     * APIMethod: OpenLayers.Function.bind
+     * APIFunction: OpenLayers.Function.bind
      * Bind a function to an object.  Method to easily create closures with
      *     'this' altered.
      * 
@@ -252,7 +250,7 @@
     },
     
     /**
-     * APIMethod: OpenLayers.Function.bindAsEventListener
+     * APIFunction: OpenLayers.Function.bindAsEventListener
      * Bind a function to an object, and configure it to receive the event
      *     object as first parameter when called. 
      * 

Modified: sandbox/ahocevar/sldRenderer/lib/OpenLayers/Control/ModifyFeature.js
===================================================================
--- sandbox/ahocevar/sldRenderer/lib/OpenLayers/Control/ModifyFeature.js	2007-11-03 12:08:41 UTC (rev 5107)
+++ sandbox/ahocevar/sldRenderer/lib/OpenLayers/Control/ModifyFeature.js	2007-11-03 16:56:08 UTC (rev 5108)
@@ -384,7 +384,8 @@
            OpenLayers.Util.indexOf(this.deleteCodes, code) != -1) {
             var vertex = this.dragControl.feature;
             if(vertex &&
-               OpenLayers.Util.indexOf(this.vertices, vertex) != -1) {
+               OpenLayers.Util.indexOf(this.vertices, vertex) != -1 &&
+               !this.dragControl.dragHandler.dragging) {
                 // remove the vertex
                 vertex.geometry.parent.removeComponent(vertex.geometry);
                 this.layer.drawFeature(this.feature,

Modified: sandbox/ahocevar/sldRenderer/lib/OpenLayers/Control/MouseToolbar.js
===================================================================
--- sandbox/ahocevar/sldRenderer/lib/OpenLayers/Control/MouseToolbar.js	2007-11-03 12:08:41 UTC (rev 5107)
+++ sandbox/ahocevar/sldRenderer/lib/OpenLayers/Control/MouseToolbar.js	2007-11-03 16:56:08 UTC (rev 5108)
@@ -206,7 +206,7 @@
             case "measure":
                 var distance = "";
                 if (this.measureStart) {
-                    measureEnd = this.map.getLonLatFromViewPortPx(this.mouseDragStart);
+                    var measureEnd = this.map.getLonLatFromViewPortPx(this.mouseDragStart);
                     distance = OpenLayers.Util.distVincenty(this.measureStart, measureEnd);
                     distance = Math.round(distance * 100) / 100;
                     distance = distance + "km";

Modified: sandbox/ahocevar/sldRenderer/lib/OpenLayers/Control/PanZoomBar.js
===================================================================
--- sandbox/ahocevar/sldRenderer/lib/OpenLayers/Control/PanZoomBar.js	2007-11-03 12:08:41 UTC (rev 5107)
+++ sandbox/ahocevar/sldRenderer/lib/OpenLayers/Control/PanZoomBar.js	2007-11-03 16:56:08 UTC (rev 5108)
@@ -152,7 +152,7 @@
         this.sliderEvents.register("dblclick", this, this.doubleClick);
         this.sliderEvents.register("click", this, this.doubleClick);
         
-        sz = new OpenLayers.Size();
+        var sz = new OpenLayers.Size();
         sz.h = this.zoomStopHeight * this.map.getNumZoomLevels();
         sz.w = this.zoomStopWidth;
         var div = null;

Modified: sandbox/ahocevar/sldRenderer/lib/OpenLayers/Format/GML.js
===================================================================
--- sandbox/ahocevar/sldRenderer/lib/OpenLayers/Format/GML.js	2007-11-03 12:08:41 UTC (rev 5107)
+++ sandbox/ahocevar/sldRenderer/lib/OpenLayers/Format/GML.js	2007-11-03 16:56:08 UTC (rev 5108)
@@ -203,7 +203,7 @@
             // look for <gml:pos>
             var nodeList = this.getElementsByTagNameNS(node, this.gmlns, "pos");
             if(nodeList.length > 0) {
-                coordString = nodeList[0].firstChild.nodeValue;
+                var coordString = nodeList[0].firstChild.nodeValue;
                 coordString = coordString.replace(this.regExes.trimSpace, "");
                 coords = coordString.split(this.regExes.splitSpace);
             }

Modified: sandbox/ahocevar/sldRenderer/lib/OpenLayers/Format/KML.js
===================================================================
--- sandbox/ahocevar/sldRenderer/lib/OpenLayers/Format/KML.js	2007-11-03 12:08:41 UTC (rev 5107)
+++ sandbox/ahocevar/sldRenderer/lib/OpenLayers/Format/KML.js	2007-11-03 16:56:08 UTC (rev 5108)
@@ -302,7 +302,7 @@
             for(var i=0; i<children.length; ++i ) {
                 child = children[i];
                 if(child.nodeType == 1) {
-                    type = (child.prefix) ?
+                    var type = (child.prefix) ?
                             child.nodeName.split(":")[1] :
                             child.nodeName;
                     var parser = this.parseGeometry[type.toLowerCase()];
@@ -337,10 +337,10 @@
                 if(grandchildren.length == 1) {
                     grandchild = grandchildren[0];
                     if(grandchild.nodeType == 3 || grandchild.nodeType == 4) {
-                        name = (child.prefix) ?
+                        var name = (child.prefix) ?
                                 child.nodeName.split(":")[1] :
                                 child.nodeName;
-                        value = grandchild.nodeValue.replace(
+                        var value = grandchild.nodeValue.replace(
                                                 this.regExes.trimSpace, "");
                         attributes[name] = value;
                     }

Modified: sandbox/ahocevar/sldRenderer/lib/OpenLayers/Geometry/Polygon.js
===================================================================
--- sandbox/ahocevar/sldRenderer/lib/OpenLayers/Geometry/Polygon.js	2007-11-03 12:08:41 UTC (rev 5107)
+++ sandbox/ahocevar/sldRenderer/lib/OpenLayers/Geometry/Polygon.js	2007-11-03 16:56:08 UTC (rev 5108)
@@ -79,7 +79,7 @@
     var rotateAngle, x, y;
     var points = [];
     for(var i=0; i<sides; ++i) {
-        rotatedAngle = angle + (i * 2 * Math.PI / sides);
+        var rotatedAngle = angle + (i * 2 * Math.PI / sides);
         x = origin.x + (radius * Math.cos(rotatedAngle));
         y = origin.y + (radius * Math.sin(rotatedAngle));
         points.push(new OpenLayers.Geometry.Point(x, y));

Modified: sandbox/ahocevar/sldRenderer/lib/OpenLayers/Handler/Drag.js
===================================================================
--- sandbox/ahocevar/sldRenderer/lib/OpenLayers/Handler/Drag.js	2007-11-03 12:08:41 UTC (rev 5107)
+++ sandbox/ahocevar/sldRenderer/lib/OpenLayers/Handler/Drag.js	2007-11-03 16:56:08 UTC (rev 5108)
@@ -16,7 +16,9 @@
  *     when the drag begins, with each move, and when the drag is done.  In
  *     addition, controls can have callbacks keyed to 'up' and 'out' if they
  *     care to differentiate between the types of events that correspond with
- *     the end of a drag sequence.
+ *     the end of a drag sequence.  If no drag actually occurs (no mouse move)
+ *     the 'down' and 'up' callbacks will be called, but not the 'done'
+ *     callback.
  *
  * Create a new drag handler with the <OpenLayers.Handler.Drag> constructor.
  *
@@ -207,13 +209,16 @@
      */
     mouseup: function (evt) {
         if (this.started) {
+            var dragged = (this.start != this.last);
             this.started = false;
             this.dragging = false;
             // TBD replace with CSS classes
             this.map.div.style.cursor = "";
             this.up(evt);
             this.callback("up", [evt.xy]);
-            this.callback("done", [evt.xy]);
+            if(dragged) {
+                this.callback("done", [evt.xy]);
+            }
             document.onselectstart = this.oldOnselectstart;
         }
         return true;
@@ -231,16 +236,19 @@
      */
     mouseout: function (evt) {
         if (this.started && OpenLayers.Util.mouseLeft(evt, this.map.div)) {
+            var dragged = (this.start != this.last);
             this.started = false; 
             this.dragging = false;
             // TBD replace with CSS classes
             this.map.div.style.cursor = "";
             this.out(evt);
             this.callback("out", []);
+            if(dragged) {
+                this.callback("done", [evt.xy]);
+            }
             if(document.onselectstart) {
                 document.onselectstart = this.oldOnselectstart;
             }
-            this.callback("done", [evt.xy]);
         }
         return true;
     },

Modified: sandbox/ahocevar/sldRenderer/lib/OpenLayers/Handler/Point.js
===================================================================
--- sandbox/ahocevar/sldRenderer/lib/OpenLayers/Handler/Point.js	2007-11-03 12:08:41 UTC (rev 5107)
+++ sandbox/ahocevar/sldRenderer/lib/OpenLayers/Handler/Point.js	2007-11-03 16:56:08 UTC (rev 5108)
@@ -114,8 +114,14 @@
         if(this.drawing) {
             this.cancel();
         }
-        this.map.removeLayer(this.layer, false);
-        this.layer.destroy();
+        // If a layer's map property is set to null, it means that that layer
+        // isn't added to the map. Since we ourself added the layer to the map
+        // in activate(), we can assume that if this.layer.map is null it means
+        // that the layer has been destroyed (as a result of map.destroy() for
+        // example.
+        if (this.layer.map != null) {
+            this.layer.destroy(false);
+        }
         this.layer = null;
         return true;
     },

Modified: sandbox/ahocevar/sldRenderer/lib/OpenLayers/Handler/RegularPolygon.js
===================================================================
--- sandbox/ahocevar/sldRenderer/lib/OpenLayers/Handler/RegularPolygon.js	2007-11-03 12:08:41 UTC (rev 5107)
+++ sandbox/ahocevar/sldRenderer/lib/OpenLayers/Handler/RegularPolygon.js	2007-11-03 16:56:08 UTC (rev 5108)
@@ -164,11 +164,19 @@
             if(this.dragging) {
                 this.cancel();
             }
-            this.map.removeLayer(this.layer, false);
-            this.layer.destroy();
-            if (this.feature) {
-                this.feature.destroy();
-            }    
+            // If a layer's map property is set to null, it means that that
+            // layer isn't added to the map. Since we ourself added the layer
+            // to the map in activate(), we can assume that if this.layer.map
+            // is null it means that the layer has been destroyed (as a result
+            // of map.destroy() for example.
+            if (this.layer.map != null) {
+                this.layer.destroy(false);
+                if (this.feature) {
+                    this.feature.destroy();
+                }
+            }
+            this.layer = null;
+            this.feature = null;
             deactivated = true;
         }
         return deactivated;

Modified: sandbox/ahocevar/sldRenderer/lib/OpenLayers/Layer/EventPane.js
===================================================================
--- sandbox/ahocevar/sldRenderer/lib/OpenLayers/Layer/EventPane.js	2007-11-03 12:08:41 UTC (rev 5107)
+++ sandbox/ahocevar/sldRenderer/lib/OpenLayers/Layer/EventPane.js	2007-11-03 16:56:08 UTC (rev 5108)
@@ -136,8 +136,8 @@
 
         var viewSize = this.map.getSize();
         
-        msgW = Math.min(viewSize.w, 300);
-        msgH = Math.min(viewSize.h, 200);
+        var msgW = Math.min(viewSize.w, 300);
+        var msgH = Math.min(viewSize.h, 200);
         var size = new OpenLayers.Size(msgW, msgH);
 
         var centerPx = new OpenLayers.Pixel(viewSize.w/2, viewSize.h/2);

Modified: sandbox/ahocevar/sldRenderer/lib/OpenLayers/Layer/GeoRSS.js
===================================================================
--- sandbox/ahocevar/sldRenderer/lib/OpenLayers/Layer/GeoRSS.js	2007-11-03 12:08:41 UTC (rev 5107)
+++ sandbox/ahocevar/sldRenderer/lib/OpenLayers/Layer/GeoRSS.js	2007-11-03 16:56:08 UTC (rev 5108)
@@ -193,7 +193,7 @@
             
             data.popupSize = this.popupSize ? this.popupSize.clone() : new OpenLayers.Size(250, 120);
             if ((title != null) && (description != null)) {
-                contentHTML = '<div class="olLayerGeoRSSClose">[x]</div>'; 
+                var contentHTML = '<div class="olLayerGeoRSSClose">[x]</div>'; 
                 contentHTML += '<div class="olLayerGeoRSSTitle">';
                 if (link) {
                     contentHTML += '<a class="link" href="'+link+'" target="_blank">';
@@ -224,7 +224,7 @@
      * evt - {Event} 
      */
     markerClick: function(evt) {
-        sameMarkerClicked = (this == this.layer.selectedFeature);
+        var sameMarkerClicked = (this == this.layer.selectedFeature);
         this.layer.selectedFeature = (!sameMarkerClicked) ? this : null;
         for(var i=0; i < this.layer.map.popups.length; i++) {
             this.layer.map.removePopup(this.layer.map.popups[i]);

Modified: sandbox/ahocevar/sldRenderer/lib/OpenLayers/Layer/Markers.js
===================================================================
--- sandbox/ahocevar/sldRenderer/lib/OpenLayers/Layer/Markers.js	2007-11-03 12:08:41 UTC (rev 5107)
+++ sandbox/ahocevar/sldRenderer/lib/OpenLayers/Layer/Markers.js	2007-11-03 16:56:08 UTC (rev 5108)
@@ -70,7 +70,7 @@
         OpenLayers.Layer.prototype.moveTo.apply(this, arguments);
 
         if (zoomChanged || !this.drawn) {
-            for(i=0; i < this.markers.length; i++) {
+            for(var i=0; i < this.markers.length; i++) {
                 this.drawMarker(this.markers[i]);
             }
             this.drawn = true;

Modified: sandbox/ahocevar/sldRenderer/lib/OpenLayers/Layer/Text.js
===================================================================
--- sandbox/ahocevar/sldRenderer/lib/OpenLayers/Layer/Text.js	2007-11-03 12:08:41 UTC (rev 5107)
+++ sandbox/ahocevar/sldRenderer/lib/OpenLayers/Layer/Text.js	2007-11-03 16:56:08 UTC (rev 5108)
@@ -90,7 +90,7 @@
                 } else {
                     var vals = currLine.split('\t');
                     var location = new OpenLayers.LonLat(0,0);
-                    var title; var url;
+                    var title, url, description;
                     var icon, iconSize, iconOffset, overflow;
                     var set = false;
                     for (var valIndex = 0; valIndex < vals.length; valIndex++) {

Modified: sandbox/ahocevar/sldRenderer/lib/OpenLayers/Layer/TileCache.js
===================================================================
--- sandbox/ahocevar/sldRenderer/lib/OpenLayers/Layer/TileCache.js	2007-11-03 12:08:41 UTC (rev 5107)
+++ sandbox/ahocevar/sldRenderer/lib/OpenLayers/Layer/TileCache.js	2007-11-03 16:56:08 UTC (rev 5108)
@@ -52,7 +52,7 @@
         OpenLayers.Layer.Grid.prototype.initialize.apply(this,
                                                          [name, url, {}, options]);
         this.extension = this.format.split('/')[1].toLowerCase();
-        this.extension = (this.extension == 'jpeg') ? 'jpg' : this.extension;
+        this.extension = (this.extension == 'jpg') ? 'jpeg' : this.extension;
     },    
 
     /**

Modified: sandbox/ahocevar/sldRenderer/lib/OpenLayers/Map.js
===================================================================
--- sandbox/ahocevar/sldRenderer/lib/OpenLayers/Map.js	2007-11-03 12:08:41 UTC (rev 5107)
+++ sandbox/ahocevar/sldRenderer/lib/OpenLayers/Map.js	2007-11-03 16:56:08 UTC (rev 5108)
@@ -591,7 +591,7 @@
         // if we removed the base layer, need to set a new one
         if (setNewBaseLayer && (this.baseLayer == layer)) {
             this.baseLayer = null;
-            for(i=0; i < this.layers.length; i++) {
+            for(var i=0; i < this.layers.length; i++) {
                 var iLayer = this.layers[i];
                 if (iLayer.isBaseLayer) {
                     this.setBaseLayer(iLayer);

Modified: sandbox/ahocevar/sldRenderer/lib/OpenLayers/Renderer/SVG.js
===================================================================
--- sandbox/ahocevar/sldRenderer/lib/OpenLayers/Renderer/SVG.js	2007-11-03 12:08:41 UTC (rev 5107)
+++ sandbox/ahocevar/sldRenderer/lib/OpenLayers/Renderer/SVG.js	2007-11-03 16:56:08 UTC (rev 5108)
@@ -422,6 +422,7 @@
      */ 
     drawRectangle: function(node, geometry) {
         // This needs to be reworked 
+        var resolution=this.getResolution();
         var x = (geometry.x / resolution + this.left);
         var y = (geometry.y / resolution - this.top);
         var draw = true;
@@ -430,8 +431,8 @@
         if (draw) {
             node.setAttributeNS(null, "x", x);
             node.setAttributeNS(null, "y", y);
-            node.setAttributeNS(null, "width", geometry.width);
-            node.setAttributeNS(null, "height", geometry.height);
+            node.setAttributeNS(null, "width", geometry.width / resolution);
+            node.setAttributeNS(null, "height", geometry.height / resolution);
         } else {
             node.setAttributeNS(null, "x", "");
             node.setAttributeNS(null, "y", "");

Modified: sandbox/ahocevar/sldRenderer/lib/OpenLayers/SingleFile.js
===================================================================
--- sandbox/ahocevar/sldRenderer/lib/OpenLayers/SingleFile.js	2007-11-03 12:08:41 UTC (rev 5107)
+++ sandbox/ahocevar/sldRenderer/lib/OpenLayers/SingleFile.js	2007-11-03 16:56:08 UTC (rev 5108)
@@ -2,7 +2,7 @@
  * license.  See http://svn.openlayers.org/trunk/openlayers/license.txt for the
  * full text of the license. */
 
-OpenLayers = {
+var OpenLayers = {
     singleFile: true
 };
 

Modified: sandbox/ahocevar/sldRenderer/lib/OpenLayers/Tile.js
===================================================================
--- sandbox/ahocevar/sldRenderer/lib/OpenLayers/Tile.js	2007-11-03 12:08:41 UTC (rev 5107)
+++ sandbox/ahocevar/sldRenderer/lib/OpenLayers/Tile.js	2007-11-03 16:56:08 UTC (rev 5108)
@@ -208,7 +208,7 @@
                 bottomRight.lon = 180+bottomRight.lon+180;
             }        
         }
-        bounds = new OpenLayers.Bounds(topLeft.lon, 
+        var bounds = new OpenLayers.Bounds(topLeft.lon, 
                                        bottomRight.lat, 
                                        bottomRight.lon, 
                                        topLeft.lat);  

Modified: sandbox/ahocevar/sldRenderer/lib/OpenLayers/Util.js
===================================================================
--- sandbox/ahocevar/sldRenderer/lib/OpenLayers/Util.js	2007-11-03 12:08:41 UTC (rev 5107)
+++ sandbox/ahocevar/sldRenderer/lib/OpenLayers/Util.js	2007-11-03 16:56:08 UTC (rev 5108)
@@ -520,7 +520,7 @@
  *          of being URL escaped (foo%3Abar). 
  */
 OpenLayers.Util.getParameterString = function(params) {
-    paramsArray = [];
+    var paramsArray = [];
     
     for (var key in params) {
       var value = params[key];
@@ -879,6 +879,7 @@
 /**
  * Constant: INCHES_PER_UNIT
  * {Object} Constant inches per unit -- borrowed from MapServer mapscale.c
+ * derivation of nautical miles from http://en.wikipedia.org/wiki/Nautical_mile
  */
 OpenLayers.INCHES_PER_UNIT = { 
     'inches': 1.0,
@@ -886,10 +887,12 @@
     'mi': 63360.0,
     'm': 39.3701,
     'km': 39370.1,
-    'dd': 4374754
+    'dd': 4374754,
+    'yd': 36
 };
 OpenLayers.INCHES_PER_UNIT["in"]= OpenLayers.INCHES_PER_UNIT.inches;
 OpenLayers.INCHES_PER_UNIT["degrees"] = OpenLayers.INCHES_PER_UNIT.dd;
+OpenLayers.INCHES_PER_UNIT["nmi"] = 1852 * OpenLayers.INCHES_PER_UNIT.m;		
 
 /** 
  * Constant: DOTS_PER_INCH
@@ -1070,8 +1073,8 @@
         ignoreHash: true
     });
 
-    urlObj1 = OpenLayers.Util.createUrlObject(url1, options);
-    urlObj2 = OpenLayers.Util.createUrlObject(url2, options);
+    var urlObj1 = OpenLayers.Util.createUrlObject(url1, options);
+    var urlObj2 = OpenLayers.Util.createUrlObject(url2, options);
 
     //compare all keys (host, port, etc)
     for(var key in urlObj1) {

Modified: sandbox/ahocevar/sldRenderer/lib/OpenLayers.js
===================================================================
--- sandbox/ahocevar/sldRenderer/lib/OpenLayers.js	2007-11-03 12:08:41 UTC (rev 5107)
+++ sandbox/ahocevar/sldRenderer/lib/OpenLayers.js	2007-11-03 16:56:08 UTC (rev 5108)
@@ -19,7 +19,7 @@
      * Namespace: OpenLayers
      * The OpenLayers object provides a namespace for all things OpenLayers
      */
-    OpenLayers = {
+    window.OpenLayers = {
         
         /**
          * Property: _scriptName

Modified: sandbox/ahocevar/sldRenderer/tests/Control/test_ModifyFeature.html
===================================================================
--- sandbox/ahocevar/sldRenderer/tests/Control/test_ModifyFeature.html	2007-11-03 12:08:41 UTC (rev 5107)
+++ sandbox/ahocevar/sldRenderer/tests/Control/test_ModifyFeature.html	2007-11-03 16:56:08 UTC (rev 5108)
@@ -168,6 +168,11 @@
         // run the above four tests twice
         control.handleKeypress(delKey);
         control.handleKeypress(dKey);
+
+        // now make sure nothing happens if the vertex is mid-drag
+        control.dragControl.dragHandler.dragging = true;
+        control.handleKeypress(delKey);
+
         // reset modified methods
         control.onModification = function() {};
         

Modified: sandbox/ahocevar/sldRenderer/tests/Handler/test_Drag.html
===================================================================
--- sandbox/ahocevar/sldRenderer/tests/Handler/test_Drag.html	2007-11-03 12:08:41 UTC (rev 5107)
+++ sandbox/ahocevar/sldRenderer/tests/Handler/test_Drag.html	2007-11-03 16:56:08 UTC (rev 5108)
@@ -87,7 +87,7 @@
     }
 
     function test_Handler_Drag_callbacks(t) {
-        t.plan(33);
+        t.plan(34);
         
         var map = new OpenLayers.Map('map', {controls: []});
 
@@ -187,6 +187,14 @@
         OpenLayers.Event.isLeftClick = oldIsLeftClick;
         handler.checkModifiers = oldCheckModifiers;
 
+        // test mouseup before mousemove
+        var realUp = testEvents.up;
+        testEvents.up = testEvents.down;
+        // this will fail with notice about the done callback being called
+        // if done is called when it shouldn't be
+        map.events.triggerEvent("mouseup", testEvents.up);
+        testEvents.up = realUp;
+
         // test mousemove
         handler.started = false;
         map.events.triggerEvent("mousemove", {xy: {x: null, y: null}});

Modified: sandbox/ahocevar/sldRenderer/tests/Handler/test_Point.html
===================================================================
--- sandbox/ahocevar/sldRenderer/tests/Handler/test_Point.html	2007-11-03 12:08:41 UTC (rev 5107)
+++ sandbox/ahocevar/sldRenderer/tests/Handler/test_Point.html	2007-11-03 16:56:08 UTC (rev 5108)
@@ -43,6 +43,21 @@
              "deactivate returns true if the handler was active already");
     }
 
+    function test_Handler_Point_deactivation(t) {
+        t.plan(1);
+        var map = new OpenLayers.Map('map');
+        var control = new OpenLayers.Control();
+        map.addControl(control);
+             
+        var handler = new OpenLayers.Handler.Point(control, {foo: 'bar'});
+        handler.activate();
+        handler.layer.destroy();
+        handler.deactivate();
+        t.eq(handler.layer, null,
+             "deactivate doesn't throw an error if layer was" +
+             " previously destroyed");
+    }
+
     function test_Handler_Point_bounds(t) {
         t.plan(4);
         var map = new OpenLayers.Map('map');

Modified: sandbox/ahocevar/sldRenderer/tests/Handler/test_RegularPolygon.html
===================================================================
--- sandbox/ahocevar/sldRenderer/tests/Handler/test_RegularPolygon.html	2007-11-03 12:08:41 UTC (rev 5107)
+++ sandbox/ahocevar/sldRenderer/tests/Handler/test_RegularPolygon.html	2007-11-03 16:56:08 UTC (rev 5108)
@@ -43,6 +43,21 @@
              "deactivate returns true if the handler was active already");
     }
 
+    function test_Handler_RegularPolygon_deactivation(t) {
+        t.plan(1);
+        var map = new OpenLayers.Map('map');
+        var control = new OpenLayers.Control();
+        map.addControl(control);
+             
+        var handler = new OpenLayers.Handler.RegularPolygon(control, {foo: 'bar'});
+        handler.activate();
+        handler.layer.destroy();
+        handler.deactivate();
+        t.eq(handler.layer, null,
+             "deactivate doesn't throw an error if layer was" +
+             " previously destroyed");
+    }
+
     function test_Handler_RegularPolygon_four_corners(t) {
         t.plan(7);
         var map = new OpenLayers.Map('map');

Modified: sandbox/ahocevar/sldRenderer/tests/Layer/test_TileCache.html
===================================================================
--- sandbox/ahocevar/sldRenderer/tests/Layer/test_TileCache.html	2007-11-03 12:08:41 UTC (rev 5107)
+++ sandbox/ahocevar/sldRenderer/tests/Layer/test_TileCache.html	2007-11-03 16:56:08 UTC (rev 5108)
@@ -110,16 +110,16 @@
         t.plan(2);
         
         var map = new OpenLayers.Map('map', options);
-        var options = {'layername':'basic', 'type':'png'}; 
+        var options = {'layername':'basic', 'format':'image/jpg'}; 
         layer = new OpenLayers.Layer.TileCache(name, url, layername, options);
         map.addLayer(layer);
         map.setCenter(new OpenLayers.LonLat(0,0), 9);
         var tileurl = layer.getURL(new OpenLayers.Bounds(3.515625,45,4.21875,45.703125));
-        t.eq(tileurl, "http://labs.metacarta.com/wms-c/Basic.py/basic/09/000/000/522/000/000/384.png", "Tile URL is correct");
+        t.eq(tileurl, "http://labs.metacarta.com/wms-c/Basic.py/basic/09/000/000/522/000/000/384.jpeg", "Tile URL is correct");
 
         layer.url = ["http://tilecache1/", "http://tilecache2/", "http://tilecache3/"];
         tileurl = layer.getURL(new OpenLayers.Bounds(3.515625,45,4.21875,45.703125));
-        t.eq(tileurl, "http://tilecache3/basic/09/000/000/522/000/000/384.png", "Tile URL is deterministic");
+        t.eq(tileurl, "http://tilecache2/basic/09/000/000/522/000/000/384.jpeg", "Tile URL is deterministic");
     }
 
     function test_11_Layer_TileCache_setMap(t) {



More information about the Commits mailing list