[OpenLayers-Commits] r2081 - in sandbox/camptocamp/advancedcontrol: examples lib lib/OpenLayers lib/OpenLayers/Control theme/default theme/default/img theme/tango theme/tango/img

commits at openlayers.org commits at openlayers.org
Thu Dec 21 07:33:42 EST 2006


Author: bertil
Date: 2006-12-21 07:33:35 -0500 (Thu, 21 Dec 2006)
New Revision: 2081

Added:
   sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/ActionListener.js
   sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/Layer.js
   sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/PanDown.js
   sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/PanLeft.js
   sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/PanRight.js
   sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/PanUp.js
   sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/Slider.js
   sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/ZoomIn.js
   sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/ZoomOut.js
   sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/ZoomWorld.js
   sandbox/camptocamp/advancedcontrol/theme/default/img/drag-rectangle-off.png
   sandbox/camptocamp/advancedcontrol/theme/default/img/drag-rectangle-on.png
   sandbox/camptocamp/advancedcontrol/theme/default/img/east-mini.png
   sandbox/camptocamp/advancedcontrol/theme/default/img/layer-switcher-maximize.png
   sandbox/camptocamp/advancedcontrol/theme/default/img/layer-switcher-minimize.png
   sandbox/camptocamp/advancedcontrol/theme/default/img/marker-blue.png
   sandbox/camptocamp/advancedcontrol/theme/default/img/marker-gold.png
   sandbox/camptocamp/advancedcontrol/theme/default/img/marker-green.png
   sandbox/camptocamp/advancedcontrol/theme/default/img/marker.png
   sandbox/camptocamp/advancedcontrol/theme/default/img/measuring-stick-off.png
   sandbox/camptocamp/advancedcontrol/theme/default/img/measuring-stick-on.png
   sandbox/camptocamp/advancedcontrol/theme/default/img/media-eject.png
   sandbox/camptocamp/advancedcontrol/theme/default/img/media-playback-pause.png
   sandbox/camptocamp/advancedcontrol/theme/default/img/media-playback-start.png
   sandbox/camptocamp/advancedcontrol/theme/default/img/media-playback-stop.png
   sandbox/camptocamp/advancedcontrol/theme/default/img/media-record.png
   sandbox/camptocamp/advancedcontrol/theme/default/img/media-seek-backward.png
   sandbox/camptocamp/advancedcontrol/theme/default/img/media-seek-forward.png
   sandbox/camptocamp/advancedcontrol/theme/default/img/media-skip-backward.png
   sandbox/camptocamp/advancedcontrol/theme/default/img/media-skip-forward.png
   sandbox/camptocamp/advancedcontrol/theme/default/img/move.png
   sandbox/camptocamp/advancedcontrol/theme/default/img/north-mini.png
   sandbox/camptocamp/advancedcontrol/theme/default/img/panning-hand-off.png
   sandbox/camptocamp/advancedcontrol/theme/default/img/panning-hand-on.png
   sandbox/camptocamp/advancedcontrol/theme/default/img/slidebar.png
   sandbox/camptocamp/advancedcontrol/theme/default/img/slider.png
   sandbox/camptocamp/advancedcontrol/theme/default/img/south-mini.png
   sandbox/camptocamp/advancedcontrol/theme/default/img/west-mini.png
   sandbox/camptocamp/advancedcontrol/theme/default/img/zoom-minus-mini.png
   sandbox/camptocamp/advancedcontrol/theme/default/img/zoom-plus-mini.png
   sandbox/camptocamp/advancedcontrol/theme/default/img/zoom-world-mini.png
   sandbox/camptocamp/advancedcontrol/theme/tango/img/east-mini.png
   sandbox/camptocamp/advancedcontrol/theme/tango/img/loading.png
   sandbox/camptocamp/advancedcontrol/theme/tango/img/north-mini.png
   sandbox/camptocamp/advancedcontrol/theme/tango/img/south-mini.png
   sandbox/camptocamp/advancedcontrol/theme/tango/img/west-mini.png
   sandbox/camptocamp/advancedcontrol/theme/tango/img/world-mini.png
   sandbox/camptocamp/advancedcontrol/theme/tango/img/zoom-minus-mini.png
   sandbox/camptocamp/advancedcontrol/theme/tango/img/zoom-plus-mini.png
   sandbox/camptocamp/advancedcontrol/theme/tango/img/zoom-world-mini.png
Modified:
   sandbox/camptocamp/advancedcontrol/examples/AdvancedControl.html
   sandbox/camptocamp/advancedcontrol/lib/OpenLayers.js
   sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control.js
   sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/Choice.js
   sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/Container.js
   sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/Image.js
   sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/LayerSwitcher.js
   sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/MouseDefaults.js
   sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/PanZoom.js
   sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Map.js
   sandbox/camptocamp/advancedcontrol/theme/default/style.css
   sandbox/camptocamp/advancedcontrol/theme/tango/style.css
Log:
style and javascript separation

Modified: sandbox/camptocamp/advancedcontrol/examples/AdvancedControl.html
===================================================================
--- sandbox/camptocamp/advancedcontrol/examples/AdvancedControl.html	2006-12-21 10:57:49 UTC (rev 2080)
+++ sandbox/camptocamp/advancedcontrol/examples/AdvancedControl.html	2006-12-21 12:33:35 UTC (rev 2081)
@@ -2,63 +2,45 @@
   <head>
     <style type="text/css">
         #map1 {
-            width: 512px;
-            height: 512px;
+            width: 500px;
+            height: 500px;
             border: 1px solid black;
         }
-        
-        #map1 {
-            width: 512px;
-            height: 512px;
-            border: 1px solid black;
-        }
     </style>
     <script src="../lib/OpenLayers.js"></script>
     <script type="text/javascript">
         <!--
         function init(){
             var map = new OpenLayers.Map('map1', {theme: "tango"});
+
+            var options = { 
+                            resolutions: [1.40625,0.703125,0.3515625,0.17578125,0.087890625,0.0439453125,0.02197265625,0.010986328125,0.0054931640625,0.00274658203125,0.00137329101]
+            };
+            
             var ol_wms = new OpenLayers.Layer.WMS( "OpenLayers WMS", 
-                "http://labs.metacarta.com/wms/vmap0?", {layers: 'basic'}); 
-			// {div: $("containerControl")}
-			var container = new OpenLayers.Control.Container();
+                "http://labs.metacarta.com/wms/vmap0?", {layers: 'basic'},
+                options); 
 
-			var image = new OpenLayers.Control.Image("go-down.png");
-            container.addControl(image);
+            var options2 = { 
+                            resolutions: [0.17578125,0.087890625,0.0439453125,0.02197265625,0.010986328125,0.0054931640625,0.00274658203125,0.00137329101]
+            };
+            var jpl_wms = new OpenLayers.Layer.WMS( "NASA Global Mosaic",
+                "http://wms.jpl.nasa.gov/wms.cgi", 
+                {layers: "modis,global_mosaic"}, options2);
 
-            var button = new OpenLayers.Control.Button("bouton test", "go-down.png");
-            container.addControl(button);
-            
-            var choice1 = new OpenLayers.Control.Choice("radio");
-            container.addControl(choice1);
-            
-            var label1 = new OpenLayers.Control.Label("label choice 1", choice1);
-            container.addControl(label1);
-            
-            var choice2 = new OpenLayers.Control.Choice("radio");
-            container.addControl(choice2);
-                      
-            var label1 = new OpenLayers.Control.Label("label choice 2", choice2);
-            container.addControl(label1);
+            var dm_wms = new OpenLayers.Layer.WMS( "DM Solutions Demo",
+                "http://www2.dmsolutions.ca/cgi-bin/mswms_gmap",
+                {layers: "bathymetry,land_fn,park,drain_fn,drainage," +
+                         "prov_bound,fedlimit,rail,road,popplace",
+                 transparent: "true", format: "image/png"},
+                 {minResolution: 0.17578125,
+                  maxResolution: 0.703125});
 
-            var check = new OpenLayers.Control.Checkbox("check");
-            container.addControl(check);
+            map.addLayers([ol_wms, jpl_wms,dm_wms]);
             
-            map.addControl(container);
-
-            button.addActionListener({actionPerformed: function(){alert("test")}});
-            button.addActionListener({actionPerformed: function(){alert("test2")}});
+            var layerSwitcher = new OpenLayers.Control.LayerSwitcher();
+            map.addControl(layerSwitcher);
             
-            choice1.addActionListener({actionPerformed: function(){alert("test")}});
-            choice1.addActionListener({actionPerformed: function(){alert("test2")}});
-            
-            choice2.addActionListener({actionPerformed: function(){alert("test")}});
-            choice2.addActionListener({actionPerformed: function(){alert("test2")}});
-            
-            check.addActionListener({actionPerformed: function(){console.log(arguments[0]);}});
-            check.addActionListener({actionPerformed: function(){console.log(arguments[0]);}});
-			
-            map.addLayers([ol_wms]);
             map.zoomToMaxExtent();
         }
         // -->
@@ -66,8 +48,7 @@
   </head>
   <body onload="init()">
     <h1>OpenLayers Example</h1>
-    <div id="map1"></div>
-    <div id="map2"></div>
-    <div id="containerControl"></div>
+   	<div id="map1"></div>
+
   </body>
 </html>

