[Commits] r1153 - in sandbox/camptocamp/geobretagne: build examples lib lib/GeoExt/data lib/GeoExt/widgets lib/GeoExt/widgets/tree resources/css resources/images resources/images/slate tests/lib/GeoExt/data tests/lib/GeoExt/widgets tests/lib/GeoExt/widgets/tree

commits at geoext.org commits at geoext.org
Wed Jun 24 13:28:07 CEST 2009


Author: fredj
Date: 2009-06-24 13:28:07 +0200 (Wed, 24 Jun 2009)
New Revision: 1153

Added:
   sandbox/camptocamp/geobretagne/build/geoext-license.js
   sandbox/camptocamp/geobretagne/resources/css/gxtheme-slate.css
   sandbox/camptocamp/geobretagne/resources/images/slate/
   sandbox/camptocamp/geobretagne/resources/images/slate/anchor.png
Removed:
   sandbox/camptocamp/geobretagne/resources/css/example.css
   sandbox/camptocamp/geobretagne/resources/images/slate/anchor.png
Modified:
   sandbox/camptocamp/geobretagne/build/full.cfg
   sandbox/camptocamp/geobretagne/examples/feature-grid.html
   sandbox/camptocamp/geobretagne/examples/layercontainer.html
   sandbox/camptocamp/geobretagne/examples/legendpanel.html
   sandbox/camptocamp/geobretagne/examples/mappanel-div.html
   sandbox/camptocamp/geobretagne/examples/mappanel-viewport.html
   sandbox/camptocamp/geobretagne/examples/mappanel-window.html
   sandbox/camptocamp/geobretagne/examples/popup.html
   sandbox/camptocamp/geobretagne/examples/search-form.html
   sandbox/camptocamp/geobretagne/examples/toolbar.html
   sandbox/camptocamp/geobretagne/examples/tree.html
   sandbox/camptocamp/geobretagne/examples/wms-capabilities.html
   sandbox/camptocamp/geobretagne/examples/zoom-chooser.html
   sandbox/camptocamp/geobretagne/examples/zoomslider.html
   sandbox/camptocamp/geobretagne/lib/GeoExt.js
   sandbox/camptocamp/geobretagne/lib/GeoExt/data/ProtocolProxy.js
   sandbox/camptocamp/geobretagne/lib/GeoExt/data/WMSCapabilitiesReader.js
   sandbox/camptocamp/geobretagne/lib/GeoExt/widgets/Action.js
   sandbox/camptocamp/geobretagne/lib/GeoExt/widgets/LegendPanel.js
   sandbox/camptocamp/geobretagne/lib/GeoExt/widgets/form.js
   sandbox/camptocamp/geobretagne/lib/GeoExt/widgets/tree/LayerNode.js
   sandbox/camptocamp/geobretagne/resources/css/geoext-all-debug.css
   sandbox/camptocamp/geobretagne/tests/lib/GeoExt/data/LayerStore.html
   sandbox/camptocamp/geobretagne/tests/lib/GeoExt/widgets/Action.html
   sandbox/camptocamp/geobretagne/tests/lib/GeoExt/widgets/LegendPanel.html
   sandbox/camptocamp/geobretagne/tests/lib/GeoExt/widgets/tree/LayerNode.html
Log:
svn merge -r1099:HEAD http://svn.geoext.org/core/trunk/geoext .

Modified: sandbox/camptocamp/geobretagne/build/full.cfg
===================================================================
--- sandbox/camptocamp/geobretagne/build/full.cfg	2009-06-24 10:49:17 UTC (rev 1152)
+++ sandbox/camptocamp/geobretagne/build/full.cfg	2009-06-24 11:28:07 UTC (rev 1153)
@@ -1,5 +1,6 @@
 [GeoExt.js]
 root = ../lib
+license = geoext-license.js
 exclude =
     GeoExt.js
     GeoExt/SingleFile.js

Copied: sandbox/camptocamp/geobretagne/build/geoext-license.js (from rev 1152, core/trunk/geoext/build/geoext-license.js)
===================================================================
--- sandbox/camptocamp/geobretagne/build/geoext-license.js	                        (rev 0)
+++ sandbox/camptocamp/geobretagne/build/geoext-license.js	2009-06-24 11:28:07 UTC (rev 1153)
@@ -0,0 +1,30 @@
+/*
+
+Copyright (c) 2008-2009, The Open Source Geospatial Foundation
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright notice,
+      this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright
+      notice, this list of conditions and the following disclaimer in the
+      documentation and/or other materials provided with the distribution.
+    * Neither the name of the Open Source Geospatial Foundation nor the names
+      of its contributors may be used to endorse or promote products derived
+      from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+
+*/

