[OpenLayers-Commits] r5166 - in sandbox/ahocevar/sldRenderer: examples lib/OpenLayers lib/OpenLayers/Control lib/OpenLayers/Format

commits at openlayers.org commits at openlayers.org
Sat Nov 10 19:41:07 EST 2007


Author: ahocevar
Date: 2007-11-10 19:41:06 -0500 (Sat, 10 Nov 2007)
New Revision: 5166

Modified:
   sandbox/ahocevar/sldRenderer/examples/gml-tasmania-sld.html
   sandbox/ahocevar/sldRenderer/lib/OpenLayers/Control/SelectFeature.js
   sandbox/ahocevar/sldRenderer/lib/OpenLayers/Format/SLD.js
   sandbox/ahocevar/sldRenderer/lib/OpenLayers/Style.js
Log:
removed defaultSelectStyle property from OpenLayers.Style; moved the default SLD style hash from OpenLayers.Style to OpenLayers.Format.SLD; OpenLayers.Style now takes a style hash as the first argument, which will be stored in the defaultStyle property.

Modified: sandbox/ahocevar/sldRenderer/examples/gml-tasmania-sld.html
===================================================================
--- sandbox/ahocevar/sldRenderer/examples/gml-tasmania-sld.html	2007-11-09 22:35:21 UTC (rev 5165)
+++ sandbox/ahocevar/sldRenderer/examples/gml-tasmania-sld.html	2007-11-11 00:41:06 UTC (rev 5166)
@@ -52,6 +52,8 @@
             }
             
             // SLD can also be used for the SelectFeature control
+            sld["Hover Styler"].defaultStyle =
+                    OpenLayers.Feature.Vector.style["select"];
             hover = new OpenLayers.Control.SelectFeature(gmlLayers[2],
                 {hover: true,
                  selectStyle: sld["Hover Styler"]});

Modified: sandbox/ahocevar/sldRenderer/lib/OpenLayers/Control/SelectFeature.js
===================================================================
--- sandbox/ahocevar/sldRenderer/lib/OpenLayers/Control/SelectFeature.js	2007-11-09 22:35:21 UTC (rev 5165)
+++ sandbox/ahocevar/sldRenderer/lib/OpenLayers/Control/SelectFeature.js	2007-11-11 00:41:06 UTC (rev 5166)
@@ -179,8 +179,7 @@
         
         var selectStyle = feature.selectStyle || this.selectStyle;
         if (selectStyle instanceof OpenLayers.Style) {
-            feature.style = selectStyle.createStyle(feature,
-                    selectStyle.defaultSelectStyle);
+            feature.style = selectStyle.createStyle(feature);
         } else {
             feature.style = selectStyle;
         }

Modified: sandbox/ahocevar/sldRenderer/lib/OpenLayers/Format/SLD.js
===================================================================
--- sandbox/ahocevar/sldRenderer/lib/OpenLayers/Format/SLD.js	2007-11-09 22:35:21 UTC (rev 5165)
+++ sandbox/ahocevar/sldRenderer/lib/OpenLayers/Format/SLD.js	2007-11-11 00:41:06 UTC (rev 5166)
@@ -38,6 +38,20 @@
     gmlns: "http://www.opengis.net/gml",
     
     /**
+     * APIProperty: defaultStyle.
+     * {Object}
+     * A simple style, preset with the SLD defaults
+     */
+    defaultStyle: {
+            fillColor: "#808080",
+            fillOpacity: 1,
+            strokeColor: "#000000",
+            strokeOpacity: 1,
+            strokeWidth: 1,
+            pointRadius: 6
+    },
+    
+    /**
      * Constructor: OpenLayers.Format.SLD
      * Create a new parser for SLD
      *
@@ -91,7 +105,7 @@
      * {<OpenLayers.Style>}
      */
     parseUserStyle: function(xmlNode, name) {
-        var userStyle = new OpenLayers.Style({name: name});
+        var userStyle = new OpenLayers.Style(this.defaultStyle, {name: name});
         
         userStyle.isDefault = this.parseProperty(xmlNode, this.sldns,
                 "IsDefault") == 1 ? true : false;

Modified: sandbox/ahocevar/sldRenderer/lib/OpenLayers/Style.js
===================================================================
--- sandbox/ahocevar/sldRenderer/lib/OpenLayers/Style.js	2007-11-09 22:35:21 UTC (rev 5165)
+++ sandbox/ahocevar/sldRenderer/lib/OpenLayers/Style.js	2007-11-11 00:41:06 UTC (rev 5166)
@@ -40,19 +40,13 @@
     
     /**
      * APIProperty: defaultStyle
-     * {Object} hash of style properties to use as default
-     * for merging rule-based styles onto.
+     * {Object} hash of style properties to use as default for merging
+     * rule-based style symbolizers onto. If no rules are defined, createStyle
+     * will return this style.
      */
     defaultStyle: null,
     
     /**
-     * APIProperty: defaultSelectStyle
-     * {Object} hash of style properties to use as default
-     * for merging rule-based styles onto when feature is selected.
-     */
-    defaultSelectStyle: null,
-    
-    /**
      * Property: propertyStyles
      * {Hash of Boolean} cache of style properties that need to be parsed for
      * propertyNames. Property names are keys, values won't be used.
@@ -71,22 +65,13 @@
      * Return:
      * {<OpenLayers.Style>}
      */
-    initialize: function(options) {
+    initialize: function(style, options) {
         this.rules = [];
 
         // simple style with defaults from the SLD spec
-        this.defaultStyle = {
-            fillColor: "#808080",
-            fillOpacity: 1,
-            strokeColor: "#000000",
-            strokeOpacity: 1,
-            strokeWidth: 1,
-            pointRadius: 6
-        }
+        this.defaultStyle = style ||
+                OpenLayers.Feature.Vector.style["default"];
         
-        this.defaultSelectStyle = OpenLayers.Util.extend({},
-                OpenLayers.Feature.Vector.style["select"]);
-        
         OpenLayers.Util.extend(this, options);
     },
 
@@ -101,7 +86,6 @@
         }
         this.rules = null;
         this.defaultStyle = null;
-        this.defaultSelectStyle = null;
     },
     
     /**
@@ -114,7 +98,7 @@
      * baseStyle - {Object} hash of styles feature styles to extend
      * 
      * Returns:
-     * {<OpenLayers.Feature.Vector.Style>} hash of feature styles
+     * {<OpenLayers.Feature.Vector.style>} hash of feature styles
      */
     createStyle: function(feature, baseStyle) {
         if (!baseStyle) {



More information about the Commits mailing list