diff --git a/lib/OpenLayers.js b/lib/OpenLayers.js index e483fcfa52..4551e17872 100644 --- a/lib/OpenLayers.js +++ b/lib/OpenLayers.js @@ -1,5 +1,3 @@ -// @requires core/application.js - //// /// This blob sucks in all the files in uncompressed form for ease of use /// diff --git a/lib/OpenLayers/Control.js b/lib/OpenLayers/Control.js index 19c31bf9cd..f33e77fd75 100644 --- a/lib/OpenLayers/Control.js +++ b/lib/OpenLayers/Control.js @@ -17,7 +17,8 @@ OpenLayers.Control.prototype = { /** * @constructor */ - initialize: function () { + initialize: function (options) { + Object.extend(this, options); }, /** diff --git a/lib/OpenLayers/Control/KeyboardDefaults.js b/lib/OpenLayers/Control/KeyboardDefaults.js index 7ac41d63e9..7bf00817e5 100644 --- a/lib/OpenLayers/Control/KeyboardDefaults.js +++ b/lib/OpenLayers/Control/KeyboardDefaults.js @@ -1,4 +1,4 @@ -// @require OpenLayers/Control.js +// @require: OpenLayers/Control.js OpenLayers.Control.KeyboardDefaults = Class.create(); OpenLayers.Control.KeyboardDefaults.prototype = diff --git a/lib/OpenLayers/Control/LayerSwitcher.js b/lib/OpenLayers/Control/LayerSwitcher.js index 557212ec5c..46390f0398 100644 --- a/lib/OpenLayers/Control/LayerSwitcher.js +++ b/lib/OpenLayers/Control/LayerSwitcher.js @@ -1,4 +1,4 @@ -// @require OpenLayers/Control.js +// @require: OpenLayers/Control.js /** * @class */ @@ -28,14 +28,15 @@ OpenLayers.Control.LayerSwitcher.prototype = /** @type String */ nonActiveColor: "", + mode: "radio", /** * @constructor */ - initialize: function() { - OpenLayers.Control.prototype.initialize.apply(this, arguments); + initialize: function(options) { this.activeColor = OpenLayers.Control.LayerSwitcher.ACTIVE_COLOR; this.nonActiveColor = OpenLayers.Control.LayerSwitcher.NONACTIVE_COLOR; + OpenLayers.Control.prototype.initialize.apply(this, arguments); }, /** @@ -84,10 +85,22 @@ OpenLayers.Control.LayerSwitcher.prototype = singleClick: function(evt) { var div = Event.element(evt); var layer = div.layer; - var visible = layer.getVisibility(); + if (this.mode == "checkbox") { + var visible = layer.getVisibility(); - this.setTabActivation(div, !visible); - layer.setVisibility(!visible); + this.setTabActivation(div, !visible); + layer.setVisibility(!visible); + } else { + this.setTabActivation(div, true); + layer.setVisibility(true); + for( var i = 0; i < this.map.layers.length; i++) { + if (layer != this.map.layers[i]) { + this.setTabActivation($("LayerSwitcher_" + layer.name + "_Tab_p"), false); + layer.setVisibility(false); + } + } + } + Event.stop(evt); }, @@ -115,6 +128,7 @@ OpenLayers.Control.LayerSwitcher.prototype = // Inner Label - for Rico Corners // var backdropLabel = document.createElement('p'); + backdropLabelOuter.id = "LayerSwitcher_" + layer.name + "_Tab_p"; backdropLabel.innerHTML = layer.name; backdropLabel.style.marginTop = "0px"; backdropLabel.style.marginBottom = "0px"; diff --git a/lib/OpenLayers/Control/MouseDefaults.js b/lib/OpenLayers/Control/MouseDefaults.js index bd62e729b0..fc585a73cf 100644 --- a/lib/OpenLayers/Control/MouseDefaults.js +++ b/lib/OpenLayers/Control/MouseDefaults.js @@ -1,4 +1,4 @@ -// @require OpenLayers/Control.js +// @require: OpenLayers/Control.js OpenLayers.Control.MouseDefaults = Class.create(); OpenLayers.Control.MouseDefaults.prototype = Object.extend( new OpenLayers.Control(), { diff --git a/lib/OpenLayers/Control/PanZoom.js b/lib/OpenLayers/Control/PanZoom.js index eab1fe60ed..6bdeeec6d5 100644 --- a/lib/OpenLayers/Control/PanZoom.js +++ b/lib/OpenLayers/Control/PanZoom.js @@ -1,4 +1,4 @@ -// @require OpenLayers/Control.js +// @require: OpenLayers/Control.js // // default zoom/pan controls // diff --git a/lib/OpenLayers/Control/PanZoomBar.js b/lib/OpenLayers/Control/PanZoomBar.js index ab41ee82fe..d02a3b676a 100644 --- a/lib/OpenLayers/Control/PanZoomBar.js +++ b/lib/OpenLayers/Control/PanZoomBar.js @@ -1,4 +1,4 @@ -// @require OpenLayers/Control/PanZoom.js +// @require: OpenLayers/Control/PanZoom.js // // default zoom/pan controls @@ -49,11 +49,13 @@ OpenLayers.Control.PanZoomBar.prototype = return this.div; }, _addZoomBar:function(centered,sz) { + var imgLocation = OpenLayers.Util.getImagesLocation(); + var zoomStopSize = this.zoomStopHeight; - var slider = OpenLayers.Util.createImage("../img/slider.png", + var slider = OpenLayers.Util.createImage(imgLocation+"slider.png", new OpenLayers.Pixel(20,9), centered.add(-1, (this.map.getZoomLevels())*zoomStopSize), "absolute", - "OpenLayers_Control_PanZoomBar_Slider"); + "OpenLayers_Control_PanZoomBar_Slider" + this.map.id); slider.style.zIndex = this.div.zIndex + 5; this.slider = slider; @@ -66,8 +68,11 @@ OpenLayers.Control.PanZoomBar.prototype = sz.h = zoomStopSize*(this.map.getZoomLevels()+1); sz.w = this.zoomStopWidth; - var div = OpenLayers.Util.createDiv('OpenLayers_Control_PanZoomBar_Zoombar',centered,sz); - div.style.backgroundImage = "url(../img/zoombar.png)"; + var div = OpenLayers.Util.createDiv( + 'OpenLayers_Control_PanZoomBar_Zoombar' + this.map.id, + centered, + sz); + div.style.backgroundImage = "url("+imgLocation+"zoombar.png)"; this.divEvents = new OpenLayers.Events(this, div); this.divEvents.register("mousedown", this, this.divClick); diff --git a/lib/OpenLayers/Events.js b/lib/OpenLayers/Events.js index ca5fc4fb30..4cdeae73ad 100644 --- a/lib/OpenLayers/Events.js +++ b/lib/OpenLayers/Events.js @@ -59,7 +59,11 @@ OpenLayers.Events.prototype = { var listeners = this.listeners[type]; listeners.push( func.bindAsEventListener(obj) ); }, - + + remove: function (type) { + this.listeners[type].pop(); + }, + /** * @param {event} evt */ diff --git a/lib/OpenLayers/Layer/Google.js b/lib/OpenLayers/Layer/Google.js index 367aecc017..cf2d0e3a81 100644 --- a/lib/OpenLayers/Layer/Google.js +++ b/lib/OpenLayers/Layer/Google.js @@ -1,4 +1,4 @@ -// @require OpenLayers/Layer.js +// @require: OpenLayers/Layer.js OpenLayers.Layer.Google = Class.create(); OpenLayers.Layer.Google.prototype = Object.extend( new OpenLayers.Layer(), { diff --git a/lib/OpenLayers/Layer/Grid.js b/lib/OpenLayers/Layer/Grid.js index d6c0c95a24..79bb0abfc4 100644 --- a/lib/OpenLayers/Layer/Grid.js +++ b/lib/OpenLayers/Layer/Grid.js @@ -1,5 +1,5 @@ -// @require OpenLayers/Layer.js -// @require OpenLayers/Util.js +// @require: OpenLayers/Layer.js +// @require: OpenLayers/Util.js OpenLayers.Layer.Grid = Class.create(); OpenLayers.Layer.Grid.prototype = Object.extend( new OpenLayers.Layer(), { diff --git a/lib/OpenLayers/Layer/Markers.js b/lib/OpenLayers/Layer/Markers.js index d7936a07f0..d48babe236 100644 --- a/lib/OpenLayers/Layer/Markers.js +++ b/lib/OpenLayers/Layer/Markers.js @@ -1,4 +1,4 @@ -// @require OpenLayers/Layer.js +// @require: OpenLayers/Layer.js /** * @class */ diff --git a/lib/OpenLayers/Layer/Text.js b/lib/OpenLayers/Layer/Text.js index cc4c109f15..b2d914238b 100644 --- a/lib/OpenLayers/Layer/Text.js +++ b/lib/OpenLayers/Layer/Text.js @@ -1,4 +1,4 @@ -// @require OpenLayers/Layer/Markers.js +// @require: OpenLayers/Layer/Markers.js /** * @class */ diff --git a/lib/OpenLayers/Layer/WFS.js b/lib/OpenLayers/Layer/WFS.js index 041ad61c50..15ae6a8e09 100644 --- a/lib/OpenLayers/Layer/WFS.js +++ b/lib/OpenLayers/Layer/WFS.js @@ -1,5 +1,5 @@ -// @require OpenLayers/Layer/Grid.js -// @require OpenLayers/Layer/Markers.js +// @require: OpenLayers/Layer/Grid.js +// @require: OpenLayers/Layer/Markers.js /** * @class */ diff --git a/lib/OpenLayers/Layer/WMS.js b/lib/OpenLayers/Layer/WMS.js index fa963ca09d..9bdeed6135 100644 --- a/lib/OpenLayers/Layer/WMS.js +++ b/lib/OpenLayers/Layer/WMS.js @@ -1,4 +1,4 @@ -// @require OpenLayers/Layer/Grid.js +// @require: OpenLayers/Layer/Grid.js /** * @class */ diff --git a/lib/OpenLayers/Map.js b/lib/OpenLayers/Map.js index f5736c5c2c..a4cf2cedc5 100644 --- a/lib/OpenLayers/Map.js +++ b/lib/OpenLayers/Map.js @@ -1,4 +1,4 @@ -// @require OpenLayers/Util.js +// @require: OpenLayers/Util.js /** * @class * @@ -98,7 +98,7 @@ OpenLayers.Map.prototype = { if (!this.controls) { this.controls = []; this.addControl(new OpenLayers.Control.MouseDefaults()); - this.addControl(new OpenLayers.Control.PanZoom()); + this.addControl(new OpenLayers.Control.PanZoomBar()); } this.popups = new Array(); diff --git a/lib/OpenLayers/Popup.js b/lib/OpenLayers/Popup.js index 3d4e3e8548..9b8ed6c69f 100644 --- a/lib/OpenLayers/Popup.js +++ b/lib/OpenLayers/Popup.js @@ -1,4 +1,4 @@ -// @require OpenLayers/Util.js +// @require: OpenLayers/Util.js /** * @class diff --git a/lib/OpenLayers/Tile/Image.js b/lib/OpenLayers/Tile/Image.js index 08f80bd50c..11f36d48cb 100644 --- a/lib/OpenLayers/Tile/Image.js +++ b/lib/OpenLayers/Tile/Image.js @@ -1,4 +1,4 @@ -// @require OpenLayers/Tile.js +// @require: OpenLayers/Tile.js /** * @class */ diff --git a/lib/OpenLayers/Tile/WFS.js b/lib/OpenLayers/Tile/WFS.js index 74b7491411..354ce8c4dc 100644 --- a/lib/OpenLayers/Tile/WFS.js +++ b/lib/OpenLayers/Tile/WFS.js @@ -1,4 +1,4 @@ -// @require OpenLayers/Tile.js +// @require: OpenLayers/Tile.js /** * @class */