Modified: sandbox/camptocamp/geobretagne/examples/feature-grid.html
===================================================================
--- sandbox/camptocamp/geobretagne/examples/feature-grid.html	2009-06-24 10:49:17 UTC (rev 1152)
+++ sandbox/camptocamp/geobretagne/examples/feature-grid.html	2009-06-24 11:28:07 UTC (rev 1153)
@@ -5,7 +5,7 @@
         <script type="text/javascript" src="http://extjs.cachefly.net/builds/ext-cdn-771.js"></script>
         <link rel="stylesheet" type="text/css" href="http://extjs.cachefly.net/ext-2.2.1/resources/css/ext-all.css" />
         <link rel="stylesheet" type="text/css" href="http://extjs.cachefly.net/ext-2.2.1/examples/shared/examples.css" />
-        <script src="http://openlayers.org/api/2.8-rc2/OpenLayers.js"></script>
+        <script src="http://openlayers.org/api/2.8/OpenLayers.js"></script>
         <script type="text/javascript" src="../lib/GeoExt.js"></script>
         
         <script type="text/javascript" src="feature-grid.js"></script>

Modified: sandbox/camptocamp/geobretagne/examples/layercontainer.html
===================================================================
--- sandbox/camptocamp/geobretagne/examples/layercontainer.html	2009-06-24 10:49:17 UTC (rev 1152)
+++ sandbox/camptocamp/geobretagne/examples/layercontainer.html	2009-06-24 11:28:07 UTC (rev 1153)
@@ -5,7 +5,7 @@
         <script type="text/javascript" src="http://extjs.cachefly.net/builds/ext-cdn-771.js"></script>
         <link rel="stylesheet" type="text/css" href="http://extjs.cachefly.net/ext-2.2.1/resources/css/ext-all.css" />
         <link rel="stylesheet" type="text/css" href="http://extjs.cachefly.net/ext-2.2.1/examples/shared/examples.css" />
-        <script src="http://openlayers.org/api/2.8-rc2/OpenLayers.js"></script>
+        <script src="http://openlayers.org/api/2.8/OpenLayers.js"></script>
         <script type="text/javascript" src="../lib/GeoExt.js"></script>
 
         <script type="text/javascript" src="layercontainer.js"></script>

Modified: sandbox/camptocamp/geobretagne/examples/legendpanel.html
===================================================================
--- sandbox/camptocamp/geobretagne/examples/legendpanel.html	2009-06-24 10:49:17 UTC (rev 1152)
+++ sandbox/camptocamp/geobretagne/examples/legendpanel.html	2009-06-24 11:28:07 UTC (rev 1153)
@@ -4,7 +4,7 @@
         <script type="text/javascript" src="http://extjs.cachefly.net/ext-2.2.1/ext-all.js"></script>
         <link rel="stylesheet" type="text/css" href="http://extjs.cachefly.net/ext-2.2.1/resources/css/ext-all.css" />
         <link rel="stylesheet" type="text/css" href="http://extjs.cachefly.net/ext-2.2.1/examples/shared/examples.css" />
-        <script src="http://openlayers.org/api/2.8-rc2/OpenLayers.js"></script>
+        <script src="http://openlayers.org/api/2.8/OpenLayers.js"></script>
         <script type="text/javascript" src="../lib/GeoExt.js"></script>
 
         <script type="text/javascript" src="legendpanel.js"></script>

Modified: sandbox/camptocamp/geobretagne/examples/mappanel-div.html
===================================================================
--- sandbox/camptocamp/geobretagne/examples/mappanel-div.html	2009-06-24 10:49:17 UTC (rev 1152)
+++ sandbox/camptocamp/geobretagne/examples/mappanel-div.html	2009-06-24 11:28:07 UTC (rev 1153)
@@ -5,7 +5,7 @@
         <script type="text/javascript" src="http://extjs.cachefly.net/builds/ext-cdn-771.js"></script>
         <link rel="stylesheet" type="text/css" href="http://extjs.cachefly.net/ext-2.2.1/resources/css/ext-all.css" />
         <link rel="stylesheet" type="text/css" href="http://extjs.cachefly.net/ext-2.2.1/examples/shared/examples.css" />
-        <script src="http://openlayers.org/api/2.8-rc2/OpenLayers.js"></script>
+        <script src="http://openlayers.org/api/2.8/OpenLayers.js"></script>
         <script type="text/javascript" src="../lib/GeoExt.js"></script>
 
         <script type="text/javascript" src="mappanel-div.js"></script>

Modified: sandbox/camptocamp/geobretagne/examples/mappanel-viewport.html
===================================================================
--- sandbox/camptocamp/geobretagne/examples/mappanel-viewport.html	2009-06-24 10:49:17 UTC (rev 1152)
+++ sandbox/camptocamp/geobretagne/examples/mappanel-viewport.html	2009-06-24 11:28:07 UTC (rev 1153)
@@ -5,19 +5,13 @@
         <script type="text/javascript" src="http://extjs.cachefly.net/builds/ext-cdn-771.js"></script>
         <link rel="stylesheet" type="text/css" href="http://extjs.cachefly.net/ext-2.2.1/resources/css/ext-all.css" />
         <link rel="stylesheet" type="text/css" href="http://extjs.cachefly.net/ext-2.2.1/examples/shared/examples.css" />
