OpenLayers OpenLayers

Changeset 3044

Show
Ignore:
Timestamp:
04/10/07 17:02:44 (2 years ago)
Author:
tschaub
Message:

add ModifyFeature control

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • sandbox/tschaub/feature/lib/OpenLayers.js

    r3009 r3044  
    122122        "OpenLayers/Control/SelectFeature.js", 
    123123        "OpenLayers/Control/DragFeature.js", 
     124        "OpenLayers/Control/ModifyFeature.js", 
    124125        "OpenLayers/Geometry.js", 
    125126        "OpenLayers/Geometry/Rectangle.js", 
  • sandbox/tschaub/feature/lib/OpenLayers/Control/DragFeature.js

    r3031 r3044  
    2323     */ 
    2424    geometryTypes: null, 
     25     
     26    /** 
     27     * Define this function if you want to know about each move of a feature. 
     28     * The function should expect to receive two arguments: the feature that 
     29     * is being dragged and the pixel location of the mouse. 
     30     * @param {OpenLayers.Feature.Vector} feature 
     31     * @param {OpenLayers.Pixel} 
     32     */ 
     33    onDrag: function(feature, pixel) {}, 
    2534 
    2635    /** 
     
    155164 
    156165    /** 
    157      * Called when the drag handler detects a mouse-move. 
     166     * Called when the drag handler detects a mouse-move.  Also calls the 
     167     * optional onDrag method. 
    158168     *  
    159169     * @param {OpenLayers.Pixel} pixel 
     
    165175        this.layer.drawFeature(this.feature); 
    166176        this.lastPixel = pixel; 
     177        this.onDrag(this.feature, pixel); 
    167178    }, 
    168179 
  • sandbox/tschaub/feature/lib/OpenLayers/Layer/Vector.js

    r3031 r3044  
    240240        } 
    241241 
    242         for (var i = 0; i < features.length; i++) { 
     242        for (var i = features.length - 1; i >= 0; i--) { 
    243243            var feature = features[i]; 
    244244            this.features = OpenLayers.Util.removeItem(this.features, feature); 
  • sandbox/tschaub/feature/tests/Layer/test_Vector.html

    r3007 r3044  
    9696    } 
    9797 
     98    function test_Layer_Vector_eraseFeatures(t) { 
     99        t.plan(2); 
     100        var layer = new OpenLayers.Layer.Vector("Test Layer"); 
     101        var map = new OpenLayers.Map('map'); 
     102        map.addLayer(layer); 
     103        var geometry = new OpenLayers.Geometry.Point(10, 10); 
     104        var feature = new OpenLayers.Feature.Vector(geometry); 
     105         
     106        var f; 
     107        layer.renderer = { 
     108            eraseFeatures: function(features) { 
     109                f = features[0]; 
     110            } 
     111        }; 
     112 
     113        layer.eraseFeatures([feature]); 
     114        t.ok(f, "calls layer.renderer.eraseFeatures"); 
     115        t.ok(geometry.equals(f.geometry), 
     116             "calls layer.renderer.eraseFeatures() given an array of features"); 
     117    } 
     118 
    98119    function test_Layer_Vector_destroyFeatures (t) { 
    99120        t.plan(2);