using System.Collections.Generic; namespace DevComponents.DotNetBar.SuperGrid.Style { /// /// VisualStylesTable /// public static class VisualStylesTable { private static Dictionary _DefaultStyles = new Dictionary(); /// /// Gets the DefaultVisualStyles for specified SuperGrid style. /// /// SuperGridStyle to return. /// An instance of DefaultVisualStyle. public static DefaultVisualStyles GetStyle(SuperGridStyle style) { DefaultVisualStyles visualStyle; bool cacheStyle = true; if (style == SuperGridStyle.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; } /// /// Replaces an system style with the specified visual style. /// /// SuperGridStyle to replace. /// DefaultVisualStyles to replace the system style with. public static void SetStyleFactory(SuperGridStyle style, DefaultVisualStyles visualStyle) { _DefaultStyles[style] = visualStyle; } } /// /// Defines available pre-defined SuperGrid visual styles. /// public enum SuperGridStyle { /// /// Office 2010 Blue style. /// Office2010Blue, /// /// Office 2010 Silver style. /// Office2010Silver, /// /// Office 2010 Black style. /// Office2010Black, /// /// Metro Style. /// Metro } }