1 |
3032
|
perry
|
/*
|
2 |
|
|
Author: Steven Ottens AT geodan.nl
|
3 |
|
|
License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
|
4 |
4307
|
leinfelder
|
$Id: Forward.js 3587 2007-11-12 12:24:58Z ahocevar $
|
5 |
3032
|
perry
|
*/
|
6 |
|
|
|
7 |
|
|
// Ensure this object's dependancies are loaded.
|
8 |
|
|
mapbuilder.loadScript(baseDir+"/widget/ButtonBase.js");
|
9 |
|
|
|
10 |
|
|
/**
|
11 |
|
|
* When this button is pressed the map will reload with it's original extent
|
12 |
|
|
* @constructor
|
13 |
|
|
* @base ButtonBase
|
14 |
|
|
* @author Steven Ottens AT Geodan.nl
|
15 |
|
|
* @param widgetNode The widget node from the Config XML file.
|
16 |
|
|
* @param model The model for this widget
|
17 |
|
|
*/
|
18 |
|
|
function Forward(widgetNode, model) {
|
19 |
|
|
|
20 |
4307
|
leinfelder
|
ButtonBase.apply(this, new Array(widgetNode, model));
|
21 |
|
|
|
22 |
3032
|
perry
|
/**
|
23 |
4307
|
leinfelder
|
* Interactive ZoomOut control.
|
24 |
|
|
* @param objRef reference to this object.
|
25 |
|
|
* @return {OpenLayers.Control} instance of the OL control.
|
26 |
3032
|
perry
|
*/
|
27 |
4307
|
leinfelder
|
this.createControl = function(objRef) {
|
28 |
|
|
var Control = OpenLayers.Class( OpenLayers.Control, {
|
29 |
|
|
type: OpenLayers.Control.TYPE_BUTTON,
|
30 |
|
|
|
31 |
|
|
trigger: function() {
|
32 |
|
|
var objRef = this.objRef;
|
33 |
|
|
objRef.targetModel.setParam("historyForward");
|
34 |
|
|
var nextExtent = objRef.targetModel.nextExtent;
|
35 |
|
|
if(nextExtent){
|
36 |
|
|
objRef.targetModel.setParam("historyStop");
|
37 |
|
|
this.map.setCenter(nextExtent.center);
|
38 |
|
|
this.map.zoomToScale(nextExtent.scale);
|
39 |
|
|
objRef.targetModel.setParam("historyStart");
|
40 |
|
|
}
|
41 |
|
|
},
|
42 |
3032
|
perry
|
|
43 |
4307
|
leinfelder
|
CLASS_NAME: 'mbControl.Forward'
|
44 |
|
|
});
|
45 |
|
|
return Control;
|
46 |
3032
|
perry
|
}
|
47 |
|
|
}
|
48 |
|
|
|