Added: sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/ActionListener.js
===================================================================
--- sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/ActionListener.js	                        (rev 0)
+++ sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/ActionListener.js	2006-12-21 12:33:35 UTC (rev 2081)
@@ -0,0 +1,29 @@
+/* Copyright (c) 2006 MetaCarta, Inc., published under a modified BSD license.
+ * See http://svn.openlayers.org/trunk/openlayers/repository-license.txt 
+ * for the full text of the license. */
+
+/**
+ * @class
+ */
+OpenLayers.Control.ActionListener = OpenLayers.Class.create();
+OpenLayers.Control.ActionListener.prototype = {
+
+    initialize: function () {},
+    
+    /** Set the map property for the MouseListener.
+     * 
+     * @param {OpenLayers.Map} map
+     */
+    setMap: function(map) {
+        this.map = map;
+    },
+
+    /**
+     * @param {Event} evt
+     * 
+     * @type Boolean
+     */    
+	actionPerformed: function (evt) {},
+	
+	CLASS_NAME: "OpenLayers.Control.ActionListener"
+}
\ No newline at end of file

Modified: sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/Choice.js
===================================================================
--- sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/Choice.js	2006-12-21 10:57:49 UTC (rev 2080)
+++ sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/Choice.js	2006-12-21 12:33:35 UTC (rev 2081)
@@ -24,6 +24,7 @@
     initialize: function(name, group, options) {
     	this.controlName = "olChoice";
         OpenLayers.Control.prototype.initialize.apply(this, options);
+        this.group = group;
         this.name = name;
     },
 
@@ -38,7 +39,8 @@
             this.div = document.createElement("input");
             this.div.type = "radio";
             this.div.id = this.id;
-            this.div.name = this.name;
+            this.div.value = this.name;
+            this.div.name = this.group;
             this.div.className = this.controlName;
         }
         if (px != null) {

Modified: sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/Container.js
===================================================================
--- sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/Container.js	2006-12-21 10:57:49 UTC (rev 2080)
+++ sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/Container.js	2006-12-21 12:33:35 UTC (rev 2081)
@@ -20,7 +20,7 @@
      * @param {Object} options
      */
     initialize: function() {
-    	this.controlName = "olContainer";
+    	this.controlName = this.controlName?this.controlName:"olContainer";
         OpenLayers.Control.prototype.initialize.apply(this, arguments);
         this.controls = [];
     },
@@ -32,24 +32,14 @@
      * @type DOMElement
      */
     draw: function (px) {
-        OpenLayers.Control.prototype.draw.apply(this, arguments);
-
-        var containerHeader = document.createElement("div");
-        containerHeader.className = this.controlName+"Header";
-        this.div.appendChild(containerHeader);
+    
         
-        this.contentDiv = document.createElement("div");
-        this.contentDiv.className = this.controlName+"Content";
-        this.div.appendChild(this.contentDiv);
-        
+        OpenLayers.Control.prototype.draw.apply(this, arguments);
+    	
     	for (var i = 0; i < this.controls.length; i++) {
-    		this.contentDiv.appendChild(this.controls[i].draw());
+    		this.div.appendChild(this.controls[i].draw());
     	}
-        
-        var containerFooter = document.createElement("div");
-        containerFooter.className = this.controlName+"Footer";
-        this.div.appendChild(containerFooter);
-        
+    	
         return this.div;
     }, 
     

Modified: sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/Image.js
===================================================================
--- sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/Image.js	2006-12-21 10:57:49 UTC (rev 2080)
+++ sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/Image.js	2006-12-21 12:33:35 UTC (rev 2081)
@@ -25,7 +25,10 @@
     	this.controlName = "olImage";
         this.image = image;
         this.alt = alt;
-        OpenLayers.Control.prototype.initialize.apply(this, options);
+        
+        if (options) {
+        	OpenLayers.Control.prototype.initialize.apply(this, options);
+       	}
     },
     
     /**
@@ -37,6 +40,7 @@
     draw: function (px) {
         if (this.div == null) {
             this.div = OpenLayers.Util.createImagesDomElement(this.image, this.map.theme);
+            this.div.style.alt = this.id;
             this.div.id = this.id;
             this.div.alt = this.alt;
             this.div.className = this.controlName;

Added: sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/Layer.js
===================================================================
--- sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/Layer.js	                        (rev 0)
+++ sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/Layer.js	2006-12-21 12:33:35 UTC (rev 2081)
@@ -0,0 +1,85 @@
+/* Copyright (c) 2006 MetaCarta, Inc., published under a modified BSD license.
+ * See http://svn.openlayers.org/trunk/openlayers/repository-license.txt 
+ * for the full text of the license. */
+
+
+/**
+ * @class
+ * 
+ * @requires OpenLayers/Control/Container.js
+ */
+OpenLayers.Control.Layer = OpenLayers.Class.create();
+OpenLayers.Control.Layer.prototype = 
+  OpenLayers.Class.inherit( OpenLayers.Control.Container, {
+
+    /**
+     * @constructor
+     */
+    initialize: function(layer, options) {
+		this.controlName = this.controlName?this.controlName:"olLayer";
+        OpenLayers.Control.Container.prototype.initialize.apply(this, options);
+        
+        // Layer parameters
+        this.layer = layer;
+
+        if (layer.isBaseLayer) {
+			this.baseLayerChoice = new OpenLayers.Control.Choice(layer.name, "baseLayerChoice");
+			this.addControl(this.baseLayerChoice);
+			this.layerLabel = new OpenLayers.Control.Label(layer.name, this.baseLayerChoice);
+			this.addControl(this.layerLabel);     	
+        } else {
+	        if (layer.isVector) {
+	        	this.vectorLayerChoice = new OpenLayer.Control.Choice(layer.name, "vectorLayerChoice");
+	        	this.addControl(this.vectorLayerChoice);
+	        }
+			this.LayerVisibilityCheckbox = new OpenLayers.Control.Checkbox(layer.name);
+			this.addControl(this.LayerVisibilityCheckbox);
+			this.layerLabel = new OpenLayers.Control.Label(layer.name, this.LayerVisibilityCheckbox);
+			this.addControl(this.layerLabel);    
+        }
+    },
+    
+    draw: function(px) {
+    	OpenLayers.Control.Container.prototype.draw.apply(this, arguments);
+    	
+    	this.div.style.position = "relative";
+    	
+    	if(this.baseLayerChoice) {
+    		var checked = (this.layer == this.map.baseLayer);
+    		this.baseLayerChoice.div.checked = checked;
+    		
+    		var baseLayerAction = new OpenLayers.Control.ActionListener();
+    		baseLayerAction.layer = this.layer;
+    		baseLayerAction.baseLayerChoice = this.baseLayerChoice;
+    		baseLayerAction.actionPerformed = function() {
+    			this.layer.map.setBaseLayer(this.layer, true);
+    			this.layer.map.events.triggerEvent("changebaselayer");
+    			this.baseLayerChoice.div.checked = true;
+    		}
+    		this.baseLayerChoice.addActionListener("mousedown", baseLayerAction);
+    	}
+    	
+    	if(this.LayerVisibilityCheckbox) {
+    	    var checked = this.layer.getVisibility();
+    		this.LayerVisibilityCheckbox.div.checked = checked;
+    		
+    		var layerVisibilityAction = new OpenLayers.Control.ActionListener();
+    		layerVisibilityAction.layer = this.layer;
+    		layerVisibilityAction.layerVisibilityCheckbox = this;
+    		layerVisibilityAction.actionPerformed = function() {
+    			this.layer.display(!this.layer.getVisibility(), true);			
+    		}
+    		this.LayerVisibilityCheckbox.addActionListener("mousedown", layerVisibilityAction);
+    		//this.LayerVisibilityCheckbox.addActionListener("click", );
+    	}
+    	
+    	if(this.baseLayerChoise) {
+    		//this.baseLayerChoise.addActionListener("click", );
+   		}
+    	
+    	return this.div;
+    },
+
+    /** @final @type String */
+    CLASS_NAME: "OpenLayers.Control.Layer"
+});

Modified: sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/LayerSwitcher.js
===================================================================
--- sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/LayerSwitcher.js	2006-12-21 10:57:49 UTC (rev 2080)
+++ sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/LayerSwitcher.js	2006-12-21 12:33:35 UTC (rev 2081)
@@ -2,495 +2,74 @@
  * See http://svn.openlayers.org/trunk/openlayers/repository-license.txt 
  * for the full text of the license. */
 
-/** 
+
+/**
  * @class
  * 
- * @requires OpenLayers/Control.js
+ * @requires OpenLayers/Control/Container.js
  */
 OpenLayers.Control.LayerSwitcher = OpenLayers.Class.create();
 OpenLayers.Control.LayerSwitcher.prototype = 
