PurplePen.Event.WriteAttributesAndContent C# (CSharp) Method

WriteAttributesAndContent() public method

public WriteAttributesAndContent ( System xmloutput ) : void
xmloutput System
return void
        public override void WriteAttributesAndContent(System.Xml.XmlTextWriter xmloutput)
        {
            // No attributes.

            // Write sub-elements.
            xmloutput.WriteElementString("title", title);

            if (notes != null)
                xmloutput.WriteElementString("notes", notes);

            xmloutput.WriteStartElement("map");

            if (mapType == MapType.None)
                xmloutput.WriteAttributeString("kind", "none");
            else if (mapType == MapType.OCAD)
                xmloutput.WriteAttributeString("kind", "OCAD");
            else if (mapType == MapType.Bitmap)
                xmloutput.WriteAttributeString("kind", "bitmap");
            else if (mapType == MapType.PDF)
                xmloutput.WriteAttributeString("kind", "PDF");
            else
                Debug.Fail("Unknown map kind");

            xmloutput.WriteAttributeString("scale", XmlConvert.ToString(mapScale));

            if (mapType == MapType.Bitmap)
                xmloutput.WriteAttributeString("dpi", XmlConvert.ToString(mapDpi));

            if (mapType == MapType.OCAD)
                xmloutput.WriteAttributeString("ignore-missing-fonts", XmlConvert.ToString(ignoreMissingFonts));

            if (mapType != MapType.None)
                xmloutput.WriteString(Util.GetRelativeFileName(xmloutput, mapFileName));

            xmloutput.WriteEndElement();

            // options for all controls view.
            xmloutput.WriteStartElement("all-controls");
            xmloutput.WriteAttributeString("print-scale", XmlConvert.ToString(allControlsPrintScale));
            EventDBUtil.WriteDescriptionKindAttribute(xmloutput, allControlsDescKind);
            xmloutput.WriteEndElement();

            printArea.WriteAttributesAndContent(xmloutput);

            xmloutput.WriteStartElement("numbering");
            xmloutput.WriteAttributeString("start", XmlConvert.ToString(firstControlCode));
            xmloutput.WriteAttributeString("disallow-invertible", XmlConvert.ToString(disallowInvertibleCodes));
            xmloutput.WriteEndElement();

            xmloutput.WriteStartElement("punch-card");
            xmloutput.WriteAttributeString("rows", XmlConvert.ToString(punchcardFormat.boxesDown));
            xmloutput.WriteAttributeString("columns", XmlConvert.ToString(punchcardFormat.boxesAcross));
            xmloutput.WriteAttributeString("left-to-right", XmlConvert.ToString(punchcardFormat.leftToRight));
            xmloutput.WriteAttributeString("top-to-bottom", XmlConvert.ToString(punchcardFormat.topToBottom));
            xmloutput.WriteEndElement();

            xmloutput.WriteStartElement("course-appearance");
            if (courseAppearance.controlCircleSize != 1.0F)
                xmloutput.WriteAttributeString("control-circle-size-ratio", XmlConvert.ToString(courseAppearance.controlCircleSize));
            if (courseAppearance.lineWidth != 1.0F)
                xmloutput.WriteAttributeString("line-width-ratio", XmlConvert.ToString(courseAppearance.lineWidth));
            if (courseAppearance.centerDotDiameter != 0.0F) 
                xmloutput.WriteAttributeString("center-dot-diameter", XmlConvert.ToString(courseAppearance.centerDotDiameter));
            if (courseAppearance.numberHeight != 1.0F)
                xmloutput.WriteAttributeString("number-size-ratio", XmlConvert.ToString(courseAppearance.numberHeight));
            if (courseAppearance.numberBold)
                xmloutput.WriteAttributeString("number-bold", XmlConvert.ToString(courseAppearance.numberBold));
            if (courseAppearance.numberOutlineWidth > 0)
                xmloutput.WriteAttributeString("number-outline-width", XmlConvert.ToString(courseAppearance.numberOutlineWidth));
            xmloutput.WriteAttributeString("auto-leg-gap-size", XmlConvert.ToString(courseAppearance.autoLegGapSize));
            if (courseAppearance.useDefaultPurple == false) {
                xmloutput.WriteAttributeString("purple-cyan", XmlConvert.ToString(courseAppearance.purpleC));
                xmloutput.WriteAttributeString("purple-magenta", XmlConvert.ToString(courseAppearance.purpleM));
                xmloutput.WriteAttributeString("purple-yellow", XmlConvert.ToString(courseAppearance.purpleY));
                xmloutput.WriteAttributeString("purple-black", XmlConvert.ToString(courseAppearance.purpleK));
            }
            xmloutput.WriteAttributeString("blend-purple", XmlConvert.ToString(courseAppearance.purpleColorBlend));

            xmloutput.WriteEndElement();

            xmloutput.WriteStartElement("descriptions");
            xmloutput.WriteAttributeString("lang", descriptionLangId);
            xmloutput.WriteAttributeString("color", courseAppearance.descriptionsPurple ? "purple" : "black");
            xmloutput.WriteEndElement();

            xmloutput.WriteStartElement("ocad");
            xmloutput.WriteAttributeString("overprint-colors", XmlConvert.ToString(courseAppearance.useOcadOverprint));
            xmloutput.WriteEndElement();

            foreach (string iofId in customSymbolText.Keys) {
                xmloutput.WriteStartElement("custom-symbol-text");
                xmloutput.WriteAttributeString("iof-2004-ref", iofId);
                xmloutput.WriteAttributeString("show-key", XmlConvert.ToString(customSymbolKey[iofId]));
                foreach (SymbolText text in customSymbolText[iofId]) 
                    text.WriteXml(xmloutput);
                xmloutput.WriteEndElement();
            }
        }