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

commits at geoext.org commits at geoext.org
Fri Dec 3 16:22:47 CET 2010


Author: adube
Date: 2010-12-03 16:22:47 +0100 (Fri, 03 Dec 2010)
New Revision: 2507

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 - layerNodes option (boolean) to have legendNodes or not

Modified: sandbox/mapgears/geoext.ux/ux/LayerTreeBuilder/examples/tree-builder.js
===================================================================
--- sandbox/mapgears/geoext.ux/ux/LayerTreeBuilder/examples/tree-builder.js	2010-12-01 08:52:09 UTC (rev 2506)
+++ sandbox/mapgears/geoext.ux/ux/LayerTreeBuilder/examples/tree-builder.js	2010-12-03 15:22:47 UTC (rev 2507)
@@ -97,6 +97,21 @@
         }
     ));
 
+    // a layer with 'displayInLayerSwitcher': false shouldn't be added to the
+    // layertree... and shouldn't have a group (if it has any, it should be
+    // removed...)
+    layers.push(new OpenLayers.Layer.WMS("displayInLayerSwitcher:false", url, {
+            layers: "park",
+            format: 'image/png'
+        }, {
+            singleTile: true,
+            group: "GMap/Polygons",
+            isBaseLayer: false,
+            visibility: false,
+            displayInLayerSwitcher: false
+        }
+    ));
+
     map = new OpenLayers.Map({
         projection: new OpenLayers.Projection("EPSG:900913"),
         units: "m",
@@ -121,7 +136,9 @@
         autoScroll: true,
         enableDD: true,
         rootVisible: false,
-        lines: false
+        lines: false,
+        // widget custom properties
+        legendNodes: true
     });
 
     new Ext.Viewport({

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-12-01 08:52:09 UTC (rev 2506)
+++ sandbox/mapgears/geoext.ux/ux/LayerTreeBuilder/lib/GeoExt.ux/widgets/tree/LayerTreeBuilder.js	2010-12-03 15:22:47 UTC (rev 2507)
@@ -2,12 +2,24 @@
 
 GeoExt.ux.tree.LayerTreeBuilder = Ext.extend(Ext.tree.TreePanel, {
 
+    /* begin i18n */
+    /** api: config[title] ``String`` i18n */
     title: "Layers",
 
+    /** api: config[otherLayersText] ``String`` i18n */
     otherLayersText: "Other layers",
 
+    /** api: config[baseLayersText] ``String`` i18n */
     baseLayersText: "Base layers",
+    /* end i18n */
 
+    /** api: config[closeOnLayerAdded]
+     * ``Boolean``
+     * Defaults to true.  Whether layer nodes (such as WMS, Vector, etc) should
+     * have child legend nodes or not.
+     */
+    legendNodes: true,
+
     /** api: config[layerStore]
      *  ``GeoExt.data.LayerStore``
      *  The layer store containing layers to be displayed in the tree. 
@@ -111,7 +123,30 @@
         if (!childNode) {
             // if that's the last element of the groups array, we need a
             // 'LayerContainer'
-            if (groups.length == 0){
+            if (groups.length == 0) {
+                var createNode;
+
+                if (this.legendNodes) {
+                    createNode = function(attr) {
+                        var layerRecord = this.store.getByLayer(attr.layer);
+                        if (layerRecord.getLayer() instanceof OpenLayers.Layer.WMS){
+                            // add a WMS legend to each node created
+                            attr.component = {
+                              xtype: "gx_wmslegend",
+                              layerRecord: layerRecord,
+                              showTitle: false,
+                              hidden: true,
+                              cls: "gx-layertreebuilder-legend"
+                            };
+                        }
+                        return GeoExt.tree.LayerLoader.prototype.createNode.call(this, attr);
+                    }
+                } else {
+                    createNode = function(attr) {
+                        return GeoExt.tree.LayerLoader.prototype.createNode.call(this, attr);
+                    }
+                }
+                
                 parentNode.appendChild({
                     text: group,
                     layerStore: this.layerStore,
@@ -125,20 +160,7 @@
                         baseAttrs: {
                             uiProvider: "custom_ui"
                         },
-                        createNode: function(attr) {
-                            var layerRecord = this.store.getByLayer(attr.layer);
-                            if (layerRecord.getLayer() instanceof OpenLayers.Layer.WMS){
-                                // add a WMS legend to each node created
-                                attr.component = {
-                                    xtype: "gx_wmslegend",
-                                    layerRecord: layerRecord,
-                                    showTitle: false,
-                                    hidden: true,
-                                    cls: "gx-layertreebuilder-legend"
-                                };
-                            }
-                            return GeoExt.tree.LayerLoader.prototype.createNode.call(this, attr);
-                        }
+                        createNode: createNode
                     }
                 });
             } else {



More information about the Commits mailing list