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
}
}