public override void ReadXML(XmlReader xmlReader) { xmlReader.ReadStartElement(); // <Toggle> while (xmlReader.NodeType == XmlNodeType.Element) { switch (xmlReader.Name) { case "Value": value = XmlHelper.ParseBoolean(xmlReader.ReadElementContentAsString()); break; case "Variant": variant = (StyleToggleVariant)Enum.Parse(typeof(StyleToggleVariant), xmlReader.ReadElementContentAsString()); break; default: string unparsed = xmlReader.ReadOuterXml(); log.DebugFormat("Unparsed content in style element toggle XML: {0}", unparsed); break; } } xmlReader.ReadEndElement(); // If the variant is unknown, the most likely cause is that it's an older file where "Curved" was assumed. // Worst case scenario from doing this is that we show "Curved" instead of "Unknown" in the mini editor. if (variant == StyleToggleVariant.Unknown) { variant = StyleToggleVariant.Curved; log.ErrorFormat("Unknown variant in style element toggle. Assumed: {0}", variant.ToString()); } UpdateVariant(variant); }
private void UpdateVariant(StyleToggleVariant variant) { // Update the appearance of the mini editor based on the variant. switch (variant) { case StyleToggleVariant.Perspective: icon = Properties.Drawings.plane; displayName = ScreenManagerLang.Generic_Perspective; break; case StyleToggleVariant.Curved: default: icon = Properties.Drawings.curve; displayName = ScreenManagerLang.Generic_Curved; break; } }
public StyleElementToggle(bool initialValue, StyleToggleVariant variant) { this.value = initialValue; this.variant = variant; UpdateVariant(variant); }