Common_CustomDataSource_VBNet\TiledMapDataSource_VBNet\MapTocFunctionality.vb
' Copyright 2010 ESRI ' ' All rights reserved under the copyright laws of the United States ' and applicable international laws, treaties, and conventions. ' ' You may freely redistribute and use this sample code, with or ' without modification, provided you include the original copyright ' notice and use restrictions. ' ' See the use restrictions. ' Imports Microsoft.VisualBasic Imports System Imports System.Collections.Generic Imports System.Text Imports ESRI.ArcGIS.ADF.Web.DataSources Imports ESRI.ArcGIS.ADF.Web Namespace TiledMapDataSource_VBNet Public Class MapTocFunctionality Implements IMapTocFunctionality Private _tileCacheInfo As TileCacheInfo = Nothing Public Sub New(ByVal name_Renamed As String, ByVal resource_Renamed As MapResource, ByVal tileCacheInfo As TileCacheInfo) Me.name_Renamed = name_Renamed Me.resource_Renamed = resource_Renamed _tileCacheInfo = tileCacheInfo End Sub #Region "private member variables" Private name_Renamed As String = String.Empty Private resource_Renamed As IGISResource = Nothing Private initialized_Renamed As Boolean = False #End Region #Region "IMapTocFunctionality implementation" Public Sub SetLayerVisibility(ByVal mapFunctionalityName As String, ByVal layerID As Object, ByVal visible As Boolean) Dim mapFunc As MapFunctionality = GetMapFunctionality(mapFunctionalityName) If mapFunc Is Nothing Then Throw New ArgumentException("mapFunctionalityName") End If mapFunc.SetLayerVisibility(layerID.ToString(), visible) End Sub Public Function GetMapContents(ByVal mapFunctionalityName As String, ByVal format As ESRI.ArcGIS.ADF.Web.WebImageFormat, ByVal useMimeData As Boolean, ByVal showAllDataFrames As Boolean) As ESRI.ArcGIS.ADF.Web.TocDataFrame() Implements IMapTocFunctionality.GetMapContents Dim tocDataFrames As TocDataFrame() = New TocDataFrame(0) {} tocDataFrames(0) = New TocDataFrame(resource_Renamed.Name) If Not _tileCacheInfo.Layers Is Nothing Then For Each kvp As KeyValuePair(Of String, String) In _tileCacheInfo.Layers Dim layer As TocLayer = New TocLayer() layer.LayerName = kvp.Value layer.ID = kvp.Key layer.Name = kvp.Key layer.Visible = True layer.AllowVisibilityChange = False tocDataFrames(0).Add(layer) Next kvp End If Return tocDataFrames End Function #End Region #Region "IGISFunctionality implementation" Private _webControl As System.Web.UI.WebControls.WebControl Public Property WebControl() As System.Web.UI.WebControls.WebControl Implements IMapTocFunctionality.WebControl Get Return _webControl End Get Set(ByVal value As System.Web.UI.WebControls.WebControl) _webControl = Value End Set End Property Public Property Name() As String Implements IMapTocFunctionality.Name Get Return name_Renamed End Get Set(ByVal value As String) name_Renamed = Value End Set End Property Public Property Resource() As IGISResource Implements IMapTocFunctionality.Resource Get Return resource_Renamed End Get Set(ByVal value As IGISResource) resource_Renamed = Value End Set End Property Public ReadOnly Property Initialized() As Boolean Implements IMapTocFunctionality.Initialized Get Return initialized_Renamed End Get End Property Public Sub LoadState() Implements IMapTocFunctionality.LoadState End Sub Public Sub Initialize() Implements IMapTocFunctionality.Initialize initialized_Renamed = True End Sub Public Sub SaveState() Implements IMapTocFunctionality.SaveState End Sub Public Sub Dispose() Implements IMapTocFunctionality.Dispose initialized_Renamed = False End Sub Public Function Supports(ByVal operation As String) As Boolean Implements IMapTocFunctionality.Supports Return True End Function #End Region #Region "private methods" Private Function GetMapFunctionality(ByVal name_Renamed As String) As MapFunctionality Dim mapFunctionality As MapFunctionality = TryCast(resource_Renamed.Functionalities.Find(name_Renamed), MapFunctionality) Return mapFunctionality End Function #End Region End Class End Namespace