public void WriteTo(XmlWriter x) { x.WriteStartElement("DefaultCompiler"); x.WriteString(DefaultCompiler); x.WriteEndElement(); foreach (var cmp in Compilers) { x.WriteStartElement("Compiler"); x.WriteAttributeString("Name", cmp.Vendor); cmp.SaveTo(x); x.WriteEndElement(); } x.WriteStartElement("ResCmp"); Win32ResourceCompiler.Instance.Save(x); x.WriteEndElement(); x.WriteStartElement("CompletionOptions"); CompletionOptions.Instance.Save(x); x.WriteEndElement(); x.WriteStartElement("DocumentOutline"); Outline.Save(x); x.WriteEndElement(); x.WriteStartElement("FormattingCorrectsIndentOnly"); x.WriteString(Formatting.DCodeFormatter.IndentCorrectionOnly ? "true" : "false"); x.WriteEndElement(); x.WriteStartElement("UnittestSettings"); UnittestSettings.Save(x); x.WriteEndElement(); }
public ICustomXmlSerializer ReadFrom(XmlReader x) { if (!x.Read()) { return(this); } while (x.Read()) { switch (x.LocalName) { case "DefaultCompiler": if (x.MoveToAttribute("Name")) { DefaultCompiler = x.ReadContentAsString(); } else { DefaultCompiler = x.ReadString(); } break; case "Compiler": var vendor = ""; if (x.MoveToAttribute("Name")) { vendor = x.ReadContentAsString(); x.MoveToElement(); } var cmp = GetCompiler(vendor) ?? new DCompilerConfiguration(vendor); cmp.ReadFrom(x.ReadSubtree()); Compilers.Add(cmp); break; case "ResCmp": Win32ResourceCompiler.Instance.Load(x.ReadSubtree()); break; case "DocumentOutline": Outline.Load(x.ReadSubtree()); break; case "CompletionOptions": CompletionOptions.Instance.Load(x.ReadSubtree()); break; case "FormattingCorrectsIndentOnly": Formatting.DCodeFormatter.IndentCorrectionOnly = x.ReadString().ToLowerInvariant() == "true"; break; case "UnittestSettings": UnittestSettings.Load(x.ReadSubtree()); break; } } return(this); }