示例#1
0
 /// <summary>
 /// 获取属性值
 /// </summary>
 /// <param name="name">属性名称</param>
 /// <param name="value">返回属性值</param>
 /// <param name="type">返回属性类型</param>
 public override void getProperty(String name, ref String value, ref String type)
 {
     if (name == "color")
     {
         type  = "color";
         value = FCStr.convertColorToStr(Color);
     }
     else if (name == "colorfield")
     {
         type  = "int";
         value = FCStr.convertIntToStr(ColorField);
     }
     else if (name == "fieldname")
     {
         type  = "int";
         value = FCStr.convertIntToStr(FieldName);
     }
     else if (name == "fieldtext")
     {
         type  = "String";
         value = FieldText;
     }
     else if (name == "fillcolor")
     {
         type  = "color";
         value = FCStr.convertColorToStr(FillColor);
     }
     else if (name == "style")
     {
         type = "enum:PolylineStyle";
         PolylineStyle style = Style;
         if (style == PolylineStyle.Cycle)
         {
             value = "Cycle";
         }
         else if (style == PolylineStyle.DashLine)
         {
             value = "DashLine";
         }
         else if (style == PolylineStyle.DotLine)
         {
             value = "DotLine";
         }
         else
         {
             value = "SolidLine";
         }
     }
     else if (name == "width")
     {
         type  = "float";
         value = FCStr.convertFloatToStr(Width);
     }
     else
     {
         base.getProperty(name, ref value, ref type);
     }
 }
示例#2
0
        /// <summary/>
        protected void addPolylineStyleElement(PolylineStyle PolylineStyle, XmlDocument doc, XmlElement layerElement)
        {
            XmlElement polylineStyleElement = doc.CreateElement("polyline_style");

            layerElement.AppendChild(polylineStyleElement);
            addAttribute(polylineStyleElement, "width", PolylineStyle.Width.ToString(CultureInfo.InvariantCulture));
            addAttribute(polylineStyleElement, "use_annex_line", PolylineStyle.UseAnnexLine ? "1" : "0");

            addAttribute(polylineStyleElement, "color", ColorTranslator.ToHtml(PolylineStyle.Color));
            addAttribute(polylineStyleElement, "dash_style", ((int)PolylineStyle.DashStyle).ToString(CultureInfo.InvariantCulture));
            addAttribute(polylineStyleElement, "dash_cap", ((int)PolylineStyle.DashCap).ToString(CultureInfo.InvariantCulture));

            if (PolylineStyle.DashPattern != null)
            {
                addAttribute(polylineStyleElement, "dash_pattern", floatArrayToString(PolylineStyle.DashPattern));
            }

            addAttribute(polylineStyleElement, "is_compound", PolylineStyle.IsCompound ? "1" : "0");
            if (PolylineStyle.Compound != null)
            {
                addAttribute(polylineStyleElement, "compound", floatArrayToString(PolylineStyle.Compound));
            }

            addAttribute(polylineStyleElement, "annex_color", ColorTranslator.ToHtml(PolylineStyle.AnnexColor));
            addAttribute(polylineStyleElement, "annex_dash_style", ((int)PolylineStyle.AnnexDashStyle).ToString(CultureInfo.InvariantCulture));
            addAttribute(polylineStyleElement, "annex_dash_cap", ((int)PolylineStyle.AnnexDashCap).ToString(CultureInfo.InvariantCulture));

            if (PolylineStyle.DashPattern != null)
            {
                addAttribute(polylineStyleElement, "annex_dash_pattern", floatArrayToString(PolylineStyle.AnnexDashPattern));
            }

            addAttribute(polylineStyleElement, "is_annex_compound", PolylineStyle.IsAnnexCompound ? "1" : "0");
            if (PolylineStyle.AnnexCompound != null)
            {
                addAttribute(polylineStyleElement, "annex_compound", floatArrayToString(PolylineStyle.AnnexCompound));
            }

            addAttribute(polylineStyleElement, "use_outline", PolylineStyle.UseOutline ? "1" : "0");
            addAttribute(polylineStyleElement, "outline_width", PolylineStyle.OutlineWidth.ToString(CultureInfo.InvariantCulture));
            addAttribute(polylineStyleElement, "outline_color", ColorTranslator.ToHtml(PolylineStyle.OutlineColor));
            addAttribute(polylineStyleElement, "outline_transparent", PolylineStyle.OutlineColor.A.ToString(CultureInfo.InvariantCulture));
        }
