// Adds the user-specified resource to the CompositeControl’s MapResourceManager
private ESRI.ArcGIS.ADF.Web.UI.WebControls.MapResourceItem AddResourceToMapResourceManager()
{
if (string.IsNullOrEmpty(m_dataSource))
{
// Define default resource item properties if ToolTocControl properties are empty
m_mapResourceType = “ArcGIS Server Internet”;
m_dataSource = “http://localhost/arcgis/services”;
m_mapResourceDefinition = “(default)@MapService”;
}
// Create a GISResourceItemDefinition with user-specified parameters
ESRI.ArcGIS.ADF.Web.UI.WebControls.GISResourceItemDefinition gisResourceItemDefinition =
CreateGISResourceItemDefinition(m_dataSource, m_mapResourceType, string.Empty,
m_mapResourceDefinition, true);
// Create a mapResourceItem from the resource item definition
ESRI.ArcGIS.ADF.Web.UI.WebControls.MapResourceItem mapResourceItem =
CreateResourceItem(“AGSMapResource<!–” + this.UniqueID + “–>”,
gisResourceItemDefinition);
// Assign the parent of the map resource item and initialize the underlying resource
mapResourceItem.Parent = m_mapResourceManager;
mapResourceItem.InitializeResource();
// Make sure the map resource manager exists and that it does not contain any resource
// items before adding the resource item to it
if (m_mapResourceManager != null && m_mapResourceManager.ResourceItems.Count == 0)
{
AddMapResourceItemToResourceManager(m_mapResourceManager, false, mapResourceItem);
}
return mapResourceItem;
}
// Adds the passed-in resource to the passed-in map resource manager
private void AddMapResourceItemToResourceManager(
ESRI.ArcGIS.ADF.Web.UI.WebControls.MapResourceManager mapResourceManager,
bool insertIntoBeginning, ESRI.ArcGIS.ADF.Web.UI.WebControls.MapResourceItem mapResourceItem)
{
if (insertIntoBeginning)
{
mapResourceManager.ResourceItems.Insert(0, mapResourceItem);
}
else
{
mapResourceManager.ResourceItems.Add(mapResourceItem);
}
}
// Creates a resource item with the passed-in name, the passed-in resource definition string,
// and default settings
private ESRI.ArcGIS.ADF.Web.UI.WebControls.MapResourceItem
CreateResourceItem(string resourceName,
ESRI.ArcGIS.ADF.Web.UI.WebControls.GISResourceItemDefinition gisResourceItemDefinition)
{
ESRI.ArcGIS.ADF.Web.UI.WebControls.MapResourceItem mapResourceItem =
new ESRI.ArcGIS.ADF.Web.UI.WebControls.MapResourceItem();
mapResourceItem.Definition = gisResourceItemDefinition;
mapResourceItem.Name = resourceName;
mapResourceItem.DisplaySettings = new ESRI.ArcGIS.ADF.Web.DisplaySettings();
mapResourceItem.DisplaySettings.Visible = true;
ESRI.ArcGIS.ADF.Web.ImageDescriptor imageDescriptor =
new ESRI.ArcGIS.ADF.Web.ImageDescriptor();
imageDescriptor.ImageFormat = ESRI.ArcGIS.ADF.Web.ImageFormat.PNG8;
imageDescriptor.TransparentBackground = true;
imageDescriptor.TransparentColor = System.Drawing.Color.White;
imageDescriptor.ReturnMimeData = true;
mapResourceItem.DisplaySettings.ImageDescriptor = imageDescriptor;
mapResourceItem.DisplaySettings.Transparency = 0;
return mapResourceItem;
}
// Creates a GISResourceItemDefinition with the passed-in parameters
private ESRI.ArcGIS.ADF.Web.UI.WebControls.GISResourceItemDefinition
CreateGISResourceItemDefinition(string dataSourceDefinition, string dataSourceType,
string identity, string resourceDefinition, bool dataSourceShared)
{
ESRI.ArcGIS.ADF.Web.UI.WebControls.GISResourceItemDefinition gisResourceItemDefinition =
new ESRI.ArcGIS.ADF.Web.UI.WebControls.GISResourceItemDefinition();
gisResourceItemDefinition.DataSourceDefinition = dataSourceDefinition;
gisResourceItemDefinition.Identity = (identity == null) ? string.Empty : identity;
gisResourceItemDefinition.ResourceDefinition = resourceDefinition;
gisResourceItemDefinition.DataSourceShared = dataSourceShared;
gisResourceItemDefinition.DataSourceType = dataSourceType;
return gisResourceItemDefinition;
}