id,summary,reporter,owner,description,type,status,priority,milestone,component,version,resolution,keywords,cc,state
1005,allow customization of the tools that appear in the editing toolbar,brentp,crschmidt,"in trunk, all tools (Polygon, Point, Path) appear in the toolbar by defautl, this patch allows specification of which controls are to appear in teh options of the constructor:
{{{
var editbar = new OpenLayers.Control.EditingToolbar(vlayer,{'tools':['Point','Polygon']})
}}}
will only show the Point and Polygon tools.
{{{
$ svn diff lib/OpenLayers/Control/EditingToolbar.js 
Index: lib/OpenLayers/Control/EditingToolbar.js
===================================================================
--- lib/OpenLayers/Control/EditingToolbar.js    (revision 4394)
+++ lib/OpenLayers/Control/EditingToolbar.js    (working copy)
@@ -24,19 +24,26 @@
      * layer - {<OpenLayers.Layer.Vector>} 
      * options - {Object} 
      */
+    DEFAULT_TOOLS : ['Point', 'Path', 'Polygon'],
+
     initialize: function(layer, options) {
         OpenLayers.Control.Panel.prototype.initialize.apply(this, [options]);
         
         this.addControls(
           [ new OpenLayers.Control.Navigation() ]
         );  
-        var controls = [
-          new OpenLayers.Control.DrawFeature(layer, OpenLayers.Handler.Point, {'displayClass': 'olControlDrawFeaturePoint'}),
-          new OpenLayers.Control.DrawFeature(layer, OpenLayers.Handler.Path, {'displayClass': 'olControlDrawFeaturePath'}),
-          new OpenLayers.Control.DrawFeature(layer, OpenLayers.Handler.Polygon, {'displayClass': 'olControlDrawFeaturePolygon'})
-        ];
-        for (var i = 0; i < controls.length; i++) {
-            controls[i].featureAdded = function(feature) { feature.state = OpenLayers.State.INSERT; }
+        var tools = options && options.tools 
+                  || OpenLayers.Control.EditingToolbar.prototype.DEFAULT_TOOLS
+        controls = [];
+        var ctl;
+        for(var i=0;ctl=tools[i];++i){
+           var drawfeat = new OpenLayers.Control.DrawFeature(layer,
+                    OpenLayers.Handler[ctl], 
+                    {'displayClass': 'olControlDrawFeature' + ctl });
+           drawfeat.featureAdded = function(feature){ 
+                    feature.state = OpenLayers.State.INSERT;
+           };
+           controls.push(drawfeat);
         }
         this.addControls(controls);
     },

}}}
",feature,closed,minor,2.8 Release,Control,2.4,wontfix,,,
