static XshdColor GetColorFromElement(XmlElement element) { if (!element.HasAttribute("bold") && !element.HasAttribute("italic") && !element.HasAttribute("color") && !element.HasAttribute("bgcolor")) { return(null); } XshdColor color = new XshdColor(); if (element.HasAttribute("bold")) { color.FontWeight = XmlConvert.ToBoolean(element.GetAttribute("bold")) ? FontWeights.Bold : FontWeights.Normal; } if (element.HasAttribute("italic")) { color.FontStyle = XmlConvert.ToBoolean(element.GetAttribute("italic")) ? FontStyle.Italic : FontStyle.Normal; } if (element.HasAttribute("color")) { color.Foreground = ColorConverter.ConvertFromString(element.GetAttribute("color")); } if (element.HasAttribute("bgcolor")) { color.Background = ColorConverter.ConvertFromString(element.GetAttribute("bgcolor")); } return(color); }
object IXshdVisitor.VisitColor(XshdColor color) { writer.WriteStartElement("PropertiesOverrides", Namespace); if (color.Name != null) writer.WriteAttributeString("name", color.Name); WriteColorAttributes(color); if (color.ExampleText != null) writer.WriteAttributeString("exampleText", color.ExampleText); writer.WriteEndElement(); return null; }
static XshdColor ParseNamedColor(XmlReader reader) { XshdColor color = ParseColorAttributes(reader); // check removed: invisible named colors may be useful now that apps can read highlighting data //if (color.Foreground == null && color.FontWeight == null && color.FontStyle == null) // throw Error(reader, "A named color must have at least one element."); color.Name = reader.GetAttribute("name"); CheckElementName(reader, color.Name); color.ExampleText = reader.GetAttribute("exampleText"); return(color); }
static XshdReference <XshdColor> GetColorReference(XmlElement element) { XshdColor color = GetColorFromElement(element); if (color != null) { return(new XshdReference <XshdColor>(color)); } else { return(new XshdReference <XshdColor>()); } }
static XshdColor ParseColorAttributes(XmlReader reader) { XshdColor color = new XshdColor(); SetPosition(color, reader); IXmlLineInfo position = reader as IXmlLineInfo; color.Foreground = ParseColor(position, reader.GetAttribute("foreground")); color.Background = ParseColor(position, reader.GetAttribute("background")); color.FontWeight = ParseFontWeight(reader.GetAttribute("fontWeight")); color.FontStyle = ParseFontStyle(reader.GetAttribute("fontStyle")); return(color); }
static XshdColor GetColorFromElement(XmlElement element) { if (!element.HasAttribute("bold") && !element.HasAttribute("italic") && !element.HasAttribute("color") && !element.HasAttribute("bgcolor")) return null; XshdColor color = new XshdColor(); if (element.HasAttribute("bold")) color.FontWeight = XmlConvert.ToBoolean(element.GetAttribute("bold")) ? FontWeights.Bold : FontWeights.Normal; if (element.HasAttribute("italic")) color.FontStyle = XmlConvert.ToBoolean(element.GetAttribute("italic")) ? FontStyle.Italic : FontStyle.Normal; if (element.HasAttribute("color")) color.Foreground = ColorConverter.ConvertFromString(element.GetAttribute("color")); if (element.HasAttribute("bgcolor")) color.Background = ColorConverter.ConvertFromString(element.GetAttribute("bgcolor")); return color; }
object IXshdVisitor.VisitColor(XshdColor color) { writer.WriteStartElement("PropertiesOverrides", Namespace); if (color.Name != null) { writer.WriteAttributeString("name", color.Name); } WriteColorAttributes(color); if (color.ExampleText != null) { writer.WriteAttributeString("exampleText", color.ExampleText); } writer.WriteEndElement(); return(null); }
public object VisitColor(XshdColor color) { if (color.Name != null) { if (color.Name.Length == 0) { throw Error(color, "Name must not be the empty string"); } if (def.colorDict.ContainsKey(color.Name)) { throw Error(color, "Duplicate color name '" + color.Name + "'."); } def.colorDict.Add(color.Name, new HighlightingColor()); } return(null); }
void WriteColorAttributes(XshdColor color) { if (color.Foreground != null) { writer.WriteAttributeString("foreground", color.Foreground.ToString()); } if (color.Background != null) { writer.WriteAttributeString("background", color.Background.ToString()); } if (color.FontWeight != null) { writer.WriteAttributeString("fontWeight", FontWeightConverter.ConvertToString(color.FontWeight.Value).ToLowerInvariant()); } if (color.FontStyle != null) { writer.WriteAttributeString("fontStyle", FontStyleConverter.ConvertToString(color.FontStyle.Value).ToLowerInvariant()); } }
public object VisitColor(XshdColor color) { HighlightingColor c; if (color.Name != null) { c = def.colorDict[color.Name]; } else if (color.Foreground == null && color.FontStyle == null && color.FontWeight == null) { return(null); } else { c = new HighlightingColor(); } c.Name = color.Name; c.Foreground = color.Foreground; c.Background = color.Background; c.FontStyle = color.FontStyle; c.FontWeight = color.FontWeight; return(c); }
void WriteColorAttributes(XshdColor color) { if (color.Foreground != null) writer.WriteAttributeString("foreground", color.Foreground.ToString()); if (color.Background != null) writer.WriteAttributeString("background", color.Background.ToString()); if (color.FontWeight != null) writer.WriteAttributeString("fontWeight", FontWeightConverter.ConvertToString(color.FontWeight.Value).ToLowerInvariant()); if (color.FontStyle != null) writer.WriteAttributeString("fontStyle", FontStyleConverter.ConvertToString(color.FontStyle.Value).ToLowerInvariant()); }
static XshdColor ParseColorAttributes(XmlReader reader) { XshdColor color = new XshdColor(); SetPosition(color, reader); IXmlLineInfo position = reader as IXmlLineInfo; color.Foreground = ParseColor(position, reader.GetAttribute("foreground")); color.Background = ParseColor(position, reader.GetAttribute("background")); color.FontWeight = ParseFontWeight(reader.GetAttribute("fontWeight")); color.FontStyle = ParseFontStyle(reader.GetAttribute("fontStyle")); return color; }
public object VisitColor(XshdColor color) { HighlightingColor c; if (color.Name != null) c = def.colorDict[color.Name]; else if (color.Foreground == null && color.FontStyle == null && color.FontWeight == null) return null; else c = new HighlightingColor(); c.Name = color.Name; c.Foreground = color.Foreground; c.Background = color.Background; c.FontStyle = color.FontStyle; c.FontWeight = color.FontWeight; return c; }
public object VisitColor(XshdColor color) { if (color.Name != null) { if (color.Name.Length == 0) throw Error(color, "Name must not be the empty string"); if (def.colorDict.ContainsKey(color.Name)) throw Error(color, "Duplicate color name '" + color.Name + "'."); def.colorDict.Add(color.Name, new HighlightingColor()); } return null; }