[Commits] r2477 - in sandbox/mapgears/geoext.ux/ux/LayerTreeBuilder: examples lib/GeoExt.ux/widgets/tree

commits at geoext.org commits at geoext.org
Wed Nov 10 16:05:12 CET 2010


Author: adube
Date: 2010-11-10 16:05:12 +0100 (Wed, 10 Nov 2010)
New Revision: 2477

Modified:
   sandbox/mapgears/geoext.ux/ux/LayerTreeBuilder/examples/tree-builder.js
   sandbox/mapgears/geoext.ux/ux/LayerTreeBuilder/lib/GeoExt.ux/widgets/tree/LayerTreeBuilder.js
Log:
LayerTreeBuilder - multi added layers now supported

Modified: sandbox/mapgears/geoext.ux/ux/LayerTreeBuilder/examples/tree-builder.js
===================================================================
--- sandbox/mapgears/geoext.ux/ux/LayerTreeBuilder/examples/tree-builder.js	2010-11-10 08:52:37 UTC (rev 2476)
+++ sandbox/mapgears/geoext.ux/ux/LayerTreeBuilder/examples/tree-builder.js	2010-11-10 15:05:12 UTC (rev 2477)
@@ -20,54 +20,11 @@
     layers = [];
 
     // google base layer
-
     layers.push(new OpenLayers.Layer.Google(
             "Google Satellite",
             {type: G_SATELLITE_MAP, sphericalMercator: true, displayInLayerSwitcher: true}
     ));
 
-    map = new OpenLayers.Map({
-        projection: new OpenLayers.Projection("EPSG:900913"),
-        units: "m",
-        numZoomLevels: 18,
-        maxResolution: 156543.0339,
-        maxExtent: new OpenLayers.Bounds(-20037508, -20037508,
-                                         20037508, 20037508.34)
-    });
-
-    mapPanel = new GeoExt.MapPanel({
-        region: "center",
-        center: [-7924121.1710935, 6185868.5449234],
-        zoom: 10,
-        map: map
-    });
-
-    tree = new GeoExt.ux.tree.LayerTreeBuilder({
-        region: "east",
-        title: "Layers",
-        width: 250,
-        autoScroll: true,
-        enableDD: true,
-        rootVisible: false,
-        lines: false
-    });
-
-    new Ext.Viewport({
-        layout: "fit",
-        hideBorders: true,
-        items: {
-            layout: "border",
-            items: [
-                mapPanel, tree, {
-                    contentEl: desc,
-                    region: "west",
-                    width: 250,
-                    bodyStyle: {padding: "5px"}
-                }
-            ]
-        }
-    });
-
     layers.push(new OpenLayers.Layer.WMS("Canadian parks", url, {
             layers: "park",
             format: 'image/png'
@@ -79,6 +36,7 @@
         }
     ));
 
+    // GMap layers
     layers.push(new OpenLayers.Layer.WMS("Canadian railroads", url, {
             layers: "rail",
             format: 'image/png'
@@ -139,6 +97,49 @@
         }
     ));
 
+    map = new OpenLayers.Map({
+        projection: new OpenLayers.Projection("EPSG:900913"),
+        units: "m",
+        numZoomLevels: 18,
+        maxResolution: 156543.0339,
+        maxExtent: new OpenLayers.Bounds(-20037508, -20037508,
+                                         20037508, 20037508.34)
+    });
+
+    mapPanel = new GeoExt.MapPanel({
+        region: "center",
+        center: [-7924121.1710935, 6185868.5449234],
+        zoom: 10,
+        map: map
+    });
+
     map.addLayers(layers);
+
+    tree = new GeoExt.ux.tree.LayerTreeBuilder({
+        region: "east",
+        title: "Layers",
+        width: 250,
+        autoScroll: true,
+        enableDD: true,
+        rootVisible: false,
+        lines: false
+    });
+
+    new Ext.Viewport({
+        layout: "fit",
+        hideBorders: true,
+        items: {
+            layout: "border",
+            items: [
+                mapPanel, tree, {
+                    contentEl: desc,
+                    region: "west",
+                    width: 250,
+                    bodyStyle: {padding: "5px"}
+                }
+            ]
+        }
+    });
+
     map.setCenter(new OpenLayers.LonLat(-7924121.1710935, 6185868.5449234), 6);
 });

Modified: sandbox/mapgears/geoext.ux/ux/LayerTreeBuilder/lib/GeoExt.ux/widgets/tree/LayerTreeBuilder.js
===================================================================
--- sandbox/mapgears/geoext.ux/ux/LayerTreeBuilder/lib/GeoExt.ux/widgets/tree/LayerTreeBuilder.js	2010-11-10 08:52:37 UTC (rev 2476)
+++ sandbox/mapgears/geoext.ux/ux/LayerTreeBuilder/lib/GeoExt.ux/widgets/tree/LayerTreeBuilder.js	2010-11-10 15:05:12 UTC (rev 2477)
@@ -46,45 +46,47 @@
     },
 
     onLayerAdded: function(store, records, index){
-        var layer = records[0].getLayer();
-        var group;
-        var groupString;
+        Ext.each(records, function(record, index) {
+            var layer = record.getLayer();
+            var group;
+            var groupString;
 
-        // get group array and group string
-        if(layer.options && layer.options.group !== undefined)
-        {
-            group = layer.options.group.split('/');
-            groupString = layer.options.group;
-        }
-        else
-        {
-            groupString = (layer.isBaseLayer)
-                ? this.baseLayersText : this.otherLayersText;
-            group = [groupString];
-            layer.options.group = groupString;
-        }
+            // get group array and group string
+            if(layer.options && layer.options.group !== undefined)
+            {
+                group = layer.options.group.split('/');
+                groupString = layer.options.group;
+            }
+            else
+            {
+                groupString = (layer.isBaseLayer)
+                    ? this.baseLayersText : this.otherLayersText;
+                group = [groupString];
+                layer.options.group = groupString;
+            }
 
-        // get layer title
-        var layerTitle = records[0].data.title
-        if(layer.options && layer.options.title)
-        {
-            layerTitle = layer.options.title;
-        }
+            // get layer title
+            var layerTitle = record.data.title
+            if(layer.options && layer.options.title)
+            {
+                layerTitle = layer.options.title;
+            }
 
-        // if layer has no GROUP
-        if (groupString === "") {
-            var layerNode = {
-                nodeType: "gx_layer",
-                layer: layer.name,
-                layerStore: this.layerStore,
-                isLeaf: true,
-                allowDrag: false,
-                checked: layer.visibility
-            };
-            this.getRootNode().appendChild(layerNode);
-        } else {
-            this.addGroupNodes(group, this.getRootNode(), groupString);
-        }
+            // if layer has no GROUP
+            if (groupString === "") {
+                var layerNode = {
+                    nodeType: "gx_layer",
+                    layer: layer.name,
+                    layerStore: this.layerStore,
+                    isLeaf: true,
+                    allowDrag: false,
+                    checked: layer.visibility
+                };
+                this.getRootNode().appendChild(layerNode);
+            } else {
+                this.addGroupNodes(group, this.getRootNode(), groupString);
+            }
+        }, this);
     },
 
     addGroupNodes: function(groups, parentNode, groupString){



More information about the Commits mailing list