Project

General

Profile

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