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" );
?>