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();
}
}