1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 | /* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for * full list of contributors). Published under the Clear BSD license. * See http://svn.openlayers.org/trunk/openlayers/license.txt for the * full text of the license. */ /** * @requires OpenLayers/Rule.js * @requires OpenLayers/Symbolizer/Point.js * @requires OpenLayers/Symbolizer/Line.js * @requires OpenLayers/Symbolizer/Polygon.js * @requires OpenLayers/Symbolizer/Text.js * @requires OpenLayers/Symbolizer/Raster.js */ /** * Class: OpenLayers.Style2 * This class represents a collection of rules for rendering features. */ OpenLayers.Style2 = OpenLayers.Class({ /** * Property: id * {String} A unique id for this session. */ id: null, /** * APIProperty: name * {String} Style identifier. */ name: null, /** * APIProperty: title * {String} Title of this style. */ title: null, /** * APIProperty: description * {String} Description of this style. */ description: null, /** * APIProperty: layerName * {<String>} Name of the layer that this style belongs to, usually * according to the NamedLayer attribute of an SLD document. */ layerName: null, /** * APIProperty: isDefault * {Boolean} */ isDefault: false, /** * APIProperty: rules * {Array(<OpenLayers.Rule>)} Collection of rendering rules. */ rules: null, /** * Constructor: OpenLayers.Style2 * Creates a style representing a collection of rendering rules. * * Parameters: * config - {Object} An object containing properties to be set on the * style. Any documented properties may be set at construction. * * Return: * {<OpenLayers.Style2>} A new style object. */ initialize: function(config) { OpenLayers.Util.extend(this, config); this.id = OpenLayers.Util.createUniqueID(this.CLASS_NAME + "_"); }, /** * APIMethod: destroy * nullify references to prevent circular references and memory leaks */ destroy: function() { for (var i=0, len=this.rules.length; i<len; i++) { this.rules[i].destroy(); } delete this.rules; }, /** * APIMethod: clone * Clones this style. * * Returns: * {<OpenLayers.Style2>} Clone of this style. */ clone: function() { var config = OpenLayers.Util.extend({}, this); // clone rules if (this.rules) { config.rules = []; for (var i=0, len=this.rules.length; i<len; ++i) { config.rules.push(this.rules[i].clone()); } } return new OpenLayers.Style2(config); }, CLASS_NAME: "OpenLayers.Style2" }); |