[OpenLayers-Commits] r2052 - in sandbox/camptocamp/advancedcontrol/lib/OpenLayers: . Control

commits at openlayers.org commits at openlayers.org
Thu Dec 14 05:57:24 EST 2006


Author: pgiraud
Date: 2006-12-14 05:57:23 -0500 (Thu, 14 Dec 2006)
New Revision: 2052

Modified:
   sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/EditingToolbar.js
   sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/MousePosition.js
   sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Map.js
Log:
first steps to get the controls outside the map
works for toolBar and MousePosition controls

Modified: sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/EditingToolbar.js
===================================================================
--- sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/EditingToolbar.js	2006-12-14 10:43:05 UTC (rev 2051)
+++ sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/EditingToolbar.js	2006-12-14 10:57:23 UTC (rev 2052)
@@ -16,7 +16,9 @@
     
     tools: null,
     
-    initialize: function(options){},
+    initialize: function(options){
+        OpenLayers.Control.prototype.initialize.apply(this, arguments);
+    },
 
     setMap: function(map) {
         OpenLayers.Control.prototype.setMap.apply(this, arguments);

Modified: sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/MousePosition.js
===================================================================
--- sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/MousePosition.js	2006-12-14 10:43:05 UTC (rev 2051)
+++ sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Control/MousePosition.js	2006-12-14 10:57:23 UTC (rev 2052)
@@ -48,7 +48,8 @@
     draw: function() {
         OpenLayers.Control.prototype.draw.apply(this, arguments);
 
-        if (!this.element) {
+        // control is inside the map
+        if(!this.div.parentNode  || (this.div.parentNode.className == 'olMapViewport')) {
             this.div.left = "";
             this.div.top = "";
             this.div.className = "olControlMousePosition";
@@ -89,8 +90,8 @@
             lonLat.lat.toFixed(digits) +
             this.suffix;
 
-        if (newHtml != this.element.innerHTML) {
-            this.element.innerHTML = newHtml;
+        if (newHtml != this.div.innerHTML) {
+            this.div.innerHTML = newHtml;
         }
     },
 

Modified: sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Map.js
===================================================================
--- sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Map.js	2006-12-14 10:43:05 UTC (rev 2051)
+++ sandbox/camptocamp/advancedcontrol/lib/OpenLayers/Map.js	2006-12-14 10:57:23 UTC (rev 2052)
@@ -524,11 +524,12 @@
     addControlToMap: function (control, px) {
         control.setMap(this);
         var div = control.draw(px);
-        if (div) {
-            div.style.zIndex = this.Z_INDEX_BASE['Control'] +
-                                this.controls.length;
-            this.viewPortDiv.appendChild( div );
-        }
+        // only elements without parents should be appended to the viewport 
+        if(!div.parentNode) { 
+            div.style.zIndex = this.Z_INDEX_BASE['Control'] + 
+            this.controls.length; 
+            this.viewPortDiv.appendChild( div ); 
+        } 
     },
     
     /**



More information about the Commits mailing list