OpenLayers OpenLayers

Ticket #1005: toolbar.patch

File toolbar.patch, 1.8 kB (added by tlpinney, 1 year ago)

Patch described in the ticket

  • lib/OpenLayers/Control/EditingToolbar.js

    old new  
    2525     * layer - {<OpenLayers.Layer.Vector>} 
    2626     * options - {Object} 
    2727     */ 
     28      DEFAULT_TOOLS : ['Point', 'Path', 'Polygon'], 
     29 
    2830    initialize: function(layer, options) { 
    2931        OpenLayers.Control.Panel.prototype.initialize.apply(this, [options]); 
    3032 
    3133        this.addControls( 
    3234          [ new OpenLayers.Control.Navigation() ] 
    33         ); 
    34         var controls = [ 
    35           new OpenLayers.Control.DrawFeature(layer, OpenLayers.Handler.Point, {'displayClass': 'olControlDrawFeaturePoint'}), 
    36           new OpenLayers.Control.DrawFeature(layer, OpenLayers.Handler.Path, {'displayClass': 'olControlDrawFeaturePath'}), 
    37           new OpenLayers.Control.DrawFeature(layer, OpenLayers.Handler.Polygon, {'displayClass': 'olControlDrawFeaturePolygon'}) 
    38         ]; 
    39         for (var i = 0; i < controls.length; i++) { 
    40             controls[i].featureAdded = function(feature) { feature.state = OpenLayers.State.INSERT; }; 
     35        ); 
     36       var tools = options && options.tools 
     37                 || OpenLayers.Control.EditingToolbar.prototype.DEFAULT_TOOLS 
     38       controls = []; 
     39       var ctl; 
     40       for(var i=0;ctl=tools[i];++i){ 
     41           var drawfeat = new OpenLayers.Control.DrawFeature(layer, 
     42                     OpenLayers.Handler[ctl], 
     43                    {'displayClass': 'olControlDrawFeature' + ctl }); 
     44           drawfeat.featureAdded = function(feature){ 
     45               feature.state = OpenLayers.State.INSERT; 
     46           }; 
     47           controls.push(drawfeat); 
    4148        } 
    4249        this.addControls(controls); 
    4350    },