-
         <!-- Google Maps API for "localhost" -->
         <!--
         <script src='http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAjpkAC9ePGem0lIq5XcMiuhR_wWLPFku8Ix9i2SXYRVK3e45q1BQUd_beF8dtzKET_EteAjPdGDwqpQ'></script>
         -->
         <!-- Google Maps API for "dev.geoext.org" -->
         <script src='http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAA_5ak-hsiH4j5bQQn7-k66xTWxvN8zH6Ta_pgIhhU0TB7bG8iAhS99ituPif4lG-2CHXoZ3qenLnK1g'></script>
-
-        <script src="http://openlayers.org/api/2.8-rc4/OpenLayers.js"></script>
-        <!--
-        <script type="text/javascript" src="../../openlayers/lib/OpenLayers.js"></script>
-        -->
-
+        <script src="http://openlayers.org/api/2.8/OpenLayers.js"></script>
         <script type="text/javascript" src="../lib/GeoExt.js"></script>
         
         <script type="text/javascript" src="mappanel-viewport.js"></script>

Modified: sandbox/camptocamp/geobretagne/examples/mappanel-window.html
===================================================================
--- sandbox/camptocamp/geobretagne/examples/mappanel-window.html	2009-06-24 10:49:17 UTC (rev 1152)
+++ sandbox/camptocamp/geobretagne/examples/mappanel-window.html	2009-06-24 11:28:07 UTC (rev 1153)
@@ -5,7 +5,7 @@
         <script type="text/javascript" src="http://extjs.cachefly.net/builds/ext-cdn-771.js"></script>
         <link rel="stylesheet" type="text/css" href="http://extjs.cachefly.net/ext-2.2.1/resources/css/ext-all.css" />
         <link rel="stylesheet" type="text/css" href="http://extjs.cachefly.net/ext-2.2.1/examples/shared/examples.css" />
-        <script src="http://openlayers.org/api/2.8-rc2/OpenLayers.js"></script>
+        <script src="http://openlayers.org/api/2.8/OpenLayers.js"></script>
         <script type="text/javascript" src="../lib/GeoExt.js"></script>
         
         <script type="text/javascript" src="mappanel-window.js"></script>

Modified: sandbox/camptocamp/geobretagne/examples/popup.html
===================================================================
--- sandbox/camptocamp/geobretagne/examples/popup.html	2009-06-24 10:49:17 UTC (rev 1152)
+++ sandbox/camptocamp/geobretagne/examples/popup.html	2009-06-24 11:28:07 UTC (rev 1153)
@@ -6,7 +6,7 @@
         <link rel="stylesheet" type="text/css" href="http://extjs.cachefly.net/ext-2.2.1/resources/css/ext-all.css" />
         <link rel="stylesheet" type="text/css" href="http://extjs.cachefly.net/ext-2.2.1/examples/shared/examples.css" />
         <link rel="stylesheet" type="text/css" href="../resources/css/geoext-all-debug.css" />
-        <script src="http://openlayers.org/api/2.8-rc2/OpenLayers.js"></script>
+        <script src="http://openlayers.org/api/2.8/OpenLayers.js"></script>
         <script type="text/javascript" src="../lib/GeoExt.js"></script>
         
         <script type="text/javascript" src="popup.js"></script>

Modified: sandbox/camptocamp/geobretagne/examples/search-form.html
===================================================================
--- sandbox/camptocamp/geobretagne/examples/search-form.html	2009-06-24 10:49:17 UTC (rev 1152)
+++ sandbox/camptocamp/geobretagne/examples/search-form.html	2009-06-24 11:28:07 UTC (rev 1153)
@@ -3,7 +3,7 @@
         <script type="text/javascript" src="http://extjs.cachefly.net/builds/ext-cdn-771.js"></script>
         <link rel="stylesheet" type="text/css" href="http://extjs.cachefly.net/ext-2.2.1/resources/css/ext-all.css" />
         <link rel="stylesheet" type="text/css" href="http://extjs.cachefly.net/ext-2.2.1/examples/shared/examples.css" />
-        <script src="http://openlayers.org/api/2.8-rc2/OpenLayers.js"></script>
+        <script src="http://openlayers.org/api/2.8/OpenLayers.js"></script>
         <script type="text/javascript" src="../lib/GeoExt.js"></script>
 
         <script type="text/javascript" src="search-form.js"></script>

Modified: sandbox/camptocamp/geobretagne/examples/toolbar.html
===================================================================
--- sandbox/camptocamp/geobretagne/examples/toolbar.html	2009-06-24 10:49:17 UTC (rev 1152)
+++ sandbox/camptocamp/geobretagne/examples/toolbar.html	2009-06-24 11:28:07 UTC (rev 1153)
@@ -5,7 +5,7 @@
         <script type="text/javascript" src="http://extjs.cachefly.net/builds/ext-cdn-771.js"></script>
         <link rel="stylesheet" type="text/css" href="http://extjs.cachefly.net/ext-2.2.1/resources/css/ext-all.css" />
         <link rel="stylesheet" type="text/css" href="http://extjs.cachefly.net/ext-2.2.1/examples/shared/examples.css" />
