using System;
using System.Text;
using System.Drawing;
using System.Collections;
using DevComponents.DotNetBar.Schedule;
using System.Collections.Generic;
using DevComponents.DotNetBar.Controls;
namespace DevComponents.DotNetBar.Rendering
{
    /// 
    /// Represents color table for Office 2007 style.
    /// 
    public class Office2007ColorTable: IElementStyleClassProvider, IDisposable
    {
        #region Private Variables
        private Office2007ButtonItemColorTableCollection m_ButtonItemColors = new Office2007ButtonItemColorTableCollection();
        private Office2007ButtonItemColorTableCollection m_RibbonButtonItemColors = new Office2007ButtonItemColorTableCollection();
        private Office2007ButtonItemColorTableCollection m_MenuButtonItemColors = new Office2007ButtonItemColorTableCollection();
        private Office2007ButtonItemColorTableCollection _ApplicationButtonColors = new Office2007ButtonItemColorTableCollection();
        private Office2007ButtonItemColorTableCollection _BackstageButtonColors = new Office2007ButtonItemColorTableCollection();
        private Office2007ButtonItemColorTableCollection _NavigationPaneButtonItemColors = new Office2007ButtonItemColorTableCollection();
        private Office2007RibbonTabItemColorTableCollection m_RibbonTabItemColors = new Office2007RibbonTabItemColorTableCollection();
        private Office2007RibbonTabGroupColorTableCollection m_RibbonTabGroupColors = new Office2007RibbonTabGroupColorTableCollection();
        private eOffice2007ColorScheme m_ColorScheme = eOffice2007ColorScheme.Blue;
        private Hashtable m_StyleClasses = new Hashtable();
        private Dictionary m_ContextualTables = new Dictionary();
        private ColorFactory m_ColorFactory = new ColorFactory();
        #endregion
        #region Constructor
        /// 
        /// Creates new instance of the object.
        /// 
        public Office2007ColorTable()
        {
            InitializeBlueColorTable(m_ColorFactory);
        }
        /// 
        /// Initializes a new instance of the Office2007ColorTable class.
        /// 
        /// Specifies the color factory for the color table.
        public Office2007ColorTable(ColorFactory colorFactory)
        {
            m_ColorFactory = colorFactory;
            InitializeBlueColorTable(m_ColorFactory);
        }
        private void InitializeBlueColorTable(ColorFactory factory)
        {
            #region RibbonControl Start Images
            this.RibbonControl.StartButtonDefault = BarFunctions.LoadBitmap("SystemImages.BlankStartButtonNormal.png");
            this.RibbonControl.StartButtonMouseOver = BarFunctions.LoadBitmap("SystemImages.BlankStartButtonHot.png");
            this.RibbonControl.StartButtonPressed = BarFunctions.LoadBitmap("SystemImages.BlankStartButtonPressed.png");
            #endregion
            #region RibbonControl
            this.RibbonControl.OuterBorder = new LinearGradientColorTable(factory.GetColor(0x8DB2E3), factory.GetColor(0x88A1C2));
            this.RibbonControl.InnerBorder = new LinearGradientColorTable(factory.GetColor(0xE7EFF8), factory.GetColor(0xC0F9FF));
            this.RibbonControl.TabsBackground = new LinearGradientColorTable(factory.GetColor(0xBFDBFF), Color.Empty);
            this.RibbonControl.TabDividerBorder = factory.GetColor(0xAECAF0);
            this.RibbonControl.TabDividerBorderLight = factory.GetColor(0xD4E3F5);
            this.RibbonControl.CornerSize = 3;
            this.RibbonControl.PanelTopBackgroundHeight = 15;
            this.RibbonControl.PanelTopBackground = new LinearGradientColorTable(factory.GetColor(0xDBE6F4), factory.GetColor(0xCFDDEF));
            this.RibbonControl.PanelBottomBackground = new LinearGradientColorTable(factory.GetColor(0xC9D9ED), factory.GetColor(0xE7F2FF));
            #endregion
            #region Item Group
            this.ItemGroup.OuterBorder = new LinearGradientColorTable(factory.GetColor(0x99B6E0), factory.GetColor(0x7394BD));
            this.ItemGroup.InnerBorder = new LinearGradientColorTable(factory.GetColor(0xD5E3F1), factory.GetColor(0xE3EDFB));
            this.ItemGroup.TopBackground = new LinearGradientColorTable(factory.GetColor(0xC8DBEE), factory.GetColor(0xC9DDF6));
            this.ItemGroup.BottomBackground = new LinearGradientColorTable(factory.GetColor(0xBCD0E9), factory.GetColor(0xD0E1F7));
            this.ItemGroup.ItemGroupDividerDark = Color.FromArgb(196, factory.GetColor(0xB8C8DC));
            this.ItemGroup.ItemGroupDividerLight = Color.FromArgb(128, factory.GetColor(0xFFFFFF));
            #endregion
            #region RibbonBar
            RibbonBar.Default = Office2007ColorTableFactory.GetRibbonBarBlue(factory);
            RibbonBar.MouseOver = Office2007ColorTableFactory.GetRibbonBarBlueMouseOver(factory);
            RibbonBar.Expanded = Office2007ColorTableFactory.GetRibbonBarBlueExpanded(factory);
            #endregion
            #region ButtonItem Colors Initialization
            // Orange
            Office2007ButtonItemColorTable cb = Office2007ColorTableFactory.GetButtonItemBlueOrange(factory);
            cb.Name = Enum.GetName(typeof(eButtonColor), eButtonColor.Orange);
            m_ButtonItemColors.Add(cb);
            // Orange with background
            cb = Office2007ColorTableFactory.GetButtonItemBlueOrangeWithBackground(factory);
            cb.Name = Enum.GetName(typeof(eButtonColor), eButtonColor.OrangeWithBackground);
            m_ButtonItemColors.Add(cb);
            // Blue
            cb = Office2007ColorTableFactory.GetButtonItemBlueBlue(factory);
            cb.Name = Enum.GetName(typeof(eButtonColor), eButtonColor.Blue);
            m_ButtonItemColors.Add(cb);
            // Blue with background
            cb = Office2007ColorTableFactory.GetButtonItemBlueBlueWithBackground(factory);
            cb.Name = Enum.GetName(typeof(eButtonColor), eButtonColor.BlueWithBackground);
            m_ButtonItemColors.Add(cb);
            // Magenta
            cb = Office2007ColorTableFactory.GetButtonItemBlueMagenta(factory);
            cb.Name = Enum.GetName(typeof(eButtonColor), eButtonColor.Magenta);
            m_ButtonItemColors.Add(cb);
            // Blue with background
            cb = Office2007ColorTableFactory.GetButtonItemBlueMagentaWithBackground(factory);
            cb.Name = Enum.GetName(typeof(eButtonColor), eButtonColor.MagentaWithBackground);
            m_ButtonItemColors.Add(cb);
            cb = Office2007ColorTableFactory.GetButtonItemOffice2007WithBackground(factory);
            cb.Name = Enum.GetName(typeof(eButtonColor), eButtonColor.Office2007WithBackground);
            m_ButtonItemColors.Add(cb);
            m_ButtonItemColors.Add(ButtonItemStaticColorTables.CreateBlueOrbColorTable(factory));
            #endregion
            #region RibbonTabItem Colors Initialization
            Office2007RibbonTabItemColorTable rt = Office2007ColorTableFactory.GetRibbonTabItemBlueDefault(factory);
            rt.Name = Enum.GetName(typeof(eRibbonTabColor), eRibbonTabColor.Default);
            m_RibbonTabItemColors.Add(rt);
            // Magenta
            rt = Office2007ColorTableFactory.GetRibbonTabItemBlueMagenta(factory);
            rt.Name = Enum.GetName(typeof(eRibbonTabColor), eRibbonTabColor.Magenta);
            m_RibbonTabItemColors.Add(rt);
            // Green
            rt = Office2007ColorTableFactory.GetRibbonTabItemBlueGreen(factory);
            rt.Name = Enum.GetName(typeof(eRibbonTabColor), eRibbonTabColor.Green);
            m_RibbonTabItemColors.Add(rt);
            // Orange
            rt = Office2007ColorTableFactory.GetRibbonTabItemBlueOrange(factory);
            rt.Name = Enum.GetName(typeof(eRibbonTabColor), eRibbonTabColor.Orange);
            m_RibbonTabItemColors.Add(rt);
            #endregion
            #region RibbonTabItemGroup Colors Initialization
            // Default
            Office2007RibbonTabGroupColorTable tg = Office2007ColorTableFactory.GetRibbonTabGroupBlueDefault(factory);
            tg.Name = Enum.GetName(typeof(eRibbonTabGroupColor), eRibbonTabGroupColor.Default);
            m_RibbonTabGroupColors.Add(tg);
            // Magenta
            tg = Office2007ColorTableFactory.GetRibbonTabGroupBlueMagenta(factory);
            tg.Name = Enum.GetName(typeof(eRibbonTabGroupColor), eRibbonTabGroupColor.Magenta);
            m_RibbonTabGroupColors.Add(tg);
            // Green
            tg = Office2007ColorTableFactory.GetRibbonTabGroupBlueGreen(factory);
            tg.Name = Enum.GetName(typeof(eRibbonTabGroupColor), eRibbonTabGroupColor.Green);
            m_RibbonTabGroupColors.Add(tg);
            // Orange
            tg = Office2007ColorTableFactory.GetRibbonTabGroupBlueOrange(factory);
            tg.Name = Enum.GetName(typeof(eRibbonTabGroupColor), eRibbonTabGroupColor.Orange);
            m_RibbonTabGroupColors.Add(tg);
            #endregion
            #region Initialize Bar
            Bar.ToolbarTopBackground = new LinearGradientColorTable(factory.GetColor(0xD7E6F9), factory.GetColor(0xC7DCF8));
            Bar.ToolbarBottomBackground = new LinearGradientColorTable(factory.GetColor(0xB3D0F5), factory.GetColor(0xD7E5F7));
            Bar.ToolbarBottomBorder = factory.GetColor(0xBAD4F7);
            Bar.PopupToolbarBackground = new LinearGradientColorTable(factory.GetColor(0xFAFAFA), Color.Empty);
            Bar.PopupToolbarBorder = factory.GetColor(0x868686);
            Bar.StatusBarTopBorder = factory.GetColor(0x567DB0);
            Bar.StatusBarTopBorderLight = factory.GetColor(Color.FromArgb(148, Color.White));
            Bar.StatusBarAltBackground.Clear();
            Bar.StatusBarAltBackground.Add(new BackgroundColorBlend(factory.GetColor(0xC5DCF8), 0f));
            Bar.StatusBarAltBackground.Add(new BackgroundColorBlend(factory.GetColor(0xA9CAF7), 0.4f));
            Bar.StatusBarAltBackground.Add(new BackgroundColorBlend(factory.GetColor(0x90B6EA), 0.4f));
            Bar.StatusBarAltBackground.Add(new BackgroundColorBlend(factory.GetColor(0x7495C2), 1f));
            #endregion
            #region Menu
            this.Menu.Background = new LinearGradientColorTable(factory.GetColor(0xFAFAFA), Color.Empty);
            this.Menu.Border = new LinearGradientColorTable(factory.GetColor(0x868686), Color.Empty);
            this.Menu.Side = new LinearGradientColorTable(factory.GetColor(0xE9EEEE), Color.Empty);
            this.Menu.SideBorder = new LinearGradientColorTable(factory.GetColor(0xC5C5C5), Color.Empty);
            this.Menu.SideBorderLight = new LinearGradientColorTable(factory.GetColor(0xF5F5F5), Color.Empty);
            this.Menu.SideUnused = new LinearGradientColorTable(factory.GetColor(0xE5E5E5), Color.Empty);
            this.Menu.FileBackgroundBlend.Clear();
            this.Menu.FileBackgroundBlend.AddRange(new DevComponents.DotNetBar.BackgroundColorBlend[] {
                new DevComponents.DotNetBar.BackgroundColorBlend(System.Drawing.Color.FromArgb(((int)(((byte)(215)))), ((int)(((byte)(229)))), ((int)(((byte)(247))))), 0F),
                new DevComponents.DotNetBar.BackgroundColorBlend(System.Drawing.Color.FromArgb(((int)(((byte)(218)))), ((int)(((byte)(231)))), ((int)(((byte)(247))))), 4F),
                new DevComponents.DotNetBar.BackgroundColorBlend(System.Drawing.Color.FromArgb(((int)(((byte)(207)))), ((int)(((byte)(223)))), ((int)(((byte)(243))))), 4F),
                new DevComponents.DotNetBar.BackgroundColorBlend(System.Drawing.Color.FromArgb(((int)(((byte)(189)))), ((int)(((byte)(211)))), ((int)(((byte)(239))))), 1F)});
            this.Menu.FileContainerBorder = Color.White;
            this.Menu.FileContainerBorderLight = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(175)))), ((int)(((byte)(202)))));
            this.Menu.FileColumnOneBackground = factory.GetColor(0xFAFAFA);
            this.Menu.FileColumnOneBorder = factory.GetColor(0xC5C5C5);
            this.Menu.FileColumnTwoBackground = factory.GetColor(0xE9EAEE);
            this.Menu.FileBottomContainerBackgroundBlend.Clear();
            this.Menu.FileBottomContainerBackgroundBlend.AddRange(new DevComponents.DotNetBar.BackgroundColorBlend[] {
                new DevComponents.DotNetBar.BackgroundColorBlend(System.Drawing.Color.FromArgb(((int)(((byte)(189)))), ((int)(((byte)(211)))), ((int)(((byte)(239))))), 0F),
                new DevComponents.DotNetBar.BackgroundColorBlend(System.Drawing.Color.FromArgb(((int)(((byte)(190)))), ((int)(((byte)(212)))), ((int)(((byte)(240))))), 0.4F),
                new DevComponents.DotNetBar.BackgroundColorBlend(System.Drawing.Color.FromArgb(((int)(((byte)(176)))), ((int)(((byte)(201)))), ((int)(((byte)(234))))), 0.4F),
                new DevComponents.DotNetBar.BackgroundColorBlend(System.Drawing.Color.FromArgb(((int)(((byte)(207)))), ((int)(((byte)(224)))), ((int)(((byte)(245))))), 1F)});
            #endregion
            #region ComboBox
            this.ComboBox.Default.Background = factory.GetColor(0xEAF2FB);
            this.ComboBox.Default.Border = factory.GetColor(0xABC1DE);
            this.ComboBox.Default.ExpandBackground = new LinearGradientColorTable();
            this.ComboBox.Default.ExpandBorderInner = new LinearGradientColorTable();
            this.ComboBox.Default.ExpandBorderOuter = new LinearGradientColorTable();
            this.ComboBox.Default.ExpandText = factory.GetColor(0x15428B);
            this.ComboBox.DefaultStandalone.Background = factory.GetColor(0xFFFFFF);
            int editBorderColor = 0xB3C7E1;
            this.ComboBox.DefaultStandalone.Border = factory.GetColor(editBorderColor);
            this.ComboBox.DefaultStandalone.ExpandBackground = new LinearGradientColorTable(factory.GetColor(0xE4F0FE), factory.GetColor(0xCFDFF3), 90);
            this.ComboBox.DefaultStandalone.ExpandBorderInner = new LinearGradientColorTable();
            this.ComboBox.DefaultStandalone.ExpandBorderOuter = new LinearGradientColorTable(factory.GetColor(0xAFC4DF), Color.Empty, 90);
            this.ComboBox.DefaultStandalone.ExpandText = factory.GetColor(0x15428B);
            this.ComboBox.MouseOver.Background = factory.GetColor(0xFFFFFF);
            this.ComboBox.MouseOver.Border = factory.GetColor(editBorderColor);
            this.ComboBox.MouseOver.ExpandBackground = new LinearGradientColorTable(factory.GetColor(0xFFFCE2), factory.GetColor(0xFFE7A5), 90);
            this.ComboBox.MouseOver.ExpandBorderInner = new LinearGradientColorTable(factory.GetColor(0xFFFFFB), factory.GetColor(0xFFFCF3), 90);
            this.ComboBox.MouseOver.ExpandBorderOuter = new LinearGradientColorTable(factory.GetColor(0xDBCE99), Color.Empty, 90);
            this.ComboBox.MouseOver.ExpandText = factory.GetColor(0x15428B);
            this.ComboBox.DroppedDown.Background = factory.GetColor(0xFFFFFF);
            this.ComboBox.DroppedDown.Border = factory.GetColor(editBorderColor);
            this.ComboBox.DroppedDown.ExpandBackground = new LinearGradientColorTable(factory.GetColor(0xEAE0BF), factory.GetColor(0xFFD456), 90);
            this.ComboBox.DroppedDown.ExpandBorderInner = new LinearGradientColorTable(factory.GetColor(0xF1EBD5), factory.GetColor(0xFFE694), 90);
            this.ComboBox.DroppedDown.ExpandBorderOuter = new LinearGradientColorTable(factory.GetColor(0x9A8F63), Color.Empty, 90);
            this.ComboBox.DroppedDown.ExpandText = factory.GetColor(0x15428B);
            #endregion
            #region Dialog Launcher
            this.DialogLauncher.Default.DialogLauncher = factory.GetColor(0x668EAF);
            this.DialogLauncher.Default.DialogLauncherShade = factory.GetColor(0xFFFFFF);
            this.DialogLauncher.MouseOver.DialogLauncher = factory.GetColor(0x668EAF);
            this.DialogLauncher.MouseOver.DialogLauncherShade = Color.FromArgb(192, factory.GetColor(0xFFFFFF));
            this.DialogLauncher.MouseOver.TopBackground = new LinearGradientColorTable(factory.GetColor(0xFFFCDF), factory.GetColor(0xFFEFA7));
            this.DialogLauncher.MouseOver.BottomBackground = new LinearGradientColorTable(factory.GetColor(0xFFD975), factory.GetColor(0xFFE398));
            this.DialogLauncher.MouseOver.InnerBorder = new LinearGradientColorTable(factory.GetColor(0xFFFFFB), factory.GetColor(0xFFFBF2));
            this.DialogLauncher.MouseOver.OuterBorder = new LinearGradientColorTable(factory.GetColor(0xDBCE99), Color.Empty);
            this.DialogLauncher.Pressed.DialogLauncher = factory.GetColor(0x668EAF);
            this.DialogLauncher.Pressed.DialogLauncherShade = Color.FromArgb(192, factory.GetColor(0xFFFFFF));
            this.DialogLauncher.Pressed.TopBackground = new LinearGradientColorTable(factory.GetColor(0xE8DEBD), factory.GetColor(0xEAC68D));
            this.DialogLauncher.Pressed.BottomBackground = new LinearGradientColorTable(factory.GetColor(0xFFA738), factory.GetColor(0xFFCC4E));
            this.DialogLauncher.Pressed.InnerBorder = new LinearGradientColorTable(factory.GetColor(0xF0EAD4), factory.GetColor(0xFFE391));
            this.DialogLauncher.Pressed.OuterBorder = new LinearGradientColorTable(factory.GetColor(0x9A8F63), factory.GetColor(0xB0A472));
            #endregion
            #region System Button, Form
            // Default state no background
            this.SystemButton.Default = new Office2007SystemButtonStateColorTable();
            this.SystemButton.Default.Foreground = new LinearGradientColorTable(factory.GetColor(0x798DA7), factory.GetColor(0x8BA7CC));
            this.SystemButton.Default.LightShade = factory.GetColor(0xF8F9FA);
            this.SystemButton.Default.DarkShade = factory.GetColor(0x656565);
            // Mouse over state
            this.SystemButton.MouseOver = new Office2007SystemButtonStateColorTable();
            this.SystemButton.MouseOver.Foreground = new LinearGradientColorTable(factory.GetColor(0x798DA7), factory.GetColor(0x8BA7CC));
            this.SystemButton.MouseOver.LightShade = factory.GetColor(0xF8F9FA);
            this.SystemButton.MouseOver.DarkShade = factory.GetColor(0x656565);
            this.SystemButton.MouseOver.TopBackground = new LinearGradientColorTable(factory.GetColor(0xF5F8FE), factory.GetColor(0xEAF2FF));
            this.SystemButton.MouseOver.BottomBackground = new LinearGradientColorTable(factory.GetColor(0xD2E4FE), factory.GetColor(0xD1E2FB));
            this.SystemButton.MouseOver.TopHighlight = new LinearGradientColorTable(factory.GetColor(0xFBFCFF), Color.Transparent);
            this.SystemButton.MouseOver.BottomHighlight = new LinearGradientColorTable(factory.GetColor(0xFBFCFF), Color.Transparent);
            this.SystemButton.MouseOver.OuterBorder = new LinearGradientColorTable(factory.GetColor(0xC1D4EE), factory.GetColor(0xAAC4E9));
            this.SystemButton.MouseOver.InnerBorder = new LinearGradientColorTable(factory.GetColor(0xFEFEFF), factory.GetColor(0xE6F4FE));
            // Pressed
            this.SystemButton.Pressed = new Office2007SystemButtonStateColorTable();
            this.SystemButton.Pressed.Foreground = new LinearGradientColorTable(factory.GetColor(0x798DA7), factory.GetColor(0x8BA7CC));
            this.SystemButton.Pressed.LightShade = factory.GetColor(0xF8F9FA);
            this.SystemButton.Pressed.DarkShade = factory.GetColor(0x656565);
            this.SystemButton.Pressed.TopBackground = new LinearGradientColorTable(factory.GetColor(0xBAD5F8), factory.GetColor(0x9EC2ED));
            this.SystemButton.Pressed.TopHighlight = new LinearGradientColorTable(factory.GetColor(0xB8CEE9), Color.Transparent);
            this.SystemButton.Pressed.BottomBackground = new LinearGradientColorTable(factory.GetColor(0x84B2E9), factory.GetColor(0xAFD6F7));
            this.SystemButton.Pressed.BottomHighlight = new LinearGradientColorTable(factory.GetColor(0xC6EAFD), Color.Transparent);
            this.SystemButton.Pressed.OuterBorder = new LinearGradientColorTable(factory.GetColor(0xA1BFE5), factory.GetColor(0xB2CAE7));
            this.SystemButton.Pressed.InnerBorder = new LinearGradientColorTable(factory.GetColor(0xD3E6FF), factory.GetColor(0xDCE9FB));
            // Form border
            this.Form.Active.BorderColors = new Color[] {
                factory.GetColor(0x3B5A82),
                factory.GetColor(0xB1C6E1),
                factory.GetColor(0xC2D9F7),
                factory.GetColor(0xBFDBFF),
                factory.GetColor(0xBFDBFF)};
            this.Form.Inactive.BorderColors = new Color[] {
                factory.GetColor(0xC0C6CE),
                factory.GetColor(0xCCD6E2),
                factory.GetColor(0xD4DEEC),
                factory.GetColor(0xBFDBFF),
                factory.GetColor(0xBFDBFF)};
            // Form Caption Active
            this.Form.Active.CaptionTopBackground = new LinearGradientColorTable(factory.GetColor(0xE4EBF6), factory.GetColor(0xDAE9FD));
            this.Form.Active.CaptionBottomBackground = new LinearGradientColorTable(factory.GetColor(0xCADEF7), factory.GetColor(0xE4EFFD));
            this.Form.Active.CaptionBottomBorder = new Color[] { factory.GetColor(0xDCF4FE), factory.GetColor(0xB0CFF7) };
            this.Form.Active.CaptionText = factory.GetColor(0x3E6AAA);
            this.Form.Active.CaptionTextExtra = factory.GetColor(0x697079);
            // Form Caption Inactive
            this.Form.Inactive.CaptionTopBackground = new LinearGradientColorTable(factory.GetColor(0xE3E7EC), factory.GetColor(0xDEE5ED));
            this.Form.Inactive.CaptionBottomBackground = new LinearGradientColorTable(factory.GetColor(0xD8E1EC), factory.GetColor(0xE3E8EF));
            this.Form.Inactive.CaptionText = factory.GetColor(0xA0A0A0);
            this.Form.Inactive.CaptionTextExtra = factory.GetColor(0xA0A0A0);
            this.Form.BackColor = factory.GetColor(0xC2D9F7);
            this.Form.TextColor = factory.GetColor(0x15428B);
            #endregion
            #region Quick Access Toolbar Background
            this.QuickAccessToolbar.Active.TopBackground = new LinearGradientColorTable(factory.GetColor(0xDEE7F4), factory.GetColor(0xE6EEF9));
            this.QuickAccessToolbar.Active.BottomBackground = new LinearGradientColorTable(factory.GetColor(0xDBE7F7), factory.GetColor(0xC9D9EE));
            this.QuickAccessToolbar.Active.OutterBorderColor = factory.GetColor(0xF6F9FC);
            this.QuickAccessToolbar.Active.MiddleBorderColor = factory.GetColor(0x9AB3D5);
            this.QuickAccessToolbar.Active.InnerBorderColor = Color.Empty; //  factory.GetColor(0xD2E3F9);
            this.QuickAccessToolbar.Inactive.TopBackground = new LinearGradientColorTable(factory.GetColor(0xE6ECF3), factory.GetColor(0xCED8E6));
            this.QuickAccessToolbar.Inactive.BottomBackground = new LinearGradientColorTable(factory.GetColor(0xCED8E6), factory.GetColor(0xC8D3E3));
            this.QuickAccessToolbar.Inactive.OutterBorderColor = factory.GetColor(0xF6F9FC);
            this.QuickAccessToolbar.Inactive.MiddleBorderColor = factory.GetColor(0x9AB3D5);
            this.QuickAccessToolbar.Inactive.InnerBorderColor = Color.Empty;
            this.QuickAccessToolbar.Standalone.TopBackground = new LinearGradientColorTable();
            this.QuickAccessToolbar.Standalone.BottomBackground = new LinearGradientColorTable(factory.GetColor(0xB2CDED), factory.GetColor(0xAAC5EA));
            this.QuickAccessToolbar.Standalone.OutterBorderColor = factory.GetColor(0x7EA1CD);
            this.QuickAccessToolbar.Standalone.MiddleBorderColor = Color.Empty;
            this.QuickAccessToolbar.Standalone.InnerBorderColor = factory.GetColor(0xDCE8F7);
            this.QuickAccessToolbar.QatCustomizeMenuLabelBackground = factory.GetColor(0xDDE7EE);
            this.QuickAccessToolbar.QatCustomizeMenuLabelText = factory.GetColor(0x00156E);
            this.QuickAccessToolbar.Active.GlassBorder = new LinearGradientColorTable(factory.GetColor(Color.FromArgb(132, Color.Black)), Color.FromArgb(80, Color.Black));
            this.QuickAccessToolbar.Inactive.GlassBorder = new LinearGradientColorTable(factory.GetColor(Color.FromArgb(132, Color.Black)), Color.FromArgb(80, Color.Black));
            #endregion
            #region Tab Colors
            this.TabControl.Default = new Office2007TabItemStateColorTable();
            this.TabControl.Default.TopBackground = new LinearGradientColorTable(factory.GetColor(0xD7E6F9), factory.GetColor(0xC7DCF8));
            this.TabControl.Default.BottomBackground = new LinearGradientColorTable(factory.GetColor(0xB3D0F5), factory.GetColor(0xD7E5F7));
            this.TabControl.Default.InnerBorder = factory.GetColor(0xF3F7FD);
            this.TabControl.Default.OuterBorder = factory.GetColor(0x92A5C7);
            this.TabControl.Default.Text = factory.GetColor(0x154A93);
            this.TabControl.MouseOver = new Office2007TabItemStateColorTable();
            this.TabControl.MouseOver.TopBackground = new LinearGradientColorTable(factory.GetColor(0xFFFDEB), factory.GetColor(0xFFECA8));
            this.TabControl.MouseOver.BottomBackground = new LinearGradientColorTable(factory.GetColor(0xFFDA59), factory.GetColor(0xFFE68D));
            this.TabControl.MouseOver.InnerBorder = factory.GetColor(0xFFFFFB);
            this.TabControl.MouseOver.OuterBorder = factory.GetColor(0xB69D73);
            this.TabControl.MouseOver.Text = factory.GetColor(0x154A93);
            this.TabControl.Selected = new Office2007TabItemStateColorTable();
            //this.TabControl.Selected.TopBackground = new LinearGradientColorTable(factory.GetColor(0xFFD29B), factory.GetColor(0xFFBB6E));
            this.TabControl.Selected.TopBackground = new LinearGradientColorTable(factory.GetColor(Color.White), factory.GetColor(0xFDFDFE));
            //this.TabControl.Selected.BottomBackground = new LinearGradientColorTable(factory.GetColor(0xFFAF44), factory.GetColor(0xFEDC75));
            this.TabControl.Selected.BottomBackground = new LinearGradientColorTable(factory.GetColor(0xFDFDFE), factory.GetColor(0xFDFDFE));
            //this.TabControl.Selected.InnerBorder = factory.GetColor(0xCDB69C);
            this.TabControl.Selected.InnerBorder = factory.GetColor(Color.White);
            //this.TabControl.Selected.OuterBorder = factory.GetColor(0x95774A);
            this.TabControl.Selected.OuterBorder = factory.GetColor(0x92A5C7);
            this.TabControl.Selected.Text = factory.GetColor(0x154A93);
            this.TabControl.TabBackground = new LinearGradientColorTable(factory.GetColor(0xE3EFFF), factory.GetColor(0xB0D2FF));
            this.TabControl.TabPanelBackground = new LinearGradientColorTable(factory.GetColor(0xFDFDFE), factory.GetColor(0x9DBCE3));
            this.TabControl.TabPanelBorder = factory.GetColor(0x92A5C7);
            #endregion
            #region CheckBoxItem
            Office2007CheckBoxColorTable chk = this.CheckBoxItem;
            chk.Default.CheckBackground = new LinearGradientColorTable(factory.GetColor(0xF4F4F4), Color.Empty);
            chk.Default.CheckBorder = factory.GetColor(0xABC1DE);
            chk.Default.CheckInnerBackground = new LinearGradientColorTable(Color.FromArgb(192, factory.GetColor(0xA2ACB9)), Color.FromArgb(164, factory.GetColor(0xF6F6F6)));
            chk.Default.CheckInnerBorder = factory.GetColor(0xA2ACB9);
            chk.Default.CheckSign = new LinearGradientColorTable(factory.GetColor(0x4A6B96), Color.Empty);
            chk.Default.Text = factory.GetColor(0x15428B);
            chk.MouseOver.CheckBackground = new LinearGradientColorTable(factory.GetColor(0xDEEAFA), Color.Empty);
            chk.MouseOver.CheckBorder = factory.GetColor(0x5577A3);
            chk.MouseOver.CheckInnerBackground = new LinearGradientColorTable(Color.FromArgb(192, factory.GetColor(0xFAD57A)), Color.FromArgb(128, factory.GetColor(0xFEF8E7)));
            chk.MouseOver.CheckInnerBorder = factory.GetColor(0xFAD57A);
            chk.MouseOver.CheckSign = new LinearGradientColorTable(factory.GetColor(0x4A6B96), Color.Empty);
            chk.MouseOver.Text = factory.GetColor(0x15428B);
            chk.Pressed.CheckBackground = new LinearGradientColorTable(factory.GetColor(0xC1D8F5), Color.Empty);
            chk.Pressed.CheckBorder = factory.GetColor(0x5577A3);
            chk.Pressed.CheckInnerBackground = new LinearGradientColorTable(Color.FromArgb(192, factory.GetColor(0xF28926)), Color.FromArgb(164, factory.GetColor(0xFFF4D5)));
            chk.Pressed.CheckInnerBorder = factory.GetColor(0xF28926);
            chk.Pressed.CheckSign = new LinearGradientColorTable(factory.GetColor(0x4A6B96), Color.Empty);
            chk.Pressed.Text = factory.GetColor(0x15428B);
            chk.Disabled.CheckBackground = new LinearGradientColorTable(factory.GetColor(0xFFFFFF), Color.Empty);
            chk.Disabled.CheckBorder = factory.GetColor(0xAEB1B5);
            chk.Disabled.CheckInnerBackground = new LinearGradientColorTable(Color.FromArgb(192, factory.GetColor(0xE0E2E5)), Color.FromArgb(164, factory.GetColor(0xFBFBFB)));
            chk.Disabled.CheckInnerBorder = factory.GetColor(0xE0E2E5);
            chk.Disabled.CheckSign = new LinearGradientColorTable(factory.GetColor(0x8D8D8D), Color.Empty);
            chk.Disabled.Text = factory.GetColor(0x8D8D8D);
            #endregion
            #region Scroll Bar Colors
            Office2007ColorTableFactory.InitializeScrollBarColorTable(this, factory);
            Office2007ColorTableFactory.InitializeAppBlueScrollBarColorTable(this, factory);
            #endregion
            #region ProgressBarItem
            Office2007ProgressBarColorTable pct = this.ProgressBarItem;
            pct.BackgroundColors = new GradientColorTable(0xC6CBD5, 0xE0E4ED);
            pct.OuterBorder = factory.GetColor(0xDEE2EC);
            pct.InnerBorder = factory.GetColor(0x7496C2);
            pct.Chunk = new GradientColorTable(0x69922A, 0xE7F2D4, 0);
            pct.ChunkOverlay = new GradientColorTable();
            pct.ChunkOverlay.LinearGradientAngle = 90;
            pct.ChunkOverlay.Colors.AddRange(new BackgroundColorBlend[] {
                new BackgroundColorBlend(Color.FromArgb(192, factory.GetColor(0xEEFFD7)), 0f),
                new BackgroundColorBlend(Color.FromArgb(128, factory.GetColor(0x8DB254)), .5f),
                new BackgroundColorBlend(Color.FromArgb(64, factory.GetColor(0x69922B)), .5f),
                new BackgroundColorBlend(Color.Transparent, 1f),
            });
            pct.ChunkShadow = new GradientColorTable(0xB2B9C8, 0xD5DAE5, 0);
            // Paused State
            pct = this.ProgressBarItemPaused;
            pct.BackgroundColors = new GradientColorTable(0xC6CBD5, 0xE0E4ED);
            pct.OuterBorder = factory.GetColor(0xDEE2EC);
            pct.InnerBorder = factory.GetColor(0x7496C2);
            pct.Chunk = new GradientColorTable(0xAEA700, 0xFFFDCD, 0);
            pct.ChunkOverlay = new GradientColorTable();
            pct.ChunkOverlay.LinearGradientAngle = 90;
            pct.ChunkOverlay.Colors.AddRange(new BackgroundColorBlend[] {
                new BackgroundColorBlend(Color.FromArgb(192, factory.GetColor(0xFFFBA3)), 0f),
                new BackgroundColorBlend(Color.FromArgb(128, factory.GetColor(0xD2CA00)), .5f),
                new BackgroundColorBlend(Color.FromArgb(64, factory.GetColor(0xFEF400)), .5f),
                new BackgroundColorBlend(Color.Transparent, 1f),
            });
            pct.ChunkShadow = new GradientColorTable(0xB2B9C8, 0xD5DAE5, 0);
            // Error State
            pct = this.ProgressBarItemError;
            pct.BackgroundColors = new GradientColorTable(0xC6CBD5, 0xE0E4ED);
            pct.OuterBorder = factory.GetColor(0xDEE2EC);
            pct.InnerBorder = factory.GetColor(0x7496C2);
            pct.Chunk = new GradientColorTable(0xD20000, 0xFFCDCD, 0);
            pct.ChunkOverlay = new GradientColorTable();
            pct.ChunkOverlay.LinearGradientAngle = 90;
            pct.ChunkOverlay.Colors.AddRange(new BackgroundColorBlend[] {
                new BackgroundColorBlend(Color.FromArgb(192, factory.GetColor(0xFF8F8F)), 0f),
                new BackgroundColorBlend(Color.FromArgb(128, factory.GetColor(0xD20000)), .5f),
                new BackgroundColorBlend(Color.FromArgb(64, factory.GetColor(0xFE0000)), .5f),
                new BackgroundColorBlend(Color.Transparent, 1f),
            });
            pct.ChunkShadow = new GradientColorTable(0xB2B9C8, 0xD5DAE5, 0);
            #endregion
            #region Gallery
            Office2007GalleryColorTable gallery = this.Gallery;
            gallery.GroupLabelBackground = factory.GetColor(0xDDE7EE);
            gallery.GroupLabelText = factory.GetColor(0x00156E);
            gallery.GroupLabelBorder = factory.GetColor(0xC5C5C5);
            #endregion
            #region Legacy Colors
            this.LegacyColors.BarBackground = factory.GetColor(0xE3EFFF);
            this.LegacyColors.BarBackground2 = factory.GetColor(0xA9CEFE);
            this.LegacyColors.BarStripeColor = factory.GetColor(0x6F9DD9);
            this.LegacyColors.BarCaptionBackground = factory.GetColor(0x6593CF);
            this.LegacyColors.BarCaptionBackground2 = factory.GetColor(0x3764A0);
            this.LegacyColors.BarCaptionInactiveBackground = factory.GetColor(0xE3EFFF);
            this.LegacyColors.BarCaptionInactiveBackground2 = factory.GetColor(0xAFD2FF);
            this.LegacyColors.BarCaptionInactiveText = factory.GetColor(0x083772);
            this.LegacyColors.BarCaptionText = factory.GetColor(0xFFFFFF);
            this.LegacyColors.BarFloatingBorder = factory.GetColor(0x3764A0);
            this.LegacyColors.BarPopupBackground = factory.GetColor(0xF6F6F6);
            this.LegacyColors.BarPopupBorder = factory.GetColor(0x6593CF);
            this.LegacyColors.ItemBackground = Color.Empty;
            this.LegacyColors.ItemBackground2 = Color.Empty;
            this.LegacyColors.ItemCheckedBackground = factory.GetColor(0xFCD578);
            this.LegacyColors.ItemCheckedBackground2 = factory.GetColor(0xFBC84F);
            this.LegacyColors.ItemCheckedBorder = factory.GetColor(0xBB5503);
            this.LegacyColors.ItemCheckedText = factory.GetColor(0x000000);
            this.LegacyColors.ItemDisabledBackground = Color.Empty;
            this.LegacyColors.ItemDisabledText = factory.GetColor(0x8D8D8D);
            this.LegacyColors.ItemExpandedShadow = Color.Empty;
            this.LegacyColors.ItemExpandedBackground = factory.GetColor(0xE3EFFE);
            this.LegacyColors.ItemExpandedBackground2 = factory.GetColor(0x99BFF0);
            this.LegacyColors.ItemExpandedText = factory.GetColor(0x000000);
            this.LegacyColors.ItemHotBackground = factory.GetColor(0xFFF5CC);
            this.LegacyColors.ItemHotBackground2 = factory.GetColor(0xFFDB75);
            this.LegacyColors.ItemHotBorder = factory.GetColor(0xFFBD69);
            this.LegacyColors.ItemHotText = factory.GetColor(0x000000);
            this.LegacyColors.ItemPressedBackground = factory.GetColor(0xFC973D);
            this.LegacyColors.ItemPressedBackground2 = factory.GetColor(0xFFB85E);
            this.LegacyColors.ItemPressedBorder = factory.GetColor(0xFB8C3C);
            this.LegacyColors.ItemPressedText = factory.GetColor(0x000000);
            this.LegacyColors.ItemSeparator = Color.FromArgb(80, factory.GetColor(0x9AC6FF));
            this.LegacyColors.ItemSeparatorShade = Color.FromArgb(250, factory.GetColor(0xFFFFFF));
            this.LegacyColors.ItemText = factory.GetColor(0x000000); // SystemColors.ControlTet;
            this.LegacyColors.MenuBackground = factory.GetColor(0xF6F6F6);
            this.LegacyColors.MenuBackground2 = Color.Empty; // Color.White;
            this.LegacyColors.MenuBarBackground = factory.GetColor(0xBFDBFF);
            this.LegacyColors.MenuBorder = factory.GetColor(0x6593CF);
            this.LegacyColors.ItemExpandedBorder = this.LegacyColors.MenuBorder;
            this.LegacyColors.MenuSide = factory.GetColor(0xE9EEEE);
            this.LegacyColors.MenuSide2 = Color.Empty; // factory.GetColor(0xDDE0E8);
            this.LegacyColors.MenuUnusedBackground = this.LegacyColors.MenuBackground;
            this.LegacyColors.MenuUnusedSide = factory.GetColor(0xDADADA);
            this.LegacyColors.MenuUnusedSide2 = Color.Empty;// System.Windows.Forms.ControlPaint.Light(this.LegacyColors.MenuSide2);
            this.LegacyColors.ItemDesignTimeBorder = Color.Black;
            this.LegacyColors.BarDockedBorder = factory.GetColor(0x6F9DD9);
            this.LegacyColors.DockSiteBackColor = factory.GetColor(0xBFDBFF);
            this.LegacyColors.DockSiteBackColor2 = Color.Empty;
            this.LegacyColors.CustomizeBackground = factory.GetColor(0xD7E8FF);
            this.LegacyColors.CustomizeBackground2 = factory.GetColor(0x6F9DD9);
            this.LegacyColors.CustomizeText = factory.GetColor(0x000000);
            this.LegacyColors.PanelBackground = factory.GetColor(0xE3EFFF);
            this.LegacyColors.PanelBackground2 = factory.GetColor(0xAFD2FF);
            this.LegacyColors.PanelText = factory.GetColor(0x083772);
            this.LegacyColors.PanelBorder = factory.GetColor(0x6593CF);
            this.LegacyColors.ExplorerBarBackground = factory.GetColor(0xC4C8D4);
            this.LegacyColors.ExplorerBarBackground2 = factory.GetColor(0xB1B3C8);
            #endregion
            #region Navigation Pane
            this.NavigationPane.ButtonBackground = new GradientColorTable();
            this.NavigationPane.ButtonBackground.Colors.Add(new BackgroundColorBlend(factory.GetColor(0xE3EFFF), 0));
            this.NavigationPane.ButtonBackground.Colors.Add(new BackgroundColorBlend(factory.GetColor(0xC4DDFF), .4f));
            this.NavigationPane.ButtonBackground.Colors.Add(new BackgroundColorBlend(factory.GetColor(0xADD1FF), .4f));
            this.NavigationPane.ButtonBackground.Colors.Add(new BackgroundColorBlend(factory.GetColor(0xC0DBFF), 1));
            #endregion
            #region SuperTooltip
            this.SuperTooltip.BackgroundColors = new LinearGradientColorTable(factory.GetColor(0xFFFFFF), factory.GetColor(0xC9D9EF));
            this.SuperTooltip.TextColor = factory.GetColor(0x4C4C4C);
            #endregion
            #region Slider
            Office2007SliderColorTable sl = this.Slider;
            sl.Default.LabelColor = factory.GetColor(0x0A207D);
            sl.Default.SliderLabelColor = factory.GetColor(0x1E395B);
            sl.Default.PartBackground = new GradientColorTable();
            sl.Default.PartBackground.Colors.Add(new BackgroundColorBlend(factory.GetColor(0xFFFFFF), 0));
            sl.Default.PartBackground.Colors.Add(new BackgroundColorBlend(factory.GetColor(0xF1F6FC), .15f));
            sl.Default.PartBackground.Colors.Add(new BackgroundColorBlend(factory.GetColor(0xAEC9EE), .5f));
            sl.Default.PartBackground.Colors.Add(new BackgroundColorBlend(factory.GetColor(0x6A98D0), .5f));
            sl.Default.PartBackground.Colors.Add(new BackgroundColorBlend(factory.GetColor(0xF1F6FC), 1f));
            sl.Default.PartBorderColor = factory.GetColor(0x2F578D);
            sl.Default.PartBorderLightColor = Color.FromArgb(96, factory.GetColor(0xFFFFFF));
            sl.Default.PartForeColor = factory.GetColor(0x566375);
            sl.Default.PartForeLightColor = Color.FromArgb(168, factory.GetColor(0xE7F0F9));
            sl.Default.TrackLineColor = factory.GetColor(0x7496C2);
            sl.Default.TrackLineLightColor = factory.GetColor(0xDEE2EC);
            sl.MouseOver.LabelColor = factory.GetColor(0x092061);
            sl.MouseOver.SliderLabelColor = factory.GetColor(0x1E395B);
            sl.MouseOver.PartBackground = new GradientColorTable();
            sl.MouseOver.PartBackground.Colors.Add(new BackgroundColorBlend(factory.GetColor(0xFFFFFF), 0));
            sl.MouseOver.PartBackground.Colors.Add(new BackgroundColorBlend(factory.GetColor(0xFFFDF5), .2f));
            sl.MouseOver.PartBackground.Colors.Add(new BackgroundColorBlend(factory.GetColor(0xFFDF83), .5f));
            sl.MouseOver.PartBackground.Colors.Add(new BackgroundColorBlend(factory.GetColor(0xDDA70D), .5f));
            sl.MouseOver.PartBackground.Colors.Add(new BackgroundColorBlend(factory.GetColor(0xFFF4CE), .85f));
            sl.MouseOver.PartBackground.Colors.Add(new BackgroundColorBlend(factory.GetColor(0xFFF4CE), 1f));
            sl.MouseOver.PartBorderColor = factory.GetColor(0x2F578D);
            sl.MouseOver.PartBorderLightColor = Color.FromArgb(96, factory.GetColor(0xFFFFFF));
            sl.MouseOver.PartForeColor = factory.GetColor(0x67624A);
            sl.MouseOver.PartForeLightColor = Color.FromArgb(168, factory.GetColor(0xE7F0F9));
            sl.MouseOver.TrackLineColor = factory.GetColor(0x7496C2);
            sl.MouseOver.TrackLineLightColor = factory.GetColor(0xDEE2EC);
            sl.Pressed.LabelColor = factory.GetColor(0x092061);
            sl.Pressed.SliderLabelColor = factory.GetColor(0x1E395B);
            sl.Pressed.PartBackground = new GradientColorTable();
            sl.Pressed.PartBackground.Colors.Add(new BackgroundColorBlend(factory.GetColor(0xDB7518), 0));
            sl.Pressed.PartBackground.Colors.Add(new BackgroundColorBlend(factory.GetColor(0xF7902F), .2f));
            sl.Pressed.PartBackground.Colors.Add(new BackgroundColorBlend(factory.GetColor(0xF9C18B), .5f));
            sl.Pressed.PartBackground.Colors.Add(new BackgroundColorBlend(factory.GetColor(0xED7400), .5f));
            sl.Pressed.PartBackground.Colors.Add(new BackgroundColorBlend(factory.GetColor(0xFFC188), .85f));
            sl.Pressed.PartBackground.Colors.Add(new BackgroundColorBlend(factory.GetColor(0xF2D2B5), 1f));
            sl.Pressed.PartBorderColor = factory.GetColor(0x2F578D);
            sl.Pressed.PartBorderLightColor = Color.FromArgb(96, factory.GetColor(0xFFFFFF));
            sl.Pressed.PartForeColor = factory.GetColor(0x67513E);
            sl.Pressed.PartForeLightColor = Color.FromArgb(168, factory.GetColor(0xE7F0F9));
            sl.Pressed.TrackLineColor = factory.GetColor(0x7496C2);
            sl.Pressed.TrackLineLightColor = factory.GetColor(0xDEE2EC);
            ColorBlendFactory df = new ColorBlendFactory(ColorScheme.GetColor(0xCFCFCF));
            sl.Disabled.LabelColor = factory.GetColor(0x8D8D8D);
            sl.Disabled.SliderLabelColor = factory.GetColor(0x8D8D8D);
            sl.Disabled.PartBackground = new GradientColorTable();
            foreach (BackgroundColorBlend b in sl.Default.PartBackground.Colors)
                sl.Disabled.PartBackground.Colors.Add(new BackgroundColorBlend(df.GetColor(b.Color), b.Position));
            sl.Disabled.PartBorderColor = df.GetColor(sl.Default.PartBorderColor);
            sl.Disabled.PartBorderLightColor = df.GetColor(sl.Default.PartBorderLightColor);
            sl.Disabled.PartForeColor = df.GetColor(sl.Default.PartForeColor);
            sl.Disabled.PartForeLightColor = df.GetColor(sl.Default.PartForeLightColor);
            sl.Disabled.TrackLineColor = df.GetColor(sl.Default.TrackLineColor);
            sl.Disabled.TrackLineLightColor = df.GetColor(sl.Default.TrackLineLightColor);
            #endregion
            #region RangeSlider
            InitRangeSlider(this, factory);
            
            #endregion
            #region ListViewEx
            this.ListViewEx.Border = factory.GetColor(editBorderColor);
            this.ListViewEx.ColumnBackground = new LinearGradientColorTable(factory.GetColor(0xFFFFFF), factory.GetColor(0xC4DDFF));
            this.ListViewEx.ColumnSeparator = factory.GetColor(0x9AC6FF);
            this.ListViewEx.ColumnForeColor = factory.GetColor(0x15428B);
            this.ListViewEx.SelectionBackground = new LinearGradientColorTable(factory.GetColor(0xA7CDF0), Color.Empty);
            this.ListViewEx.SelectionBorder = factory.GetColor(0xE3EFFF);
            #endregion
            #region DataGridView
            this.DataGridView.ColumnHeaderNormalBorder = factory.GetColor(0x9EB6CE);
            this.DataGridView.ColumnHeaderNormalBackground = new LinearGradientColorTable(factory.GetColor(0xF9FCFD), factory.GetColor(0xD3DBE9), 90);
            this.DataGridView.ColumnHeaderSelectedBackground = new LinearGradientColorTable(factory.GetColor(0xF9D99F), factory.GetColor(0xF1C15F), 90);
            this.DataGridView.ColumnHeaderSelectedBorder = factory.GetColor(0xF29536);
            this.DataGridView.ColumnHeaderSelectedMouseOverBackground = new LinearGradientColorTable(factory.GetColor(0xFFD58D), factory.GetColor(0xF2923A), 90);
            this.DataGridView.ColumnHeaderSelectedMouseOverBorder = factory.GetColor(0xF29536);
            this.DataGridView.ColumnHeaderMouseOverBackground = new LinearGradientColorTable(factory.GetColor(0xDFE2E4), factory.GetColor(0xBCC5D2), 90);
            this.DataGridView.ColumnHeaderMouseOverBorder = factory.GetColor(0x879FB7);
            this.DataGridView.ColumnHeaderPressedBackground = new LinearGradientColorTable(factory.GetColor(0xBCC5D2), factory.GetColor(0xDFE2E4), 90);
            this.DataGridView.ColumnHeaderPressedBorder = factory.GetColor(0xFFFFFF);
            this.DataGridView.RowNormalBackground = new LinearGradientColorTable(factory.GetColor(0xE4ECF7));
            this.DataGridView.RowNormalBorder = factory.GetColor(0x9EB6CE);
            this.DataGridView.RowSelectedBackground = new LinearGradientColorTable(factory.GetColor(0xFFD58D));
            this.DataGridView.RowSelectedBorder = factory.GetColor(0xF29536);
            this.DataGridView.RowSelectedMouseOverBackground = new LinearGradientColorTable(factory.GetColor(0xF1C05C));
            this.DataGridView.RowSelectedMouseOverBorder = factory.GetColor(0xF29536);
            this.DataGridView.RowMouseOverBackground = new LinearGradientColorTable(factory.GetColor(0xF1C05C));
            this.DataGridView.RowMouseOverBorder = factory.GetColor(0xF29536);
            this.DataGridView.RowPressedBackground = new LinearGradientColorTable(factory.GetColor(0xBBC4D1));
            this.DataGridView.RowPressedBorder = factory.GetColor(0xFFFFFF);
            this.DataGridView.GridColor = factory.GetColor(0xD0D7E5);
            this.DataGridView.SelectorBackground = new LinearGradientColorTable(factory.GetColor(0xA9C4E9));
            this.DataGridView.SelectorBorder = factory.GetColor(0x9EB6CE);
            this.DataGridView.SelectorBorderDark = factory.GetColor(0xB0CFF7);
            this.DataGridView.SelectorBorderLight = factory.GetColor(0xD5E4F2);
            this.DataGridView.SelectorSign = new LinearGradientColorTable(factory.GetColor(0xF9FAFB), factory.GetColor(0xD7DAE2));
            this.DataGridView.SelectorMouseOverBackground = new LinearGradientColorTable(factory.GetColor(0x8BA0B5));
            this.DataGridView.SelectorMouseOverBorder = factory.GetColor(0x9EB6CE);
            this.DataGridView.SelectorMouseOverBorderDark = factory.GetColor(0xB0CFF7);
            this.DataGridView.SelectorMouseOverBorderLight = factory.GetColor(0xD5E4F2);
            this.DataGridView.SelectorMouseOverSign = new LinearGradientColorTable(factory.GetColor(0xF9FAFB), factory.GetColor(0xD7DAE2));
            #endregion
            #region SideBar
            this.SideBar.Background = new LinearGradientColorTable(factory.GetColor(Color.White));
            this.SideBar.Border = factory.GetColor(0x6593CF);
            this.SideBar.SideBarPanelItemText = factory.GetColor(0x15428B);
            this.SideBar.SideBarPanelItemDefault = new GradientColorTable();
            this.SideBar.SideBarPanelItemDefault.Colors.Add(new BackgroundColorBlend(factory.GetColor(0xE3EFFF), 0));
            this.SideBar.SideBarPanelItemDefault.Colors.Add(new BackgroundColorBlend(factory.GetColor(0xC4DDFF), .4f));
            this.SideBar.SideBarPanelItemDefault.Colors.Add(new BackgroundColorBlend(factory.GetColor(0xADD1FF), .4f));
            this.SideBar.SideBarPanelItemDefault.Colors.Add(new BackgroundColorBlend(factory.GetColor(0xC0DBFF), 1));
            // Expanded
            this.SideBar.SideBarPanelItemExpanded = new GradientColorTable();
            this.SideBar.SideBarPanelItemExpanded.Colors.Add(new BackgroundColorBlend(factory.GetColor(0xFBDBB5), 0));
            this.SideBar.SideBarPanelItemExpanded.Colors.Add(new BackgroundColorBlend(factory.GetColor(0xFEC778), .4f));
            this.SideBar.SideBarPanelItemExpanded.Colors.Add(new BackgroundColorBlend(factory.GetColor(0xFEB456), .4f));
            this.SideBar.SideBarPanelItemExpanded.Colors.Add(new BackgroundColorBlend(factory.GetColor(0xFDEB9F), 1));
            // MouseOver
            this.SideBar.SideBarPanelItemMouseOver = new GradientColorTable();
            this.SideBar.SideBarPanelItemMouseOver.Colors.Add(new BackgroundColorBlend(factory.GetColor(0xFFFCD9), 0));
            this.SideBar.SideBarPanelItemMouseOver.Colors.Add(new BackgroundColorBlend(factory.GetColor(0xFFE78D), .4f));
            this.SideBar.SideBarPanelItemMouseOver.Colors.Add(new BackgroundColorBlend(factory.GetColor(0xFFD748), .4f));
            this.SideBar.SideBarPanelItemMouseOver.Colors.Add(new BackgroundColorBlend(factory.GetColor(0xFFE793), 1));
            // Pressed
            this.SideBar.SideBarPanelItemPressed = new GradientColorTable();
            this.SideBar.SideBarPanelItemPressed.Colors.Add(new BackgroundColorBlend(factory.GetColor(0xF8B869), 0));
            this.SideBar.SideBarPanelItemPressed.Colors.Add(new BackgroundColorBlend(factory.GetColor(0xFDA361), .4f));
            this.SideBar.SideBarPanelItemPressed.Colors.Add(new BackgroundColorBlend(factory.GetColor(0xFB8A3C), .4f));
            this.SideBar.SideBarPanelItemPressed.Colors.Add(new BackgroundColorBlend(factory.GetColor(0xFEBB60), 1));
            #endregion
            #region AdvTree
