Revert "Merge pull request #116 from elemoine/redraw"

This reverts commit 7a5b469192, reversing
changes made to a719de7e93.

Conflicts:

	tests/Tile/Image.html
This commit is contained in:
Éric Lemoine
2012-04-07 21:07:03 +02:00
parent 58e86a37f5
commit ae75fdacd7
5 changed files with 8 additions and 135 deletions

View File

@@ -275,16 +275,6 @@ OpenLayers.Layer = OpenLayers.Class({
* {Float} * {Float}
*/ */
minResolution: null, minResolution: null,
/**
* Property: resolution
* {Float} Current resolution that the layer is drawn in. This is
* used to determine whether the zoom has changed when calling
* <moveTo> from <redraw>. Subclasses may set this.resolution to
* null prior to calling redraw to force passing zoomChanged
* true to moveTo.
*/
resolution: null,
/** /**
* APIProperty: numZoomLevels * APIProperty: numZoomLevels
@@ -561,8 +551,7 @@ OpenLayers.Layer = OpenLayers.Class({
var extent = this.getExtent(); var extent = this.getExtent();
if (extent && this.inRange && this.visibility) { if (extent && this.inRange && this.visibility) {
zoomChanged = this.resolution == null || var zoomChanged = true;
this.resolution !== this.map.getResolution();
this.moveTo(extent, zoomChanged, false); this.moveTo(extent, zoomChanged, false);
this.events.triggerEvent("moveend", this.events.triggerEvent("moveend",
{"zoomChanged": zoomChanged}); {"zoomChanged": zoomChanged});
@@ -587,7 +576,6 @@ OpenLayers.Layer = OpenLayers.Class({
display = display && this.inRange; display = display && this.inRange;
} }
this.display(display); this.display(display);
this.resolution = this.map.getResolution();
}, },
/** /**
@@ -643,8 +631,6 @@ OpenLayers.Layer = OpenLayers.Class({
// deal with gutters // deal with gutters
this.setTileSize(); this.setTileSize();
this.resolution = null;
} }
}, },

View File

@@ -122,7 +122,6 @@ OpenLayers.Layer.HTTPRequest = OpenLayers.Class(OpenLayers.Layer, {
*/ */
mergeNewParams:function(newParams) { mergeNewParams:function(newParams) {
this.params = OpenLayers.Util.extend(this.params, newParams); this.params = OpenLayers.Util.extend(this.params, newParams);
this.resolution = null;
var ret = this.redraw(); var ret = this.redraw();
if(this.map != null) { if(this.map != null) {
this.map.events.triggerEvent("changelayer", { this.map.events.triggerEvent("changelayer", {
@@ -147,7 +146,7 @@ OpenLayers.Layer.HTTPRequest = OpenLayers.Class(OpenLayers.Layer, {
if (force) { if (force) {
return this.mergeNewParams({"_olSalt": Math.random()}); return this.mergeNewParams({"_olSalt": Math.random()});
} else { } else {
return OpenLayers.Layer.prototype.redraw.call(this); return OpenLayers.Layer.prototype.redraw.apply(this, []);
} }
}, },

View File

@@ -672,82 +672,19 @@
// test that the moveend event was triggered // test that the moveend event was triggered
t.ok(log.event, "an event was logged"); t.ok(log.event, "an event was logged");
t.eq(log.event.type, "moveend", "moveend was triggered"); t.eq(log.event.type, "moveend", "moveend was triggered");
t.eq(log.event.zoomChanged, false, "event says zoomChanged false"); t.eq(log.event.zoomChanged, true, "event says zoomChanged true - poor name");
layer.moveTo = function(bounds, zoomChanged, dragging) { layer.moveTo = function(bounds, zoomChanged, dragging) {
var extent = layer.map.getExtent(); var extent = layer.map.getExtent();
t.ok(bounds.equals(extent), t.ok(bounds.equals(extent),
"redraw calls moveTo with the map extent"); "redraw calls moveTo with the map extent");
t.ok(!zoomChanged, t.ok(zoomChanged,
"redraw calls moveTo with zoomChanged false"); "redraw calls moveTo with zoomChanged true");
t.ok(!dragging, t.ok(!dragging,
"redraw calls moveTo with dragging false"); "redraw calls moveTo with dragging false");
} }
layer.redraw(); layer.redraw();
} }
// This function includes integration tests to verify that the
// layer's moveTo function is called with the expected value
// for zoomChanged
function test_moveTo_zoomChanged(t) {
t.plan(6);
var log = {};
var map = new OpenLayers.Map('map');
var l1 = new OpenLayers.Layer('l1', {isBaseLayer: true});
l1.moveTo = function(bounds, zoomChanged, dragging) {
log.moveTo = {zoomChanged: zoomChanged};
OpenLayers.Layer.prototype.moveTo.apply(this, arguments);
};
map.addLayer(l1);
map.zoomToMaxExtent();
log = {};
l1.redraw();
t.eq(log.moveTo.zoomChanged, false,
"[a] redraw calls moveTo with zoomChanged false");
log = {};
l1.resolution = null;
l1.redraw();
t.eq(log.moveTo.zoomChanged, true,
"[b] redraw calls moveTo with zoomChanged true");
l1.setVisibility(false);
log = {};
l1.setVisibility(true);
t.eq(log.moveTo.zoomChanged, false,
"[c] redraw calls moveTo with zoomChanged false");
l1.setVisibility(false);
map.zoomIn();
log = {};
l1.setVisibility(true);
t.eq(log.moveTo.zoomChanged, true,
"[d] redraw calls moveTo with zoomChanged true");
l1.moveTo = OpenLayers.Layer.prototype.moveTo;
var l2 = new OpenLayers.Layer('l2');
l2.moveTo = function(bounds, zoomChanged, dragging) {
log.moveTo = {zoomChanged: zoomChanged};
OpenLayers.Layer.prototype.moveTo.apply(this, arguments);
};
log = {};
map.addLayer(l2);
t.eq(log.moveTo.zoomChanged, true,
"[e] redraw calls moveTo with zoomChanged true");
map.removeLayer(l2);
log = {};
map.addLayer(l2);
t.eq(log.moveTo.zoomChanged, true,
"[f] redraw calls moveTo with zoomChanged true");
map.destroy();
}
function test_layer_setIsBaseLayer(t) { function test_layer_setIsBaseLayer(t) {
t.plan(2); t.plan(2);

View File

@@ -68,7 +68,7 @@
} }
function test_Layer_HTTPRequest_mergeNewParams (t) { function test_Layer_HTTPRequest_mergeNewParams (t) {
t.plan( 9 ); t.plan( 8 );
var map = new OpenLayers.Map('map'); var map = new OpenLayers.Map('map');
layer = new OpenLayers.Layer.HTTPRequest(name, url, params, options); layer = new OpenLayers.Layer.HTTPRequest(name, url, params, options);
@@ -100,9 +100,7 @@
layer.redraw = function() { layer.redraw = function() {
t.ok(true, "layer.mergeNewParams calls layer.redraw"); t.ok(true, "layer.mergeNewParams calls layer.redraw");
t.ok(layer.resolution === null, "layer.mergeNewParams sets resolution to null"); }
};
layer.resolution = 'fake';
layer.mergeNewParams(); layer.mergeNewParams();
} }

View File

@@ -374,53 +374,6 @@
map.destroy(); map.destroy();
} }
// test for https://github.com/openlayers/openlayers/pull/36
// (more an integration test than a unit test)
function test_olImageLoadError(t) {
t.plan(6);
var map = new OpenLayers.Map('map');
var layer = new OpenLayers.Layer.WMS("invalid", "foo", {layers: 'basic'});
map.addLayer(layer);
var size = new OpenLayers.Size(5, 6);
var position = new OpenLayers.Pixel(20, 30);
var bounds = new OpenLayers.Bounds(1, 2, 3, 4);
var tile = new OpenLayers.Tile.Image(layer, position, bounds, null, size);
var log = [];
tile.events.register("loaderror", this, function(e) {
log.push([
e.object.imgDiv.style.visibility,
OpenLayers.Element.hasClass(e.object.imgDiv, 'olImageLoadError')
]);
});
tile.events.register("loadend", this, function(e) {
log.push(e);
})
tile.draw();
t.delay_call(0.1, function() {
t.eq(log.length, 2, "loaderror and loadend events triggered");
t.eq(log[0][0], "hidden", "tile still hidden when loaderror is triggered");
t.eq(log[0][1], true, "tile has olImageLoadError class already when loaderror is triggered");
t.ok(log[1].object === tile, "loadend event triggered after loaderror");
// check initial state
t.ok(OpenLayers.Element.hasClass(tile.imgDiv, 'olImageLoadError'),
'tile image has the olImageLoadError class (init state)');
layer.setVisibility(false);
layer.setVisibility(true);
t.ok(OpenLayers.Element.hasClass(tile.imgDiv, 'olImageLoadError'),
'tile image still has the olImageLoadError class');
map.destroy();
});
}
function test_getCanvasContext(t) { function test_getCanvasContext(t) {
if (!OpenLayers.CANVAS_SUPPORTED) { if (!OpenLayers.CANVAS_SUPPORTED) {
t.plan(0); t.plan(0);
@@ -445,7 +398,7 @@
}); });
} }
} }
</script> </script>
</head> </head>
<body> <body>