namespace System.Windows.Forms
{
public class Theme
{
#region public static Properties
private static Theme _Default;
///
/// Gets the standard (global, if not defined otherwise on the Ribbon) Ribbon Theme.
///
public static Theme Standard
{
get
{
if (_Default == null)
{
_Default = new Theme();
}
return _Default;
}
}
///
/// If this value is set all ribbons will use the same theme.
/// Otherwise different themes can be applied to multiple ribbon instances, e.g. RibbonDemo!
///
public static bool StandardThemeIsGlobal { get; set; } = true;
#endregion
#region Constructor
public Theme()
{
}
public Theme(RibbonOrbStyle style)
{
Style = style;
}
public Theme(RibbonOrbStyle style, RibbonTheme theme)
: this(style)
{
RibbonTheme = theme;
}
public Theme(RibbonOrbStyle style, RibbonProfesionalRendererColorTable colorTable)
: this(style)
{
RendererColorTable = colorTable;
}
#endregion
#region Properties
public RibbonProfesionalRendererColorTable RendererColorTable { get; set; } = new RibbonProfesionalRendererColorTable();
public RibbonOrbStyle Style { get; set; }
private RibbonTheme _Theme = RibbonTheme.Normal;
public RibbonTheme RibbonTheme
{
get => _Theme;
set
{
_Theme = value;
if (_Theme == RibbonTheme.Blue || _Theme == RibbonTheme.Normal)
RendererColorTable = new RibbonProfesionalRendererColorTable();
else if (_Theme == RibbonTheme.Black)
RendererColorTable = new RibbonProfesionalRendererColorTableBlack();
else if (_Theme == RibbonTheme.Blue_2010)
RendererColorTable = new RibbonProfesionalRendererColorTableBlue2010();
else if (_Theme == RibbonTheme.Green)
RendererColorTable = new RibbonProfesionalRendererColorTableGreen();
else if (_Theme == RibbonTheme.Purple)
RendererColorTable = new RibbonProfesionalRendererColorTablePurple();
else if (_Theme == RibbonTheme.JellyBelly)
RendererColorTable = new RibbonProfesionalRendererColorTableJellyBelly();
else if (_Theme == RibbonTheme.Halloween)
RendererColorTable = new RibbonProfesionalRendererColorTableHalloween();
}
}
#endregion
#region Compatiblity to Release 7 Oct 2013
[Obsolete("Either create a theme for your Ribbon or use 'Standard' instance!")]
public static RibbonProfesionalRendererColorTable ColorTable
{
get => Standard.RendererColorTable;
set => Standard.RendererColorTable = value;
}
[Obsolete("Either create a theme for your Ribbon or use 'Standard' instance!")]
public static RibbonOrbStyle ThemeStyle
{
get => Standard.Style;
set => Standard.Style = value;
}
[Obsolete("Either create a theme for your Ribbon or use 'Standard' instance!")]
public RibbonTheme ThemeColor
{
get => Standard.RibbonTheme;
set => Standard.RibbonTheme = value;
}
#endregion Compatiblity to Release 7 Oct 2013
}
}