#if !NOTREE
            this.AdvTree = new DevComponents.AdvTree.Display.TreeColorTable();
            DevComponents.AdvTree.Display.ColorTableInitializer.InitOffice2007Blue(this.AdvTree, factory);
#endif
            #endregion
            #region CrumbBar
            this.CrumbBarItemView = new CrumbBarItemViewColorTable();
            CrumbBarItemViewStateColorTable crumbBarViewTable = new CrumbBarItemViewStateColorTable();
            this.CrumbBarItemView.Default = crumbBarViewTable;
            crumbBarViewTable.Foreground = factory.GetColor(0x15428B);
            crumbBarViewTable = new CrumbBarItemViewStateColorTable();
            this.CrumbBarItemView.MouseOver = crumbBarViewTable;
            crumbBarViewTable.Foreground = factory.GetColor(0x15428B);
            crumbBarViewTable.Background = new BackgroundColorBlendCollection();
            crumbBarViewTable.Background.AddRange(new BackgroundColorBlend[]{
                new BackgroundColorBlend(factory.GetColor("FFFCD9"), 0f),
                new BackgroundColorBlend(factory.GetColor("FFE78D"), .4f),
                new BackgroundColorBlend(factory.GetColor("FFD748"), .4f),
                new BackgroundColorBlend(factory.GetColor("FFE793"), 1f)});
            crumbBarViewTable.Border = factory.GetColor("FFB8A98E");
            crumbBarViewTable.BorderLight = factory.GetColor("90FFFFFF");
            crumbBarViewTable = new CrumbBarItemViewStateColorTable();
            this.CrumbBarItemView.MouseOverInactive = crumbBarViewTable;
            crumbBarViewTable.Foreground = factory.GetColor(0x15428B);
            crumbBarViewTable.Background = new BackgroundColorBlendCollection();
            crumbBarViewTable.Background.AddRange(new BackgroundColorBlend[]{
                new BackgroundColorBlend(factory.GetColor("FFFFFDEC"), 0f),
                new BackgroundColorBlend(factory.GetColor("FFFFF4CA"), .4f),
                new BackgroundColorBlend(factory.GetColor("FFFFEBA6"), .4f),
                new BackgroundColorBlend(factory.GetColor("FFFFF2C5"), 1f)});
            crumbBarViewTable.Border = factory.GetColor("FF8E8F8F");
            crumbBarViewTable.BorderLight = factory.GetColor("90FFFFFF");
            crumbBarViewTable = new CrumbBarItemViewStateColorTable();
            this.CrumbBarItemView.Pressed = crumbBarViewTable;
            crumbBarViewTable.Foreground = factory.GetColor(0x15428B);
            crumbBarViewTable.Background = new BackgroundColorBlendCollection();
            crumbBarViewTable.Background.AddRange(new BackgroundColorBlend[]{
                new BackgroundColorBlend(factory.GetColor("FFC59B61"), 0f),
                new BackgroundColorBlend(factory.GetColor("FFEEB469"), .1f),
                new BackgroundColorBlend(factory.GetColor("FFFCA060"), .6f),
                new BackgroundColorBlend(factory.GetColor("FFFB8E3D"), .6f),
                new BackgroundColorBlend(factory.GetColor("FFFEBB60"), 1f)});
            crumbBarViewTable.Border = factory.GetColor("FF8B7654");
            crumbBarViewTable.BorderLight = factory.GetColor("408B7654");
            #endregion
            #region WarningBox
            this.WarningBox.BackColor = factory.GetColor(Color.FromArgb(255, 196, 219, 249));
            this.WarningBox.WarningBorderColor = factory.GetColor(Color.FromArgb(255, 162, 188, 213));
            this.WarningBox.WarningBackColor1 = factory.GetColor(Color.FromArgb(255, 255, 255, 255));
            this.WarningBox.WarningBackColor2 = factory.GetColor(Color.FromArgb(255, 229, 244, 254));
            #endregion
            #region CalendarView
            #region WeekDayViewColors
            this.CalendarView.WeekDayViewColors = new ColorDef[]
            {
                new ColorDef(factory.GetColor(0x5D8CC9)),           // DayViewBorder
                new ColorDef(factory.GetColor(0x000000)),           // DayHeaderForeground - 0x15428B
                new ColorDef(new Color[] {factory.GetColor(0xE4ECF6), factory.GetColor(0xD6E2F1), factory.GetColor(0xC2D4EB), factory.GetColor(0xD0DEEF)},
                new float[] {0f, .55f, .58f, 1f}, 90f),             // DayHeaderBackground
                new ColorDef(factory.GetColor(0x8DAED9)),           // DayHeaderBorder
                new ColorDef(factory.GetColor(0xFFFFFF)),           // DayWorkHoursBackground
                new ColorDef(factory.GetColor(0x8DAED9)),           // DayAllDayEventBackground
                new ColorDef(factory.GetColor(0xE6EDF7)),           // DayOffWorkHoursBackground
                new ColorDef(factory.GetColor(0xA5BFE1)),           // DayHourBorder
                new ColorDef(factory.GetColor(0xD5E1F1)),           // DayHalfHourBorder
                new ColorDef(factory.GetColor(0x294C7A)),           // SelectionBackground
                
                new ColorDef(factory.GetColor(0x5D8CC9)),           // OwnerTabBorder
                new ColorDef(new Color[] {factory.GetColor(0xBBCFE9), factory.GetColor(0x8DAED9)},
                new float[] {0f, 1f}, 90f),                         // OwnerTabBackground
                new ColorDef(factory.GetColor(0x000000)),           // OwnerTabForeground
                new ColorDef(factory.GetColor(0x8DAED9)),           // OwnerTabContentBackground
                new ColorDef(factory.GetColor(0x000000)),           // OwnerTabSelectedForeground
                new ColorDef(factory.GetColor(0xFFFFFF)),           // OwnerTabSelectionBackground
                new ColorDef(factory.GetColor(0xF5F5F5)),           // CondensedViewBackground
                new ColorDef(factory.GetColor(0xEB8900)),           // NowDayViewBorder
                new ColorDef(factory.GetColor(0x000000)),           // NowDayHeaderForeground - 0x15428B
                new ColorDef(new Color[] {factory.GetColor(0xFFED79), factory.GetColor(0xFFD86B), factory.GetColor(0xFFBB00), factory.GetColor(0xFFEA77)},
                new float[] {0f, .55f ,58f, 1f}, 90f),              // NowDayHeaderBackground
                new ColorDef(new Color[] {factory.GetColor(0xFFED79), factory.GetColor(0xFFD86B), factory.GetColor(0xFFBB00), factory.GetColor(0xFFEA77)},
                new float[] {0f, .55f ,58f, 1f}, 90f),              // TimeIndicator
                new ColorDef(factory.GetColor(0xEB8900)),           // TimeIndicatorBorder
            };
            #endregion
            #region TimeRulerColors
            this.CalendarView.TimeRulerColors = new ColorDef[]
            {
                new ColorDef(factory.GetColor(0xE3EFFF)),           // TimeRulerBackground
                new ColorDef(factory.GetColor(0x6593CF)),           // TimeRulerForeground
                new ColorDef(factory.GetColor(0x6593CF)),           // TimeRulerBorder
                new ColorDef(factory.GetColor(0x6593CF)),           // TimeRulerTickBorder
                new ColorDef(new Color[] {factory.GetColor(0xFFED79), factory.GetColor(0xFFD86B), factory.GetColor(0xFFBB00), factory.GetColor(0xFFEA77)},
                new float[] {0f, .55f ,58f, 1f}, 90f),              // TimeRulerIndicator
                new ColorDef(factory.GetColor(0xEB8900)),           // TimeRulerIndicatorBorder
            };
            #endregion
            #region MonthViewColors
            this.CalendarView.MonthViewColors = new ColorDef[]
            {
                new ColorDef(factory.GetColor(0x8DAED9)),           // DayOfWeekHeaderBorder
                new ColorDef(new Color[] { factory.GetColor(0xE1E9F4), factory.GetColor(0xD6E2F1), factory.GetColor(0xC2D4EB), factory.GetColor(0xD0DEEF) },
                new float[] { 0, .6f, .6f, 1 }),                    // DayOfWeekHeaderBackground
                new ColorDef(factory.GetColor(0x000000)),           // DayOfWeekHeaderForeground - 0x15428B
                new ColorDef(factory.GetColor(0x5D8CC9)),           // SideBarBorder
                new ColorDef(new Color[] { factory.GetColor(0xE1E9F4), factory.GetColor(0xD6E2F1), factory.GetColor(0xC2D4EB), factory.GetColor(0xD0DEEF) },
                new float[] { 0, .6f, .6f, 1 }, 0),                 // SideBarBackground
                new ColorDef(factory.GetColor(0x000000)),           // SideBarForeground - 0x15428B
                new ColorDef(factory.GetColor(0x5D8CC9)),           // DayHeaderBorder
                new ColorDef(new Color[] { factory.GetColor(0xE1E9F4), factory.GetColor(0xD6E2F1), factory.GetColor(0xC2D4EB), factory.GetColor(0xD0DEEF) },
                new float[] { 0, .6f, .6f, 1 }),                    // DayHeaderBackground
                new ColorDef(factory.GetColor(0x000000)),           // DayHeaderForeground
                new ColorDef(factory.GetColor(0x8DAED9)),           // DayContentBorder
                new ColorDef(factory.GetColor(0xE6EDF7)),           // DayContentSelectionBackground
                new ColorDef(factory.GetColor(0xFFFFFF)),           // DayContentActiveDayBackground
                new ColorDef(factory.GetColor(0xA5BFE1)),           // DayContentInactiveDayBackground
                
                new ColorDef(factory.GetColor(0x5D8CC9)),           // OwnerTabBorder
                new ColorDef(new Color[] {factory.GetColor(0xBBCFE9), factory.GetColor(0x8DAED9)},    // OwnerTabBackground
                new float[] {0f, 1f}, 90f),
                new ColorDef(factory.GetColor(0x000000)),           // OwnerTabForeground
                new ColorDef(factory.GetColor(0x8DAED9)),           // OwnerTabContentBackground
                new ColorDef(factory.GetColor(0x000000)),           // OwnerTabSelectedForeground
                new ColorDef(factory.GetColor(0xFFFFFF)),           // OwnerTabSelectionBackground
                new ColorDef(factory.GetColor(0xEB8900)),           // NowDayViewBorder
                new ColorDef(factory.GetColor(0x000000)),           // NowDayHeaderForeground - 0x15428B
                new ColorDef(new Color[] {factory.GetColor(0xFFED79), factory.GetColor(0xFFD86B), factory.GetColor(0xFFBB00), factory.GetColor(0xFFEA77)},
                new float[] {0f, .55f ,58f, 1f}, 90f),              // NowDayHeaderBackground
                new ColorDef(factory.GetColor(0x000000)),           // ContentLinkForeground - DayHeaderForeground
                new ColorDef(factory.GetColor(0xFFFFFF)),           // ContentLinkBackground - DayContentActiveDayBackground
            };
            #endregion
            #region AppointmentColors
            this.CalendarView.AppointmentColors = new ColorDef[]
            {
                new ColorDef(factory.GetColor(0x4B71A2)),           // DefaultBorder
                new ColorDef(new Color[] {factory.GetColor(0xFDFEFF), factory.GetColor(0xC1D3EA)},
                             new float[] {0f, 1f}, 90f),            // DefaultBackground
                new ColorDef(factory.GetColor(0x28518E)),           // BlueBorder
                new ColorDef(new Color[] {factory.GetColor(0xB1C5EC), factory.GetColor(0x759DDA)}, 
                             new float[] {0f, 1f}, 90f),            // BlueBackground
                new ColorDef(factory.GetColor(0x2C6524)),           // GreenBorder
                new ColorDef(new Color[] {factory.GetColor(0xC2E8BC), factory.GetColor(0x84D17B)},
                             new float[] {0f, 1f}, 90f),            // GreenBackground
                new ColorDef(factory.GetColor(0x8B3E0A)),           // OrangeBorder
                new ColorDef(new Color[] {factory.GetColor(0xF9C7A0), factory.GetColor(0xF49758)},
                             new float[] {0f, 1f}, 90f),            // OrangeBackground
                new ColorDef(factory.GetColor(0x3E2771)),           // PurpleBorder
                new ColorDef(new Color[] {factory.GetColor(0xC5B5E6), factory.GetColor(0x957BD2)},
                             new float[] {0f, 1f}, 90f),            // PurpleBackground
                new ColorDef(factory.GetColor(0x86171C)),           // RedBorder
                new ColorDef(new Color[] {factory.GetColor(0xF1AAAC), factory.GetColor(0xE5676E)},
                             new float[] {0f, 1f}, 90f),            // RedBackground
                new ColorDef(factory.GetColor(0x7C7814)),           // YellowBorder
                new ColorDef(new Color[] {factory.GetColor(0xFFFCAA), factory.GetColor(0xFFF958)},
                             new float[] {0f, 1f}, 90f),            // YellowBackground
                new ColorDef(factory.GetColor(-1)),                 // BusyTimeMarker
                new ColorDef(factory.GetColor(0xFFFFFF)),           // FreeTimeMarker
                new ColorDef(factory.GetColor(0x800080))            // OutOfOfficeTimeMarker
            };
            #endregion
            #endregion
            #region SuperTab
            #region SuperTab
            SuperTab = Office2007ColorTableFactory.GetSuperTabBlueDefault(factory);
            #endregion
            #region SuperTabItem
            SuperTabItem = Office2007ColorTableFactory.GetSuperTabItemBlueDefault(factory);
            #endregion
            #region SuperTabPanel
            SuperTabPanel = Office2007ColorTableFactory.GetSuperTabPanelBlueDefault(factory);
            #endregion
            #endregion
            #region Backstage
            #region Backstage
            Backstage = Office2007ColorTableFactory.GetBackstageBlueDefault(factory);
            #endregion
            #region BackstageItem
            BackstageItem = Office2007ColorTableFactory.GetBackstageItemBlueDefault(factory);
            #endregion
            #region BackstagePanel
            BackstagePanel = Office2007ColorTableFactory.GetBackstagePanelBlueDefault(factory);
            #endregion
            #endregion
            #region SwitchButton
            SwitchButtonColorTable sbt = new SwitchButtonColorTable();
            sbt.BorderColor = factory.GetColor(0xABC1DE);
            sbt.OffBackColor = factory.GetColor(0xDAE5F3);
            sbt.OffTextColor = factory.GetColor(0x15428B);
            sbt.OnBackColor = factory.GetColor(0x92D050);
            sbt.OnTextColor = factory.GetColor(0x15428B);
            sbt.SwitchBackColor = factory.GetColor(0xC1D8F0);
            sbt.SwitchBorderColor = factory.GetColor(0x86A5CF);
            sbt.TextColor = factory.GetColor(0x15428B);
            this.SwitchButton = new SwitchButtonColors();
            this.SwitchButton.Default = sbt;
            this.SwitchButton.Disabled.BorderColor = this.CheckBoxItem.Disabled.CheckBorder;
            this.SwitchButton.Disabled.SwitchBorderColor = this.SwitchButton.Disabled.BorderColor;
            this.SwitchButton.Disabled.OffTextColor = this.CheckBoxItem.Disabled.Text;
            this.SwitchButton.Disabled.OnTextColor = this.SwitchButton.Disabled.OffTextColor;
            this.SwitchButton.Disabled.TextColor = this.SwitchButton.Disabled.OffTextColor;
            this.SwitchButton.Disabled.SwitchBackColor = this.CheckBoxItem.Disabled.CheckInnerBackground.Start;
            this.SwitchButton.Disabled.OffBackColor = this.CheckBoxItem.Disabled.CheckInnerBackground.Start;
            this.SwitchButton.Disabled.OnBackColor = this.SwitchButton.Disabled.OffBackColor;
            #endregion
            #region ElementStyle Classes
            ElementStyle style = new ElementStyle();
            style.Class = ElementStyleClassKeys.RibbonGalleryContainerKey;
            style.BorderColor = factory.GetColor(0xB9D0ED);
            style.Border = eStyleBorderType.Solid;
            style.BorderWidth = 1;
            style.CornerDiameter = 2;
            style.CornerType = eCornerType.Rounded;
            style.BackColor = factory.GetColor(0xD4E6F8);
            m_StyleClasses.Add(style.Class, style);
            // FileMenuContainer
            style = Office2007ColorTableFactory.GetFileMenuContainerStyle(this);
            m_StyleClasses.Add(style.Class, style);
            // Two Column File Menu Container
            style = Office2007ColorTableFactory.GetTwoColumnMenuContainerStyle(this);
            m_StyleClasses.Add(style.Class, style);
            // Column one File Menu Container
            style = Office2007ColorTableFactory.GetMenuColumnOneContainerStyle(this);
            m_StyleClasses.Add(style.Class, style);
            // Column two File Menu Container
            style = Office2007ColorTableFactory.GetMenuColumnTwoContainerStyle(this);
            m_StyleClasses.Add(style.Class, style);
            // Bottom File Menu Container
            style = Office2007ColorTableFactory.GetMenuBottomContainer(this);
            m_StyleClasses.Add(style.Class, style);
            // TextBox border
            style = Office2007ColorTableFactory.GetTextBoxStyle(factory.GetColor(editBorderColor));
            m_StyleClasses.Add(style.Class, style);
            // RichTextBox border
            style = Office2007ColorTableFactory.GetRichTextBoxStyle(factory.GetColor(editBorderColor));
            m_StyleClasses.Add(style.Class, style);
            // ItemPanel
            style = Office2007ColorTableFactory.GetItemPanelStyle(factory.GetColor(editBorderColor));
            m_StyleClasses.Add(style.Class, style);
            // ListBoxAdv
            style = Office2007ColorTableFactory.GetListBoxAdvStyle(factory.GetColor(editBorderColor));
            m_StyleClasses.Add(style.Class, style);
            // DateTimeInput background
            style = Office2007ColorTableFactory.GetDateTimeInputBackgroundStyle(factory.GetColor(editBorderColor), SystemColors.Window);
            m_StyleClasses.Add(style.Class, style);
            // Ribbon Client Panel
            style = Office2007ColorTableFactory.GetRibbonClientPanelStyle(factory, eOffice2007ColorScheme.Blue);
            m_StyleClasses.Add(style.Class, style);
            // ListView Border
            style = Office2007ColorTableFactory.GetListViewBorderStyle(this.ListViewEx);
            m_StyleClasses.Add(style.Class, style);
            style = Office2007ColorTableFactory.GetStatusBarAltStyle(this.Bar);
            m_StyleClasses.Add(style.Class, style);
