[Commits] r2600 - in core/trunk/geoext: lib/GeoExt/widgets tests/lib/GeoExt/widgets

commits at geoext.org commits at geoext.org
Mon Feb 7 12:01:11 CET 2011


Author: fredj
Date: 2011-02-07 12:01:10 +0100 (Mon, 07 Feb 2011)
New Revision: 2600

Modified:
   core/trunk/geoext/lib/GeoExt/widgets/MapPanel.js
   core/trunk/geoext/tests/lib/GeoExt/widgets/MapPanel.html
Log:
Save the MapPanel state after a layer order change or after a name change. p=cmoullet, r=fredj (closes #407)

Modified: core/trunk/geoext/lib/GeoExt/widgets/MapPanel.js
===================================================================
--- core/trunk/geoext/lib/GeoExt/widgets/MapPanel.js	2011-02-04 16:00:20 UTC (rev 2599)
+++ core/trunk/geoext/lib/GeoExt/widgets/MapPanel.js	2011-02-07 11:01:10 UTC (rev 2600)
@@ -107,6 +107,8 @@
     stateEvents: ["aftermapmove",
                   "afterlayervisibilitychange",
                   "afterlayeropacitychange",
+                  "afterlayerorderchange",
+                  "afterlayernamechange",
                   "afterlayeradd",
                   "afterlayerremove"],
 
@@ -158,6 +160,16 @@
              */
             "afterlayeropacitychange",
 
+            /** private: event[afterlayerorderchange]
+             *  Fires after a layer order changed.
+             */
+            "afterlayerorderchange",
+
+            /** private: event[afterlayernamechange]
+             *  Fires after a layer name changed.
+             */
+            "afterlayernamechange",
+
             /** private: event[afterlayeradd]
              *  Fires after a layer added to the map.
              */
@@ -194,6 +206,10 @@
         if(e.property) {
             if(e.property === "visibility") {
                 this.fireEvent("afterlayervisibilitychange");
+            } else if(e.property === "order") {
+                this.fireEvent("afterlayerorderchange");
+            } else if(e.property === "name") {
+                this.fireEvent("afterlayernamechange");
             } else if(e.property === "opacity") {
                 this.fireEvent("afterlayeropacitychange");
             }

Modified: core/trunk/geoext/tests/lib/GeoExt/widgets/MapPanel.html
===================================================================
--- core/trunk/geoext/tests/lib/GeoExt/widgets/MapPanel.html	2011-02-04 16:00:20 UTC (rev 2599)
+++ core/trunk/geoext/tests/lib/GeoExt/widgets/MapPanel.html	2011-02-07 11:01:10 UTC (rev 2600)
@@ -445,7 +445,7 @@
         }
 
         function test_getState_called(t) {
-            t.plan(4);
+            t.plan(6);
 
             // set up
 
@@ -459,7 +459,8 @@
             mapPanel = new GeoExt.MapPanel({
                 renderTo: "mappanel",
                 layers: [
-                    new OpenLayers.Layer("foo")
+                    new OpenLayers.Layer("foo"),
+                    new OpenLayers.Layer("bar")
                 ],
                 stateId: "map",
                 height: 400,
@@ -495,6 +496,24 @@
                 t.eq(log, true, "getState called when a layer is removed from the map");
             });
 
+            // test that getState gets called when the a layer is
+            // renamed
+            // 1 test
+            log = false;
+            mapPanel.map.layers[0].setName('foo1');
+            t.delay_call(1, function() {
+                t.eq(log, true, "getState called when a layer is renamed");
+            });
+
+            // test that getState gets called when the the layer order is
+            // changed
+            // 1 test
+            log = false;
+            mapPanel.map.raiseLayer(mapPanel.map.layers[1],1);
+            t.delay_call(1, function() {
+                t.eq(log, true, "getState called when a layer is raised");
+            });
+
             // test that getState gets called when layer visibility
             // is changed
             // 1 test



More information about the Commits mailing list