/// <summary> /// Copies values of supplied <see cref="AppearenceText" /> to current object. /// </summary> /// <param name="appearence"><see cref="AppearenceText" /> object whose value is to be copied.</param> public void Assign(AppearenceText appearence) { alignment = appearence.Alignment; font = appearence.Font; lineAlignment = appearence.LineAlignment; trimming = Trimming; xshift = appearence.Xshift; yshift = appearence.Yshift; }
/// <summary> /// Creates a new object that is a copy of the current instance. /// </summary> /// <returns>A new object that is a copy of this instance.</returns> public object Clone() { var appearence = new AppearenceText { Xshift = Xshift, Yshift = Yshift, Trimming = Trimming, Alignment = Alignment, LineAlignment = LineAlignment, Font = Font }; return(appearence); }
/// <summary> /// Initialize new instance of <see cref="AppearanceItem" />. /// </summary> public AppearanceItem() { backStyle = new ColorPair(); backStyle.AppearanceChanged += OnAppearanceChanged; clickStyle = new ColorPair(); clickStyle.AppearanceChanged += OnAppearanceChanged; hoverStyle = new ColorPair(); hoverStyle.AppearanceChanged += OnAppearanceChanged; selectedHoverStyle = new ColorPair(); selectedHoverStyle.AppearanceChanged += OnAppearanceChanged; selectedStyle = new ColorPair(); selectedStyle.AppearanceChanged += OnAppearanceChanged; disabledStyle = new ColorPair(); disabledStyle.AppearanceChanged += OnAppearanceChanged; appearenceText = new AppearenceText(); appearenceText.AppearenceChanged += OnAppearanceChanged; Reset(); }
/// <summary> /// Converts an object into its XML representation. /// </summary> /// <param name="writer">The <see cref="T:System.Xml.XmlWriter" /> stream to which the object is serialized.</param> public void WriteXml(XmlWriter writer) { writer.WriteStartElement("BackStyle"); BackStyle.WriteXml(writer); writer.WriteEndElement(); writer.WriteStartElement("ClickStyle"); ClickStyle.WriteXml(writer); writer.WriteEndElement(); writer.WriteStartElement("HoverStyle"); HoverStyle.WriteXml(writer); writer.WriteEndElement(); writer.WriteStartElement("SelectedStyle"); SelectedStyle.WriteXml(writer); writer.WriteEndElement(); writer.WriteStartElement("DisabledStyle"); DisabledStyle.WriteXml(writer); writer.WriteEndElement(); writer.WriteStartElement("SelectedHoverStyle"); SelectedHoverStyle.WriteXml(writer); writer.WriteEndElement(); writer.WriteElementString("NormalBorder", PaintUtility.GetString(NormalBorder)); writer.WriteElementString("HoverBorder", PaintUtility.GetString(HoverBorder)); writer.WriteElementString("NormalForeGround", PaintUtility.GetString(NormalForeGround)); writer.WriteElementString("SelectedBorder", PaintUtility.GetString(SelectedBorder)); writer.WriteElementString("HoverForeGround", PaintUtility.GetString(HoverForeGround)); writer.WriteStartElement("AppearenceText"); AppearenceText.WriteXml(writer); writer.WriteEndElement(); writer.WriteElementString("SelectedForeGround", PaintUtility.GetString(SelectedForeGround)); writer.WriteElementString("DisabledBorder", PaintUtility.GetString(DisabledBorder)); writer.WriteElementString("DisabledForeGround", PaintUtility.GetString(DisabledForeGround)); writer.WriteElementString("Gradient", Gradient.ToString()); }
/// <summary> /// Creates a new object that is a copy of the current instance. /// </summary> /// <returns>A new object that is a copy of this instance.</returns> public object Clone() { var app = new AppearanceItem(); app.BackStyle.Assign((ColorPair)BackStyle.Clone()); app.ClickStyle.Assign((ColorPair)ClickStyle.Clone()); app.DisabledBorder = DisabledBorder; app.DisabledForeGround = DisabledForeGround; app.DisabledStyle.Assign((ColorPair)DisabledStyle.Clone()); app.Gradient = Gradient; app.HoverBorder = HoverBorder; app.HoverForeGround = HoverForeGround; app.HoverStyle.Assign((ColorPair)HoverStyle.Clone()); app.NormalBorder = NormalBorder; app.NormalForeGround = NormalForeGround; app.SelectedBorder = SelectedBorder; app.SelectedForeGround = SelectedForeGround; app.SelectedHoverStyle.Assign((ColorPair)SelectedHoverStyle.Clone()); app.SelectedStyle.Assign((ColorPair)SelectedStyle.Clone()); app.AppearenceText.Assign((AppearenceText)AppearenceText.Clone()); return(app); }
/// <summary> /// Draws the string. /// </summary> /// <param name="graphics">The graphics.</param> /// <param name="rectangle">The rectangle.</param> /// <param name="text">The text.</param> /// <param name="app">The application.</param> /// <param name="useMnemonic">if set to <c>true</c> [use mnemonic].</param> /// <param name="textColor">Color of the text.</param> internal static void DrawString(Graphics graphics, Rectangle rectangle, string text, AppearenceText app, bool useMnemonic, Color textColor) { if (rectangle.IsEmpty) { return; } var format = new StringFormat(); format.Trimming = app.Trimming; format.Alignment = app.Alignment; format.LineAlignment = app.LineAlignment; if (useMnemonic) { format.HotkeyPrefix = HotkeyPrefix.Show; } rectangle.X += (int)app.Xshift; rectangle.Y += (int)app.Yshift; graphics.DrawString(text, app.Font, new SolidBrush(ChangeColor(textColor, Color.White, 100, false)), rectangle, format); rectangle.X -= (int)app.Xshift; rectangle.Y -= (int)app.Yshift; graphics.DrawString(text, app.Font, new SolidBrush(textColor), rectangle, format); }
/// <summary> /// Generates an object from its XML representation. /// </summary> /// <param name="reader">The <see cref="T:System.Xml.XmlReader" /> stream from which the object is deserialized.</param> public void ReadXml(XmlReader reader) { var doc = new XmlDocument(); doc.Load(reader); if (doc.GetElementsByTagName("BackStyle").Count > 0) { var xml = "<ColorPair>" + doc.GetElementsByTagName("BackStyle")[0].InnerXml + "</ColorPair>"; BackStyle.ReadXml(new XmlTextReader(xml, XmlNodeType.Document, null)); } if (doc.GetElementsByTagName("ClickStyle").Count > 0) { var xml = "<ColorPair>" + doc.GetElementsByTagName("ClickStyle")[0].InnerXml + "</ColorPair>"; ClickStyle.ReadXml(new XmlTextReader(xml, XmlNodeType.Document, null)); } if (doc.GetElementsByTagName("HoverStyle").Count > 0) { var xml = "<ColorPair>" + doc.GetElementsByTagName("HoverStyle")[0].InnerXml + "</ColorPair>"; HoverStyle.ReadXml(new XmlTextReader(xml, XmlNodeType.Document, null)); } if (doc.GetElementsByTagName("SelectedStyle").Count > 0) { var xml = "<ColorPair>" + doc.GetElementsByTagName("SelectedStyle")[0].InnerXml + "</ColorPair>"; SelectedStyle.ReadXml(new XmlTextReader(xml, XmlNodeType.Document, null)); } if (doc.GetElementsByTagName("DisabledStyle").Count > 0) { var xml = "<ColorPair>" + doc.GetElementsByTagName("DisabledStyle")[0].InnerXml + "</ColorPair>"; DisabledStyle.ReadXml(new XmlTextReader(xml, XmlNodeType.Document, null)); } if (doc.GetElementsByTagName("SelectedHoverStyle").Count > 0) { var xml = "<ColorPair>" + doc.GetElementsByTagName("SelectedHoverStyle")[0].InnerXml + "</ColorPair>"; SelectedHoverStyle.ReadXml(new XmlTextReader(xml, XmlNodeType.Document, null)); } if (doc.GetElementsByTagName("NormalBorder").Count > 0) { NormalBorder = PaintUtility.GetColor(doc.GetElementsByTagName("NormalBorder")[0].InnerText); } if (doc.GetElementsByTagName("HoverBorder").Count > 0) { HoverBorder = PaintUtility.GetColor(doc.GetElementsByTagName("HoverBorder")[0].InnerText); } if (doc.GetElementsByTagName("SelectedBorder").Count > 0) { SelectedBorder = PaintUtility.GetColor(doc.GetElementsByTagName("SelectedBorder")[0].InnerText); } if (doc.GetElementsByTagName("NormalForeGround").Count > 0) { NormalForeGround = PaintUtility.GetColor(doc.GetElementsByTagName("NormalForeGround")[0].InnerText); } if (doc.GetElementsByTagName("HoverForeGround").Count > 0) { HoverForeGround = PaintUtility.GetColor(doc.GetElementsByTagName("HoverForeGround")[0].InnerText); } if (doc.GetElementsByTagName("AppearenceText").Count > 0) { var xml = "<AppearenceText>" + doc.GetElementsByTagName("AppearenceText")[0].InnerXml + "</AppearenceText>"; AppearenceText.ReadXml(new XmlTextReader(xml, XmlNodeType.Document, null)); } if (doc.GetElementsByTagName("SelectedForeGround").Count > 0) { SelectedForeGround = PaintUtility.GetColor(doc.GetElementsByTagName("SelectedForeGround")[0].InnerText); } if (doc.GetElementsByTagName("DisabledBorder").Count > 0) { DisabledBorder = PaintUtility.GetColor(doc.GetElementsByTagName("DisabledBorder")[0].InnerText); } if (doc.GetElementsByTagName("DisabledForeGround").Count > 0) { DisabledForeGround = PaintUtility.GetColor(doc.GetElementsByTagName("DisabledForeGround")[0].InnerText); } if (doc.GetElementsByTagName("Gradient").Count > 0) { Gradient = Convert.ToInt32(doc.GetElementsByTagName("Gradient")[0].InnerText); } }
/// <summary> /// Indicates wether <see cref="AppearenceText" /> needs to be serialized by designer or not. /// </summary> /// <returns>true if designer needs to serialize</returns> protected virtual bool ShouldSerializeAppearenceText() { return(AppearenceText.DefaultChanged()); }
/// <summary> /// Resets <see cref="AppearenceText" /> to default value. /// </summary> protected virtual void ResetAppearenceText() { AppearenceText.Reset(); }