-        <script src="http://openlayers.org/api/2.8-rc2/OpenLayers.js"></script>
+        <script src="http://openlayers.org/api/2.8/OpenLayers.js"></script>
         <script type="text/javascript" src="../lib/GeoExt.js"></script>
 
         <script type="text/javascript" src="toolbar.js"></script>

Modified: sandbox/camptocamp/geobretagne/examples/tree.html
===================================================================
--- sandbox/camptocamp/geobretagne/examples/tree.html	2009-06-24 10:49:17 UTC (rev 1152)
+++ sandbox/camptocamp/geobretagne/examples/tree.html	2009-06-24 11:28:07 UTC (rev 1153)
@@ -5,7 +5,7 @@
         <script type="text/javascript" src="http://extjs.cachefly.net/builds/ext-cdn-771.js"></script>
         <link rel="stylesheet" type="text/css" href="http://extjs.cachefly.net/ext-2.2.1/resources/css/ext-all.css" />
         <link rel="stylesheet" type="text/css" href="http://extjs.cachefly.net/ext-2.2.1/examples/shared/examples.css" />
-        <script src="http://openlayers.org/api/2.8-rc2/OpenLayers.js"></script>
+        <script src="http://openlayers.org/api/2.8/OpenLayers.js"></script>
         <script type="text/javascript" src="../lib/GeoExt.js"></script>
 
         <script type="text/javascript" src="tree.js"></script>

Modified: sandbox/camptocamp/geobretagne/examples/wms-capabilities.html
===================================================================
--- sandbox/camptocamp/geobretagne/examples/wms-capabilities.html	2009-06-24 10:49:17 UTC (rev 1152)
+++ sandbox/camptocamp/geobretagne/examples/wms-capabilities.html	2009-06-24 11:28:07 UTC (rev 1153)
@@ -7,7 +7,7 @@
 
         <script type="text/javascript" src="http://extjs.cachefly.net/builds/ext-cdn-771.js"></script>
         <script type="text/javascript" src="../lib/GeoExt/adapter/override-ext-ajax.js"></script>
-        <script src="http://openlayers.org/api/2.8-rc2/OpenLayers.js"></script>
+        <script src="http://openlayers.org/api/2.8/OpenLayers.js"></script>
         <script type="text/javascript" src="../lib/GeoExt.js"></script>
         
         <script type="text/javascript" src="wms-capabilities.js"></script>

Modified: sandbox/camptocamp/geobretagne/examples/zoom-chooser.html
===================================================================
--- sandbox/camptocamp/geobretagne/examples/zoom-chooser.html	2009-06-24 10:49:17 UTC (rev 1152)
+++ sandbox/camptocamp/geobretagne/examples/zoom-chooser.html	2009-06-24 11:28:07 UTC (rev 1153)
@@ -5,7 +5,7 @@
         <script type="text/javascript" src="http://extjs.cachefly.net/builds/ext-cdn-771.js"></script>
         <link rel="stylesheet" type="text/css" href="http://extjs.cachefly.net/ext-2.2.1/resources/css/ext-all.css" />
         <link rel="stylesheet" type="text/css" href="http://extjs.cachefly.net/ext-2.2.1/examples/shared/examples.css" />
-        <script src="http://openlayers.org/api/2.8-rc2/OpenLayers.js"></script>
+        <script src="http://openlayers.org/api/2.8/OpenLayers.js"></script>
         <script type="text/javascript" src="../lib/GeoExt.js"></script>
         
         <script type="text/javascript" src="zoom-chooser.js"></script>

Modified: sandbox/camptocamp/geobretagne/examples/zoomslider.html
===================================================================
--- sandbox/camptocamp/geobretagne/examples/zoomslider.html	2009-06-24 10:49:17 UTC (rev 1152)
+++ sandbox/camptocamp/geobretagne/examples/zoomslider.html	2009-06-24 11:28:07 UTC (rev 1153)
@@ -5,7 +5,7 @@
         <script type="text/javascript" src="http://extjs.cachefly.net/builds/ext-cdn-771.js"></script>
         <link rel="stylesheet" type="text/css" href="http://extjs.cachefly.net/ext-2.2.1/resources/css/ext-all.css" />
         <link rel="stylesheet" type="text/css" href="http://extjs.cachefly.net/ext-2.2.1/examples/shared/examples.css" />
-        <script src="http://openlayers.org/api/2.8-rc2/OpenLayers.js"></script>
+        <script src="http://openlayers.org/api/2.8/OpenLayers.js"></script>
         <script type="text/javascript" src="../lib/GeoExt.js"></script>
 
         <script type="text/javascript" src="zoomslider.js"></script>

