OpenLayers OpenLayers

Changeset 4232

Show
Ignore:
Timestamp:
09/12/07 01:12:00 (1 year ago)
Author:
crschmidt
Message:

Erik helps me fix tests. I threaten to kill him for criticizing my lack
of semicolons. All is well. Fix for "keep selected features drawn with
the right style". (Closes #916)

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/openlayers/lib/OpenLayers/Control/SelectFeature.js

    r3984 r4232  
    162162        } 
    163163        this.layer.selectedFeatures.push(feature); 
    164         this.layer.drawFeature(feature, this.selectStyle); 
     164        feature.style = this.selectStyle; 
     165        this.layer.drawFeature(feature); 
    165166        this.onSelect(feature); 
    166167    }, 
     
    176177    unselect: function(feature) { 
    177178        // Store feature style for restoration later 
    178         if(feature.originalStyle == null) { 
    179             feature.originalStyle = feature.style; 
    180         } 
    181         this.layer.drawFeature(feature, feature.originalStyle); 
     179        if(feature.originalStyle != null) { 
     180            feature.style = feature.originalStyle; 
     181        } 
     182        this.layer.drawFeature(feature); 
    182183        OpenLayers.Util.removeItem(this.layer.selectedFeatures, feature); 
    183184        this.onUnselect(feature); 
  • trunk/openlayers/tests/Control/test_SelectFeature.html

    r4149 r4232  
    3131        control.destroy(); 
    3232         
     33    } 
     34     
     35    function test_Control_SelectFeature_select(t) { 
     36        t.plan(2); 
     37        var map = new OpenLayers.Map("map"); 
     38        var layer = new OpenLayers.Layer.Vector(); 
     39        map.addLayer(layer); 
     40        var control = new OpenLayers.Control.SelectFeature(layer); 
     41        var feature = new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(0,0)); 
     42        layer.addFeatures(feature); 
     43        layer.drawFeature = function() { } 
     44        control.select(feature); 
     45        t.eq(feature.style.strokeColor, OpenLayers.Feature.Vector.style['select'].strokeColor, "feature style is set to select style"); 
     46        control.unselect(feature); 
     47        t.eq(feature.style.strokeColor, OpenLayers.Feature.Vector.style['default'].strokeColor, "feature style is set back to old style"); 
    3348    } 
    3449