From e1be8e9dfb6c74409a18e460ea13ec475b63a625 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Lemoine?= Date: Tue, 10 May 2011 07:09:17 +0000 Subject: [PATCH] the default controls of the editing and navigation toolbars are not activated, p=jorix, r=me (closes #3268) git-svn-id: http://svn.openlayers.org/trunk/openlayers@11964 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf --- examples/navtoolbar-alwaysZoom.html | 2 +- lib/OpenLayers/Control/EditingToolbar.js | 4 +++- lib/OpenLayers/Control/NavToolbar.js | 4 +++- tests/Control/EditingToolbar.html | 30 ++++++++++++++++++++++++ tests/Control/NavToolbar.html | 11 +++++++++ tests/list-tests.html | 1 + 6 files changed, 49 insertions(+), 3 deletions(-) create mode 100644 tests/Control/EditingToolbar.html 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