#if !NOTREE
            // Tree Border/Background
            style = Office2007ColorTableFactory.GetAdvTreeStyle(factory.GetColor(editBorderColor), Color.Empty);
            m_StyleClasses.Add(style.Class, style);
            style = Office2007ColorTableFactory.GetAdvTreeColumnsHeaderStyle(factory.GetColor(0xF9FCFD), factory.GetColor(0xD3DBE9), factory.GetColor(0x9EB6CE));
            m_StyleClasses.Add(style.Class, style);
            style = Office2007ColorTableFactory.GetAdvTreeNodesColumnsHeaderStyle(factory.GetColor(0xF9FCFD), factory.GetColor(0xD3DBE9), factory.GetColor(0x9EB6CE));
            m_StyleClasses.Add(style.Class, style);
            style = Office2007ColorTableFactory.GetAdvTreeColumnStyle(factory.GetColor(0x000000));
            m_StyleClasses.Add(style.Class, style);
            // CrumbBar
            style = Office2007ColorTableFactory.GetCrumbBarBackgroundStyle(factory.GetColor(Color.White), factory.GetColor("FF567DB0"), factory.GetColor("FF2F578D"));
            m_StyleClasses.Add(style.Class, style);
            // DataGridView border
            style = Office2007ColorTableFactory.GetDataGridViewStyle();
            m_StyleClasses.Add(style.Class, style);
            // DataGridViewDateTime border
            style = Office2007ColorTableFactory.GetDataGridViewDateTimeStyle();
            m_StyleClasses.Add(style.Class, style);
            // DataGridViewNumeric border
            style = Office2007ColorTableFactory.GetDataGridViewNumericStyle();
            m_StyleClasses.Add(style.Class, style);
            // DataGridViewIpAddress border
            style = Office2007ColorTableFactory.GetDataGridViewIpAddressStyle();
            m_StyleClasses.Add(style.Class, style);
            // Slide-out Button
            style = Office2007ColorTableFactory.GetSlideOutButtonStyle(this.CheckBoxItem.Default.CheckBorder);
            m_StyleClasses.Add(style.Class, style);
            // MetroTilePanel
            style = Office2007ColorTableFactory.GetMetroTilePanelStyle(factory.GetColor(Color.White));
            m_StyleClasses.Add(style.Class, style);
            // MetroTileGroup
            style = Office2007ColorTableFactory.GetMetroTileGroupStyle(factory.GetColor(Color.DarkGray));
            m_StyleClasses.Add(style.Class, style);
            // MonthCalendarAdv
            style = Office2007ColorTableFactory.GetMonthCalendarStyle(SystemColors.Window);
            m_StyleClasses.Add(style.Class, style);
            // ProgressSteps control
            style = Office2007ColorTableFactory.GetProgressStepsStyle(this);
            m_StyleClasses.Add(style.Class, style);
            // SideNavStrip
            style = Office2007ColorTableFactory.GetSideNavStripStyle(this);
            m_StyleClasses.Add(style.Class, style);
            // TabFormPanel
            style = Office2007ColorTableFactory.GetTabFormPanelStyle(factory.GetColor(0xF5F6F7));
            m_StyleClasses.Add(style.Class, style);
            // Toolbox Control
            style = Office2007ColorTableFactory.GetToolboxControlStyle(factory.GetColor(this.LegacyColors.PanelBorder), Color.Empty);
            m_StyleClasses.Add(style.Class, style);
            style = Office2007ColorTableFactory.GetToolboxGroupTitle(factory.GetColor(0x15428B));
            m_StyleClasses.Add(style.Class, style);
            style = Office2007ColorTableFactory.GetToolboxGroupTitleMouseOver(factory.GetColor(0x15428B), factory.GetColor(0xE4EBF6));
            m_StyleClasses.Add(style.Class, style);
            style = Office2007ColorTableFactory.GetToolboxGroupExpandedTitle(factory.GetColor(Color.White), factory.GetColor(0x3B5A82));
            m_StyleClasses.Add(style.Class, style);
