76 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			76 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
using System.Collections.Generic;
 | 
						|
 | 
						|
namespace DevComponents.DotNetBar.Charts.Style
 | 
						|
{
 | 
						|
    ///<summary>
 | 
						|
    /// VisualStylesTable
 | 
						|
    ///</summary>
 | 
						|
    public static class VisualStylesTable
 | 
						|
    {
 | 
						|
        private static Dictionary<ChartControlStyle, DefaultVisualStyles>
 | 
						|
            _DefaultStyles = new Dictionary<ChartControlStyle, DefaultVisualStyles>();
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// Gets the DefaultVisualStyles for specified Chart style.
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="style">ChartControl Style to return.</param>
 | 
						|
        /// <returns>An instance of DefaultVisualStyle.</returns>
 | 
						|
        public static DefaultVisualStyles GetStyle(ChartControlStyle style)
 | 
						|
        {
 | 
						|
            DefaultVisualStyles visualStyle;
 | 
						|
            bool cacheStyle = true;
 | 
						|
 | 
						|
            if (style == ChartControlStyle.Metro || !StyleManager.ColorTint.IsEmpty)
 | 
						|
                cacheStyle = false;
 | 
						|
 | 
						|
            if (cacheStyle == false || !_DefaultStyles.TryGetValue(style, out visualStyle))
 | 
						|
            {
 | 
						|
                VisualStyleFactory factory = VisualStyleFactory.GetStyleFactory(style);
 | 
						|
 | 
						|
                visualStyle = factory.CreateStyle();
 | 
						|
 | 
						|
                if (cacheStyle) // Do not cache Metro style
 | 
						|
                    _DefaultStyles.Add(style, visualStyle);
 | 
						|
            }
 | 
						|
 | 
						|
            return visualStyle;
 | 
						|
        }
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// Replaces an system style with the specified visual style.
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="style">ChartControlStyle to replace.</param>
 | 
						|
        /// <param name="visualStyle">DefaultVisualStyles to replace the system style with.</param>
 | 
						|
        public static void SetStyleFactory(ChartControlStyle style, DefaultVisualStyles visualStyle)
 | 
						|
        {
 | 
						|
            _DefaultStyles[style] = visualStyle;
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    /// <summary>
 | 
						|
    /// Defines available pre-defined ChartControl visual styles.
 | 
						|
    /// </summary>
 | 
						|
    public enum ChartControlStyle
 | 
						|
    {
 | 
						|
        /// <summary>
 | 
						|
        /// Office 2010 Blue style.
 | 
						|
        /// </summary>
 | 
						|
        Office2010Blue,
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// Office 2010 Silver style.
 | 
						|
        /// </summary>
 | 
						|
        Office2010Silver,
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// Office 2010 Black style.
 | 
						|
        /// </summary>
 | 
						|
        Office2010Black,
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// Metro Style.
 | 
						|
        /// </summary>
 | 
						|
        Metro
 | 
						|
    }
 | 
						|
}
 |