[Commits] r270 - in sandbox/opengeo/geoexplorer: . lib/GeoExt/widgets tests/lib/GeoExt/widgets

commits at geoext.org commits at geoext.org
Wed Mar 25 00:15:28 CET 2009


Author: tschaub
Date: 2009-03-25 00:15:28 +0100 (Wed, 25 Mar 2009)
New Revision: 270

Modified:
   sandbox/opengeo/geoexplorer/lib/GeoExt/widgets/MapPanel.js
   sandbox/opengeo/geoexplorer/modifications.txt
   sandbox/opengeo/geoexplorer/tests/lib/GeoExt/widgets/MapPanel.html
Log:
Applying the patch for #31.

Modified: sandbox/opengeo/geoexplorer/lib/GeoExt/widgets/MapPanel.js
===================================================================
--- sandbox/opengeo/geoexplorer/lib/GeoExt/widgets/MapPanel.js	2009-03-24 23:14:37 UTC (rev 269)
+++ sandbox/opengeo/geoexplorer/lib/GeoExt/widgets/MapPanel.js	2009-03-24 23:15:28 UTC (rev 270)
@@ -111,9 +111,13 @@
         var args;
         if(typeof this.center == "string") {
             this.center = OpenLayers.LonLat.fromString(this.center);
+        } else if(this.center instanceof Array) {
+            this.center = new OpenLayers.LonLat(this.center[0], this.center[1]);
         }
         if(typeof this.extent == "string") {
             this.extent = OpenLayers.Bounds.fromString(this.extent);
+        } else if(this.extent instanceof Array) {
+            this.extent = OpenLayers.Bounds.fromArray(this.extent);
         }
         
         GeoExt.MapPanel.superclass.initComponent.call(this);       
@@ -128,7 +132,8 @@
         GeoExt.MapPanel.superclass.onRender.apply(this, arguments);
         this.map.render(this.body.dom);
         if(this.map.layers.length > 0) {
-            if(this.center && this.zoom) {
+            if(this.center) {
+                // zoom does not have to be defined
                 this.map.setCenter(this.center, this.zoom);
             }  else if(this.extent) {
                 this.map.zoomToExtent(this.extent);

Modified: sandbox/opengeo/geoexplorer/modifications.txt
===================================================================
--- sandbox/opengeo/geoexplorer/modifications.txt	2009-03-24 23:14:37 UTC (rev 269)
+++ sandbox/opengeo/geoexplorer/modifications.txt	2009-03-24 23:15:28 UTC (rev 270)
@@ -4,4 +4,5 @@
  * Added code required for layer tree (see #22)
  * Add WMSCapabilitiesReader (see #26)
  * Add WMSCapabilitiesStore (see #9)
+ * Allow array extent or center in MapPanel (see #31)
 

Modified: sandbox/opengeo/geoexplorer/tests/lib/GeoExt/widgets/MapPanel.html
===================================================================
--- sandbox/opengeo/geoexplorer/tests/lib/GeoExt/widgets/MapPanel.html	2009-03-24 23:14:37 UTC (rev 269)
+++ sandbox/opengeo/geoexplorer/tests/lib/GeoExt/widgets/MapPanel.html	2009-03-24 23:15:28 UTC (rev 270)
@@ -42,6 +42,97 @@
             t.eq(mapPanel.map.getZoom(), 4, "Zoom set correctly");
         }
 
+        function test_extent(t) {
+            
+            t.plan(3);
+            var map, panel, log = {};
+            
+            map = createMap();
+            map.zoomToExtent = function(extent) {
+                log.extent = extent;
+            }
+            panel = new GeoExt.MapPanel({
+                renderTo: "mappanel",
+                map: map,
+                extent: [1, 2, 3, 4]
+            });            
+            t.eq(log.extent.toArray(), [1, 2, 3, 4], "map extent set with array");
+            delete log.extent;
+            panel.destroy();
+            
+            map = createMap();
+            map.zoomToExtent = function(extent) {
+                log.extent = extent;
+            }
+            panel = new GeoExt.MapPanel({
+                renderTo: "mappanel",
+                map: map,
+                extent: "1, 2, 3, 4"
+            });
+            t.eq(log.extent.toArray(), [1, 2, 3, 4], "map extent set with string");
+            panel.destroy();
+            
+            map = createMap();
+            map.zoomToExtent = function(extent) {
+                log.extent = extent;
+            }
+            panel = new GeoExt.MapPanel({
+                renderTo: "mappanel",
+                map: map,
+                extent: new OpenLayers.Bounds(1, 2, 3, 4)
+            });
+            t.eq(log.extent.toArray(), [1, 2, 3, 4], "map extent set with Bounds");
+            panel.destroy();            
+            
+        }
+        
+        function test_center(t) {
+
+            t.plan(3);
+            var map, panel, log = {};
+            
+            map = createMap();
+            map.setCenter = function(center) {
+                log.center = center;
+            }
+            panel = new GeoExt.MapPanel({
+                renderTo: "mappanel",
+                map: map,
+                center: [1, 2]
+            });            
+            t.eq(log.center.toString(), "lon=1,lat=2", "map center set with array");
+            delete log.center;
+            panel.destroy();
+
+            map = createMap();
+            map.setCenter = function(center) {
+                log.center = center;
+            }
+            panel = new GeoExt.MapPanel({
+                renderTo: "mappanel",
+                map: map,
+                center: "1, 2"
+            });            
+            t.eq(log.center.toString(), "lon=1,lat=2", "map center set with string");
+            delete log.center;
+            panel.destroy();
+
+            map = createMap();
+            map.setCenter = function(center) {
+                log.center = center;
+            }
+            panel = new GeoExt.MapPanel({
+                renderTo: "mappanel",
+                map: map,
+                center: new OpenLayers.LonLat(1, 2)
+            });            
+            t.eq(log.center.toString(), "lon=1,lat=2", "map center set with LonLat");
+            delete log.center;
+            panel.destroy();
+
+        }
+
+
     </script>
   <body>
     <div id="mappanel"></div>



More information about the Commits mailing list