#endif
            #endregion
            #region App Button Colors
            Office2010ColorTable.InitAppButtonColors(this, ColorFactory.Empty);
            #endregion
            #region StepIndicator
            this.StepIndicator.BackgroundColor = factory.GetColor(ColorFunctions.GetShade(this.Form.BackColor, 10));
            this.StepIndicator.IndicatorColor = factory.GetColor(0xA4CC28);
            #endregion
            #region RadialMenu
            this.RadialMenu = new RadialMenuColorTable(); // This will force built-in default colors to be used, blue
            #endregion
            #region StepItem
            this.StepItem.Default = new OfficeStepItemStateColorTable(new Color[]{
                    factory.GetColor(0xE3EFFF), 
                    factory.GetColor(0xC4DDFF), 
                    factory.GetColor(0xADD1FF), 
                    factory.GetColor(0xC0DBFF)
                    },
                    90,
                    new float[] { 0f, .5f, .5f, 1f },
                factory.GetColor(0x15428B),
                new Color[] {
                    factory.GetColor(0x7793B9), factory.GetColor(0xFFFFF7) });
            this.StepItem.Progress = new OfficeStepItemStateColorTable(new Color[]{
                    factory.GetColor(0xD8F577), 
                    factory.GetColor(0x75C300),
                    factory.GetColor(0x75C300),
                    factory.GetColor(0xA9E923)
                    },
                    90,
                    new float[] { 0f, .6f, .6f, 1f },
                Color.Empty,
                new Color[0]);
            this.StepItem.MouseOver = new OfficeStepItemStateColorTable(new Color[]{
                    factory.GetColor(0xFFFCD9), 
                    factory.GetColor(0xFFE78D),
                    factory.GetColor(0xFFD748), 
                    factory.GetColor(0xFFE793)
                    },
                    90,
                    new float[] { 0f, .5f, .5f, 1f },
                factory.GetColor(0x15428B),
                new Color[] {
                    factory.GetColor(0xC0A776), factory.GetColor(0xFFF2BE) });
            this.StepItem.Pressed = new OfficeStepItemStateColorTable(new Color[]{
                    factory.GetColor(0xF8B869), 
                    factory.GetColor(0xFDA361),
                    factory.GetColor(0xFB8A3C), 
                    factory.GetColor(0xFEBB60)
                    },
                    90,
                    new float[] { 0f, .5f, .5f, 1f },
                factory.GetColor(0x00156E),
                new Color[] {
                    factory.GetColor(0x5F7FB6), factory.GetColor(0xB1905D) });
            #endregion
            #region ListBoxItem
            this.ListBoxItem.Default = new OfficeListBoxItemStateColorTable(factory.GetColor(0x000000));
            this.ListBoxItem.MouseOver = new OfficeListBoxItemStateColorTable(factory.GetColor(0x000000), new Color[]{
                    factory.GetColor(0xFFFCD9), 
                    factory.GetColor(0xFFE793)
                    },
                    90,
                    new float[] { 0f, 1f });
            this.ListBoxItem.Selected = new OfficeListBoxItemStateColorTable(factory.GetColor(0x000000), new Color[]{
                    factory.GetColor(0xFCD578), 
                    factory.GetColor(0xFBC84F)
                    },
                    90,
                    new float[] { 0f, 1f });
            #endregion
            #region Flyout
            this.Flyout.BorderColor = this.Form.Active.BorderColors[0];
            #endregion
            #region SideNav
            this.SideNav.SideNavItem.Default=new SideNavItemStateColorTable(factory.GetColor(0x15428B));
            this.SideNav.SideNavItem.MouseOver = new SideNavItemStateColorTable(factory.GetColor(0x15428B),
                new Color[]
                {
                    factory.GetColor(0xFFFCD9), factory.GetColor(0xFFE78D), factory.GetColor(0xFFD748),
                    factory.GetColor(0xFFE793)
                },
                new Color[] {factory.GetColor(0xC0A776), factory.GetColor(0xFFF2BE)},
                2);
            this.SideNav.SideNavItem.Pressed = new SideNavItemStateColorTable(factory.GetColor(0x15428B),
                new Color[]
                {
                    factory.GetColor(0xF8B869), factory.GetColor(0xFDA361), factory.GetColor(0xFB8A3C),
                    factory.GetColor(0xFEBB60)
                },
                new Color[] { factory.GetColor(0x5F7FB6), factory.GetColor(0xFDAD11) },
                2);
            this.SideNav.SideNavItem.Selected = new SideNavItemStateColorTable(factory.GetColor(0x15428B),
                new Color[] { this.Form.BackColor },
                new Color[] { Color.Empty, factory.GetColor(0x8DB2E3), Color.Empty, factory.GetColor(0x8DB2E3) });
            this.SideNav.BorderColors = new Color[] {factory.GetColor(0x8DB2E3)};
            this.SideNav.TitleBackColor = factory.GetColor(0xDBE6F5);
            this.SideNav.TitleBorderColors = new Color[]
                {Color.Empty, Color.Empty, Color.Empty, factory.GetColor(0x8DB2E3)};
            this.SideNav.PanelBackColor = this.Form.BackColor;
            #endregion
            #region TabForm
            this.TabForm.Active.CaptionText = factory.GetColor(0x3E6AAA);
            this.TabForm.Inactive.CaptionText = factory.GetColor(0xA0A0A0);
            this.TabForm.Active.CaptionBackColors=new Color[]{factory.GetColor(Color.White)};
            this.TabForm.Inactive.CaptionBackColors=new Color[]{factory.GetColor(Color.White)};
            TabFormItemColorTables.Add(TabFormItem.DefaultColorTableKey, CreateDefaultTabFormItemColorTable(factory, 0x15428B));
            TabFormItemColorTables.Add(TabFormItem.BlueColorTableKey, Office2007ColorTable.CreateBlueTabFormItemColorTable(factory));
            TabFormItemColorTables.Add(TabFormItem.YellowColorTableKey, Office2007ColorTable.CreateYellowTabFormItemColorTable(factory));
            TabFormItemColorTables.Add(TabFormItem.PurpleColorTableKey, Office2007ColorTable.CreatePurpleTabFormItemColorTable(factory));
            TabFormItemColorTables.Add(TabFormItem.CyanColorTableKey, Office2007ColorTable.CreateCyanTabFormItemColorTable(factory));
            TabFormItemColorTables.Add(TabFormItem.BlueMistColorTableKey, Office2007ColorTable.CreateBlueMistTabFormItemColorTable(factory));
            TabFormItemColorTables.Add(TabFormItem.PurpleMistColorTableKey, Office2007ColorTable.CreatePurpleMistTabFormItemColorTable(factory));
            TabFormItemColorTables.Add(TabFormItem.TanColorTableKey, Office2007ColorTable.CreateTanTabFormItemColorTable(factory));
            TabFormItemColorTables.Add(TabFormItem.LemonLimeColorTableKey, Office2007ColorTable.CreateLemonLimeTabFormItemColorTable(factory));
            TabFormItemColorTables.Add(TabFormItem.AppleColorTableKey, Office2007ColorTable.CreateAppleTabFormItemColorTable(factory));
            TabFormItemColorTables.Add(TabFormItem.TealColorTableKey, Office2007ColorTable.CreateTealTabFormItemColorTable(factory));
            TabFormItemColorTables.Add(TabFormItem.RedChalkColorTableKey, Office2007ColorTable.CreateRedChalkTabFormItemColorTable(factory));
            TabFormItemColorTables.Add(TabFormItem.SilverColorTableKey, Office2007ColorTable.CreateSilverTabFormItemColorTable(factory));
            TabFormItemColorTables.Add(TabFormItem.OrangeColorTableKey, Office2007ColorTable.CreateOrangeTabFormItemColorTable(factory));
            TabFormItemColorTables.Add(TabFormItem.GreenColorTableKey, Office2007ColorTable.CreateGreenTabFormItemColorTable(factory));
            TabFormItemColorTables.Add(TabFormItem.MagentaColorTableKey, Office2007ColorTable.CreateMagentaTabFormItemColorTable(factory));
            TabFormItemColorTables.Add(TabFormItem.RedColorTableKey, Office2007ColorTable.CreateRedTabFormItemColorTable(factory));
            #endregion
        }
        internal static TabFormItemColorTable CreateDefaultTabFormItemColorTable(ColorFactory factory, int textColor)
        {
            TabFormItemColorTable t=new TabFormItemColorTable();
            t.Default.BorderColors = new Color[] {factory.GetColor(0xC2C2C2), factory.GetColor(64, Color.White)};
            t.Default.BackColors = new Color[] { factory.GetColor(0xDEE2E7), factory.GetColor(0xCDD2D8) };
            t.Default.TextColor = factory.GetColor(textColor);
            t.Disabled = t.Default.Clone();
            t.Disabled.TextColor = factory.GetColor(0xA8A8A8);
            t.MouseOver = t.Default;
            t.Selected=new TabFormItemStateColorTable();
            t.Selected.BackColors = new Color[] { factory.GetColor(Color.White), factory.GetColor(0xF5F6F7) };
            t.Selected.BorderColors = new Color[] { factory.GetColor(0xB2B2B2) };
            t.Selected.TextColor = factory.GetColor(textColor);
            t.Name = TabFormItem.DefaultColorTableKey;
            return t;
        }
        internal static TabFormItemColorTable CreateDefaultTabFormItemColorTable(ColorFactory factory, Color[] defaultTabBackColors, Color[] defaultTabBorderColors, Color defaultTabTextColor, Color[] selectedTabBackColors, Color[] selectedTabBorderColors, Color selectedTabTextColor)
        {
            TabFormItemColorTable t = new TabFormItemColorTable();
            t.Default.BorderColors = defaultTabBorderColors;
            t.Default.BackColors = defaultTabBackColors;
            t.Default.TextColor = defaultTabTextColor;
            t.Disabled = t.Default.Clone();
            t.Disabled.TextColor = factory.GetColor(0xA8A8A8);
            t.MouseOver = new TabFormItemStateColorTable();
            t.MouseOver.BorderColors = defaultTabBorderColors;
            t.MouseOver.BackColors = defaultTabBackColors;
            t.MouseOver.TextColor = selectedTabTextColor;
            t.Selected = new TabFormItemStateColorTable();
            t.Selected.BackColors = selectedTabBackColors;
            t.Selected.BorderColors = selectedTabBorderColors;
            t.Selected.TextColor = selectedTabTextColor;
            t.Name = TabFormItem.DefaultColorTableKey;
            return t;
        }
        internal static TabFormItemColorTable CreateBlueTabFormItemColorTable(ColorFactory factory)
        {
            TabFormItemColorTable t = new TabFormItemColorTable();
            t.Default.BackColors = new Color[] { factory.GetColor(128,0x9AC0E6) };
            t.Default.BorderColors = new Color[] { factory.GetColor(0x8AB6E2) };
            t.Default.TextColor = factory.GetColor(0x444444);
            t.Disabled = t.Default.Clone();
            t.Disabled.TextColor = factory.GetColor(0xA8A8A8);
            t.Selected = new TabFormItemStateColorTable();
            t.Selected.BackColors = new Color[] { factory.GetColor(0x9AC0E6) };
            t.Selected.BorderColors = new Color[] { factory.GetColor(0x8AB6E2) };
            t.Selected.TextColor = factory.GetColor(0x222222);
            t.MouseOver = new TabFormItemStateColorTable();
            t.MouseOver.BackColors = new Color[] { factory.GetColor(0xCCDFF2) };
            t.MouseOver.BorderColors = new Color[] { factory.GetColor(0xB8D2ED) };
            t.MouseOver.TextColor = t.Selected.TextColor; //factory.GetColor(0x444444);
            t.Name = TabFormItem.BlueColorTableKey;
            return t;
        }
        internal static TabFormItemColorTable CreateYellowTabFormItemColorTable(ColorFactory factory)
        {
            TabFormItemColorTable t = new TabFormItemColorTable();
            t.Default.BackColors = new Color[] { factory.GetColor(128,0xF3D275) };
            t.Default.BorderColors = new Color[] { factory.GetColor(0xF1CA5D) };
            t.Default.TextColor = factory.GetColor(0x444444);
            t.Disabled = t.Default.Clone();
            t.Disabled.TextColor = factory.GetColor(0xA8A8A8);
            t.Selected = new TabFormItemStateColorTable();
            t.Selected.BackColors = new Color[] { factory.GetColor(0xF3D275) };
            t.Selected.BorderColors = new Color[] { factory.GetColor(0xF1CA5D) };
            t.Selected.TextColor = factory.GetColor(0x222222);
            t.MouseOver = new TabFormItemStateColorTable();
            t.MouseOver.BackColors = new Color[] { factory.GetColor(0xF9E9B9) };
            t.MouseOver.BorderColors = new Color[] { factory.GetColor(0xF7DE9D) };
            t.MouseOver.TextColor = t.Selected.TextColor; // factory.GetColor(0x444444);
            t.Name = TabFormItem.YellowColorTableKey;
            return t;
        }
        internal static TabFormItemColorTable CreateRedTabFormItemColorTable(ColorFactory factory)
        {
            TabFormItemColorTable t = new TabFormItemColorTable();
            t.Default.BackColors = new Color[] { factory.GetColor(128, 0xF4A6A6) };
            t.Default.BorderColors = new Color[] { factory.GetColor(0xF39B9B) };
            t.Default.TextColor = factory.GetColor(0x444444);
            t.Disabled = t.Default.Clone();
            t.Disabled.TextColor = factory.GetColor(0xA8A8A8);
            t.Selected = new TabFormItemStateColorTable();
            t.Selected.BackColors = new Color[] { factory.GetColor(0xF4A6A6) };
            t.Selected.BorderColors = new Color[] { factory.GetColor(0xF39B9B) };
            t.Selected.TextColor = factory.GetColor(0x222222);
            t.MouseOver = new TabFormItemStateColorTable();
            t.MouseOver.BackColors = new Color[] { factory.GetColor(0xFAD1D1) };
            t.MouseOver.BorderColors = new Color[] { factory.GetColor(0xF8C2C2) };
            t.MouseOver.TextColor = t.Selected.TextColor;// factory.GetColor(0x444444);
            t.Name = TabFormItem.RedColorTableKey;
            return t;
        }
        internal static TabFormItemColorTable CreatePurpleTabFormItemColorTable(ColorFactory factory)
        {
            TabFormItemColorTable t = new TabFormItemColorTable();
            t.Default.BackColors = new Color[] { factory.GetColor(128, 0xD6A6D3) };
            t.Default.BorderColors = new Color[] { factory.GetColor(0xD399CF) };
            t.Default.TextColor = factory.GetColor(0x444444);
            t.Disabled = t.Default.Clone();
            t.Disabled.TextColor = factory.GetColor(0xA8A8A8);
            t.Selected = new TabFormItemStateColorTable();
            t.Selected.BackColors = new Color[] { factory.GetColor(0xD6A6D3) };
            t.Selected.BorderColors = new Color[] { factory.GetColor(0xD399CF) };
            t.Selected.TextColor = factory.GetColor(0x222222);
            t.MouseOver = new TabFormItemStateColorTable();
            t.MouseOver.BackColors = new Color[] { factory.GetColor(0xEAD2E8) };
            t.MouseOver.BorderColors = new Color[] { factory.GetColor(0xE4C0E1) };
            t.MouseOver.TextColor = t.Selected.TextColor;// factory.GetColor(0x444444);
            t.Name = TabFormItem.PurpleColorTableKey;
            return t;
        }
        internal static TabFormItemColorTable CreateCyanTabFormItemColorTable(ColorFactory factory)
        {
            TabFormItemColorTable t = new TabFormItemColorTable();
            t.Default.BackColors = new Color[] { factory.GetColor(128, 0x99D0DF) };
            t.Default.BorderColors = new Color[] { factory.GetColor(0x87C9D9) };
            t.Default.TextColor = factory.GetColor(0x444444);
            t.Disabled = t.Default.Clone();
            t.Disabled.TextColor = factory.GetColor(0xA8A8A8);
            t.Selected = new TabFormItemStateColorTable();
            t.Selected.BackColors = new Color[] { factory.GetColor(0x99D0DF) };
            t.Selected.BorderColors = new Color[] { factory.GetColor(0x87C9D9) };
            t.Selected.TextColor = factory.GetColor(0x222222);
            t.MouseOver = new TabFormItemStateColorTable();
            t.MouseOver.BackColors = new Color[] { factory.GetColor(0xCBE7EF) };
            t.MouseOver.BorderColors = new Color[] { factory.GetColor(0xB7DEE8) };
            t.MouseOver.TextColor = t.Selected.TextColor; // factory.GetColor(0x444444);
            t.Name = TabFormItem.CyanColorTableKey;
            return t;
        }
        internal static TabFormItemColorTable CreateOrangeTabFormItemColorTable(ColorFactory factory)
        {
            TabFormItemColorTable t = new TabFormItemColorTable();
            t.Default.BackColors = new Color[] { factory.GetColor(128, 0xF1B87F) };
            t.Default.BorderColors = new Color[] { factory.GetColor(0xF1B06F) };
            t.Default.TextColor = factory.GetColor(0x444444);
            t.Disabled = t.Default.Clone();
            t.Disabled.TextColor = factory.GetColor(0xA8A8A8);
            t.Selected = new TabFormItemStateColorTable();
            t.Selected.BackColors = new Color[] { factory.GetColor(0xF1B87F) };
            t.Selected.BorderColors = new Color[] { factory.GetColor(0xF1B06F) };
            t.Selected.TextColor = factory.GetColor(0x222222);
            t.MouseOver = new TabFormItemStateColorTable();
            t.MouseOver.BackColors = new Color[] { factory.GetColor(0xF8DBBE) };
            t.MouseOver.BorderColors = new Color[] { factory.GetColor(0xF7CFA8) };
            t.MouseOver.TextColor = t.Selected.TextColor; // factory.GetColor(0x444444);
            t.Name = TabFormItem.OrangeColorTableKey;
            return t;
        }
        internal static TabFormItemColorTable CreateGreenTabFormItemColorTable(ColorFactory factory)
        {
            TabFormItemColorTable t = new TabFormItemColorTable();
            t.Default.BackColors = new Color[] { factory.GetColor(128,0x8AD293) };
            t.Default.BorderColors = new Color[] { factory.GetColor(0x7ACC93) };
            t.Default.TextColor = factory.GetColor(0x444444);
            t.Disabled = t.Default.Clone();
            t.Disabled.TextColor = factory.GetColor(0xA8A8A8);
            t.Selected = new TabFormItemStateColorTable();
            t.Selected.BackColors = new Color[] { factory.GetColor(0x8AD293) };
            t.Selected.BorderColors = new Color[] { factory.GetColor(0x7ACC93) };
            t.Selected.TextColor = factory.GetColor(0x222222);
            t.MouseOver = new TabFormItemStateColorTable();
            t.MouseOver.BackColors = new Color[] { factory.GetColor(0xC5E9C9) };
            t.MouseOver.BorderColors = new Color[] { factory.GetColor(0xADE0BC) };
            t.MouseOver.TextColor = t.Selected.TextColor; // factory.GetColor(0x444444);
            t.Name = TabFormItem.GreenColorTableKey;
            return t;
        }
        internal static TabFormItemColorTable CreateMagentaTabFormItemColorTable(ColorFactory factory)
        {
            TabFormItemColorTable t = new TabFormItemColorTable();
            t.Default.BackColors = new Color[] { factory.GetColor(128, 0xF2A8D1) };
            t.Default.BorderColors = new Color[] { factory.GetColor(0xD399CF) };
            t.Default.TextColor = factory.GetColor(0x444444);
            t.Disabled = t.Default.Clone();
            t.Disabled.TextColor = factory.GetColor(0xA8A8A8);
            t.Selected = new TabFormItemStateColorTable();
            t.Selected.BackColors = new Color[] { factory.GetColor(0xF2A8D1) };
            t.Selected.BorderColors = new Color[] { factory.GetColor(0xD399CF) };
            t.Selected.TextColor = factory.GetColor(0x222222);
            t.MouseOver = new TabFormItemStateColorTable();
            t.MouseOver.BackColors = new Color[] { factory.GetColor(0xF9D2E8) };
            t.MouseOver.BorderColors = new Color[] { factory.GetColor(0xF3C5DE) };
            t.MouseOver.TextColor = t.Selected.TextColor;// factory.GetColor(0x444444);
            t.Name = TabFormItem.MagentaColorTableKey;
            return t;
        }
        internal static TabFormItemColorTable CreateBlueMistTabFormItemColorTable(ColorFactory factory)
        {
            TabFormItemColorTable t = new TabFormItemColorTable();
            t.Default.BackColors = new Color[] { factory.GetColor(128, 0x9FB2E1) };
            t.Default.BorderColors = new Color[] { factory.GetColor(0x96ABDE) };
            t.Default.TextColor = factory.GetColor(0x444444);
            t.Disabled = t.Default.Clone();
            t.Disabled.TextColor = factory.GetColor(0xA8A8A8);
            t.Selected = new TabFormItemStateColorTable();
            t.Selected.BackColors = new Color[] { factory.GetColor(0x9FB2E1) };
            t.Selected.BorderColors = new Color[] { factory.GetColor(0x96ABDE) };
            t.Selected.TextColor = factory.GetColor(0x222222);
            t.MouseOver = new TabFormItemStateColorTable();
            t.MouseOver.BackColors = new Color[] { factory.GetColor(0xCED9F0) };
            t.MouseOver.BorderColors = new Color[] { factory.GetColor(0xC0CDEB) };
            t.MouseOver.TextColor = t.Selected.TextColor;// factory.GetColor(0x444444);
            t.Name = TabFormItem.BlueMistColorTableKey;
            return t;
        }
        internal static TabFormItemColorTable CreatePurpleMistTabFormItemColorTable(ColorFactory factory)
        {
            TabFormItemColorTable t = new TabFormItemColorTable();
            t.Default.BackColors = new Color[] { factory.GetColor(128, 0xB4AFDF) };
            t.Default.BorderColors = new Color[] { factory.GetColor(0xAAA5DB) };
            t.Default.TextColor = factory.GetColor(0x444444);
            t.Disabled = t.Default.Clone();
            t.Disabled.TextColor = factory.GetColor(0xA8A8A8);
            t.Selected = new TabFormItemStateColorTable();
            t.Selected.BackColors = new Color[] { factory.GetColor(0xB4AFDF) };
            t.Selected.BorderColors = new Color[] { factory.GetColor(0xAAA5DB) };
            t.Selected.TextColor = factory.GetColor(0x222222);
            t.MouseOver = new TabFormItemStateColorTable();
            t.MouseOver.BackColors = new Color[] { factory.GetColor(0xD8D6EF) };
            t.MouseOver.BorderColors = new Color[] { factory.GetColor(0xCCC9E9) };
            t.MouseOver.TextColor = t.Selected.TextColor;// factory.GetColor(0x444444);
            t.Name = TabFormItem.PurpleMistColorTableKey;
            return t;
        }
        internal static TabFormItemColorTable CreateTanTabFormItemColorTable(ColorFactory factory)
        {
            TabFormItemColorTable t = new TabFormItemColorTable();
            t.Default.BackColors = new Color[] { factory.GetColor(128, 0xD4B298) };
            t.Default.BorderColors = new Color[] { factory.GetColor(0xCDA485) };
            t.Default.TextColor = factory.GetColor(0x444444);
            t.Disabled = t.Default.Clone();
            t.Disabled.TextColor = factory.GetColor(0xA8A8A8);
            t.Selected = new TabFormItemStateColorTable();
            t.Selected.BackColors = new Color[] { factory.GetColor(0xD4B298) };
            t.Selected.BorderColors = new Color[] { factory.GetColor(0xCDA485) };
            t.Selected.TextColor = factory.GetColor(0x222222);
            t.MouseOver = new TabFormItemStateColorTable();
            t.MouseOver.BackColors = new Color[] { factory.GetColor(0xE9D8CB) };
            t.MouseOver.BorderColors = new Color[] { factory.GetColor(0xE0C8B6) };
            t.MouseOver.TextColor = t.Selected.TextColor;// factory.GetColor(0x444444);
            t.Name = TabFormItem.TanColorTableKey;
            return t;
        }
        internal static TabFormItemColorTable CreateLemonLimeTabFormItemColorTable(ColorFactory factory)
        {
            TabFormItemColorTable t = new TabFormItemColorTable();
            t.Default.BackColors = new Color[] { factory.GetColor(128, 0xC1DA82) };
            t.Default.BorderColors = new Color[] { factory.GetColor(0xB4D367) };
            t.Default.TextColor = factory.GetColor(0x444444);
            t.Disabled = t.Default.Clone();
            t.Disabled.TextColor = factory.GetColor(0xA8A8A8);
            t.Selected = new TabFormItemStateColorTable();
            t.Selected.BackColors = new Color[] { factory.GetColor(0xC1DA82) };
            t.Selected.BorderColors = new Color[] { factory.GetColor(0xB4D367) };
            t.Selected.TextColor = factory.GetColor(0x222222);
            t.MouseOver = new TabFormItemStateColorTable();
            t.MouseOver.BackColors = new Color[] { factory.GetColor(0xE0EDC0) };
            t.MouseOver.BorderColors = new Color[] { factory.GetColor(0xD2E4A3) };
            t.MouseOver.TextColor = t.Selected.TextColor; // factory.GetColor(0x444444);
            t.Name = TabFormItem.LemonLimeColorTableKey;
            return t;
        }
        internal static TabFormItemColorTable CreateAppleTabFormItemColorTable(ColorFactory factory)
        {
            TabFormItemColorTable t = new TabFormItemColorTable();
            t.Default.BackColors = new Color[] { factory.GetColor(128, 0xABD58B) };
            t.Default.BorderColors = new Color[] { factory.GetColor(0x9DCE78) };
            t.Default.TextColor = factory.GetColor(0x444444);
            t.Disabled = t.Default.Clone();
            t.Disabled.TextColor = factory.GetColor(0xA8A8A8);
            t.Selected = new TabFormItemStateColorTable();
            t.Selected.BackColors = new Color[] { factory.GetColor(0xABD58B) };
            t.Selected.BorderColors = new Color[] { factory.GetColor(0x9DCE78) };
            t.Selected.TextColor = factory.GetColor(0x222222);
            t.MouseOver = new TabFormItemStateColorTable();
            t.MouseOver.BackColors = new Color[] { factory.GetColor(0xD5EAC6) };
            t.MouseOver.BorderColors = new Color[] { factory.GetColor(0xC2E1AC) };
            t.MouseOver.TextColor = t.Selected.TextColor;// factory.GetColor(0x444444);
            t.Name = TabFormItem.AppleColorTableKey;
            return t;
        }
        internal static TabFormItemColorTable CreateTealTabFormItemColorTable(ColorFactory factory)
        {
            TabFormItemColorTable t = new TabFormItemColorTable();
            t.Default.BackColors = new Color[] { factory.GetColor(128, 0x88D4C2) };
            t.Default.BorderColors = new Color[] { factory.GetColor(0x75CDB8) };
            t.Default.TextColor = factory.GetColor(0x444444);
            t.Disabled = t.Default.Clone();
            t.Disabled.TextColor = factory.GetColor(0xA8A8A8);
            t.Selected = new TabFormItemStateColorTable();
            t.Selected.BackColors = new Color[] { factory.GetColor(0x88D4C2) };
            t.Selected.BorderColors = new Color[] { factory.GetColor(0x75CDB8) };
            t.Selected.TextColor = factory.GetColor(0x222222);
            t.MouseOver = new TabFormItemStateColorTable();
            t.MouseOver.BackColors = new Color[] { factory.GetColor(0xC4EAE1) };
            t.MouseOver.BorderColors = new Color[] { factory.GetColor(0xACE1D5) };
            t.MouseOver.TextColor = t.Selected.TextColor;// factory.GetColor(0x444444);
            t.Name = TabFormItem.TealColorTableKey;
            return t;
        }
        internal static TabFormItemColorTable CreateSilverTabFormItemColorTable(ColorFactory factory)
        {
            TabFormItemColorTable t = new TabFormItemColorTable();
            t.Default.BackColors = new Color[] { factory.GetColor(128, 0xC3C9CF) };
            t.Default.BorderColors = new Color[] { factory.GetColor(0xB9C0C7) };
            t.Default.TextColor = factory.GetColor(0x444444);
            t.Disabled = t.Default.Clone();
            t.Disabled.TextColor = factory.GetColor(0xA8A8A8);
            t.Selected = new TabFormItemStateColorTable();
            t.Selected.BackColors = new Color[] { factory.GetColor(0xC3C9CF) };
            t.Selected.BorderColors = new Color[] { factory.GetColor(0xB9C0C7) };
            t.Selected.TextColor = factory.GetColor(0x222222);
            t.MouseOver = new TabFormItemStateColorTable();
            t.MouseOver.BackColors = new Color[] { factory.GetColor(0xE0E3E7) };
            t.MouseOver.BorderColors = new Color[] { factory.GetColor(0xD5D9DD) };
            t.MouseOver.TextColor = t.Selected.TextColor; // factory.GetColor(0x444444);
            t.Name = TabFormItem.SilverColorTableKey;
            return t;
        }
        internal static TabFormItemColorTable CreateRedChalkTabFormItemColorTable(ColorFactory factory)
        {
            TabFormItemColorTable t = new TabFormItemColorTable();
            t.Default.BackColors = new Color[] { factory.GetColor(128,0xF2A8D1) };
            t.Default.BorderColors = new Color[] { factory.GetColor(0xEB9FC9) };
            t.Default.TextColor = factory.GetColor(0x444444);
            t.Disabled = t.Default.Clone();
            t.Disabled.TextColor = factory.GetColor(0xA8A8A8);
            t.Selected = new TabFormItemStateColorTable();
            t.Selected.BackColors = new Color[] { factory.GetColor(0xF2A8D1) };
            t.Selected.BorderColors = new Color[] { factory.GetColor(0xEB9FC9) };
            t.Selected.TextColor = factory.GetColor(0x222222);
            t.MouseOver = new TabFormItemStateColorTable();
            t.MouseOver.BackColors = new Color[] { factory.GetColor(0xF9D2CF) };
            t.MouseOver.BorderColors = new Color[] { factory.GetColor(0xF3C5DE) };
            t.MouseOver.TextColor = t.Selected.TextColor; // factory.GetColor(0x444444);
            t.Name = TabFormItem.RedChalkColorTableKey;
            return t;
        }
        internal static void InitRangeSlider(Office2007ColorTable table, ColorFactory factory)
        {
            Office2010RangeSliderColorTable rsl = table.RangeSlider;
            Office2007SliderColorTable sl = table.Slider;
            rsl.TickLineColor = sl.Default.TrackLineColor;
            rsl.RangeBackground = sl.Default.PartBackground.Clone();
            rsl.RangeLineColor = sl.Default.PartBorderColor;
            rsl.RangeValueBackground = new GradientColorTable();
            rsl.RangeValueBackground.Colors.Add(new BackgroundColorBlend(factory.GetColor(0xE1F8D4), 0));
            rsl.RangeValueBackground.Colors.Add(new BackgroundColorBlend(factory.GetColor(0x95E56A), .8f));
            rsl.RangeValueBackground.Colors.Add(new BackgroundColorBlend(factory.GetColor(0x95E56A), .85f));
            rsl.RangeValueBackground.Colors.Add(new BackgroundColorBlend(factory.GetColor(0xB4EE95), 1));
            rsl.RangeValueLineColor = rsl.RangeLineColor;
            rsl.MinRangeSlider.Default.Background = sl.Default.PartBackground.Clone();
            rsl.MinRangeSlider.Default.BorderColor = sl.Default.PartBorderColor;
            rsl.MinRangeSlider.Default.BorderLightColor = sl.Default.PartBorderLightColor;
            rsl.MinRangeSlider.Disabled.Background = sl.Disabled.PartBackground.Clone();
            rsl.MinRangeSlider.Disabled.BorderColor = sl.Disabled.PartBorderColor;
            rsl.MinRangeSlider.Disabled.BorderLightColor = sl.Disabled.PartBorderLightColor;
            rsl.MinRangeSlider.MouseOver.Background = sl.MouseOver.PartBackground.Clone();
            rsl.MinRangeSlider.MouseOver.BorderColor = sl.MouseOver.PartBorderColor;
            rsl.MinRangeSlider.MouseOver.BorderLightColor = sl.MouseOver.PartBorderLightColor;
            rsl.MinRangeSlider.Pressed.Background = sl.Pressed.PartBackground.Clone();
            rsl.MinRangeSlider.Pressed.BorderColor = sl.Pressed.PartBorderColor;
            rsl.MinRangeSlider.Pressed.BorderLightColor = sl.Pressed.PartBorderLightColor;
            rsl.MaxRangeSlider = rsl.MinRangeSlider;
        }
        /// 
        /// Creates new instance of the object.
        /// 
        public Office2007ColorTable(eOffice2007ColorScheme scheme)
        {
            if (scheme == eOffice2007ColorScheme.Black)
                Office2007ColorTableFactory.InitializeVistaBlackColorTable(this, m_ColorFactory);
            else if (scheme == eOffice2007ColorScheme.Silver)
                Office2007SilverColorTableFactory.InitializeColorTable(this, m_ColorFactory);
            else if (scheme == eOffice2007ColorScheme.VistaGlass)
                Office2007VistaBlackColorTableFactory.InitializeVistaBlackColorTable(this, m_ColorFactory);
            else
                InitializeBlueColorTable(m_ColorFactory);
            m_ColorScheme = scheme;
        }
        /// 
        /// Creates new instance of the object.
        /// 
        public Office2007ColorTable(eOffice2007ColorScheme scheme, ColorFactory colorFactory)
        {
            m_ColorFactory = colorFactory;
            if (scheme == eOffice2007ColorScheme.Black)
                Office2007ColorTableFactory.InitializeVistaBlackColorTable(this, m_ColorFactory);
            else if (scheme == eOffice2007ColorScheme.Silver)
                Office2007SilverColorTableFactory.InitializeColorTable(this, m_ColorFactory);
            else if (scheme == eOffice2007ColorScheme.VistaGlass)
                Office2007VistaBlackColorTableFactory.InitializeVistaBlackColorTable(this, m_ColorFactory);
            else
                InitializeBlueColorTable(m_ColorFactory);
            m_ColorScheme = scheme;
        }
        
        /// 
        /// Creates new instance of the color table and initializes it with custom color scheme.
        /// 
        /// Predefined color scheme to be used as starting color scheme.
        /// Color to use as basis for new color scheme
        public Office2007ColorTable(eOffice2007ColorScheme scheme, Color baseSchemeColor)
        {
            if (baseSchemeColor.IsEmpty)
                m_ColorFactory = ColorFactory.Empty;
            else
                m_ColorFactory = new ColorBlendFactory(baseSchemeColor);
            if (scheme == eOffice2007ColorScheme.Black)
                Office2007ColorTableFactory.InitializeVistaBlackColorTable(this, m_ColorFactory);
            else if (scheme == eOffice2007ColorScheme.Silver)
                Office2007SilverColorTableFactory.InitializeColorTable(this, m_ColorFactory);
            else if (scheme == eOffice2007ColorScheme.VistaGlass)
                Office2007VistaBlackColorTableFactory.InitializeVistaBlackColorTable(this, m_ColorFactory);
            else
                InitializeBlueColorTable(m_ColorFactory);
            m_ColorScheme = scheme;
        }
        #endregion
        #region Ribbon Bar Colors
        /// 
        /// Gets or sets the RibbonBar color table.
        /// 
        public Office2007RibbonBarColorTable RibbonBar = new Office2007RibbonBarColorTable();
        #endregion
        #region ButtonItem
        /// 
        /// Gets the reference to collection of Office2007ButtonItemColorTable objects the describe colors used by a button with Office 2007 style.
        /// The collection by default has elements that are created to
        /// represents the members of eButtonColor enumeration. The name of each color table object is the same as the string
        /// enum representation. You can add custom members to this collection or modify the existing ones. Note that you must specify the
        /// unique name for the new color table elements. Name specified there can be used in ButtonItem.CustomColorName property to specify
        /// custom color table for an ButtonItem.
        /// 
        public Office2007ButtonItemColorTableCollection ButtonItemColors
        {
            get { return m_ButtonItemColors; }
        }
        /// 
        /// Gets the reference to collection of Office2007ButtonItemColorTable objects the describe colors used by a button with Office 2007 style when
        /// button is on RibbonBar control. When collection is empty the values from the ButtonItemColors collections are used instead.
        /// 
        public Office2007ButtonItemColorTableCollection RibbonButtonItemColors
        {
            get { return m_RibbonButtonItemColors; }
        }
        /// 
        /// Gets the reference to collection of Office2007ButtonItemColorTable objects the describe colors used by a button with Office 2007 style when
        /// button is on menu bar. When collection is empty the values from the ButtonItemColors collections are used instead.
        /// 
        public Office2007ButtonItemColorTableCollection MenuButtonItemColors
        {
            get { return m_MenuButtonItemColors; }
        }
        /// 
        /// Gets the reference to collection of Office2007ButtonItemColorTable objects the describe colors used by Ribbon Application Menu Button in Office 2010 style.
        /// 
        public Office2007ButtonItemColorTableCollection ApplicationButtonColors
        {
            get { return _ApplicationButtonColors; }
        }
        /// 
        /// Gets the reference to collection of Office2007ButtonItemColorTable objects the describe colors used by buttons that are on Backstage tab-strip.
        /// 
        public Office2007ButtonItemColorTableCollection BackstageButtonItemColors
        {
            get { return _BackstageButtonColors; }
        }
         /// 
        /// Gets the reference to collection of Office2007ButtonItemColorTable objects the describe colors used by buttons that are on NavigationPane control. Currently used for Office 2010 style only. When empty ButtonItemColors is used.
        /// 
        public Office2007ButtonItemColorTableCollection NavigationPaneButtonItemColors
        {
            get { return _NavigationPaneButtonItemColors; }
        }
        private static Office2007ButtonItemColorTable FallBackButtonItemColorTable = null;
        internal static Office2007ButtonItemColorTable GetFallBackButtonItemColorTable()
        {
            if (FallBackButtonItemColorTable != null) return FallBackButtonItemColorTable;
            Office2007ButtonItemColorTable cb = Office2007ColorTableFactory.GetButtonItemBlueOrange(ColorFactory.Empty);
            cb.Name = Enum.GetName(typeof(eButtonColor), eButtonColor.Orange);
            FallBackButtonItemColorTable = cb;
            return cb;
        }
        
        #endregion
        #region RibbonTabItem
        /// 
        /// Gets the reference to collection of Office2007RibbonTabItemColorTable objects the describe colors used by a ribbon tab with Office 2007 style.
        /// The collection by default has elements that are created to
        /// represents the members of eRibbonTabColor enumeration. The name of each color table object is the same as the string
        /// enum representation. You can add custom members to this collection or modify the existing ones. Note that you must specify the
        /// unique name for the new color table elements. Name specified there can be used in RibbonTabItem.CustomColorName property to specify
        /// custom color table for an ButtonItem.
        /// 
        public Office2007RibbonTabItemColorTableCollection RibbonTabItemColors
        {
            get { return m_RibbonTabItemColors; }
        }
        #endregion
        #region RibbonTabItemGroup
        /// 
        /// Gets the reference to collection of Office2007RibbonTabGroupColorTableCollection objects the describe colors used by a ribbon tab groups with Office 2007 style.
        /// The collection by default has elements that are created to
        /// represents the members of eRibbonTabGroupColor enumeration. The name of each color table object is the same as the string
        /// enum representation. You can add custom members to this collection or modify the existing ones. Note that you must specify the
        /// unique name for the new color table elements.
        /// 
        public Office2007RibbonTabGroupColorTableCollection RibbonTabGroupColors
        {
            get { return m_RibbonTabGroupColors; }
        }
        #endregion
        #region Item Group
        /// 
        /// Gets or sets the background colors for the ItemContainer with BeginGroup property set to true.
        /// 
        public Office2007ItemGroupColorTable ItemGroup = new Office2007ItemGroupColorTable();
        #endregion
        #region Bar
        /// 
        /// Gets or sets the background colors for the Bar object.
        /// 
        public Office2007BarColorTable Bar = new Office2007BarColorTable();
        #endregion
        #region Ribbon Control
        /// 
        /// Gets or sets the colors for the RibbonControl.
        /// 
        public Office2007RibbonColorTable RibbonControl = new Office2007RibbonColorTable();
        #endregion
        #region ColorItem
        /// 
        /// Gets or sets the colors for the ColorItem which is used by drop-down Color Picker.
        /// 
        public Office2007ColorItemColorTable ColorItem = new Office2007ColorItemColorTable();
        #endregion
        #region Menu
        /// 
        /// Gets or sets the color table for menus.
        /// 
        public Office2007MenuColorTable Menu = new Office2007MenuColorTable();
        #endregion
        #region ComboBox
        /// 
        /// Gets or sets the color table for ComboBoxItem.
        /// 
        public Office2007ComboBoxColorTable ComboBox = new Office2007ComboBoxColorTable();
        #endregion
        #region Dialog Launcher
        /// 
        /// Gets or sets the colors for the Ribbon Bar dialog launcher button.
        /// 
        public Office2007DialogLauncherColorTable DialogLauncher = new Office2007DialogLauncherColorTable();
        #endregion
        #region Legacy ColorScheme
        /// 
        /// Gets or sets the legacy color scheme object that applies to the user interface elements not covered by color table.
        /// 
        public ColorScheme LegacyColors = new ColorScheme(eDotNetBarStyle.Office2007);
        #endregion
        #region System Button
        /// 
        /// Gets or sets the color table of the system buttons displayed in form caption.
        /// 
        public Office2007SystemButtonColorTable SystemButton = new Office2007SystemButtonColorTable();
        /// 
        /// Gets or sets the color table of the close system button displayed in form caption. Applies to Office 2010 styles and later only.
        /// 
        public Office2007SystemButtonColorTable SystemButtonClose = null;
        /// 
        /// Gets or sets the color table for the form caption.
        /// 
        public Office2007FormColorTable Form = new Office2007FormColorTable();
        #endregion
        #region Quick Access Toolbar Background
        /// 
        /// Gets or sets the bacgkround colors for the quick access toolbar.
        /// 
        public Office2007QuickAccessToolbarColorTable QuickAccessToolbar = new Office2007QuickAccessToolbarColorTable();
        #endregion
        #region Tab Control
        /// 
        /// Gets or sets the colors for the tab and tab strip control.
        /// 
        public Office2007TabColorTable TabControl = new Office2007TabColorTable();
        /// 
        /// Gets or sets the colors for the tab strip control used on docking windows. When not set TabControl color scheme is used.
        /// 
        public Office2007TabColorTable DockTabStrip = null;
        #endregion
        #region KeyTips
        /// 
        /// Gets or sets the KeyTips color table.
        /// 
        public Office2007KeyTipsColorTable KeyTips = new Office2007KeyTipsColorTable();
        #endregion
        #region CheckBoxItem Colors
        /// 
        /// Gets or sets the color table for the CheckBoxItem.
        /// 
        public Office2007CheckBoxColorTable CheckBoxItem = new Office2007CheckBoxColorTable();
        #endregion
        #region Scrollbar Colors
        /// 
        /// Gets or sets the scroll bar colors.
        /// 
        public Office2007ScrollBarColorTable ScrollBar = new Office2007ScrollBarColorTable();
        /// 
        /// Gets or sets the application style scroll bar colors.
        /// 
        public Office2007ScrollBarColorTable AppScrollBar = new Office2007ScrollBarColorTable();
        #endregion
        #region ProgressBarItem Colors
        /// 
        /// Gets or sets the color table for the ProgressBarItem.
        /// 
        public Office2007ProgressBarColorTable ProgressBarItem = new Office2007ProgressBarColorTable();
        /// 
        /// Gets or sets the color table for the paused ProgressBarItem.
        /// 
        public Office2007ProgressBarColorTable ProgressBarItemPaused = new Office2007ProgressBarColorTable();
        /// 
        /// Gets or sets the color table for the error state of ProgressBarItem.
        /// 
        public Office2007ProgressBarColorTable ProgressBarItemError = new Office2007ProgressBarColorTable();
        #endregion
        #region Gallery
        /// 
        /// Gets or sets the color table for the galleries.
        /// 
        public Office2007GalleryColorTable Gallery = new Office2007GalleryColorTable();
        #endregion
        #region Navigation Pane
        /// 
        /// Gets or sets the color table for the NavigationPane control.
        /// 
        public Office2007NavigationPaneColorTable NavigationPane = new Office2007NavigationPaneColorTable();
        #endregion
        #region Slider
        /// 
        /// Gets or sets the color table for the Slider item.
        /// 
        public Office2007SliderColorTable Slider = new Office2007SliderColorTable();
        #endregion
        #region RangeSlider
        /// 
        /// Gets or sets the color table for the Range Slider item.
        /// 
        public Office2010RangeSliderColorTable RangeSlider = new Office2010RangeSliderColorTable();
        #endregion
        #region SuperTooltip
        /// 
        /// Gets the SuperTooltip color table.
        /// 
        public Office2007SuperTooltipColorTable SuperTooltip = new Office2007SuperTooltipColorTable();
        #endregion
        #region ListViewEx
        /// 
        /// Gets the color table for the ListViewEx control.
        /// 
        public Office2007ListViewColorTable ListViewEx = new Office2007ListViewColorTable();
        #endregion
        #region DataGridView
        /// 
        /// Gets the color table for the ListViewEx control.
        /// 
        public Office2007DataGridViewColorTable DataGridView = new Office2007DataGridViewColorTable();
        #endregion
        #region SideBar
        /// 
        /// Gets the color table used by SideBar control.
        /// 
        public Office2007SideBarColorTable SideBar = new Office2007SideBarColorTable();
        #endregion
        #region AdvTree
