[Commits] r940 - in apps/opengeo/geoexplorer/trunk/lib: . GeoExplorer

commits at geoext.org commits at geoext.org
Tue Jun 2 00:45:15 CEST 2009


Author: sbenthall
Date: 2009-06-02 00:45:15 +0200 (Tue, 02 Jun 2009)
New Revision: 940

Modified:
   apps/opengeo/geoexplorer/trunk/lib/GeoExplorer.js
   apps/opengeo/geoexplorer/trunk/lib/GeoExplorer/CapabilitiesGrid.js
   apps/opengeo/geoexplorer/trunk/lib/GeoExplorer/GroupContainer.js
Log:
more base layer fakery


Modified: apps/opengeo/geoexplorer/trunk/lib/GeoExplorer/CapabilitiesGrid.js
===================================================================
--- apps/opengeo/geoexplorer/trunk/lib/GeoExplorer/CapabilitiesGrid.js	2009-06-01 22:44:45 UTC (rev 939)
+++ apps/opengeo/geoexplorer/trunk/lib/GeoExplorer/CapabilitiesGrid.js	2009-06-01 22:45:15 UTC (rev 940)
@@ -117,9 +117,8 @@
             this.mapPanel.layers.add(record);
             
             if(base){
-                // this.mapPanel.map.setBaseLayer(layer);
-                //this is a hack around OpenLayers #2111
-                // layer.events.triggerEvent("visibilitychanged");
+                this.mapPanel.map.setLayerIndex(layer,0);
+                layer.events.triggerEvent("visibilitychanged");
             }
         }
 

Modified: apps/opengeo/geoexplorer/trunk/lib/GeoExplorer/GroupContainer.js
===================================================================
--- apps/opengeo/geoexplorer/trunk/lib/GeoExplorer/GroupContainer.js	2009-06-01 22:44:45 UTC (rev 939)
+++ apps/opengeo/geoexplorer/trunk/lib/GeoExplorer/GroupContainer.js	2009-06-01 22:45:15 UTC (rev 940)
@@ -29,11 +29,35 @@
      */
     addLayerNode: function(layerRecord) {
         if (layerRecord.get("background") == this.background) {
+            if(layerRecord.get("background")){
+                layer = layerRecord.get("layer");
+                
+                layer.events.on({
+                    "visibilitychanged" : this.backgroundChanged,
+                    scope: this
+                });
+            }
+            
             GeoExplorer.GroupContainer.superclass.addLayerNode.call(this,
-                layerRecord);
+                                                                    layerRecord);
         }
     },
     
+    backgroundChanged : function(evt){
+        var changedLayer = evt.object;
+
+        if(changedLayer.getVisibility()){
+            nodes = this.childNodes;
+
+            for(var i = 0; i < nodes.length; i++){
+                var layer = nodes[i].layer;
+                if(layer != changedLayer){
+                    layer.setVisibility(false);                    
+                }
+            }
+        }
+    },
+    
     /**
      * Method: removeLayerNode
      * Removes a child node representing an overlay layer of the map

Modified: apps/opengeo/geoexplorer/trunk/lib/GeoExplorer.js
===================================================================
--- apps/opengeo/geoexplorer/trunk/lib/GeoExplorer.js	2009-06-01 22:44:45 UTC (rev 939)
+++ apps/opengeo/geoexplorer/trunk/lib/GeoExplorer.js	2009-06-01 22:45:15 UTC (rev 940)
@@ -330,7 +330,6 @@
         var layerTreeConfig = {
             border:false,
             rootVisible: false,
-            enableDD: true,
             selModel: selectionModel,
             autoScroll: true,
             split: true,
@@ -370,7 +369,8 @@
                     }),
                     ddGroup: "OverlayLayerDD",
                     height: 'auto',
-                    region: 'center'
+                    region: 'center',
+                    enableDD: true
                 }, 
                 layerTreeConfig));
         
@@ -520,7 +520,12 @@
                                               conf.background : false));
                     
                     // set any other layer configuration
-                    records.push(record);
+                    // ensures that background layers are on the bottom
+                    if(record.get("background")){
+                        records.unshift(record);
+                    } else {
+                        records.push(record);
+                    }
                 }
                 
             }



More information about the Commits mailing list