Modified: sandbox/camptocamp/geobretagne/lib/GeoExt/data/ProtocolProxy.js
===================================================================
--- sandbox/camptocamp/geobretagne/lib/GeoExt/data/ProtocolProxy.js	2009-06-24 10:49:17 UTC (rev 1152)
+++ sandbox/camptocamp/geobretagne/lib/GeoExt/data/ProtocolProxy.js	2009-06-24 11:28:07 UTC (rev 1153)
@@ -21,7 +21,7 @@
 /** api: constructor
  *  .. class:: ProtocolProxy
  *   
- *      A data proxy for use with ``OpenLayers.Proxy`` objects.
+ *      A data proxy for use with ``OpenLayers.Protocol`` objects.
  */
 Ext.extend(GeoExt.data.ProtocolProxy, Ext.data.DataProxy, {
 

Modified: sandbox/camptocamp/geobretagne/lib/GeoExt/data/WMSCapabilitiesReader.js
===================================================================
--- sandbox/camptocamp/geobretagne/lib/GeoExt/data/WMSCapabilitiesReader.js	2009-06-24 10:49:17 UTC (rev 1152)
+++ sandbox/camptocamp/geobretagne/lib/GeoExt/data/WMSCapabilitiesReader.js	2009-06-24 11:28:07 UTC (rev 1153)
@@ -45,7 +45,10 @@
                 {name: "llbbox"},
                 {name: "minScale"},
                 {name: "maxScale"},
-                {name: "prefix"}
+                {name: "prefix"},
+                {name: "attribution"},
+                {name: "keywords"},
+                {name: "metadataURLs"}
             ]
         );
     }

Modified: sandbox/camptocamp/geobretagne/lib/GeoExt/widgets/Action.js
===================================================================
--- sandbox/camptocamp/geobretagne/lib/GeoExt/widgets/Action.js	2009-06-24 10:49:17 UTC (rev 1152)
+++ sandbox/camptocamp/geobretagne/lib/GeoExt/widgets/Action.js	2009-06-24 11:28:07 UTC (rev 1153)
@@ -18,10 +18,9 @@
  * 
  *  .. code-block:: javascript
  *  
- *      var ctrl = new OpenLayers.Control.ZoomToMaxExtent();
  *      var action = new GeoExt.Action({
- *          text: "max extent"
- *          control: ctrl,
+ *          text: "max extent",
+ *          control: new OpenLayers.Control.ZoomToMaxExtent(),
  *          map: map
  *      });
  *      var toolbar = new Ext.Toolbar([action]);
@@ -43,6 +42,13 @@
      */
     control: null,
 
+    /** api: config[map]
+     *  ``OpenLayers.Map`` The OpenLayers map that the control should be added
+     *  to.  For controls that don't need to be added to a map or have already
+     *  been added to one, this config property may be omitted.
+     */
+    map: null,
+
     /** private: property[uScope]
      *  ``Object`` The user-provided scope, used when calling uHandler,
      *  uToggleHandler, and uCheckHandler.
@@ -92,6 +98,7 @@
             // If map is provided in config, add control to map.
             if(config.map) {
                 config.map.addControl(ctrl);
+                delete config.map;
             }
             ctrl.events.on({
                 activate: this.onCtrlActivate,

Modified: sandbox/camptocamp/geobretagne/lib/GeoExt/widgets/LegendPanel.js
===================================================================
--- sandbox/camptocamp/geobretagne/lib/GeoExt/widgets/LegendPanel.js	2009-06-24 10:49:17 UTC (rev 1152)
+++ sandbox/camptocamp/geobretagne/lib/GeoExt/widgets/LegendPanel.js	2009-06-24 11:28:07 UTC (rev 1153)
@@ -129,6 +129,11 @@
     onStoreUpdate: function(store, record, operation) {
         var layer = record.get('layer');
         var legend = this.getComponent(layer.id);
+        if ((this.showTitle && !record.get('hideTitle')) && 
+            (legend.items.get(0).text !== record.get('title'))) {
+                // we need to update the title
+                legend.items.get(0).setText(record.get('title'));
+        }
         if (legend) {
             legend.setVisible(layer.getVisibility() && 
                 layer.displayInLayerSwitcher && !record.get('hideInLegend'));
@@ -281,4 +286,4 @@
     
 });
 
-Ext.reg('gx_legendpanel', GeoExt.LegendPanel);
\ No newline at end of file
+Ext.reg('gx_legendpanel', GeoExt.LegendPanel);

Modified: sandbox/camptocamp/geobretagne/lib/GeoExt/widgets/form.js
===================================================================
--- sandbox/camptocamp/geobretagne/lib/GeoExt/widgets/form.js	2009-06-24 10:49:17 UTC (rev 1152)
+++ sandbox/camptocamp/geobretagne/lib/GeoExt/widgets/form.js	2009-06-24 11:28:07 UTC (rev 1153)
@@ -8,20 +8,16 @@
 
 Ext.namespace("GeoExt.form");
 
-/**
- * Function: GeoExt.form.toFilter
- * Create an {OpenLayers.Filter} object from a {Ext.form.BasicForm}
- *     or a {Ext.form.FormPanel} instance.
- *
- * Parameters:
- * form - {Ext.form.BasicForm|Ext.form.FormPanel}
- * logicalOp - {String} Either {OpenLayers.Filter.Logical.AND}
- *     or {OpenLayers.Filter.Logical.OR}, set to
- *     {OpenLayers.Filter.Logical.AND} if null or
- *     undefined.
- *
- * Returns:
- * {OpenLayers.Filter}
+/** private: function[toFilter]
+ *  :param form: ``Ext.form.BasicForm|Ext.form.FormPanel``
+ *  :param logicalOp: ``String`` Either ``OpenLayers.Filter.Logical.AND`` or
+ *      ``OpenLayers.Filter.Logical.OR``, set to
+ *      ``OpenLayers.Filter.Logical.AND`` if null or undefined
+ *      
+ *  :return: ``OpenLayers.Filter``
+ *  
+ *  Create an {OpenLayers.Filter} object from a {Ext.form.BasicForm}
+ *      or a {Ext.form.FormPanel} instance.
  */
 GeoExt.form.toFilter = function(form, logicalOp) {
     if(form instanceof Ext.form.FormPanel) {
@@ -55,10 +51,9 @@
     });
 };
 
