[Commits] r800 - in sandbox/bartvde/legend2/geoext: examples lib/GeoExt/widgets lib/GeoExt/widgets/legend

commits at geoext.org commits at geoext.org
Mon May 18 09:14:40 CEST 2009


Author: bartvde
Date: 2009-05-18 09:14:40 +0200 (Mon, 18 May 2009)
New Revision: 800

Modified:
   sandbox/bartvde/legend2/geoext/examples/legendpanel.js
   sandbox/bartvde/legend2/geoext/lib/GeoExt/widgets/LegendPanel.js
   sandbox/bartvde/legend2/geoext/lib/GeoExt/widgets/legend/Image.js
Log:
make sure people can actually set legendURL property and the legend updates

Modified: sandbox/bartvde/legend2/geoext/examples/legendpanel.js
===================================================================
--- sandbox/bartvde/legend2/geoext/examples/legendpanel.js	2009-05-18 06:11:45 UTC (rev 799)
+++ sandbox/bartvde/legend2/geoext/examples/legendpanel.js	2009-05-18 07:14:40 UTC (rev 800)
@@ -47,6 +47,10 @@
         mapPanel.layers.getAt(1).set("hideInLegend", true);
     };
 
+    updateLegendUrl = function() {
+        mapPanel.layers.getAt(0).set("legendURL", "http://www.geoext.org//trac/geoext/chrome/site/img/GeoExt.png");
+    };
+
     mapPanel = new GeoExt.MapPanel({
         region: 'center',
         height: 400,
@@ -59,14 +63,15 @@
         labelCls: 'mylabel',
         ascending: false,
         bodyStyle: 'padding:5px',
-        width: 300,
+        width: 350,
         tbar: new Ext.Toolbar({items: [
             new Ext.Button({text: 'add', handler: addLayer}),
             new Ext.Button({text: 'remove', handler: removeLayer}),
             new Ext.Button({text: 'movetotop', handler: function() { moveLayer(10); } }),
             new Ext.Button({text: 'moveup', handler: function() { moveLayer(1); } }),
             new Ext.Button({text: 'togglevis', handler: toggleVisibility}),
-            new Ext.Button({text: 'hide', handler: updateHideInLegend})
+            new Ext.Button({text: 'hide', handler: updateHideInLegend}),
+            new Ext.Button({text: 'legendurl', handler: updateLegendUrl})
             ]}),
         autoScroll: true,
         region: 'west'});

Modified: sandbox/bartvde/legend2/geoext/lib/GeoExt/widgets/LegendPanel.js
===================================================================
--- sandbox/bartvde/legend2/geoext/lib/GeoExt/widgets/LegendPanel.js	2009-05-18 06:11:45 UTC (rev 799)
+++ sandbox/bartvde/legend2/geoext/lib/GeoExt/widgets/LegendPanel.js	2009-05-18 07:14:40 UTC (rev 800)
@@ -107,6 +107,12 @@
         var legend = this.getComponent(layer.id);
         if (legend) {
             legend.setVisible(layer.getVisibility() && !record.get('hideInLegend'));
+            if (record.get('legendURL')) {
+                var items = legend.findByType('gx_legendimage');
+                for (var i=0, len=items.length; i<len; i++) {
+                    items[i].setUrl(record.get('legendURL'));
+                }
+            }
         }
     },
 

Modified: sandbox/bartvde/legend2/geoext/lib/GeoExt/widgets/legend/Image.js
===================================================================
--- sandbox/bartvde/legend2/geoext/lib/GeoExt/widgets/legend/Image.js	2009-05-18 06:11:45 UTC (rev 799)
+++ sandbox/bartvde/legend2/geoext/lib/GeoExt/widgets/legend/Image.js	2009-05-18 07:14:40 UTC (rev 800)
@@ -39,6 +39,17 @@
             'class': (this.imgCls ? this.imgCls : ''), src: this.url};
     },
 
+    /** public: method[setUrl]
+     *  Sets the url of the image.
+     *
+     *  :param url: ``String`` The new url of the image.
+     */
+    setUrl: function(url) {
+        if (this.getEl()) {
+            this.getEl().dom.src = url;
+        }
+    },
+
     /** private: method[onRender]
      *  Private method called when the legend image component is being
      *  rendered.
@@ -64,3 +75,5 @@
     }
 
 });
+
+Ext.reg('gx_legendimage', GeoExt.legend.Image);



More information about the Commits mailing list