using System; using System.Text; using System.Drawing; #if AdvTree namespace DevComponents.Tree.TextMarkup #elif DOTNETBAR namespace DevComponents.DotNetBar.TextMarkup #elif SUPERGRID namespace DevComponents.SuperGrid.TextMarkup #elif LAYOUT namespace DevComponents.DotNetBar.Layout.TextMarkup #endif { #if FRAMEWORK20 public static class MarkupSettings #else public class MarkupSettings #endif { private static HyperlinkStyle _NormalHyperlink = new HyperlinkStyle(Color.Blue, eHyperlinkUnderlineStyle.SolidLine); /// /// Gets the style of the hyperlink in its default state. /// public static HyperlinkStyle NormalHyperlink { get { return _NormalHyperlink; } } private static HyperlinkStyle _MouseOverHyperlink = new HyperlinkStyle(); /// /// Gets the style of the hyperlink when mouse is over the link. /// public static HyperlinkStyle MouseOverHyperlink { get { return _MouseOverHyperlink; } } private static HyperlinkStyle _VisitedHyperlink = new HyperlinkStyle(); /// /// Gets the style of the visited hyperlink. /// public static HyperlinkStyle VisitedHyperlink { get { return _VisitedHyperlink; } } /// /// Represents the method that will handle the ResolveImage event. /// public delegate void ResolveImageEventHandler(object sender, ResolveImageEventArgs e); // /// Occurs when DotNetBar is looking for an image for one of the internal img tags that is /// used within the minimarkup. You need to set Handled=true if you want your custom image /// to be used instead of the built-in resource resolving mechanism. /// public static event ResolveImageEventHandler ResolveImage; internal static void InvokeResolveImage(ResolveImageEventArgs e) { if (ResolveImage != null) ResolveImage(null, e); } } /// /// Defines the text-markup hyperlink appearance style. /// public class HyperlinkStyle { /// /// Initializes a new instance of the HyperlinkStyle class. /// public HyperlinkStyle() { } /// /// Initializes a new instance of the HyperlinkStyle class. /// /// /// public HyperlinkStyle(Color textColor, eHyperlinkUnderlineStyle underlineStyle) { _TextColor = textColor; _UnderlineStyle = underlineStyle; } /// /// Initializes a new instance of the HyperlinkStyle class. /// /// /// /// public HyperlinkStyle(Color textColor, Color backColor, eHyperlinkUnderlineStyle underlineStyle) { _TextColor = textColor; _BackColor = backColor; _UnderlineStyle = underlineStyle; } private Color _TextColor = Color.Empty; /// /// Gets or sets hyperlink text color. /// public Color TextColor { get { return _TextColor; } set { if (_TextColor != value) { _TextColor = value; } } } private Color _BackColor = Color.Empty; /// /// Gets or sets hyperlink back color. /// public Color BackColor { get { return _BackColor; } set { if (_BackColor != value) { _BackColor = value; } } } private eHyperlinkUnderlineStyle _UnderlineStyle = eHyperlinkUnderlineStyle.None; /// /// Gets or sets the underline style for the hyperlink. /// public eHyperlinkUnderlineStyle UnderlineStyle { get { return _UnderlineStyle; } set { if (_UnderlineStyle != value) { _UnderlineStyle = value; } } } /// /// Gets whether style has been changed from its default state. /// public bool IsChanged { get { return !_TextColor.IsEmpty || !_BackColor.IsEmpty || _UnderlineStyle != eHyperlinkUnderlineStyle.None; } } } public enum eHyperlinkUnderlineStyle { None, SolidLine, DashedLine } /// /// /// Event arguments for ResolveImage event. /// public class ResolveImageEventArgs : EventArgs { /// /// Indicates that event has been handled and that ResolvedImage should be used. /// public bool Handled = false; /// /// Indicates the string key parameters in url-style for the image that needs to be resolved. /// public string Key = ""; /// /// Indicates the resolved image value. /// you need to set this value to the resolved image and you need to set Handled property to true. /// public Image ResolvedImage = null; /// /// Default constructor. /// public ResolveImageEventArgs() { } } }