Adding boxselectionstart and boxselectionend events.

Whitespace fixed from patch, and removed docs for beforefeatureselected and featureselected events because they are fired on the layer, not the control.
p=mosesonline, r=me (closes http://trac.osgeo.org/openlayers/ticket/3538)
This commit is contained in:
ahocevar
2012-01-23 14:30:36 +01:00
parent d579f42539
commit ae55f1a70c
2 changed files with 46 additions and 1 deletions

View File

@@ -173,6 +173,47 @@
}
function test_selectBox_events(t){
t.plan(8);
var map = new OpenLayers.Map("map");
var layer1 = new OpenLayers.Layer.Vector();
map.addLayer(layer1);
map.setBaseLayer(layer1);
var layer2 = new OpenLayers.Layer.Vector();
map.addLayer(layer2);
map.setCenter(new OpenLayers.LonLat(1,1));
var feature = new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(1,1));
layer1.addFeatures([feature]);
var control = new OpenLayers.Control.SelectFeature(layer1);
control.setMap(map);
map.getLonLatFromPixel = function(arg) {
return new OpenLayers.LonLat(arg.x, arg.y);
}
control.activate();
var firesBoxselectionstart = false;
var beforeSelectingNumberOfFeatures = -1;
var firesBoxselectionend = false;
var afterSelectingNumberOfFeatures = -1;
control.events.register("boxselectionstart",null, function(e){
firesBoxselectionstart=true;
t.eq(e.layers.length,1,"right number of layers in event boxselectionstart");
t.eq(layer1.id, e.layers[0].id,"correct layer in event boxselectionstart");
beforeSelectingNumberOfFeatures = e.layers[0].selectedFeatures.length;
});
control.events.register("boxselectionend",null, function(e){
firesBoxselectionend=true;
t.eq(e.layers.length,1,"right number of layers in event boxselectionend");
t.eq(layer1.id, e.layers[0].id,"correct layer in event boxselectionend");
afterSelectingNumberOfFeatures = e.layers[0].selectedFeatures.length;
});
var bounds = new OpenLayers.Bounds(-1, -1, 2, 2);
control.selectBox(bounds);
t.ok(firesBoxselectionstart,"selectBox fires boxselectionstart event");
t.eq(beforeSelectingNumberOfFeatures,0,"boxselectionstart fires before selection of feature");
t.ok(firesBoxselectionend,"selectBox fires boxselectionend event");
t.eq(afterSelectingNumberOfFeatures,1,"boxselectionend fires after feature selected");
}
function test_Control_SelectFeature_activate(t) {
t.plan(4);
var map = new OpenLayers.Map("map");
@@ -480,7 +521,7 @@
t.eq(feature.renderIntent, "default",
"feature drawn with expected render intent after \"mouseout\"");
}
function test_setLayer(t) {
t.plan(5);
var map = new OpenLayers.Map("map");