-/**
- * Constant: GeoExt.form.omForm.FILTER_MAP
- * An object mapping operator strings as found in field names to
- *     {OpenLayers.Filter.Comparison} types.
+/** private: constant[FILTER_MAP]
+ *  An object mapping operator strings as found in field names to
+ *      ``OpenLayers.Filter.Comparison`` types.
  */
 GeoExt.form.toFilter.FILTER_MAP = {
     "eq": OpenLayers.Filter.Comparison.EQUAL_TO,

Modified: sandbox/camptocamp/geobretagne/lib/GeoExt/widgets/tree/LayerNode.js
===================================================================
--- sandbox/camptocamp/geobretagne/lib/GeoExt/widgets/tree/LayerNode.js	2009-06-24 10:49:17 UTC (rev 1152)
+++ sandbox/camptocamp/geobretagne/lib/GeoExt/widgets/tree/LayerNode.js	2009-06-24 11:28:07 UTC (rev 1153)
@@ -248,6 +248,7 @@
     /** private: method[onCheckChange]
      *  :param node: ``GeoExt.tree.LayerNode``
      *  :param checked: ``Boolean``
+     *
      *  handler for checkchange events 
      */
     onCheckChange: function(node, checked) {
@@ -265,6 +266,7 @@
         this.layerStore.on({
             "add": this.onStoreAdd,
             "remove": this.onStoreRemove,
+            "update": this.onStoreUpdate,
             scope: this
         });
     },
@@ -272,7 +274,8 @@
     /** private: method[onStoreAdd]
      *  :param store: ``Ext.data.Store``
      *  :param records: ``Array(Ext.data.Record)``
-     *  :param index: ``Nmber``
+     *  :param index: ``Number``
+     *
      *  handler for add events on the store 
      */
     onStoreAdd: function(store, records, index) {
@@ -294,7 +297,8 @@
     /** private: method[onStoreRemove]
      *  :param store: ``Ext.data.Store``
      *  :param record: ``Ext.data.Record``
-     *  :param index: ``Nmber``
+     *  :param index: ``Number``
+     *
      *  handler for remove events on the store 
      */
     onStoreRemove: function(store, record, index) {
@@ -302,7 +306,21 @@
             this.getUI().hide();
         }
     },
-    
+
+    /** private: method[onStoreUpdate]
+     *  :param store: ``Ext.data.Store``
+     *  :param record: ``Ext.data.Record``
+     *  :param operation: ``String``
+     *  
+     *  Listener for the store's update event.
+     */
+    onStoreUpdate: function(store, record, operation) {
+    	var layer = record.get("layer");
+        if(this.layer == layer && this.text !== layer.name) {
+            this.setText(layer.name);
+        }
+    },
+
     /** private: method[addChildNodes]
      *  Calls the add method of a node type configured as ``childNodeType``
      *  to add children.
@@ -318,13 +336,20 @@
     /** private: method[destroy]
      */
     destroy: function() {
-        this.layer.events.un({
-            "visibilitychanged": this.onLayerVisibilityChanged,
-            scope: this
-        });
+        var layer = this.layer;
+        if (layer instanceof OpenLayers.Layer) {
+            layer.events.un({
+                "visibilitychanged": this.onLayerVisibilityChanged,
+                scope: this
+            });
+        }
         delete this.layer;
-        this.layerStore.un("add", this.onStoreAdd, this);
-        this.layerStore.un("remove", this.onStoreRemove, this);
+        var layerStore = this.layerStore;
+        if(layerStore) {
+            layerStore.un("add", this.onStoreAdd, this);
+            layerStore.un("remove", this.onStoreRemove, this);
+            layerStore.un("update", this.onStoreUpdate, this);
+        }
         delete this.layerStore;
         this.un("checkchange", this.onCheckChange, this);
 

Modified: sandbox/camptocamp/geobretagne/lib/GeoExt.js
===================================================================
--- sandbox/camptocamp/geobretagne/lib/GeoExt.js	2009-06-24 10:49:17 UTC (rev 1152)
+++ sandbox/camptocamp/geobretagne/lib/GeoExt.js	2009-06-24 11:28:07 UTC (rev 1153)
@@ -33,7 +33,12 @@
      */
     var getScriptLocation = function() {
         var scriptLocation = "";
-        var scripts = document.getElementsByTagName('script');
+        // If we load other scripts right before GeoExt using the same
+        // mechanism to add script resources dynamically (e.g. OpenLayers), 
+        // document.getElementsByTagName will not find the GeoExt script tag
+        // in FF2. Using document.documentElement.getElementsByTagName instead
+        // works around this issue.
+        var scripts = document.documentElement.getElementsByTagName('script');
         for(var i=0, len=scripts.length; i<len; i++) {
             var src = scripts[i].getAttribute('src');
             if(src) {

Deleted: sandbox/camptocamp/geobretagne/resources/css/example.css
===================================================================
--- sandbox/camptocamp/geobretagne/resources/css/example.css	2009-06-24 10:49:17 UTC (rev 1152)
+++ sandbox/camptocamp/geobretagne/resources/css/example.css	2009-06-24 11:28:07 UTC (rev 1153)
@@ -1,16 +0,0 @@
-/*
- * Styles can be theme specific, as shown in the example below.
- * 
- * style for the default theme:
- * .my-style {
- *     background: transparent url(../images/default/anchor.png) no-repeat 0 0;
- *     postion: relative;
- *     top: -1px;
- *     left: 5px;
- * }
- * 
- * modifier for the gray theme:
- * .xtheme-gray .my-style {
- *     background: transparent url(../images/gray/anchor.png) no-repeat 0 0;
- * }
- */

Modified: sandbox/camptocamp/geobretagne/resources/css/geoext-all-debug.css
===================================================================
--- sandbox/camptocamp/geobretagne/resources/css/geoext-all-debug.css	2009-06-24 10:49:17 UTC (rev 1152)
+++ sandbox/camptocamp/geobretagne/resources/css/geoext-all-debug.css	2009-06-24 11:28:07 UTC (rev 1153)
@@ -1,2 +1,6 @@
- at import "example.css";
+/**
+ * This file combines all default css files. It will be parsed by the build
+ * processor to generate a minified geoext-all.css file. Theme specific
+ * overrides go into gxtheme-<theme>.css
+ */
 @import "popup.css";

Copied: sandbox/camptocamp/geobretagne/resources/css/gxtheme-slate.css (from rev 1152, core/trunk/geoext/resources/css/gxtheme-slate.css)
===================================================================
--- sandbox/camptocamp/geobretagne/resources/css/gxtheme-slate.css	                        (rev 0)
+++ sandbox/camptocamp/geobretagne/resources/css/gxtheme-slate.css	2009-06-24 11:28:07 UTC (rev 1153)
@@ -0,0 +1,9 @@
+.gx-popup-anc {
+	background: transparent url(../images/slate/anchor.png) no-repeat 0 0;
+        position: relative;
+        top:-1px;
+        left:5px;
+        z-index:2;
+        height:16px;
+        width:31px;
+}

Copied: sandbox/camptocamp/geobretagne/resources/images/slate (from rev 1152, core/trunk/geoext/resources/images/slate)

Deleted: sandbox/camptocamp/geobretagne/resources/images/slate/anchor.png
===================================================================
(Binary files differ)

Copied: sandbox/camptocamp/geobretagne/resources/images/slate/anchor.png (from rev 1152, core/trunk/geoext/resources/images/slate/anchor.png)
===================================================================
(Binary files differ)

Modified: sandbox/camptocamp/geobretagne/tests/lib/GeoExt/data/LayerStore.html
===================================================================
--- sandbox/camptocamp/geobretagne/tests/lib/GeoExt/data/LayerStore.html	2009-06-24 10:49:17 UTC (rev 1152)
+++ sandbox/camptocamp/geobretagne/tests/lib/GeoExt/data/LayerStore.html	2009-06-24 11:28:07 UTC (rev 1153)
@@ -403,16 +403,9 @@
             });
             
             var count = 0;
-            // destroying and adding this.control to the map in the remove
-            // handler will cause exceptions when done while the map is being
-            // destroyed. This is the pattern that helped investigating #88.
-            this.control = new OpenLayers.Control();
             store.on("remove", function() {
                 count++;
-                this.control.destroy();
-                this.control = new OpenLayers.Control();
-                map.addControl(this.control);
-            }, this);
+            });
             
             map.removeLayer(a);
             map.destroy();

Modified: sandbox/camptocamp/geobretagne/tests/lib/GeoExt/widgets/Action.html
===================================================================
--- sandbox/camptocamp/geobretagne/tests/lib/GeoExt/widgets/Action.html	2009-06-24 10:49:17 UTC (rev 1152)
+++ sandbox/camptocamp/geobretagne/tests/lib/GeoExt/widgets/Action.html	2009-06-24 11:28:07 UTC (rev 1153)
@@ -8,7 +8,7 @@
 
     <script type="text/javascript">
         function test_constructor(t) {
-            t.plan(11)
+            t.plan(12)
 
             var ctrl, scope, handler, toggleHandler, checkHandler, cfg, action;
 
@@ -34,6 +34,8 @@
                  "constructor sets control in the instance");
             t.ok(action.control.map === map,
                  "constructor adds control to map if provided");
+            t.ok(!action.initialConfig.map,
+                 "action does not have a reference to the map");
             t.ok(action.uScope == scope,
                  "constructor sets this.uScope to user-provided scope");
             t.ok(action.uHandler == handler,

Modified: sandbox/camptocamp/geobretagne/tests/lib/GeoExt/widgets/LegendPanel.html
===================================================================
--- sandbox/camptocamp/geobretagne/tests/lib/GeoExt/widgets/LegendPanel.html	2009-06-24 10:49:17 UTC (rev 1152)
+++ sandbox/camptocamp/geobretagne/tests/lib/GeoExt/widgets/LegendPanel.html	2009-06-24 11:28:07 UTC (rev 1153)
@@ -45,7 +45,7 @@
             mapPanel.layers.getAt(0).set("legendURL", newUrl);
 
             var item = lp.getComponent(mapPanel.map.layers[0].id);
-            var url = item.items.items[1].items.items[0].getEl().dom.src;
+            var url = item.items.get(1).items.get(0).getEl().dom.src;
             t.eq(url, newUrl, "Update the image with the provided legendURL");
 
             lp.destroy();
@@ -111,7 +111,7 @@
             lp.render();
 
             var item = lp.getComponent(mapPanel.map.layers[0].id);
-            var url = item.items.items[1].items.items[0].url;
+            var url = item.items.get(1).items.get(0).url;
             var expectedUrl = "/ows?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetLegendGraphic&STYLES=&EXCEPTIONS=application%2Fvnd.ogc.se_xml&FORMAT=image%2Fgif&LAYER=a";
             t.eq(url, expectedUrl, "GetLegendGraphic url is generated correctly");
 
@@ -147,6 +147,37 @@
             mapPanel.destroy();
         }
 
+        function test_changelayername(t) {
+            t.plan(3);
+            var mapPanel = loadMapPanel();
+            var lp  = new GeoExt.LegendPanel({
+                renderTo: 'legendpanel'});
+            lp.render();
+
+            var layer = mapPanel.map.layers[0];
+            var cmp = lp.getComponent(layer.id);
+            t.eq(cmp.items.get(0).text, 'test', "Layer name is test before change");
+
+            layer.setName("My new name");
+
+            t.eq(cmp.items.get(0).text, "My new name", "Layer name was changed correctly to 'My new name'");
+
+            lp.destroy();
+
+            var lp  = new GeoExt.LegendPanel({
+                showTitle: false,
+                renderTo: 'legendpanel'});
+            lp.render();
+
+            layer.setName("My new new name");
+            var cmp = lp.getComponent(layer.id);
+            t.eq(cmp.items.get(0).text, "", "When showTitle is false, there is no label for a layer and it is not changed");
+
+            lp.destroy();
+
+            mapPanel.destroy();
+        }
+
     </script>
   <body>
     <div id="legendpanel"></div>

Modified: sandbox/camptocamp/geobretagne/tests/lib/GeoExt/widgets/tree/LayerNode.html
===================================================================
--- sandbox/camptocamp/geobretagne/tests/lib/GeoExt/widgets/tree/LayerNode.html	2009-06-24 10:49:17 UTC (rev 1152)
+++ sandbox/camptocamp/geobretagne/tests/lib/GeoExt/widgets/tree/LayerNode.html	2009-06-24 11:28:07 UTC (rev 1153)
@@ -68,6 +68,33 @@
             mapPanel.render("map");
             
         }
+
+        function test_changelayername(t) {
+            t.plan(1);
+
+            var layer = new OpenLayers.Layer("test");
+
+            var mapPanel = new GeoExt.MapPanel({
+                layers: [layer],
+                allOverlays: true
+            });
+
+            var node = new GeoExt.tree.LayerNode({
+                layer: "test",
+                layerStore: mapPanel.layers
+            });
+
+            var panel = new Ext.tree.TreePanel({
+                 root: node
+            });
+            panel.render(document.body);
+
+            layer.setName("My new name");
+            t.eq(node.text, "My new name", "Node is named 'My new name' after layer setName is called");
+
+            node.destroy();
+            mapPanel.destroy();
+        }
         
         </script>
     </head>
@@ -75,4 +102,4 @@
         <div id="map" style="width: 100px; height: 100px;"></div>
         <div id="tree" style="width: 100px; height: 100px;"></div>
     </body>
-</html>
\ No newline at end of file
+</html>



More information about the Commits mailing list