-  OpenLayers.Class.inherit( OpenLayers.Control, {
-
-    /** @type String */
-    activeColor: "darkblue",
-    
-
-  // DOM Elements
+  OpenLayers.Class.inherit( OpenLayers.Control.Container, {
+	
+	initialize: function (options) {
+		this.controlName = this.controlName?this.controlName:"olLayerSwitcher";
+        
+        OpenLayers.Control.Container.prototype.initialize.apply(this, options);
+        
+		this.baseLayers = new OpenLayers.Control.Container();
+		this.vectorLayers = new OpenLayers.Control.Container();
+		this.dataLayers = new OpenLayers.Control.Container();
+		
+		this.addControl(this.baseLayers);
+		this.addControl(this.dataLayers);
+		this.addControl(this.vectorLayers);
+	},
+	
+    draw: function (px) {
+    	OpenLayers.Control.Container.prototype.draw.apply(this, arguments);
   
-    /** @type DOMElement */
-    layersDiv: null,
-    
-    /** @type DOMElement */
-    baseLayersDiv: null,
+  
+      			this.background = document.createElement("div");
+    	this.background.setAttribute("class", this.controlName+"Background");
+    	this.div.insertBefore(this.background, this.div.childNodes[0]);
+    	  	   	
+    	this.header = document.createElement("div");
+    	this.header.setAttribute("class", this.controlName+"Header");
+    	this.div.insertBefore(this.header, this.div.childNodes[0]);
+    	
 
-    /** @type Array */
-    baseLayerInputs: null,
-    
-    oldZIndex: null,
-    
-    /** @type DOMElement */
-    dataLbl: null,
-    
-    /** @type DOMElement */
-    dataLayersDiv: null,
-
-    /** @type Array */
-    dataLayerInputs: null,
-
-
-    /** @type DOMElement */
-    minimizeDiv: null,
-
-    /** @type DOMElement */
-    maximizeDiv: null,
-    
-    /** @type Boolean */
-    ascending: true,
- 
-    /**
-    * @constructor
-    */
-    initialize: function(options) {
-        OpenLayers.Control.prototype.initialize.apply(this, arguments);
-    },
-
-    /** 
-     * @param {OpenLayers.Map} map
-     */
-    setMap: function(map) {
-        OpenLayers.Control.prototype.setMap.apply(this, arguments);
-
-        this.map.events.register("addlayer", this, this.redraw);
-        this.map.events.register("changelayer", this, this.redraw);
-        this.map.events.register("removelayer", this, this.redraw);
-        this.map.events.register("changebaselayer", this, this.redraw);
-    },
-
-    /**
-    * @returns A reference to the DIV DOMElement containing the switcher tabs
-    * @type DOMElement
-    */  
-    draw: function() {
-        OpenLayers.Control.prototype.draw.apply(this);
-
-        // create layout divs
-        this.loadContents();
-
-        // set mode to minimize
-        this.minimizeControl();
+    	
+        this.baseLayers.div.style.position = "relative";
+        this.vectorLayers.div.style.position = "relative";
+        this.dataLayers.div.style.position = "relative";
         
-        // populate div with current info
-        this.redraw();    
+    	this.footer = document.createElement("div");
+    	this.footer.setAttribute("class", this.controlName+"Footer");
+    	this.div.appendChild(this.footer);
 
         return this.div;
     },
-
-    /** Goes through and takes the current state of the Map and rebuilds the
-     *   control to display that state. Groups base layers into a radio-button
-     *   group and lists each data layer with a checkbox.
-     * 
-     * @returns A reference to the DIV DOMElement containing the control
-     * @type DOMElement
-     */  
-    redraw: function() {
-
-        //clear out previous layers 
-        this.baseLayersDiv.innerHTML = "";
-        this.baseLayerInputs = new Array();
-        
-        this.dataLayersDiv.innerHTML = "";
-        this.dataLayerInputs = new Array();
-        
-        var containsOverlays = false;
-        
-        var layers = this.map.layers.slice();
-        if (!this.ascending) { layers.reverse(); }
-        for( var i = 0; i < layers.length; i++) {
-            var layer = layers[i];
-            var baseLayer = layer.isBaseLayer;
-            var vectorLayer = layer.isVector;
-            if (baseLayer || layer.displayInLayerSwitcher) {
-
-                if (!baseLayer) {
-                    containsOverlays = true;
-                }
-
-                // only check a baselayer if it is *the* baselayer, check data
-                //  layers if they are visible
-                var checked = (baseLayer) ? (layer == this.map.baseLayer)
-                                          : layer.getVisibility();
-
-                // create input element
-                var inputElem = document.createElement("input");
-                inputElem.id = "input_" + layer.name;
-                inputElem.name = (baseLayer) ? "baseLayers" : layer.name;
-                inputElem.type = (baseLayer) ? "radio" : "checkbox";
-                inputElem.value = layer.name;
-                inputElem.checked = checked;
-                inputElem.defaultChecked = checked;
-                inputElem.layer = layer;
-                inputElem.control = this;
-
-                if (!baseLayer && !layer.inRange) {
-                    inputElem.disabled = true;
-                }
-                OpenLayers.Event.observe(inputElem, "mouseup", 
-                              this.onInputClick.bindAsEventListener(inputElem));
-                
-                // create span
-                var labelSpan = document.createElement("span");
-                if (!baseLayer && !layer.inRange) {
-                    labelSpan.style.color = "gray";
-                }
-                labelSpan.innerHTML = layer.name;
-                labelSpan.style.verticalAlign = (baseLayer) ? "bottom" : "baseline";
-                OpenLayers.Event.observe(labelSpan, "click", 
-                              this.onInputClick.bindAsEventListener(inputElem));
-                // create line break
-                var br = document.createElement("br");
-    
-                
-                var groupArray = (baseLayer) ? this.baseLayerInputs
-                                             : this.dataLayerInputs;
-                groupArray.push(inputElem);
-                                                     
-    
-                var groupDiv = (baseLayer) ? this.baseLayersDiv
-                                           : this.dataLayersDiv;
-                
-                // create vector layer selection element
-                if(vectorLayer) {
-                    
-                    vectorInputElem = document.createElement("input");
-                    //vectorInputElem.id = "vectorInput_" + layer.name;
-                    vectorInputElem.name = "VectorRadio";
-                    vectorInputElem.type = "radio";
-                    //vectorInputElem.value = layer.name;
-                    if (layer == this.map.vectorLayer) {
-                        vectorInputElem.checked = (layer == this.map.vectorLayer);
-                        this.switchZindex(layer);
-                    }
-                    //vectorInputElem.defaultChecked = false;
-                    vectorInputElem.layer = layer;
-                    //vectorInputElem.control = this;
-                    groupDiv.appendChild(vectorInputElem);
-                    OpenLayers.Event.observe(vectorInputElem, "mouseup", 
-                              this.onVectorInputClick.bindAsEventListener(this));
-                }
-                groupDiv.appendChild(inputElem);
-                groupDiv.appendChild(labelSpan);
-                groupDiv.appendChild(br);
-            }
-        }
-
-        // if no overlays, dont display the overlay label
-        this.dataLbl.style.display = (containsOverlays) ? "" : "none";        
-
-        return this.div;
+    	
+	setMap: function(map) {
+		this.map = map;
+		
+		var layers = this.map.layers
+		
+		for( var i = 0; i < layers.length; i++) {
+			if (layers[i].isBaseLayer) {
+				this.baseLayers.addControl(new OpenLayers.Control.Layer(layers[i]));
+			} else if (layers[i].isVectorLayer) {
+				this.vectorLayers.addControl(new OpenLayers.Control.Layer(layers[i]));
+			} else {
+				this.dataLayers.addControl(new OpenLayers.Control.Layer(layers[i]));
+			}
+		}
+    	
+    	for (var i = 0; i < this.controls.length; i++) {
+    		this.controls[i].setMap(this.map);
+    	}
     },
-
-    /** A label has been clicked, check or uncheck its corresponding input
-     * 
-     * @private
-     * 
-     * @param {Event} e
-     */
-
-    onInputClick: function(e) {
-        if (!this.disabled) {
-            if (this.type == "radio") {
-                this.checked = true;
-                this.layer.map.setBaseLayer(this.layer, true);
-                this.layer.map.events.triggerEvent("changebaselayer");
-            } else {
-                this.checked = !this.checked;
-                this.control.updateMap();
-            }
-        }
-        OpenLayers.Event.stop(e);
-    },
     
-    
-    /*
-     * Function
-     *
-     * Handles the radio button check for vector layers
-     */
-    onVectorInputClick: function(e) {
-        
-        var vectorInput = e.target || e.srcElement;
-        
-        this.switchZindex(vectorInput.layer);
-
-        if (!vectorInput.disabled) {
-            vectorInput.checked = true;
-        }
-        this.map.setVectorLayer(vectorInput.layer);
-    },
-    
-    /**
-     * Switches the z-index between the old value and 850
-     * Use to put the selected vector layer over the others
-     *
-     * @param {OpenLayers.Layer.Vector} layer to move to top
-     */
-    switchZindex: function(layer) {
-        if (this.oldZIndex) {
-            this.map.vectorLayer.div.style.zIndex = this.oldZIndex;
-        }
-        this.oldZIndex = layer.div.style.zIndex;
-        layer.div.style.zIndex = 850;
-    },
-    
-    /** Need to update the map accordingly whenever user clicks in either of
-     *   the layers.
-     * 
-     * @private
-     * 
-     * @param {Event} e
-     */
-    onLayerClick: function(e) {
-        this.updateMap();
-    },
-
-
-    /** Cycles through the loaded data and base layer input arrays and makes
-     *   the necessary calls to the Map object such that that the map's 
-     *   visual state corresponds to what the user has selected in the control
-     * 
-     * @private
-     */
-    updateMap: function() {
-
-        // set the newly selected base layer        
-        for(var i=0; i < this.baseLayerInputs.length; i++) {
-            var input = this.baseLayerInputs[i];   
-            if (input.checked) {
-                this.map.setBaseLayer(input.layer, false);
-            }
-        }
-
-        // set the correct visibilities for the overlays
-        for(var i=0; i < this.dataLayerInputs.length; i++) {
-            var input = this.dataLayerInputs[i];   
-            input.layer.setVisibility(input.checked, true);
-        }
-
-    },
-
-    /** Set up the labels and divs for the control
-     * 
-     * @param {Event} e
-     */
-    maximizeControl: function(e) {
-
-        //HACK HACK HACK - find a way to auto-size this layerswitcher
-        this.div.style.width = "20em";
-        this.div.style.height = "";
-
-        this.showControls(false);
-
-        if (e != null) {
-            OpenLayers.Event.stop(e);                                            
-        }
-    },
-    
-    /** Hide all the contents of the control, shrink the size, 
-     *   add the maximize icon
-     * 
-     * @param {Event} e
-     */
-    minimizeControl: function(e) {
-
-        this.div.style.width = "0px";
-        this.div.style.height = "0px";
-
-        this.showControls(true);
-
-        if (e != null) {
-            OpenLayers.Event.stop(e);                                            
-        }
-    },
-
-    /** Hide/Show all LayerSwitcher controls depending on whether we are
-     *   minimized or not
-     * 
-     * @private
-     * 
-     * @param {Boolean} minimize
-     */
-    showControls: function(minimize) {
-
-        this.maximizeDiv.style.display = minimize ? "" : "none";
-        this.minimizeDiv.style.display = minimize ? "none" : "";
-
-        this.layersDiv.style.display = minimize ? "none" : "";
-    },
-    
-    /** Set up the labels and divs for the control
-     * 
-     */
-    loadContents: function() {
-
-        //configure main div
-        this.div.style.position = "absolute";
-        this.div.style.top = "10px";
-        this.div.style.right = "0px";
-        this.div.style.left = "";
-        this.div.style.fontFamily = "sans-serif";
-        this.div.style.fontWeight = "bold";
-        this.div.style.marginTop = "3px";
-        this.div.style.marginLeft = "3px";
-        this.div.style.marginBottom = "3px";
-        this.div.style.fontSize = "smaller";   
-        this.div.style.color = "white";   
-        this.div.style.backgroundColor = "transparent";
-    
-        OpenLayers.Event.observe(this.div, "mouseup", 
-                      this.mouseUp.bindAsEventListener(this));
-        OpenLayers.Event.observe(this.div, "click",
-                      this.ignoreEvent);
-        OpenLayers.Event.observe(this.div, "mousedown",
-                      this.mouseDown.bindAsEventListener(this));
-        OpenLayers.Event.observe(this.div, "dblclick", this.ignoreEvent);
-
-
-        // layers list div        
-        this.layersDiv = document.createElement("div");
-        this.layersDiv.id = "layersDiv";
-        this.layersDiv.style.paddingTop = "5px";
-        this.layersDiv.style.paddingLeft = "10px";
-        this.layersDiv.style.paddingBottom = "5px";
-        this.layersDiv.style.paddingRight = "75px";
-        this.layersDiv.style.backgroundColor = this.activeColor;        
-
-        // had to set width/height to get transparency in IE to work.
-        // thanks -- http://jszen.blogspot.com/2005/04/ie6-opacity-filter-caveat.html
-        //
-        this.layersDiv.style.width = "100%";
-        this.layersDiv.style.height = "100%";
-
-
-        var baseLbl = document.createElement("div");
-        baseLbl.innerHTML = "<u>Base Layer</u>";
-        baseLbl.style.marginTop = "3px";
-        baseLbl.style.marginLeft = "3px";
-        baseLbl.style.marginBottom = "3px";
-        
-        this.baseLayersDiv = document.createElement("div");
-        this.baseLayersDiv.style.paddingLeft = "10px";
-        /*OpenLayers.Event.observe(this.baseLayersDiv, "click", 
-                      this.onLayerClick.bindAsEventListener(this));
-        */
-                     
-
-        this.dataLbl = document.createElement("div");
-        this.dataLbl.innerHTML = "<u>Overlays</u>";
-        this.dataLbl.style.marginTop = "3px";
-        this.dataLbl.style.marginLeft = "3px";
-        this.dataLbl.style.marginBottom = "3px";
-        
-        this.dataLayersDiv = document.createElement("div");
-        this.dataLayersDiv.style.paddingLeft = "10px";
-
-        if (this.ascending) {
-            this.layersDiv.appendChild(baseLbl);
-            this.layersDiv.appendChild(this.baseLayersDiv);
-            this.layersDiv.appendChild(this.dataLbl);
-            this.layersDiv.appendChild(this.dataLayersDiv);
-        } else {
-            this.layersDiv.appendChild(this.dataLbl);
-            this.layersDiv.appendChild(this.dataLayersDiv);
-            this.layersDiv.appendChild(baseLbl);
-            this.layersDiv.appendChild(this.baseLayersDiv);
-        }    
- 
-        this.div.appendChild(this.layersDiv);
-
-        Rico.Corner.round(this.div, {corners: "tl bl",
-                                      bgColor: "transparent",
-                                      color: this.activeColor,
-                                      blend: false});
-
-        Rico.Corner.changeOpacity(this.layersDiv, 0.75);
-
-        var imgLocation = OpenLayers.Util.getImagesLocation();
-        var sz = new OpenLayers.Size(18,18);        
-
-        // maximize button div
-        var img = imgLocation + 'layer-switcher-maximize.png';
-        this.maximizeDiv = OpenLayers.Util.createAlphaImageDiv(
-                                    "OpenLayers_Control_MaximizeDiv", 
-                                    null, 
-                                    sz, 
-                                    img, 
-                                    "absolute");
-        this.maximizeDiv.style.top = "5px";
-        this.maximizeDiv.style.right = "0px";
-        this.maximizeDiv.style.left = "";
-        this.maximizeDiv.style.display = "none";
-        OpenLayers.Event.observe(this.maximizeDiv, 
-                      "click", 
-                      this.maximizeControl.bindAsEventListener(this));
-        
-        this.div.appendChild(this.maximizeDiv);
-
-        // minimize button div
-        var img = imgLocation + 'layer-switcher-minimize.png';
-        var sz = new OpenLayers.Size(18,18);        
-        this.minimizeDiv = OpenLayers.Util.createAlphaImageDiv(
-                                    "OpenLayers_Control_MinimizeDiv", 
-                                    null, 
-                                    sz, 
-                                    img, 
-                                    "absolute");
-        this.minimizeDiv.style.top = "5px";
-        this.minimizeDiv.style.right = "0px";
-        this.minimizeDiv.style.left = "";
-        this.minimizeDiv.style.display = "none";
-        OpenLayers.Event.observe(this.minimizeDiv, 
-                      "click", 
-                      this.minimizeControl.bindAsEventListener(this));
-
-        this.div.appendChild(this.minimizeDiv);
-    },
-    
-    /** 
-     * @private
-     *
-     * @param {Event} evt
-     */
-    ignoreEvent: function(evt) {
-        OpenLayers.Event.stop(evt);
-    },
-
-    /** Register a local 'mouseDown' flag so that we'll know whether or not
-     *   to ignore a mouseUp event
-     * 
-     * @private
-     *
-     * @param {Event} evt
-     */
-    mouseDown: function(evt) {
-        this.mouseDown = true;
-        this.ignoreEvent(evt);
-    },
-
-    /** If the 'mouseDown' flag has been set, that means that the drag was 
-     *   started from within the LayerSwitcher control, and thus we can 
-     *   ignore the mouseup. Otherwise, let the Event continue.
-     *  
-     * @private
-     *
-     * @param {Event} evt
-     */
-    mouseUp: function(evt) {
-        if (this.mouseDown) {
-            this.mouseDown = false;
-            this.ignoreEvent(evt);
-        }
-    },
-
-    /** @final @type String */
     CLASS_NAME: "OpenLayers.Control.LayerSwitcher"
-});
+});
\ No newline at end of file

Modified: sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/MouseDefaults.js
===================================================================
--- sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/MouseDefaults.js	2006-12-21 10:57:49 UTC (rev 2080)
+++ sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/MouseDefaults.js	2006-12-21 12:33:35 UTC (rev 2081)
@@ -140,10 +140,11 @@
      * @param {Event} e
      */
     mouseWheel: function(e) {
-    
+    	
         // first determine whether or not the wheeling was inside the map
         var inMap = false;
         var elem = OpenLayers.Event.element(e);
+        
         while(elem != null) {
             if (this.map && elem == this.map.div) {
                 inMap = true;

Added: sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/PanDown.js
===================================================================
--- sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/PanDown.js	                        (rev 0)
+++ sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/PanDown.js	2006-12-21 12:33:35 UTC (rev 2081)
@@ -0,0 +1,51 @@
+/* Copyright (c) 2006 MetaCarta, Inc., published under a modified BSD license.
+ * See http://svn.openlayers.org/trunk/openlayers/repository-license.txt 
+ * for the full text of the license. */
+
+/**
+ * @class
+ *
+ * @requires OpenLayers/Control.js
+ */
+OpenLayers.Control.PanDown = OpenLayers.Class.create();
+OpenLayers.Control.PanDown.prototype = OpenLayers.Class.inherit( OpenLayers.Control.Image, {
+	
+    /**
+     * @constructor
+     * 
+     * @param {Object} options
+     */
+    initialize: function(options) {
+    	this.controlName = "olPanDown";
+        this.image = "south-mini.png";
+        this.alt = "Pan down";
+    	       
+        if (options) {
+        	OpenLayers.Control.prototype.initialize.apply(this, options);
+       	}
+    },
+    
+    /**
+     * @param {OpenLayers.Pixel} px
+     *
+     * @returns A reference to the DIV DOMElement containing the control
+     * @type DOMElement
+     */
+    draw: function (px) {
+    	OpenLayers.Control.Image.prototype.draw.apply(this, arguments);
+    	
+    	// Zoom in action
+    	var panDown = new OpenLayers.Control.ActionListener();
+    	panDown.setMap(this.map);
+    	panDown.actionPerformed = function(evt){
+    		this.map.pan(0, 50);
+    		OpenLayers.Event.stop(evt);
+    	}
+    	this.addActionListener("mousedown", panDown);    	
+        
+        return this.div;
+    },
+    
+    CLASS_NAME: "OpenLayers.Control.PanDown"
+
+});
\ No newline at end of file

Added: sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/PanLeft.js
===================================================================
--- sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/PanLeft.js	                        (rev 0)
+++ sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/PanLeft.js	2006-12-21 12:33:35 UTC (rev 2081)
@@ -0,0 +1,51 @@
+/* Copyright (c) 2006 MetaCarta, Inc., published under a modified BSD license.
+ * See http://svn.openlayers.org/trunk/openlayers/repository-license.txt 
+ * for the full text of the license. */
+
+/**
+ * @class
+ *
+ * @requires OpenLayers/Control.js
+ */
+OpenLayers.Control.PanLeft = OpenLayers.Class.create();
+OpenLayers.Control.PanLeft.prototype = OpenLayers.Class.inherit( OpenLayers.Control.Image, {
+	
+    /**
+     * @constructor
+     * 
+     * @param {Object} options
+     */
+    initialize: function(options) {
+    	this.controlName = "olPanLeft";
+        this.image = "west-mini.png";
+        this.alt = "Pan left";
+    	       
+        if (options) {
+        	OpenLayers.Control.prototype.initialize.apply(this, options);
+       	}
+    },
+    
+    /**
+     * @param {OpenLayers.Pixel} px
+     *
+     * @returns A reference to the DIV DOMElement containing the control
+     * @type DOMElement
+     */
+    draw: function (px) {
+    	OpenLayers.Control.Image.prototype.draw.apply(this, arguments);
+    	
+    	// Zoom in action
+    	var panLeft = new OpenLayers.Control.ActionListener();
+    	panLeft.setMap(this.map);
+    	panLeft.actionPerformed = function(evt){
+    		this.map.pan(-50,0);
+    		OpenLayers.Event.stop(evt);
+    	}
+    	this.addActionListener("mousedown", panLeft);    	
+        
+        return this.div;
+    },
+    
+    CLASS_NAME: "OpenLayers.Control.PanLeft"
+
+});
\ No newline at end of file

Added: sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/PanRight.js
===================================================================
--- sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/PanRight.js	                        (rev 0)
+++ sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/PanRight.js	2006-12-21 12:33:35 UTC (rev 2081)
@@ -0,0 +1,51 @@
+/* Copyright (c) 2006 MetaCarta, Inc., published under a modified BSD license.
+ * See http://svn.openlayers.org/trunk/openlayers/repository-license.txt 
+ * for the full text of the license. */
+
+/**
+ * @class
+ *
+ * @requires OpenLayers/Control.js
+ */
+OpenLayers.Control.PanRight = OpenLayers.Class.create();
+OpenLayers.Control.PanRight.prototype = OpenLayers.Class.inherit( OpenLayers.Control.Image, {
+	
+    /**
+     * @constructor
+     * 
+     * @param {Object} options
+     */
+    initialize: function(options) {
+    	this.controlName = "olPanRight";
+        this.image = "east-mini.png";
+        this.alt = "Pan right";
+    	       
+        if (options) {
+        	OpenLayers.Control.prototype.initialize.apply(this, options);
+       	}
+    },
+    
+    /**
+     * @param {OpenLayers.Pixel} px
+     *
+     * @returns A reference to the DIV DOMElement containing the control
+     * @type DOMElement
+     */
+    draw: function (px) {
+    	OpenLayers.Control.Image.prototype.draw.apply(this, arguments);
+    	
+    	// Zoom in action
+    	var panRight = new OpenLayers.Control.ActionListener();
+    	panRight.setMap(this.map);
+    	panRight.actionPerformed = function(evt){
+    		this.map.pan(50, 0);
+    		OpenLayers.Event.stop(evt);
+    	}
+    	this.addActionListener("mousedown", panRight);    	
+        
+        return this.div;
+    },
+    
+    CLASS_NAME: "OpenLayers.Control.PanRight"
+
+});
\ No newline at end of file

Added: sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/PanUp.js
===================================================================
--- sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/PanUp.js	                        (rev 0)
+++ sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/PanUp.js	2006-12-21 12:33:35 UTC (rev 2081)
@@ -0,0 +1,54 @@
+/* Copyright (c) 2006 MetaCarta, Inc., published under a modified BSD license.
+ * See http://svn.openlayers.org/trunk/openlayers/repository-license.txt 
+ * for the full text of the license. */
+
+/**
+ * @class
+ *
+ * @requires OpenLayers/Control.js
+ */
+OpenLayers.Control.PanUp = OpenLayers.Class.create();
+OpenLayers.Control.PanUp.prototype = OpenLayers.Class.inherit( OpenLayers.Control.Image, {
+	
+    /**
+     * @constructor
+     * 
+     * @param {Object} options
+     */
+    initialize: function(options) {
+    	this.controlName = "olPanUp";
+        this.image = "north-mini.png";
+        this.alt = "Pan up";
+    	       
+        if (options) {
+        	OpenLayers.Control.prototype.initialize.apply(this, options);
+       	}
+    },
+    
+    /**
+     * @param {OpenLayers.Pixel} px
+     *
+     * @returns A reference to the DIV DOMElement containing the control
+     * @type DOMElement
+     */
+    draw: function (px) {
+
+    	OpenLayers.Control.Image.prototype.draw.apply(this, arguments);
+    	
+    	// Zoom in action
+    	var panUp = new OpenLayers.Control.ActionListener();
+    	panUp.setMap(this.map);
+    	
+    	panUp.actionPerformed = function(evt){
+    		this.map.pan(0, -50);
+    		OpenLayers.Event.stop(evt);
+    	}
+    	console.log("test");  
+    	this.addActionListener("mousedown", panUp);    	
+          
+        return this.div;
+    },
+    
+    CLASS_NAME: "OpenLayers.Control.PanUp"
+
+});
\ No newline at end of file

Modified: sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/PanZoom.js
===================================================================
--- sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/PanZoom.js	2006-12-21 10:57:49 UTC (rev 2080)
+++ sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/PanZoom.js	2006-12-21 12:33:35 UTC (rev 2081)
@@ -6,149 +6,51 @@
 /**
  * @class
  * 
- * @requires OpenLayers/Control.js
+ * @requires OpenLayers/Control/Container.js
  */
 OpenLayers.Control.PanZoom = OpenLayers.Class.create();
-OpenLayers.Control.PanZoom.X = 4;
-OpenLayers.Control.PanZoom.Y = 4;
 OpenLayers.Control.PanZoom.prototype = 
-  OpenLayers.Class.inherit( OpenLayers.Control, {
+  OpenLayers.Class.inherit( OpenLayers.Control.Container, {
 
-    /** @type int */
-    slideFactor: 50,
-
-    /** @type Array of Button Divs */
-    buttons: null,
-
-    /** @type OpenLayers.Pixel */
-    position: null,
-
     /**
      * @constructor
      */
     initialize: function() {
-        OpenLayers.Control.prototype.initialize.apply(this, arguments);
-        this.position = new OpenLayers.Pixel(OpenLayers.Control.PanZoom.X,
-                                             OpenLayers.Control.PanZoom.Y);
-    },
+		this.controlName = this.controlName?this.controlName:"olPanZoom";
+		
+        OpenLayers.Control.Container.prototype.initialize.apply(this, arguments);
+        
+                                       
+        // Pan up button
+    	this.panUp = new OpenLayers.Control.PanUp();
+    	this.addControl(this.panUp);
+  
+    	// Pan down button
+    	this.panDown = new OpenLayers.Control.PanDown();
+    	this.addControl(this.panDown);
 
-    /**
-    * @param {OpenLayers.Pixel} px
-    * 
-    * @returns A reference to the container div for the PanZoom control
-    * @type DOMElement
-    */
-    draw: function(px) {
-        // initialize our internal div
-        OpenLayers.Control.prototype.draw.apply(this, arguments);
-        px = this.position;
+		// Pan left button
+    	this.panLeft = new OpenLayers.Control.PanLeft();
+    	this.addControl(this.panLeft);
 
-        // place the controls
-        this.buttons = new Array();
-
-        var sz = new OpenLayers.Size(18,18);
-        var centered = new OpenLayers.Pixel(px.x+sz.w/2, px.y);
-
-        this._addButton("panup", "north-mini.png", centered, sz);
-        px.y = centered.y+sz.h;
-        this._addButton("panleft", "west-mini.png", px, sz);
-        this._addButton("panright", "east-mini.png", px.add(sz.w, 0), sz);
-        this._addButton("pandown", "south-mini.png", 
-                        centered.add(0, sz.h*2), sz);
-        this._addButton("zoomin", "zoom-plus-mini.png", 
-                        centered.add(0, sz.h*3+5), sz);
-        this._addButton("zoomworld", "zoom-world-mini.png", 
-                        centered.add(0, sz.h*4+5), sz);
-        this._addButton("zoomout", "zoom-minus-mini.png", 
-                        centered.add(0, sz.h*5+5), sz);
-        return this.div;
+    	// Pan right button
+    	this.panRight = new OpenLayers.Control.PanRight();
+    	this.addControl(this.panRight);
+    	
+    		
+    	// zoom button
+    	this.zoomMinus = new OpenLayers.Control.ZoomIn();
+    	this.addControl(this.zoomMinus);
+    	
+    	// zoom button
+    	this.zoomIn= new OpenLayers.Control.ZoomOut();
+    	this.addControl(this.zoomIn);
+    	
+    	// zoom button
+    	this.zoomWorld= new OpenLayers.Control.ZoomWorld();
+    	this.addControl(this.zoomWorld);
     },
-    
-    /**
-     * @param {String} id
-     * @param {String} img
-     * @param {OpenLayers.Pixel} xy
-     * @param {OpenLayers.Size} sz
-     * 
-     * @returns A Div (an alphaImageDiv, to be precise) that contains the 
-     *          image of the button, and has all the proper event handlers
-     *          set.
-     * @type DOMElement
-     */
-    _addButton:function(id, img, xy, sz) {
-        var imgLocation = OpenLayers.Util.getImagesLocation() + img;
-        var btn = OpenLayers.Util.createAlphaImageDiv(
-                                    "OpenLayers_Control_PanZoom_" + id, 
-                                    xy, sz, imgLocation, "absolute");
 
-        //we want to add the outer div
-        this.div.appendChild(btn);
-
-        btn.onmousedown = this.buttonDown.bindAsEventListener(btn);
-        btn.ondblclick  = this.doubleClick.bindAsEventListener(btn);
-        btn.onclick  = this.doubleClick.bindAsEventListener(btn);
-        btn.action = id;
-        btn.map = this.map;
-        btn.slideFactor = this.slideFactor;
-
-        //we want to remember/reference the outer div
-        this.buttons.push(btn);
-        return btn;
-    },
-    
-    /**
-     * @param {Event} evt
-     * 
-     * @type Boolean
-     */
-    doubleClick: function (evt) {
-        OpenLayers.Event.stop(evt);
-        return false;
-    },
-    
-    /**
-     * @param {Event} evt
-     */
-    buttonDown: function (evt) {
-        if (!OpenLayers.Event.isLeftClick(evt)) return;
-
-        switch (this.action) {
-            case "panup": 
-                this.map.pan(0, -50);
-                break;
-            case "pandown": 
-                this.map.pan(0, 50);
-                break;
-            case "panleft": 
-                this.map.pan(-50, 0);
-                break;
-            case "panright": 
-                this.map.pan(50, 0);
-                break;
-            case "zoomin": 
-                this.map.zoomIn(); 
-                break;
-            case "zoomout": 
-                this.map.zoomOut(); 
-                break;
-            case "zoomworld": 
-                this.map.zoomToMaxExtent(); 
-                break;
-        }
-
-        OpenLayers.Event.stop(evt);
-    },
-
-    /**
-     * 
-     */
-    destroy: function() {
-        OpenLayers.Control.prototype.destroy.apply(this, arguments);
-        for (i=0; i<this.buttons.length; i++) {
-            this.buttons[i].map = null;
-        }
-    },
-    
     /** @final @type String */
     CLASS_NAME: "OpenLayers.Control.PanZoom"
 });

Added: sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/Slider.js
===================================================================
--- sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/Slider.js	                        (rev 0)
+++ sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/Slider.js	2006-12-21 12:33:35 UTC (rev 2081)
@@ -0,0 +1,43 @@
+/* Copyright (c) 2006 MetaCarta, Inc., published under a modified BSD license.
+ * See http://svn.openlayers.org/trunk/openlayers/repository-license.txt 
+ * for the full text of the license. */
+
+
+/**
+ * @class 
+ * 
+ * @requires OpenLayers/Control/Container.js
+ */
+OpenLayers.Control.Slider = OpenLayers.Class.create();
+OpenLayers.Control.Slider.prototype = 
+  OpenLayers.Class.inherit( OpenLayers.Control.Container, {
+	  initialize: function() {
+	      this.controlName = this.controlName?this.controlName:"olSlider";
+	  	  this.controlName = "olSlider";
+		  OpenLayers.Control.Container.prototype.initialize.apply(this, arguments);
+	      
+	      // slidebar
+	      this.slidebar = new OpenLayers.Control.Image("slidebar.png", "Slide bar");
+	      this.slidebar.controlName = "olSlideBar";
+	      this.addControl(this.slidebar);
+	      
+	      // slider controller image
+	      this.slideController = new OpenLayers.Control.Image("slider.png", "Slide controller");
+	      this.slideController.controlName = "olSlideController";
+	      this.addControl(this.slideController);
+	  },
+	  
+	  draw: function() {
+	      OpenLayers.Control.Container.prototype.draw.apply(this, arguments);
+	      
+	      var action = {actionPerformed: function(evt){alert(OpenLayers.Event.pointerY(evt));}}
+	      this.slidebar.addActionListener("click", action);
+	      
+	      
+	      
+	      return this.div;
+	  },
+	  
+	  CLASS_NAME: "OpenLayers.Control.Slider"
+
+});
\ No newline at end of file

Added: sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/ZoomIn.js
===================================================================
--- sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/ZoomIn.js	                        (rev 0)
+++ sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/ZoomIn.js	2006-12-21 12:33:35 UTC (rev 2081)
@@ -0,0 +1,51 @@
+/* Copyright (c) 2006 MetaCarta, Inc., published under a modified BSD license.
+ * See http://svn.openlayers.org/trunk/openlayers/repository-license.txt 
+ * for the full text of the license. */
+
+/**
+ * @class
+ *
+ * @requires OpenLayers/Control.js
+ */
+OpenLayers.Control.ZoomIn = OpenLayers.Class.create();
+OpenLayers.Control.ZoomIn.prototype = OpenLayers.Class.inherit( OpenLayers.Control.Image, {
+	
+    /**
+     * @constructor
+     * 
+     * @param {Object} options
+     */
+    initialize: function(options) {
+    	this.controlName = "olZoomIn";
+        this.image = "zoom-plus-mini.png";
+        this.alt = "Zoom in";
+    	       
+        if (options) {
+        	OpenLayers.Control.prototype.initialize.apply(this, options);
+       	}
+    },
+    
+    /**
+     * @param {OpenLayers.Pixel} px
+     *
+     * @returns A reference to the DIV DOMElement containing the control
+     * @type DOMElement
+     */
+    draw: function (px) {
+    	OpenLayers.Control.Image.prototype.draw.apply(this, arguments);
+    	
+    	// Zoom in action
+    	var zoomIn = new OpenLayers.Control.ActionListener();
+    	zoomIn.setMap(this.map);
+    	zoomIn.actionPerformed = function(evt){
+    		this.map.zoomIn();
+    		OpenLayers.Event.stop(evt);
+    	}
+    	this.addActionListener("mousedown", zoomIn);    	
+        
+        return this.div;
+    },
+    
+    CLASS_NAME: "OpenLayers.Control.ZoomIn"
+
+});
\ No newline at end of file

Added: sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/ZoomOut.js
===================================================================
--- sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/ZoomOut.js	                        (rev 0)
+++ sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/ZoomOut.js	2006-12-21 12:33:35 UTC (rev 2081)
@@ -0,0 +1,51 @@
+/* Copyright (c) 2006 MetaCarta, inc., published under a modified BSD license.
+ * See http://svn.openlayers.org/trunk/openlayers/repository-license.txt 
+ * for the full text of the license. */
+
+/**
+ * @class
+ *
+ * @requires OpenLayers/Control.js
+ */
+OpenLayers.Control.ZoomOut = OpenLayers.Class.create();
+OpenLayers.Control.ZoomOut.prototype = OpenLayers.Class.inherit( OpenLayers.Control.Image, {
+	
+    /**
+     * @constructor
+     * 
+     * @param {Object} options
+     */
+    initialize: function(options) {
+    	this.controlName = "olZoomOut";
+        this.image = "zoom-minus-mini.png";
+        this.alt = "Zoom out";
+    	       
+        if (options) {
+        	OpenLayers.Control.prototype.initialize.apply(this, options);
+       	}
+    },
+    
+    /**
+     * @param {OpenLayers.Pixel} px
+     *
+     * @returns A reference to the DIV DOMElement containing the control
+     * @type DOMElement
+     */
+    draw: function (px) {
+    	OpenLayers.Control.Image.prototype.draw.apply(this, arguments);
+    	
+    	// Zoom in action
+    	var zoomOut = new OpenLayers.Control.ActionListener();
+    	zoomOut.setMap(this.map);
+    	zoomOut.actionPerformed = function(evt){
+    		this.map.zoomOut();
+    		OpenLayers.Event.stop(evt);
+    	}
+    	this.addActionListener("mousedown", zoomOut);    	
+        
+        return this.div;
+    },
+    
+    CLASS_NAME: "OpenLayers.Control.ZoomOut"
+
+});
\ No newline at end of file

Added: sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/ZoomWorld.js
===================================================================
--- sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/ZoomWorld.js	                        (rev 0)
+++ sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/ZoomWorld.js	2006-12-21 12:33:35 UTC (rev 2081)
@@ -0,0 +1,51 @@
+/* Copyright (c) 2006 MetaCarta, inc., published under a modified BSD license.
+ * See http://svn.openlayers.org/trunk/openlayers/repository-license.txt 
+ * for the full text of the license. */
+
+/**
+ * @class
+ *
+ * @requires OpenLayers/Control.js
+ */
+OpenLayers.Control.ZoomWorld = OpenLayers.Class.create();
+OpenLayers.Control.ZoomWorld.prototype = OpenLayers.Class.inherit( OpenLayers.Control.Image, {
+	
+    /**
+     * @constructor
+     * 
+     * @param {Object} options
+     */
+    initialize: function(options) {
+    	this.controlName = "olZoomWorld";
+        this.image = "zoom-world-mini.png";
+        this.alt = "Zoom world";
+    	       
+        if (options) {
+        	OpenLayers.Control.prototype.initialize.apply(this, options);
+       	}
+    },
+    
+    /**
+     * @param {OpenLayers.Pixel} px
+     *
+     * @returns A reference to the DIV DOMElement containing the control
+     * @type DOMElement
+     */
+    draw: function (px) {
+    	OpenLayers.Control.Image.prototype.draw.apply(this, arguments);
+    	
+    	// Zoom in action
+    	var zoomWorld = new OpenLayers.Control.ActionListener();
+    	zoomWorld.setMap(this.map);
+    	zoomWorld.actionPerformed = function(evt){
+    		this.map.zoomToMaxExtent();
+    		OpenLayers.Event.stop(evt);
+    	}
+    	this.addActionListener("mousedown", zoomWorld);    	
+        
+        return this.div;
+    },
+    
+    CLASS_NAME: "OpenLayers.Control.ZoomWorld"
+
+});
\ No newline at end of file

Modified: sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control.js
===================================================================
--- sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control.js	2006-12-21 10:57:49 UTC (rev 2080)
+++ sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control.js	2006-12-21 12:33:35 UTC (rev 2081)
@@ -89,15 +89,15 @@
     /**
      * @param {OpenLayers.Control.ActionListener} actionListener
      */    
-    addActionListener: function(actionListener) {
-    	OpenLayers.Event.observe(this.div, "click", actionListener.actionPerformed , false);
+    addActionListener: function(action, actionListener) {
+    	OpenLayers.Event.observe(this.div, action, actionListener.actionPerformed.bind(actionListener) , false);
     },
 
     /**
      * @param {OpenLayers.Control.ActionListener} actionListener
      */
-    removeActionListener: function(actionListener) {
-    	OpenLayers.Event.dispose(this.div, "click", actionListener.actionPerformed , false);
+    removeActionListener: function(action, actionListener) {
+    	OpenLayers.Event.dispose(this.div, action, actionListener.actionPerformed , false);
     },
 
     /** @final @type String */

Modified: sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Map.js
===================================================================
--- sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Map.js	2006-12-21 10:57:49 UTC (rev 2080)
+++ sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Map.js	2006-12-21 12:33:35 UTC (rev 2081)
@@ -179,9 +179,12 @@
         
         if (this.controls == null) {
             if (OpenLayers.Control != null) { // running full or lite?
-                this.controls = [ new OpenLayers.Control.PanZoom(),
+            
+                this.controls = [ 
+                				  new OpenLayers.Control.PanZoom(),
                                   new OpenLayers.Control.ArgParser()
                                 ];
+                                
             } else {
                 this.controls = [];
             }
@@ -538,7 +541,6 @@
      * @param {OpenLayers.Control.MouseListener} mouseListener
      */       
     addMouseListener: function(mouseListener) {
-		 
 		 this.events.register( "click", mouseListener, mouseListener.mouseClick );
          this.events.register( "dblclick", mouseListener, mouseListener.mouseDblClick );
          this.events.register( "mousedown", mouseListener, mouseListener.mouseDown );

Modified: sandbox/camptocamp/advancedcontrol/lib/OpenLayers.js
===================================================================
--- sandbox/camptocamp/advancedcontrol/lib/OpenLayers.js	2006-12-21 10:57:49 UTC (rev 2080)
+++ sandbox/camptocamp/advancedcontrol/lib/OpenLayers.js	2006-12-21 12:33:35 UTC (rev 2081)
@@ -97,34 +97,22 @@
         "OpenLayers/Control/Choice.js",
         "OpenLayers/Control/Checkbox.js",
         "OpenLayers/Control/Label.js",
+        "OpenLayers/Control/PanUp.js",
+        "OpenLayers/Control/PanDown.js",
+        "OpenLayers/Control/PanRight.js",
+        "OpenLayers/Control/PanLeft.js",
+        "OpenLayers/Control/ZoomIn.js",
+        "OpenLayers/Control/ZoomOut.js",
+        "OpenLayers/Control/ZoomWorld.js",
+        "OpenLayers/Control/Layer.js",
+        "OpenLayers/Control/LayerSwitcher.js",
+        
+        "OpenLayers/Control/ActionListener.js",
         "OpenLayers/Control/MouseListener.js",
         "OpenLayers/Control/MouseDefaults.js",
-        "OpenLayers/Control/MouseToolbar.js",
-        "OpenLayers/Control/MousePosition.js",
-        "OpenLayers/Control/OverviewMap.js",
-        "OpenLayers/Control/KeyboardDefaults.js",
         "OpenLayers/Control/PanZoom.js",
-        "OpenLayers/Control/PanZoomBar.js",
         "OpenLayers/Control/ArgParser.js",
         "OpenLayers/Control/Permalink.js",
-        "OpenLayers/Control/Scale.js",
-        "OpenLayers/Control/LayerSwitcher.js",
-        "OpenLayers/Control/EditingToolbar.js",
-        "OpenLayers/Control/EditingTool.js",
-        "OpenLayers/Control/EditingAttributes.js",
-        "OpenLayers/Control/EditingTool/Selection.js",
-        "OpenLayers/Control/EditingTool/MovePathPoint.js",
-        "OpenLayers/Control/EditingTool/DrawLinearPath.js",
-        "OpenLayers/Control/EditingTool/DrawPoint.js",
-        "OpenLayers/Control/EditingTool/DrawLineString.js",
-        "OpenLayers/Control/EditingTool/RemovePathPoint.js",
-        "OpenLayers/Control/EditingTool/AddPathPoint.js",
-        "OpenLayers/Control/EditingTool/DrawLinearRing.js",
-        "OpenLayers/Control/EditingTool/Rotate.js",
-        "OpenLayers/Control/EditingTool/Commit.js",
-        "OpenLayers/Control/EditingMode.js",
-        "OpenLayers/Control/EditingMode/PointSnapping.js",
-        "OpenLayers/Control/EditingMode/SegmentSnapping.js",
         "OpenLayers/Geometry.js",
         "OpenLayers/Geometry/Aggregate.js",
         "OpenLayers/Geometry/Point.js",

Added: sandbox/camptocamp/advancedcontrol/theme/default/img/drag-rectangle-off.png
===================================================================
(Binary files differ)


Property changes on: sandbox/camptocamp/advancedcontrol/theme/default/img/drag-rectangle-off.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: sandbox/camptocamp/advancedcontrol/theme/default/img/drag-rectangle-on.png
===================================================================
(Binary files differ)


Property changes on: sandbox/camptocamp/advancedcontrol/theme/default/img/drag-rectangle-on.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: sandbox/camptocamp/advancedcontrol/theme/default/img/east-mini.png
===================================================================
(Binary files differ)


Property changes on: sandbox/camptocamp/advancedcontrol/theme/default/img/east-mini.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: sandbox/camptocamp/advancedcontrol/theme/default/img/layer-switcher-maximize.png
===================================================================
(Binary files differ)


Property changes on: sandbox/camptocamp/advancedcontrol/theme/default/img/layer-switcher-maximize.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: sandbox/camptocamp/advancedcontrol/theme/default/img/layer-switcher-minimize.png
===================================================================
(Binary files differ)


Property changes on: sandbox/camptocamp/advancedcontrol/theme/default/img/layer-switcher-minimize.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: sandbox/camptocamp/advancedcontrol/theme/default/img/marker-blue.png
===================================================================
(Binary files differ)


Property changes on: sandbox/camptocamp/advancedcontrol/theme/default/img/marker-blue.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: sandbox/camptocamp/advancedcontrol/theme/default/img/marker-gold.png
===================================================================
(Binary files differ)


Property changes on: sandbox/camptocamp/advancedcontrol/theme/default/img/marker-gold.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: sandbox/camptocamp/advancedcontrol/theme/default/img/marker-green.png
===================================================================
(Binary files differ)


Property changes on: sandbox/camptocamp/advancedcontrol/theme/default/img/marker-green.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: sandbox/camptocamp/advancedcontrol/theme/default/img/marker.png
===================================================================
(Binary files differ)


Property changes on: sandbox/camptocamp/advancedcontrol/theme/default/img/marker.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: sandbox/camptocamp/advancedcontrol/theme/default/img/measuring-stick-off.png
===================================================================
(Binary files differ)


Property changes on: sandbox/camptocamp/advancedcontrol/theme/default/img/measuring-stick-off.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: sandbox/camptocamp/advancedcontrol/theme/default/img/measuring-stick-on.png
===================================================================
(Binary files differ)


Property changes on: sandbox/camptocamp/advancedcontrol/theme/default/img/measuring-stick-on.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: sandbox/camptocamp/advancedcontrol/theme/default/img/media-eject.png
===================================================================
(Binary files differ)


Property changes on: sandbox/camptocamp/advancedcontrol/theme/default/img/media-eject.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: sandbox/camptocamp/advancedcontrol/theme/default/img/media-playback-pause.png
===================================================================
(Binary files differ)


Property changes on: sandbox/camptocamp/advancedcontrol/theme/default/img/media-playback-pause.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: sandbox/camptocamp/advancedcontrol/theme/default/img/media-playback-start.png
===================================================================
(Binary files differ)


Property changes on: sandbox/camptocamp/advancedcontrol/theme/default/img/media-playback-start.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: sandbox/camptocamp/advancedcontrol/theme/default/img/media-playback-stop.png
===================================================================
(Binary files differ)


Property changes on: sandbox/camptocamp/advancedcontrol/theme/default/img/media-playback-stop.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: sandbox/camptocamp/advancedcontrol/theme/default/img/media-record.png
===================================================================
(Binary files differ)


Property changes on: sandbox/camptocamp/advancedcontrol/theme/default/img/media-record.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: sandbox/camptocamp/advancedcontrol/theme/default/img/media-seek-backward.png
===================================================================
(Binary files differ)


Property changes on: sandbox/camptocamp/advancedcontrol/theme/default/img/media-seek-backward.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: sandbox/camptocamp/advancedcontrol/theme/default/img/media-seek-forward.png
===================================================================
(Binary files differ)


Property changes on: sandbox/camptocamp/advancedcontrol/theme/default/img/media-seek-forward.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: sandbox/camptocamp/advancedcontrol/theme/default/img/media-skip-backward.png
===================================================================
(Binary files differ)


Property changes on: sandbox/camptocamp/advancedcontrol/theme/default/img/media-skip-backward.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: sandbox/camptocamp/advancedcontrol/theme/default/img/media-skip-forward.png
===================================================================
(Binary files differ)


Property changes on: sandbox/camptocamp/advancedcontrol/theme/default/img/media-skip-forward.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: sandbox/camptocamp/advancedcontrol/theme/default/img/move.png
===================================================================
(Binary files differ)


Property changes on: sandbox/camptocamp/advancedcontrol/theme/default/img/move.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: sandbox/camptocamp/advancedcontrol/theme/default/img/north-mini.png
===================================================================
(Binary files differ)


Property changes on: sandbox/camptocamp/advancedcontrol/theme/default/img/north-mini.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: sandbox/camptocamp/advancedcontrol/theme/default/img/panning-hand-off.png
===================================================================
(Binary files differ)


Property changes on: sandbox/camptocamp/advancedcontrol/theme/default/img/panning-hand-off.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: sandbox/camptocamp/advancedcontrol/theme/default/img/panning-hand-on.png
===================================================================
(Binary files differ)


Property changes on: sandbox/camptocamp/advancedcontrol/theme/default/img/panning-hand-on.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: sandbox/camptocamp/advancedcontrol/theme/default/img/slidebar.png
===================================================================
(Binary files differ)


Property changes on: sandbox/camptocamp/advancedcontrol/theme/default/img/slidebar.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: sandbox/camptocamp/advancedcontrol/theme/default/img/slider.png
===================================================================
(Binary files differ)


Property changes on: sandbox/camptocamp/advancedcontrol/theme/default/img/slider.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: sandbox/camptocamp/advancedcontrol/theme/default/img/south-mini.png
===================================================================
(Binary files differ)


Property changes on: sandbox/camptocamp/advancedcontrol/theme/default/img/south-mini.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: sandbox/camptocamp/advancedcontrol/theme/default/img/west-mini.png
===================================================================
(Binary files differ)


Property changes on: sandbox/camptocamp/advancedcontrol/theme/default/img/west-mini.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: sandbox/camptocamp/advancedcontrol/theme/default/img/zoom-minus-mini.png
===================================================================
(Binary files differ)


Property changes on: sandbox/camptocamp/advancedcontrol/theme/default/img/zoom-minus-mini.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: sandbox/camptocamp/advancedcontrol/theme/default/img/zoom-plus-mini.png
===================================================================
(Binary files differ)


Property changes on: sandbox/camptocamp/advancedcontrol/theme/default/img/zoom-plus-mini.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: sandbox/camptocamp/advancedcontrol/theme/default/img/zoom-world-mini.png
===================================================================
(Binary files differ)


Property changes on: sandbox/camptocamp/advancedcontrol/theme/default/img/zoom-world-mini.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Modified: sandbox/camptocamp/advancedcontrol/theme/default/style.css
===================================================================
--- sandbox/camptocamp/advancedcontrol/theme/default/style.css	2006-12-21 10:57:49 UTC (rev 2080)
+++ sandbox/camptocamp/advancedcontrol/theme/default/style.css	2006-12-21 12:33:35 UTC (rev 2081)
@@ -78,7 +78,77 @@
     padding:5px;
 }
 
-.olContainer {
+.olPanZoom {
+	left: 10px;
+	top: 10px;
+	width: 44px;
+	height: 66px;
+}
+
+.olPanUp {
+	position: absolute;
+	width: 18px;
+	height: 18px;
+	left: 9px;
+}
+
+.olPanDown {
+	position: absolute;
+	width: 18px;
+	height: 18px;
+	left: 9px;
+	top: 36px;
+}
+
+.olPanLeft {
+	position: relative;
+	width: 18px;
+	height: 18px;
+	top:18px;
+}
+
+.olPanRight {
+	position: absolute;
+	width: 18px;
+	height: 18px;
+	top: 18px;
+	left: 18px;
+}
+
+.olZoomIn {
+	position: absolute;
+	width: 18px;
+	height: 18px;
+	top: 60px;
+	left: 9px;
+}
+
+.olZoomOut {
+	position: absolute;
+	width: 18px;
+	height: 18px;
+	top: 96px;
+	left: 9px;
+}
+
+.olZoomWorld {
+	position: absolute;
+	width: 18px;
+	height: 18px;
+	top: 78px;
+	left: 9px;
+}
+
+.olLayerSwitcher {
 	background-color: white;
-	background-alpha: 0.5;
+	top: 20px;
+	right: 10px;
 }
+
+.olLayerSwitcherHeader {
+	height: 10px;
+}
+
+.olLayerSwitcherFooter {
+    height: 10px;
+}
\ No newline at end of file

Added: sandbox/camptocamp/advancedcontrol/theme/tango/img/east-mini.png
===================================================================
(Binary files differ)


Property changes on: sandbox/camptocamp/advancedcontrol/theme/tango/img/east-mini.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: sandbox/camptocamp/advancedcontrol/theme/tango/img/loading.png
===================================================================
(Binary files differ)


Property changes on: sandbox/camptocamp/advancedcontrol/theme/tango/img/loading.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: sandbox/camptocamp/advancedcontrol/theme/tango/img/north-mini.png
===================================================================
(Binary files differ)


Property changes on: sandbox/camptocamp/advancedcontrol/theme/tango/img/north-mini.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: sandbox/camptocamp/advancedcontrol/theme/tango/img/south-mini.png
===================================================================
(Binary files differ)


Property changes on: sandbox/camptocamp/advancedcontrol/theme/tango/img/south-mini.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: sandbox/camptocamp/advancedcontrol/theme/tango/img/west-mini.png
===================================================================
(Binary files differ)


Property changes on: sandbox/camptocamp/advancedcontrol/theme/tango/img/west-mini.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: sandbox/camptocamp/advancedcontrol/theme/tango/img/world-mini.png
===================================================================
(Binary files differ)


Property changes on: sandbox/camptocamp/advancedcontrol/theme/tango/img/world-mini.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: sandbox/camptocamp/advancedcontrol/theme/tango/img/zoom-minus-mini.png
===================================================================
(Binary files differ)


Property changes on: sandbox/camptocamp/advancedcontrol/theme/tango/img/zoom-minus-mini.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: sandbox/camptocamp/advancedcontrol/theme/tango/img/zoom-plus-mini.png
===================================================================
(Binary files differ)


Property changes on: sandbox/camptocamp/advancedcontrol/theme/tango/img/zoom-plus-mini.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: sandbox/camptocamp/advancedcontrol/theme/tango/img/zoom-world-mini.png
===================================================================
(Binary files differ)


Property changes on: sandbox/camptocamp/advancedcontrol/theme/tango/img/zoom-world-mini.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Modified: sandbox/camptocamp/advancedcontrol/theme/tango/style.css
===================================================================
--- sandbox/camptocamp/advancedcontrol/theme/tango/style.css	2006-12-21 10:57:49 UTC (rev 2080)
+++ sandbox/camptocamp/advancedcontrol/theme/tango/style.css	2006-12-21 12:33:35 UTC (rev 2081)
@@ -58,6 +58,7 @@
 .olControlOverviewMapExtentRectangle {
     border: 2px dotted red;
 }
+
 .olLayerGeoRSSDescription {
     float:left;
     width:100%;
@@ -79,6 +80,95 @@
 }
 
 .olContainer {
+}
+
+.olPanZoom {
+    right: 10px;
+    top: 10px;
+	width: 66px;
+	height: 66px;
+}
+
+.olPanUp {
+	position: absolute;
+	width: 22px;
+	height: 22px;
+	left: 22px;
+}
+
+.olPanDown {
+	position: absolute;
+	width: 22px;
+	height: 22px;
+	left: 22px;
+	top: 44px;
+}
+
+.olPanLeft {
+	position: absolute;
+	width: 22px;
+	height: 22px;
+	top:22px;
+}
+
+.olPanRight {
+	position: absolute;
+	width: 22px;
+	height: 22px;
+	top: 22px;
+	left: 44px;
+}
+
+.olZoomIn {
+	position: absolute;
+	width: 22px;
+	height: 22px;
+	top: 77px;
+	right: 11px;
+}
+
+.olZoomOut {
+	position: absolute;
+	width: 22px;
+	height: 22px;
+	top: 77px;
+	right: 33px;
+}
+
+.olZoomWorld {
+	position: absolute;
+	width: 22px;
+	height: 22px;
+	top: 22px;
+	left: 22px;
+}
+.olLayerSwitcher {
+	top: 10px;
+	border: solid;
+	border-width: 1px 1px 1px 0px;
+}
+
+.olLayer {
+	margin: 3px 15px 3px 10px;
+	font-family: sans-serif;
+	font-size: 12px;
+}
+
+.olLayerSwitcherBackground {
+	position: absolute;
 	background-color: white;
-	background-alpha: 0.5;
+	opacity: 0.7;
+	top: 0px;
+	left: 0px;
+	height: 100%;
+	width: 100%;
+	
 }
+
+.olLayerSwitcherHeader {
+	height: 10px;
+}
+
+.olLayerSwitcherFooter {
+    height: 10px;
+}



More information about the Commits mailing list