#if !NOTREE
        /// 
        /// Gets or sets the color table for AdvTree control.
        /// 
        public DevComponents.AdvTree.Display.TreeColorTable AdvTree = null;
#endif
        #endregion
        #region CrumbBar
        /// 
        /// Gets or sets the CrumBarItem color table.
        /// 
        public CrumbBarItemViewColorTable CrumbBarItemView = null;
        #endregion
        #region WarningBox
        public Office2007WarningBoxColorTable WarningBox = new Office2007WarningBoxColorTable();
        #endregion
        #region CalendarView
        /// 
        /// Gets the color table used by Schedule control.
        /// 
        public Office2007CalendarViewColorTable CalendarView = new Office2007CalendarViewColorTable();
        #endregion
        #region SuperTabControl
        #region Office2007 Style
        public SuperTabColorTable SuperTab = new SuperTabColorTable();
        public SuperTabItemColorTable SuperTabItem = new SuperTabItemColorTable();
        public SuperTabPanelColorTable SuperTabPanel = new SuperTabPanelColorTable();
        #endregion
        #region BackStage Style
        public SuperTabColorTable Backstage = new SuperTabColorTable();
        public SuperTabItemColorTable BackstageItem = new SuperTabItemColorTable();
        public SuperTabPanelColorTable BackstagePanel = new SuperTabPanelColorTable();
        #endregion
        #endregion
        #region SwitchButton
        /// 
        /// Gets or sets SwitchButton color table.
        /// 
        public SwitchButtonColors SwitchButton = null;
        #endregion
        #region LabelItem Contextual Colors
        public Dictionary LabelItemColors = new Dictionary();
        #endregion
        #region StepIndicator
        public StepIndicatorColorTable StepIndicator = new StepIndicatorColorTable();
        #endregion
        #region StepItem
        /// 
        /// Gets or sets the colors for the StepItem used in ProgressSteps control.
        /// 
        public OfficeStepItemColorTable StepItem = new OfficeStepItemColorTable();
        #endregion
        #region ListBoxItem
        /// 
        /// Gets or sets the colors for the ListBoxItem used in ListBoxAdv control.
        /// 
        public OfficeListBoxItemColorTable ListBoxItem = new OfficeListBoxItemColorTable();
        #endregion
        #region RadialMenuColorTable
        /// 
        /// Gets or sets the color table for the radial menu.
        /// 
        public RadialMenuColorTable RadialMenu = new RadialMenuColorTable();
        #endregion
        #region TokenEditorColorTable
        /// 
        /// Gets or sets color table for TokenEditor control tokens.
        /// 
        public TokenEditorColorTable TokenEditor = new TokenEditorColorTable();
        #endregion
        #region FlyoutColorTable
        /// 
        /// Gets or sets color table for Flyout control.
        /// 
        public FlyoutColorTable Flyout = new FlyoutColorTable();
        #endregion
        #region ListBoxItem
        /// 
        /// Gets or sets the colors for the SideNav control.
        /// 
        public SideNavColorTable SideNav = new SideNavColorTable();
        #endregion
        #region TabParentForm
        public TabFormColorTable TabForm = new TabFormColorTable();
        #endregion
        #region TabFormItem
        /// 
        /// Gets or sets the color tables for the TabFormItem. The key is the string representation of a eTabFormItemColor value.
        /// 
        public Dictionary TabFormItemColorTables=new Dictionary();
        #endregion
        /// 
        /// Returns the color scheme table was initialized with.
        /// 
        public eOffice2007ColorScheme InitialColorScheme
        {
            get { return m_ColorScheme; }
        }
        #region IElementStyleClassProvider Members
        /// 
        /// Returns the instance of the ElementStyle with given class name or null if there is no class with that name defined.
        /// 
        /// Class name. See static members of ElementStyleClassKeys class for the list of available keys.
        /// Instance of ElementStyle for given class name or null if class cannot be found.
        public ElementStyle GetClass(string className)
        {
            if (m_StyleClasses.ContainsKey(className))
                return (ElementStyle)m_StyleClasses[className];
            return null;
        }
        #endregion
        /// 
        /// Get the reference to the collection that holds system cached styles. In most cases there is no need for you to modify members of this collection.
        /// 
        public Hashtable StyleClasses
        {
            get { return m_StyleClasses; }
        }
        private static bool _CloneImagesOnAccess = false;
        /// 
        /// Gets or sets whether images like Start button image, are cloned when painted. This is reduces the performance but is necessary if they can be accessed from multiple threads.
        /// 
        public static bool CloneImagesOnAccess
        {
            get { return _CloneImagesOnAccess; }
            set
            {
                _CloneImagesOnAccess = value;
            }
        }
        /// 
        /// Gets the reference to collection of contextual color tables that are based on items Control container type and other context properties.
        /// When contextual color table is defined it overrides the default color table.
        /// 
        public Dictionary ContextualTables
        {
            get { return m_ContextualTables; }
        }
        #region IDisposable Members
        public void Dispose()
        {
            if (this.RibbonControl.StartButtonDefault != null)
            {
                this.RibbonControl.StartButtonDefault.Dispose();
                this.RibbonControl.StartButtonDefault = null;
            }
            if (this.RibbonControl.StartButtonMouseOver != null)
            {
                this.RibbonControl.StartButtonMouseOver.Dispose();
                this.RibbonControl.StartButtonMouseOver = null;
            }
            if (this.RibbonControl.StartButtonPressed != null)
            {
                this.RibbonControl.StartButtonPressed.Dispose();
                this.RibbonControl.StartButtonPressed = null;
            }
        }
        #endregion
        public static string GetContextualKey(Type colorTableType, Type containerType)
        {
            return colorTableType.Name + "+" + containerType.FullName;
        }
        public static string GetContextualKey(Type colorTableType, string containerQualifier)
        {
            return colorTableType.Name + "+" + containerQualifier;
        }
        public static string GetContextualKey(Type colorTableType)
        {
            return colorTableType.Name;
        }
    }
    /// 
    /// Defines the color scheme type for the Office2007ColorTable.
    /// 
    public enum eOffice2007ColorScheme
    {
        /// 
        /// Blue color scheme.
        /// 
        Blue,
        /// 
        /// Black color scheme.
        /// 
        Black,
        /// 
        /// Silver color scheme.
        /// 
        Silver,
        /// 
        /// Windows Vista Glass inspired color scheme.
        /// 
        VistaGlass
    }
    /// 
    /// Defines the delegate which retrieves the color for specific integer value.
    /// 
    /// color represented as integer.
    /// Reference to Color object.
    public delegate Color GetColorDelegate(int rgb);
    /// 
    /// Defines contextual label colors.
    /// 
    public struct LabelColors
    {
        public Color Text;
        public Color DisabledText;
        /// 
        /// Initializes a new instance of the LabelColors structure.
        /// 
        /// 
        /// 
        public LabelColors(Color text, Color disabledText)
        {
            Text = text;
            DisabledText = disabledText;
        }
    }
}