Exemplo n.º 1
0
        /// <summary>
        /// 속성들을 Xml Attribute로 생성합니다.
        /// </summary>
        /// <param name="writer">Attribute를 쓸 Writer</param>
        public override void GenerateXmlAttributes(XmlWriter writer)
        {
            base.GenerateXmlAttributes(writer);

            if (Start.HasValue)
            {
                writer.WriteAttributeString("Start", Start.Value.ToSortableString(true));
            }
            if (End.HasValue)
            {
                writer.WriteAttributeString("End", End.Value.ToSortableString(true));
            }

            if (Id.IsNotWhiteSpace())
            {
                writer.WriteAttributeString("Id", Id);
            }
            if (ProcessId.IsNotWhiteSpace())
            {
                writer.WriteAttributeString("ProcessId", ProcessId);
            }
            if (Label.IsNotWhiteSpace())
            {
                writer.WriteAttributeString("Label", Label);
            }

            if (_link != null)
            {
                _link.GenerateXmlAttributes(writer);
            }

            if (PercentComplete.HasValue)
            {
                writer.WriteAttributeString("PercentComplete", PercentComplete.Value.ToString());
            }
            if (ShowAsGroup.HasValue)
            {
                writer.WriteAttributeString("ShowAsGroup", ShowAsGroup.Value.GetHashCode().ToString());
            }
            if (Animation.HasValue)
            {
                writer.WriteAttributeString("Animation", Animation.Value.GetHashCode().ToString());
            }

            if (_fontAttr != null)
            {
                _fontAttr.GenerateXmlAttributes(writer);
            }

            if (Color.HasValue)
            {
                writer.WriteAttributeString("Color", Color.Value.ToHexString());
            }
            if (Alpha.HasValue)
            {
                writer.WriteAttributeString("Alpha", Alpha.Value.ToString());
            }

            if (ShowBorder.HasValue)
            {
                writer.WriteAttributeString("ShowBorder", ShowBorder.Value.GetHashCode().ToString());
            }
            if (BorderColor.HasValue)
            {
                writer.WriteAttributeString("BorderColor", BorderColor.Value.ToHexString());
            }
            if (BorderThickness.HasValue)
            {
                writer.WriteAttributeString("BorderThickness", BorderThickness.Value.ToString());
            }
            if (BorderAlpha.HasValue)
            {
                writer.WriteAttributeString("BorderAlpha", BorderAlpha.Value.ToString());
            }

            if (Height.IsNotWhiteSpace())
            {
                writer.WriteAttributeString("Height", Height);
            }
            if (TopPadding.IsNotWhiteSpace())
            {
                writer.WriteAttributeString("TopPadding", TopPadding);
            }

            if (ShowLabel.HasValue)
            {
                writer.WriteAttributeString("ShowLabel", ShowLabel.Value.GetHashCode().ToString());
            }
            if (ShowPercentLabel.HasValue)
            {
                writer.WriteAttributeString("ShowPercentLabel", ShowPercentLabel.Value.GetHashCode().ToString());
            }
            if (ShowStartDate.HasValue)
            {
                writer.WriteAttributeString("ShowStartDate", ShowStartDate.Value.GetHashCode().ToString());
            }
            if (ShowEndDate.HasValue)
            {
                writer.WriteAttributeString("ShowEndDate", ShowEndDate.Value.GetHashCode().ToString());
            }

            if (ToolText.IsNotWhiteSpace())
            {
                writer.WriteAttributeString("ToolText", ToolText);
            }
        }