MapAround.Mapping.MapWorkspace.addLayerElement C# (CSharp) Method

addLayerElement() private method

private addLayerElement ( LayerBase layer, XmlDocument doc, XmlElement layersElement ) : void
layer LayerBase
doc System.Xml.XmlDocument
layersElement System.Xml.XmlElement
return void
        private void addLayerElement(LayerBase layer, XmlDocument doc, XmlElement layersElement)
        {
            XmlElement layerElement = doc.CreateElement("layer");
            layersElement.AppendChild(layerElement);
            addAttribute(doc, layerElement, "title", layer.Title);
            addAttribute(doc, layerElement, "description", layer.Description);
            addAttribute(doc, layerElement, "alias", layer.Alias);
            addAttribute(doc, layerElement, "visible", layer.Visible ? "1" : "0");
            addAttribute(doc, layerElement, "controllable", layer.Controllable ? "1" : "0");
            addAttribute(doc, layerElement, "cacheable", layer.Cacheable ? "1" : "0");
            addAttribute(doc, layerElement, "minimum_visible_scale", layer.MinVisibleScale.ToString(CultureInfo.InvariantCulture));
            addAttribute(doc, layerElement, "maximum_visible_scale", layer.MaxVisibleScale.ToString(CultureInfo.InvariantCulture));

            FeatureLayer fl = layer as FeatureLayer;

            if (fl != null)
            {
                addAttribute(doc, layerElement, "type", "vector");
#pragma warning disable 618
                addAttribute(doc, layerElement, "datasource", fl.DataSource);
                addAttribute(doc, layerElement, "datasource_type", ((int)fl.DataSourceType).ToString(CultureInfo.InvariantCulture));
#pragma warning restore 618
                addAttribute(doc, layerElement, "shapes_selectable", fl.FeaturesSelectable ? "1" : "0");
                addAttribute(doc, layerElement, "dynamic_data_load", fl.AreFeaturesAutoLoadable ? "1" : "0");

                addTitleStyleElement(fl.TitleStyle, doc, layerElement);
                addPolygonStyleElement(fl.PolygonStyle, doc, layerElement);
                addPolylineStyleElement(fl.PolylineStyle, doc, layerElement);
                addPointStyleElement(fl.PointStyle, doc, layerElement);
                addIndiciesElements(fl, doc, layerElement);
                addLegendElement(fl, doc, layerElement);
                addAutoTitleSettingsElement(fl, doc, layerElement);
                addDataProviderElement(fl, doc, layerElement);
                addAppDataElement(fl, doc, layerElement);
                if (fl.FeatureLayerExtensions.Count>0)
                {
                    addFeatureLayerExtesions(fl.FeatureLayerExtensions, doc, layerElement);
                }
            }

            RasterLayer rl = layer as RasterLayer;
            if (rl != null)
            {
                addAttribute(doc, layerElement, "type", "raster");

                addRasterbindingElement(rl, doc, layerElement);
                addRasterStyleElement(rl, doc, layerElement);
                addDataProviderElement(rl, doc, layerElement);
                addAppDataElement(rl, doc, layerElement);
            }
        }