Copyright (c) 2002, DM Solutions Group Inc. * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), * to deal in the Software without restriction, including without limitation * the rights to use, copy, modify, merge, publish, distribute, sublicense, * and/or sell copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included * in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER * DEALINGS IN THE SOFTWARE. */ include_once(dirname(__FILE__)."/../Widget.php"); include_once(dirname(__FILE__)."/../Button.php"); /** * ZoomVisibleLayersWidget * * @desc ZoomVisibleLayers widget. */ class ZoomVisibleLayers extends CWCWidget { var $moButton; var $moMapNavigator; /** * ZoomVisibleLayersWidget * Constructor. Set the default values. */ function ZoomVisibleLayers() { // invoke constructor of parent parent::CWCWidget(); // set the description for this widget $this->szWidgetDescription = "No description available. Please set ". "this description in the constructor of this class."; $this->moButton = new CWCButton( $this ); $this->mnMaturityLevel = MATURITY_BETA; } function InitDefaults() { parent::InitDefaults(); $this->moButton->InitDefaults(); $this->moButton->SetOnClick( "clickZoomVisibleLayers()" ); } /** * SetMap * * Set the map session and create a navigation tool * * @param oMapSession */ function SetMap($oMapSession) { $this->moMapObject = $oMapSession; $this->moMapNavigator = new MapNavigator( $oMapSession ); } /** * GetHTMLHiddenVariables * * Return the NAV_CMD varaiable. * * @return the NAV_CMD varaiable. */ function GetHTMLHiddenVariables() { $szCmd=""; if ($this->isVarSet( "NAV_ZOOM" )) $szCmd = $this->getVar( "NAV_ZOOM" ); $szVariable = "NAV_ZOOM"; $szValue = " \n"; $aReturn[$szVariable] = $szValue; return $aReturn; } /** * GetJavascriptFunctions * * Return the Javacriptfunctions needed by the widget. * * @return Javacriptfunctions needed by the widget. */ function GetJavascriptFunctions() { $aReturn = $this->moButton->GetJavascriptFunctions(); $szJsFunctionName = "clickZoomVisibleLayers"; $szFunction = <<mszHTMLForm}.NAV_ZOOM.value=sTool; {$this->mszHTMLForm}.submit(); return; } EOT; $aReturn[$szJsFunctionName] = $szFunction; return $aReturn; } function GetJavascriptVariables() { return $this->moButton->GetJavascriptVariables(); } function GetJavascriptOnLoadFunctions() { return $this->moButton->GetJavascriptOnLoadFunctions(); } /** * ParseURL * * Look for the ZOOM_IN command and if found do the zooming * according to the other NAV paramaters. */ function ParseURL() { $szCmd = ""; if ($this->isVarSet( "NAV_ZOOM" )) $szCmd = trim($this->getVar( "NAV_ZOOM" )); if ($szCmd == "ZOOMVISIBLE") { //handle ZoomVisibleLayers here. } // return success return true; } /** * DrawPublish * * Return the HTML code using the name in the map file and the * parameters of the CWC tag. * * @return HTML code */ function DrawPublish() { return $this->moButton->DrawPublish(); } } if ((function_exists( "RegisterWidget" ))) RegisterWidget( "ZoomVisibleLayers", "ZoomVisibleLayers" ); ?>