| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- /* Copyright (c) 2006-2011 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/BaseTypes/Class.js
- */
- /**
- * Class: OpenLayers.Strategy
- * Abstract vector layer strategy class. Not to be instantiated directly. Use
- * one of the strategy subclasses instead.
- */
- OpenLayers.Strategy = OpenLayers.Class({
-
- /**
- * Property: layer
- * {<OpenLayers.Layer.Vector>} The layer this strategy belongs to.
- */
- layer: null,
-
- /**
- * Property: options
- * {Object} Any options sent to the constructor.
- */
- options: null,
- /**
- * Property: active
- * {Boolean} The control is active.
- */
- active: null,
- /**
- * Property: autoActivate
- * {Boolean} The creator of the strategy can set autoActivate to false
- * to fully control when the protocol is activated and deactivated.
- * Defaults to true.
- */
- autoActivate: true,
- /**
- * Property: autoDestroy
- * {Boolean} The creator of the strategy can set autoDestroy to false
- * to fully control when the strategy is destroyed. Defaults to
- * true.
- */
- autoDestroy: true,
- /**
- * Constructor: OpenLayers.Strategy
- * Abstract class for vector strategies. Create instances of a subclass.
- *
- * Parameters:
- * options - {Object} Optional object whose properties will be set on the
- * instance.
- */
- initialize: function(options) {
- OpenLayers.Util.extend(this, options);
- this.options = options;
- // set the active property here, so that user cannot override it
- this.active = false;
- },
-
- /**
- * APIMethod: destroy
- * Clean up the strategy.
- */
- destroy: function() {
- this.deactivate();
- this.layer = null;
- this.options = null;
- },
- /**
- * Method: setLayer
- * Called to set the <layer> property.
- *
- * Parameters:
- * {<OpenLayers.Layer.Vector>}
- */
- setLayer: function(layer) {
- this.layer = layer;
- },
-
- /**
- * Method: activate
- * Activate the strategy. Register any listeners, do appropriate setup.
- *
- * Returns:
- * {Boolean} True if the strategy was successfully activated or false if
- * the strategy was already active.
- */
- activate: function() {
- if (!this.active) {
- this.active = true;
- return true;
- }
- return false;
- },
-
- /**
- * Method: deactivate
- * Deactivate the strategy. Unregister any listeners, do appropriate
- * tear-down.
- *
- * Returns:
- * {Boolean} True if the strategy was successfully deactivated or false if
- * the strategy was already inactive.
- */
- deactivate: function() {
- if (this.active) {
- this.active = false;
- return true;
- }
- return false;
- },
-
- CLASS_NAME: "OpenLayers.Strategy"
- });
|