diff options
Diffstat (limited to 'misc/openlayers/lib/OpenLayers/StyleMap.js')
-rw-r--r-- | misc/openlayers/lib/OpenLayers/StyleMap.js | 161 |
1 files changed, 0 insertions, 161 deletions
diff --git a/misc/openlayers/lib/OpenLayers/StyleMap.js b/misc/openlayers/lib/OpenLayers/StyleMap.js deleted file mode 100644 index b6daca2..0000000 --- a/misc/openlayers/lib/OpenLayers/StyleMap.js +++ /dev/null @@ -1,161 +0,0 @@ -/* Copyright (c) 2006-2013 by OpenLayers Contributors (see authors.txt for - * full list of contributors). Published under the 2-clause BSD license. - * See license.txt in the OpenLayers distribution or repository for the - * full text of the license. */ - -/** - * @requires OpenLayers/BaseTypes/Class.js - * @requires OpenLayers/Style.js - * @requires OpenLayers/Feature/Vector.js - */ - -/** - * Class: OpenLayers.StyleMap - */ -OpenLayers.StyleMap = OpenLayers.Class({ - - /** - * Property: styles - * {Object} Hash of {<OpenLayers.Style>}, keyed by names of well known - * rendering intents (e.g. "default", "temporary", "select", "delete"). - */ - styles: null, - - /** - * Property: extendDefault - * {Boolean} if true, every render intent will extend the symbolizers - * specified for the "default" intent at rendering time. Otherwise, every - * rendering intent will be treated as a completely independent style. - */ - extendDefault: true, - - /** - * Constructor: OpenLayers.StyleMap - * - * Parameters: - * style - {Object} Optional. Either a style hash, or a style object, or - * a hash of style objects (style hashes) keyed by rendering - * intent. If just one style hash or style object is passed, - * this will be used for all known render intents (default, - * select, temporary) - * options - {Object} optional hash of additional options for this - * instance - */ - initialize: function (style, options) { - this.styles = { - "default": new OpenLayers.Style( - OpenLayers.Feature.Vector.style["default"]), - "select": new OpenLayers.Style( - OpenLayers.Feature.Vector.style["select"]), - "temporary": new OpenLayers.Style( - OpenLayers.Feature.Vector.style["temporary"]), - "delete": new OpenLayers.Style( - OpenLayers.Feature.Vector.style["delete"]) - }; - - // take whatever the user passed as style parameter and convert it - // into parts of stylemap. - if(style instanceof OpenLayers.Style) { - // user passed a style object - this.styles["default"] = style; - this.styles["select"] = style; - this.styles["temporary"] = style; - this.styles["delete"] = style; - } else if(typeof style == "object") { - for(var key in style) { - if(style[key] instanceof OpenLayers.Style) { - // user passed a hash of style objects - this.styles[key] = style[key]; - } else if(typeof style[key] == "object") { - // user passsed a hash of style hashes - this.styles[key] = new OpenLayers.Style(style[key]); - } else { - // user passed a style hash (i.e. symbolizer) - this.styles["default"] = new OpenLayers.Style(style); - this.styles["select"] = new OpenLayers.Style(style); - this.styles["temporary"] = new OpenLayers.Style(style); - this.styles["delete"] = new OpenLayers.Style(style); - break; - } - } - } - OpenLayers.Util.extend(this, options); - }, - - /** - * Method: destroy - */ - destroy: function() { - for(var key in this.styles) { - this.styles[key].destroy(); - } - this.styles = null; - }, - - /** - * Method: createSymbolizer - * Creates the symbolizer for a feature for a render intent. - * - * Parameters: - * feature - {<OpenLayers.Feature>} The feature to evaluate the rules - * of the intended style against. - * intent - {String} The intent determines the symbolizer that will be - * used to draw the feature. Well known intents are "default" - * (for just drawing the features), "select" (for selected - * features) and "temporary" (for drawing features). - * - * Returns: - * {Object} symbolizer hash - */ - createSymbolizer: function(feature, intent) { - if(!feature) { - feature = new OpenLayers.Feature.Vector(); - } - if(!this.styles[intent]) { - intent = "default"; - } - feature.renderIntent = intent; - var defaultSymbolizer = {}; - if(this.extendDefault && intent != "default") { - defaultSymbolizer = this.styles["default"].createSymbolizer(feature); - } - return OpenLayers.Util.extend(defaultSymbolizer, - this.styles[intent].createSymbolizer(feature)); - }, - - /** - * Method: addUniqueValueRules - * Convenience method to create comparison rules for unique values of a - * property. The rules will be added to the style object for a specified - * rendering intent. This method is a shortcut for creating something like - * the "unique value legends" familiar from well known desktop GIS systems - * - * Parameters: - * renderIntent - {String} rendering intent to add the rules to - * property - {String} values of feature attributes to create the - * rules for - * symbolizers - {Object} Hash of symbolizers, keyed by the desired - * property values - * context - {Object} An optional object with properties that - * symbolizers' property values should be evaluated - * against. If no context is specified, feature.attributes - * will be used - */ - addUniqueValueRules: function(renderIntent, property, symbolizers, context) { - var rules = []; - for (var value in symbolizers) { - rules.push(new OpenLayers.Rule({ - symbolizer: symbolizers[value], - context: context, - filter: new OpenLayers.Filter.Comparison({ - type: OpenLayers.Filter.Comparison.EQUAL_TO, - property: property, - value: value - }) - })); - } - this.styles[renderIntent].addRules(rules); - }, - - CLASS_NAME: "OpenLayers.StyleMap" -}); |