示例#3
0
        /// <summary/>
        protected void processPolylineStyle(XmlNode layerNode, PolylineStyle PolylineStyle)
        {
            XmlNode polylineStyle = tryGetNodeByName(layerNode.ChildNodes, "polyline_style");

            if (polylineStyle != null)
            {
                PolylineStyle.Width = int.Parse(polylineStyle.Attributes["width"].Value, CultureInfo.InvariantCulture);

                PolylineStyle.Color     = ColorTranslator.FromHtml(polylineStyle.Attributes["color"].Value);
                PolylineStyle.DashStyle = (DashStyle)int.Parse(polylineStyle.Attributes["dash_style"].Value, CultureInfo.InvariantCulture);

                if (polylineStyle.Attributes["dash_cap"] != null)
                {
                    PolylineStyle.DashCap = (DashCap)int.Parse(polylineStyle.Attributes["dash_cap"].Value, CultureInfo.InvariantCulture);
                }

                if (polylineStyle.Attributes["dash_pattern"] != null)
                {
                    PolylineStyle.DashPattern = stringToFloatArray(polylineStyle.Attributes["dash_pattern"].Value);
                }

                if (polylineStyle.Attributes["is_compound"] != null)
                {
                    PolylineStyle.IsCompound = polylineStyle.Attributes["is_compound"].Value == "1";
                }

                if (polylineStyle.Attributes["compound"] != null)
                {
                    PolylineStyle.Compound = stringToFloatArray(polylineStyle.Attributes["compound"].Value);
                }

                if (polylineStyle.Attributes["use_annex_line"] != null)
                {
                    PolylineStyle.UseAnnexLine = polylineStyle.Attributes["use_annex_line"].Value == "1";

                    PolylineStyle.AnnexColor     = ColorTranslator.FromHtml(polylineStyle.Attributes["annex_color"].Value);
                    PolylineStyle.AnnexDashStyle = (DashStyle)int.Parse(polylineStyle.Attributes["annex_dash_style"].Value, CultureInfo.InvariantCulture);

                    if (polylineStyle.Attributes["annex_dash_cap"] != null)
                    {
                        PolylineStyle.AnnexDashCap = (DashCap)int.Parse(polylineStyle.Attributes["annex_dash_cap"].Value, CultureInfo.InvariantCulture);
                    }

                    if (polylineStyle.Attributes["annex_dash_pattern"] != null)
                    {
                        PolylineStyle.AnnexDashPattern = stringToFloatArray(polylineStyle.Attributes["annex_dash_pattern"].Value);
                    }

                    if (polylineStyle.Attributes["is_annex_compound"] != null)
                    {
                        PolylineStyle.IsAnnexCompound = polylineStyle.Attributes["is_annex_compound"].Value == "1";
                    }

                    if (polylineStyle.Attributes["annex_compound"] != null)
                    {
                        PolylineStyle.AnnexCompound = stringToFloatArray(polylineStyle.Attributes["annex_compound"].Value);
                    }
                }

                if (polylineStyle.Attributes["use_outline"] != null)
                {
                    PolylineStyle.UseOutline = polylineStyle.Attributes["use_outline"].Value == "1";
                }
                if (polylineStyle.Attributes["outline_color"] != null)
                {
                    PolylineStyle.OutlineColor = ColorTranslator.FromHtml(polylineStyle.Attributes["outline_color"].Value);
                }
                if (polylineStyle.Attributes["outline_width"] != null)
                {
                    PolylineStyle.OutlineWidth = int.Parse(polylineStyle.Attributes["outline_width"].Value, CultureInfo.InvariantCulture);
                }
                if (polylineStyle.Attributes["outline_transparent"] != null)
                {
                    PolylineStyle.OutlineColor = Color.FromArgb(int.Parse(polylineStyle.Attributes["outline_transparent"].Value, CultureInfo.InvariantCulture), PolylineStyle.OutlineColor);
                }
            }
        }