diff --git a/examples/navtoolbar-alwaysZoom.html b/examples/navtoolbar-alwaysZoom.html index 72ae2c5f4f..ba1a811101 100644 --- a/examples/navtoolbar-alwaysZoom.html +++ b/examples/navtoolbar-alwaysZoom.html @@ -47,7 +47,7 @@ */ draw: function() { var div = OpenLayers.Control.Panel.prototype.draw.apply(this, arguments); - this.activateControl(this.controls[0]); + this.defaultControl = this.controls[0]; return div; } }); diff --git a/lib/OpenLayers/Control/EditingToolbar.js b/lib/OpenLayers/Control/EditingToolbar.js index 19215144ad..b56188b36b 100644 --- a/lib/OpenLayers/Control/EditingToolbar.js +++ b/lib/OpenLayers/Control/EditingToolbar.js @@ -55,7 +55,9 @@ OpenLayers.Control.EditingToolbar = OpenLayers.Class( */ draw: function() { var div = OpenLayers.Control.Panel.prototype.draw.apply(this, arguments); - this.activateControl(this.controls[0]); + if (this.defaultControl === null) { + this.defaultControl = this.controls[0]; + } return div; }, diff --git a/lib/OpenLayers/Control/NavToolbar.js b/lib/OpenLayers/Control/NavToolbar.js index 67ed0c0b53..f6cdccd7b5 100644 --- a/lib/OpenLayers/Control/NavToolbar.js +++ b/lib/OpenLayers/Control/NavToolbar.js @@ -47,7 +47,9 @@ OpenLayers.Control.NavToolbar = OpenLayers.Class(OpenLayers.Control.Panel, { */ draw: function() { var div = OpenLayers.Control.Panel.prototype.draw.apply(this, arguments); - this.activateControl(this.controls[0]); + if (this.defaultControl === null) { + this.defaultControl = this.controls[0]; + } return div; }, diff --git a/tests/Control/EditingToolbar.html b/tests/Control/EditingToolbar.html new file mode 100644 index 0000000000..031868d4a6 --- /dev/null +++ b/tests/Control/EditingToolbar.html @@ -0,0 +1,30 @@ + + + + + + +
+ + diff --git a/tests/Control/NavToolbar.html b/tests/Control/NavToolbar.html index 8a39604345..9b3bbec144 100644 --- a/tests/Control/NavToolbar.html +++ b/tests/Control/NavToolbar.html @@ -25,7 +25,18 @@ // t.eq( control.div.style.top, "6px", "Control div top located correctly by default"); } + + function test_Control_NavToolbar_defaultControl (t) { + t.plan( 1 ); + var map = new OpenLayers.Map('map'); + var nav = new OpenLayers.Control.NavToolbar(); + map.addControl(nav); + + t.eq(nav.controls[0].active, true, "First control is active" ); + + map.destroy(); + } diff --git a/tests/list-tests.html b/tests/list-tests.html index 24cd93ba9a..214c2ffb58 100644 --- a/tests/list-tests.html +++ b/tests/list-tests.html @@ -15,6 +15,7 @@
  • Control/DragFeature.html
  • Control/DragPan.html
  • Control/DrawFeature.html
  • +
  • Control/EditingToolbar.html
  • Control/Geolocate.html
  • Control/GetFeature.html
  • Control/Graticule.html