[Commits] r1969 - in sandbox/mapgears/geoext.ux/ux/WMSLayerAdder: examples lib/GeoExt.ux/widgets

commits at geoext.org commits at geoext.org
Tue Mar 16 14:46:09 CET 2010


Author: adube
Date: 2010-03-16 14:46:09 +0100 (Tue, 16 Mar 2010)
New Revision: 1969

Modified:
   sandbox/mapgears/geoext.ux/ux/WMSLayerAdder/examples/WMSLayerAdderExample.js
   sandbox/mapgears/geoext.ux/ux/WMSLayerAdder/examples/WMSLayerAdderInWindowExample.js
   sandbox/mapgears/geoext.ux/ux/WMSLayerAdder/lib/GeoExt.ux/widgets/WMSLayerAdder.js
Log:
wmslayeradder - addLayer to LayerStore obj, single select, tree in example

Modified: sandbox/mapgears/geoext.ux/ux/WMSLayerAdder/examples/WMSLayerAdderExample.js
===================================================================
--- sandbox/mapgears/geoext.ux/ux/WMSLayerAdder/examples/WMSLayerAdderExample.js	2010-03-16 13:20:24 UTC (rev 1968)
+++ sandbox/mapgears/geoext.ux/ux/WMSLayerAdder/examples/WMSLayerAdderExample.js	2010-03-16 13:46:09 UTC (rev 1969)
@@ -29,7 +29,7 @@
         width: 500,
         gridPanelOptions: {'height': 210},
         serverStore: oServerStore,
-        map: mapPanel.map
+        mapPanel: mapPanel
     });
 
     new Ext.Panel({

Modified: sandbox/mapgears/geoext.ux/ux/WMSLayerAdder/examples/WMSLayerAdderInWindowExample.js
===================================================================
--- sandbox/mapgears/geoext.ux/ux/WMSLayerAdder/examples/WMSLayerAdderInWindowExample.js	2010-03-16 13:20:24 UTC (rev 1968)
+++ sandbox/mapgears/geoext.ux/ux/WMSLayerAdder/examples/WMSLayerAdderInWindowExample.js	2010-03-16 13:46:09 UTC (rev 1969)
@@ -1,4 +1,4 @@
-var WMSLayerAdder, mapPanel, layerAdderWindow;
+var WMSLayerAdder, mapPanel, layerAdderWindow, tree;
 
 //OpenLayers.ProxyHost = "./proxy.py?url=";
 
@@ -26,12 +26,24 @@
         tbar: new Ext.Toolbar(actions)
     });
 
+    tree = new Ext.tree.TreePanel({
+        region: 'east',
+        root: new GeoExt.tree.LayerContainer({
+            text: 'Map Layers',
+            layerStore: mapPanel.layers,
+            leaf: false,
+            expanded: true
+        }),
+        enableDD: true,
+        width: 170
+    });
+
     new Ext.Panel({
         renderTo: "content",
         layout: "border",
-        width: 400,
+        width: 570,
         height: 350,
-        items: [mapPanel]
+        items: [mapPanel, tree]
     });
 });
 
@@ -49,7 +61,7 @@
             region: "east",
             gridPanelOptions: {'height': 210},
             serverStore: oServerStore,
-            map: mapPanel.map
+            mapPanel: mapPanel
         });
 
         layerAdderWindow = new Ext.Window({

Modified: sandbox/mapgears/geoext.ux/ux/WMSLayerAdder/lib/GeoExt.ux/widgets/WMSLayerAdder.js
===================================================================
--- sandbox/mapgears/geoext.ux/ux/WMSLayerAdder/lib/GeoExt.ux/widgets/WMSLayerAdder.js	2010-03-16 13:20:24 UTC (rev 1968)
+++ sandbox/mapgears/geoext.ux/ux/WMSLayerAdder/lib/GeoExt.ux/widgets/WMSLayerAdder.js	2010-03-16 13:46:09 UTC (rev 1969)
@@ -25,14 +25,18 @@
     layout: 'fit',
 
     minWidth: 300,
+
     minHeight: 200,
+
     plain:true,
+
     bodyStyle:'padding:5px;',
+
     buttonAlign:'center',
 
     useIcons: false,
 
-    map: null,
+    mapPanel: null,
 
     serverStore: null,
 
@@ -245,7 +249,7 @@
             ],
             // SelectionModel
             sm: new Ext.grid.RowSelectionModel({
-               //singleSelect: true,
+                singleSelect: true,
                 listeners: {
                     rowselect: function(sm, row, rec) {
                         Ext.getCmp("wms_capabilities_panel").getForm().loadRecord(rec);
@@ -331,15 +335,15 @@
 
         // AddLayer action
         var actionOptions = {
-            handler: this.addLayers,
+            handler: this.addLayer,
             scope: this,
-            tooltip: OpenLayers.i18n('Add currently selected layers')
+            tooltip: OpenLayers.i18n('Add currently selected layer')
         };
 
         if (this.useIcons === true) {
             actionOptions.iconCls = "gx-wmslayeradder-addlayer";
         } else {
-            actionOptions.text = OpenLayers.i18n('Add layers');
+            actionOptions.text = OpenLayers.i18n('Add Layer');
         }
 
         var action = new Ext.Action(actionOptions);
@@ -351,16 +355,27 @@
         Ext.apply(this, {bbar: new Ext.Toolbar(items)});
     },
 
-    addLayers: function() {
+    addLayer: function() {
         var grid = Ext.getCmp('wms_capabilities_grid_panel');
-        var layers = grid.getSelectionModel().getSelections();
+        var record = grid.getSelectionModel().getSelected();
+        if(record) {
+            var copy = record.copy();
 
-        for(var i=0; i<layers.length; i++) {
-            var record = grid.getStore().getAt(i);
-            var layer = record.get("layer").clone();
+            // the following line gives "too much recursion".
+            //copy.set("layer", record.get("layer"));
+            copy.data.layer = record.data.layer;
 
-            this.map.addLayer(layer);
-        };
+            copy.get("layer").mergeNewParams({
+                format: "image/png",
+                transparent: "true"
+            });
+            this.mapPanel.layers.add(copy);
+
+            // zoom to added layer extent
+            this.mapPanel.map.zoomToExtent(
+                OpenLayers.Bounds.fromArray(copy.get("llbbox"))
+            );
+        }
     }
 
 });



More information about the Commits mailing list