616 lines
		
	
	
		
			25 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			616 lines
		
	
	
		
			25 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
using System.Drawing;
 | 
						|
using DevComponents.DotNetBar.Metro.ColorTables;
 | 
						|
using DevComponents.DotNetBar.Metro.Rendering;
 | 
						|
using DevComponents.DotNetBar.Rendering;
 | 
						|
 | 
						|
namespace DevComponents.DotNetBar.SuperGrid.Style
 | 
						|
{
 | 
						|
    /// <summary>
 | 
						|
    /// Create the Metro Visual Style for SuperGridControl.
 | 
						|
    /// </summary>
 | 
						|
    public class MetroStyleFactory : VisualStyleFactory
 | 
						|
    {
 | 
						|
        private MetroPartColors _MetroPartColors;
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// Initializes a new instance of the MetroStyleFactory class.
 | 
						|
        /// </summary>
 | 
						|
        public MetroStyleFactory()
 | 
						|
        {
 | 
						|
            _MetroPartColors = MetroRender.GetColorTable().MetroPartColors;
 | 
						|
        }
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// Initializes a new instance of the MetroStyleFactory class.
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="metroPartColors">Metro Part Colors to Initialize Style with.</param>
 | 
						|
        public MetroStyleFactory(MetroPartColors metroPartColors)
 | 
						|
        {
 | 
						|
            _MetroPartColors = metroPartColors;
 | 
						|
 | 
						|
            if (metroPartColors == null)
 | 
						|
                _MetroPartColors = MetroRender.GetColorTable().MetroPartColors;
 | 
						|
        }
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// Create the DefaultVisualStyle for SuperGridControl.
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="factory">Color-Factory used to generate colors.</param>
 | 
						|
        /// <returns>New instance of DefaultVisualStyles class.</returns>s
 | 
						|
        public override DefaultVisualStyles CreateStyle(ColorFactory factory)
 | 
						|
        {
 | 
						|
            DefaultVisualStyles visualStyle = new DefaultVisualStyles();
 | 
						|
 | 
						|
            InitGridPanelStyle(visualStyle, factory);
 | 
						|
 | 
						|
            InitCellStyles(visualStyle, factory);
 | 
						|
            InitMergedCellStyles(visualStyle, factory);
 | 
						|
            InitAltRowCellStyles(visualStyle, factory);
 | 
						|
 | 
						|
            InitColumnStyles(visualStyle, factory);
 | 
						|
            InitAltColumnStyles(visualStyle, factory);
 | 
						|
            InitColumnHeaderStyles(visualStyle, factory);
 | 
						|
 | 
						|
            InitRowStyles(visualStyle, factory);
 | 
						|
            InitTextRowStyles(visualStyle, factory);
 | 
						|
 | 
						|
            InitGroupHeaderStyles(visualStyle, factory);
 | 
						|
 | 
						|
            InitFilterRowStyles(visualStyle, factory);
 | 
						|
            InitFilterColumnHeaderStyles(visualStyle, factory);
 | 
						|
 | 
						|
            InitGroupByStyles(visualStyle, factory);
 | 
						|
 | 
						|
            return (visualStyle);
 | 
						|
        }
 | 
						|
 | 
						|
        #region InitGridPanelStyle
 | 
						|
 | 
						|
        private void InitGridPanelStyle(DefaultVisualStyles visualStyle, ColorFactory factory)
 | 
						|
        {
 | 
						|
            GridPanelVisualStyle style = new GridPanelVisualStyle();
 | 
						|
 | 
						|
            MetroPartColors metroColors = _MetroPartColors;
 | 
						|
            style.Background = new Background(factory.GetColor(metroColors.EditControlBackColor));
 | 
						|
            style.BorderColor = new BorderColor(factory.GetColor(metroColors.CanvasColorDarkShade));
 | 
						|
            style.BorderPattern.All = LinePattern.Solid;
 | 
						|
            style.BorderThickness = new Thickness(1);
 | 
						|
            style.TextColor = factory.GetColor(metroColors.TextColor);
 | 
						|
 | 
						|
            style.TreeLineColor = factory.GetColor(metroColors.CanvasColorLighterShade);
 | 
						|
            style.HeaderLineColor = factory.GetColor(metroColors.CanvasColorDarkShade);
 | 
						|
            style.HorizontalLineColor = factory.GetColor(metroColors.CanvasColorLighterShade);
 | 
						|
            style.VerticalLineColor = factory.GetColor(metroColors.CanvasColorLighterShade);
 | 
						|
 | 
						|
            style.TreeLinePattern = LinePattern.Solid;
 | 
						|
            style.HorizontalLinePattern = LinePattern.Solid;
 | 
						|
            style.VerticalLinePattern = LinePattern.Solid;
 | 
						|
            style.HeaderHLinePattern = LinePattern.Solid;
 | 
						|
            style.HeaderVLinePattern = LinePattern.Solid;
 | 
						|
 | 
						|
            BaseTreeButtonVisualStyle tstyle = new BaseTreeButtonVisualStyle();
 | 
						|
 | 
						|
            tstyle.BorderColor = factory.GetColor(metroColors.CanvasColorDarkShade);
 | 
						|
            tstyle.HotBorderColor = factory.GetColor(metroColors.CanvasColorDarkShade);
 | 
						|
            tstyle.LineColor = factory.GetColor(metroColors.CanvasColorDarkShade);
 | 
						|
            tstyle.HotLineColor = factory.GetColor(metroColors.CanvasColorDarkShade);
 | 
						|
            tstyle.Background = new Background(factory.GetColor(metroColors.EditControlBackColor), factory.GetColor(metroColors.EditControlBackColor), 90);
 | 
						|
            tstyle.HotBackground = new Background(factory.GetColor(metroColors.CanvasColor), factory.GetColor(metroColors.CanvasColor), 90);
 | 
						|
 | 
						|
            style.CircleTreeButtonStyle.CollapseButton = tstyle;
 | 
						|
            style.CircleTreeButtonStyle.ExpandButton = tstyle;
 | 
						|
 | 
						|
            style.SquareTreeButtonStyle.CollapseButton = tstyle;
 | 
						|
            style.SquareTreeButtonStyle.ExpandButton = tstyle;
 | 
						|
 | 
						|
            style.TriangleTreeButtonStyle.CollapseButton = tstyle;
 | 
						|
            style.TriangleTreeButtonStyle.ExpandButton = tstyle;
 | 
						|
 | 
						|
            style.TriangleTreeButtonStyle.ExpandButton = tstyle;
 | 
						|
            visualStyle.GridPanelStyle = style;
 | 
						|
        }
 | 
						|
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region InitColumnHeaderStyles
 | 
						|
 | 
						|
        private void InitColumnHeaderStyles(DefaultVisualStyles visualStyle, ColorFactory factory)
 | 
						|
        {
 | 
						|
            ColumnHeaderRowVisualStyle style = new ColumnHeaderRowVisualStyle();
 | 
						|
            MetroPartColors metroColors = _MetroPartColors;
 | 
						|
 | 
						|
            style.FilterBorderColor = factory.GetColor(metroColors.CanvasColorDarkShade);
 | 
						|
 | 
						|
            style.FilterBackground = new Background(
 | 
						|
                Color.White, factory.GetColor(metroColors.CanvasColorDarkShade), 0);
 | 
						|
 | 
						|
            style.WhiteSpaceBackground = new Background(factory.GetColor(metroColors.CanvasColor));
 | 
						|
 | 
						|
            style.RowHeader.Background = new
 | 
						|
                Background(factory.GetColor(metroColors.CanvasColorLighterShade));
 | 
						|
 | 
						|
            style.RowHeader.BorderHighlightColor = GetBorderHighlight();
 | 
						|
 | 
						|
            style.IndicatorBackground = new Background(factory.GetColor(metroColors.ComplementColor));
 | 
						|
            style.IndicatorBorderColor = factory.GetColor(metroColors.ComplementColorDark);
 | 
						|
 | 
						|
            visualStyle.ColumnHeaderRowStyles[StyleType.Default] = style;
 | 
						|
 | 
						|
            style = style.Copy();
 | 
						|
 | 
						|
            style.FilterBorderColor = factory.GetColor(metroColors.ComplementColor);
 | 
						|
 | 
						|
            style.FilterBackground = new Background(
 | 
						|
                Color.White, factory.GetColor(metroColors.ComplementColor), 45);
 | 
						|
 | 
						|
            visualStyle.ColumnHeaderRowStyles[StyleType.Selected] = style;
 | 
						|
 | 
						|
            style = style.Copy();
 | 
						|
 | 
						|
            style.FilterBorderColor = factory.GetColor(metroColors.CanvasColorDarkShade);
 | 
						|
            
 | 
						|
            style.FilterBackground = new Background(
 | 
						|
                Color.White, factory.GetColor(metroColors.BaseColorDark), 0);
 | 
						|
 | 
						|
            style.RowHeader.Background = new Background(
 | 
						|
                factory.GetColor(metroColors.CanvasColorLightShade));
 | 
						|
 | 
						|
            visualStyle.ColumnHeaderRowStyles[StyleType.MouseOver] = style;
 | 
						|
            visualStyle.ColumnHeaderRowStyles[StyleType.SelectedMouseOver] = style;
 | 
						|
        }
 | 
						|
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region InitTextRowStyles
 | 
						|
 | 
						|
        private void InitTextRowStyles(DefaultVisualStyles visualStyle, ColorFactory factory)
 | 
						|
        {
 | 
						|
            TextRowVisualStyle style = new TextRowVisualStyle();
 | 
						|
            MetroPartColors metroColors = _MetroPartColors;
 | 
						|
 | 
						|
            style.Alignment = Alignment.MiddleCenter;
 | 
						|
            style.AllowWrap = Tbool.True;
 | 
						|
 | 
						|
            style.Background = new Background(factory.GetColor(metroColors.EditControlBackColor));
 | 
						|
            style.BorderColor = new BorderColor(factory.GetColor(metroColors.CanvasColorLighterShade));
 | 
						|
 | 
						|
            style.Padding.All = 2;
 | 
						|
 | 
						|
            style.TextColor = factory.GetColor(metroColors.TextColor);
 | 
						|
 | 
						|
            style.RowHeaderStyle.Background = new Background(factory.GetColor(metroColors.CanvasColorLighterShade));
 | 
						|
            style.RowHeaderStyle.BorderHighlightColor = GetBorderHighlight();
 | 
						|
 | 
						|
            visualStyle.TitleStyles[StyleType.Default] = style;
 | 
						|
            visualStyle.HeaderStyles[StyleType.Default] = style.Copy();
 | 
						|
            visualStyle.FooterStyles[StyleType.Default] = style.Copy();
 | 
						|
 | 
						|
            style = style.Copy();
 | 
						|
            style.Background = new Background(Color.Transparent);
 | 
						|
 | 
						|
            visualStyle.CaptionStyles[StyleType.Default] = style;
 | 
						|
        }
 | 
						|
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region InitCellStyles
 | 
						|
 | 
						|
        private void InitCellStyles(DefaultVisualStyles visualStyle, ColorFactory factory)
 | 
						|
        {
 | 
						|
            CellVisualStyle style = new CellVisualStyle();
 | 
						|
            MetroPartColors metroColors = _MetroPartColors;
 | 
						|
 | 
						|
            style.Alignment = Alignment.MiddleLeft;
 | 
						|
            style.Background = new Background(factory.GetColor(metroColors.EditControlBackColor));
 | 
						|
            style.BorderColor = new BorderColor(factory.GetColor(metroColors.CanvasColorLighterShade));
 | 
						|
            style.BorderPattern.All = LinePattern.Solid;
 | 
						|
            style.BorderThickness.All = 0;
 | 
						|
            style.Font = SystemFonts.DefaultFont;
 | 
						|
            style.ImageAlignment = Alignment.MiddleLeft;
 | 
						|
            style.ImagePadding.All = 2;
 | 
						|
            style.Margin.All = 0;
 | 
						|
            style.ImageOverlay = ImageOverlay.None;
 | 
						|
            style.Padding.All = 0;
 | 
						|
            style.TextColor = metroColors.TextColor;
 | 
						|
 | 
						|
            visualStyle.CellStyles[StyleType.Default] = style;
 | 
						|
 | 
						|
            style = new CellVisualStyle();
 | 
						|
            style.TextColor = metroColors.CanvasColorDarkShade;
 | 
						|
            visualStyle.CellStyles[StyleType.ReadOnly] = style;
 | 
						|
 | 
						|
            style = new CellVisualStyle();
 | 
						|
            style.Background = GetDefaultSelectedBackground(factory);
 | 
						|
            style.TextColor = factory.GetColor(metroColors.BaseTextColor);
 | 
						|
 | 
						|
            visualStyle.CellStyles[StyleType.Selected] = style;
 | 
						|
            visualStyle.CellStyles[StyleType.ReadOnlySelected] = style.Copy();
 | 
						|
 | 
						|
            style = new CellVisualStyle();
 | 
						|
            style.Background = GetSelectedMouseOverBackground(factory);
 | 
						|
            style.TextColor = factory.GetColor(metroColors.BaseColorLightText);
 | 
						|
 | 
						|
            visualStyle.CellStyles[StyleType.SelectedMouseOver] = style;
 | 
						|
            visualStyle.CellStyles[StyleType.ReadOnlySelectedMouseOver] = style.Copy();
 | 
						|
 | 
						|
            style = new CellVisualStyle();
 | 
						|
            style.Background = new Background(factory.GetColor(metroColors.EditControlBackColor));
 | 
						|
 | 
						|
            visualStyle.CellStyles[StyleType.Empty] = style;
 | 
						|
        }
 | 
						|
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region InitMergedCellStyles
 | 
						|
 | 
						|
        private void InitMergedCellStyles(DefaultVisualStyles visualStyle, ColorFactory factory)
 | 
						|
        {
 | 
						|
            visualStyle.MergedCellStyles[StyleType.Default] = new CellVisualStyle();
 | 
						|
            visualStyle.MergedCellStyles[StyleType.ReadOnly] = new CellVisualStyle();
 | 
						|
            visualStyle.MergedCellStyles[StyleType.Selected] = new CellVisualStyle();
 | 
						|
            visualStyle.MergedCellStyles[StyleType.ReadOnlySelected] = new CellVisualStyle();
 | 
						|
            visualStyle.MergedCellStyles[StyleType.SelectedMouseOver] = new CellVisualStyle();
 | 
						|
            visualStyle.MergedCellStyles[StyleType.ReadOnlySelectedMouseOver] = new CellVisualStyle();
 | 
						|
            visualStyle.MergedCellStyles[StyleType.Empty] = new CellVisualStyle();
 | 
						|
        }
 | 
						|
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region InitAltRowCellStyles
 | 
						|
 | 
						|
        private void InitAltRowCellStyles(DefaultVisualStyles visualStyle, ColorFactory factory)
 | 
						|
        {
 | 
						|
            MetroPartColors metroColors = _MetroPartColors;
 | 
						|
            visualStyle.AlternateRowCellStyles[StyleType.Default].Background =
 | 
						|
                new Background(factory.GetColor((metroColors.CanvasColor == metroColors.EditControlBackColor) ? metroColors.CanvasColorLightShade : metroColors.CanvasColor));
 | 
						|
        }
 | 
						|
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region InitColumnStyles
 | 
						|
 | 
						|
        private void InitColumnStyles(DefaultVisualStyles visualStyle, ColorFactory factory)
 | 
						|
        {
 | 
						|
            ColumnHeaderVisualStyle colStyle = new ColumnHeaderVisualStyle();
 | 
						|
            MetroPartColors metroColors = _MetroPartColors;
 | 
						|
 | 
						|
            colStyle.Alignment = Alignment.MiddleCenter;
 | 
						|
            colStyle.BorderColor = new BorderColor(factory.GetColor(metroColors.CanvasColorLightShade));
 | 
						|
            colStyle.BorderPattern.All = LinePattern.Solid;
 | 
						|
            colStyle.BorderThickness.All = 0;
 | 
						|
            colStyle.Font = SystemFonts.CaptionFont;
 | 
						|
            colStyle.ImageAlignment = Alignment.MiddleLeft;
 | 
						|
            colStyle.Margin.All = 0;
 | 
						|
            colStyle.ImageOverlay = ImageOverlay.None;
 | 
						|
            colStyle.TextColor = factory.GetColor(metroColors.TextColor);
 | 
						|
 | 
						|
            colStyle.Background = new Background(factory.GetColor(metroColors.CanvasColorLighterShade));
 | 
						|
 | 
						|
            visualStyle.ColumnHeaderStyles[StyleType.Default] = colStyle;
 | 
						|
            visualStyle.ColumnHeaderStyles[StyleType.ReadOnly] = colStyle.Copy();
 | 
						|
            visualStyle.ColumnHeaderStyles[StyleType.ReadOnly].Font = null;
 | 
						|
 | 
						|
            colStyle = new ColumnHeaderVisualStyle();
 | 
						|
            colStyle.Background = new Background(factory.GetColor(metroColors.CanvasColorLightShade));
 | 
						|
            visualStyle.ColumnHeaderStyles[StyleType.MouseOver] = colStyle;
 | 
						|
            visualStyle.ColumnHeaderStyles[StyleType.ReadOnlyMouseOver] = colStyle.Copy();
 | 
						|
 | 
						|
            colStyle = new ColumnHeaderVisualStyle();
 | 
						|
            colStyle.Background = GetDefaultSelectedColumnBackground(factory);
 | 
						|
            visualStyle.ColumnHeaderStyles[StyleType.Selected] = colStyle;
 | 
						|
            visualStyle.ColumnHeaderStyles[StyleType.ReadOnlySelected] = colStyle.Copy();
 | 
						|
 | 
						|
            colStyle = new ColumnHeaderVisualStyle();
 | 
						|
            colStyle.Background = GetSelectedColumnMouseOverBackground();
 | 
						|
            visualStyle.ColumnHeaderStyles[StyleType.SelectedMouseOver] = colStyle;
 | 
						|
            visualStyle.ColumnHeaderStyles[StyleType.ReadOnlySelectedMouseOver] = colStyle.Copy();
 | 
						|
        }
 | 
						|
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region InitAltColumnStyles
 | 
						|
 | 
						|
        private void InitAltColumnStyles(DefaultVisualStyles visualStyle, ColorFactory factory)
 | 
						|
        {
 | 
						|
            MetroPartColors metroColors = _MetroPartColors;
 | 
						|
            visualStyle.AlternateColumnCellStyles[StyleType.Default].Background =
 | 
						|
                new Background(factory.GetColor(metroColors.EditControlBackColor));
 | 
						|
        }
 | 
						|
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region InitRowStyles
 | 
						|
 | 
						|
        private void InitRowStyles(DefaultVisualStyles visualStyle, ColorFactory factory)
 | 
						|
        {
 | 
						|
            visualStyle.RowStyles[StyleType.Default] = GetDefaultRowStyle();
 | 
						|
            visualStyle.RowStyles[StyleType.MouseOver] = GetMouseOverRowStyle();
 | 
						|
            visualStyle.RowStyles[StyleType.SelectedMouseOver] = GetSelectedMouseOverRowStyle(visualStyle, factory);
 | 
						|
        }
 | 
						|
 | 
						|
        #region GetDefaultRowStyle
 | 
						|
 | 
						|
        private RowVisualStyle GetDefaultRowStyle()
 | 
						|
        {
 | 
						|
            MetroPartColors metroColors = _MetroPartColors;
 | 
						|
 | 
						|
            RowVisualStyle rowStyle = new RowVisualStyle();
 | 
						|
            rowStyle.Background = new Background(metroColors.EditControlBackColor);
 | 
						|
 | 
						|
            RowHeaderVisualStyle style = new RowHeaderVisualStyle();
 | 
						|
 | 
						|
            style.Font = SystemFonts.DefaultFont;
 | 
						|
            style.TextColor = metroColors.TextColor;
 | 
						|
 | 
						|
            Background bg = new Background(metroColors.CanvasColorLighterShade);
 | 
						|
            style.Background = bg;
 | 
						|
 | 
						|
            bg = new Background(metroColors.BaseColor);
 | 
						|
            style.ActiveRowBackground = bg;
 | 
						|
            style.DirtyMarkerBackground = new Background(metroColors.BaseColorDarker);
 | 
						|
            style.BorderHighlightColor = GetBorderHighlight();
 | 
						|
 | 
						|
            rowStyle.RowHeaderStyle = style;
 | 
						|
 | 
						|
            return (rowStyle);
 | 
						|
        }
 | 
						|
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region GetMouseOverRowStyle
 | 
						|
 | 
						|
        private RowVisualStyle GetMouseOverRowStyle()
 | 
						|
        {
 | 
						|
            MetroPartColors metroColors = _MetroPartColors;
 | 
						|
 | 
						|
            RowVisualStyle rowStyle = new RowVisualStyle();
 | 
						|
            rowStyle.Background = new Background(metroColors.EditControlBackColor);
 | 
						|
 | 
						|
            RowHeaderVisualStyle style = new RowHeaderVisualStyle();
 | 
						|
            style.Background = new Background(metroColors.CanvasColorLighterShade);
 | 
						|
            style.ActiveRowBackground = new Background(metroColors.CanvasColorLightShade);
 | 
						|
 | 
						|
            Background bg = new Background(metroColors.CanvasColorLightShade);
 | 
						|
            style.Background = bg;
 | 
						|
 | 
						|
            bg = new Background(metroColors.BaseColor);
 | 
						|
            style.ActiveRowBackground = bg;
 | 
						|
 | 
						|
            rowStyle.RowHeaderStyle = style;
 | 
						|
 | 
						|
            return (rowStyle);
 | 
						|
        }
 | 
						|
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region GetSelectedMouseOverRowStyle
 | 
						|
 | 
						|
        private RowVisualStyle GetSelectedMouseOverRowStyle(DefaultVisualStyles visualStyle, ColorFactory factory)
 | 
						|
        {
 | 
						|
            MetroPartColors metroColors = _MetroPartColors;
 | 
						|
 | 
						|
            RowVisualStyle rowStyle = new RowVisualStyle();
 | 
						|
            rowStyle.Background = GetDefaultSelectedBackground(factory);
 | 
						|
 | 
						|
            RowHeaderVisualStyle style = new RowHeaderVisualStyle();
 | 
						|
            style.Background = new Background(metroColors.BaseColor);
 | 
						|
            style.ActiveRowBackground = new Background(metroColors.BaseColor);
 | 
						|
 | 
						|
            rowStyle.RowHeaderStyle = style;
 | 
						|
 | 
						|
            visualStyle.RowStyles[StyleType.Selected] = rowStyle;
 | 
						|
 | 
						|
            rowStyle = new RowVisualStyle();
 | 
						|
            rowStyle.Background = GetSelectedColumnMouseOverBackground();
 | 
						|
 | 
						|
            style = new RowHeaderVisualStyle();
 | 
						|
            style.Background = new Background(metroColors.BaseColor);
 | 
						|
            style.ActiveRowBackground = new Background(metroColors.BaseColor);
 | 
						|
 | 
						|
            rowStyle.RowHeaderStyle = style;
 | 
						|
 | 
						|
            return (rowStyle);
 | 
						|
        }
 | 
						|
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region InitGroupHeaderStyles
 | 
						|
 | 
						|
        private void InitGroupHeaderStyles(DefaultVisualStyles visualStyle, ColorFactory factory)
 | 
						|
        {
 | 
						|
            MetroPartColors metroColors = _MetroPartColors;
 | 
						|
 | 
						|
            GroupHeaderVisualStyle style = new GroupHeaderVisualStyle();
 | 
						|
 | 
						|
            style.AllowWrap = Tbool.True;
 | 
						|
            style.Alignment = Alignment.MiddleLeft;
 | 
						|
            style.Font = SystemFonts.DefaultFont;
 | 
						|
 | 
						|
            style.Background = new
 | 
						|
                Background(factory.GetColor(metroColors.EditControlBackColor));
 | 
						|
 | 
						|
            style.UnderlineColor = factory.GetColor(metroColors.ComplementColor);
 | 
						|
 | 
						|
            style.RowHeaderStyle.Background = new Background(factory.GetColor(metroColors.CanvasColorLighterShade));
 | 
						|
            style.RowHeaderStyle.BorderHighlightColor = GetBorderHighlight();
 | 
						|
            style.RowHeaderStyle.Font = SystemFonts.DefaultFont;
 | 
						|
 | 
						|
            style.TextColor = metroColors.TextColor;
 | 
						|
            
 | 
						|
            visualStyle.GroupHeaderStyles[StyleType.Default] = style;
 | 
						|
        }
 | 
						|
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region GetDefaultSelectedColumnBackground
 | 
						|
        private Background GetDefaultSelectedColumnBackground(ColorFactory factory)
 | 
						|
        {
 | 
						|
            MetroPartColors metroColors = _MetroPartColors;
 | 
						|
 | 
						|
            Background bg = new Background(factory.GetColor(metroColors.CanvasColorLighterShade),
 | 
						|
                factory.GetColor(metroColors.CanvasColorLightShade));
 | 
						|
 | 
						|
            return (bg);
 | 
						|
        }
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region GetDefaultSelectedBackground
 | 
						|
 | 
						|
        private Background GetDefaultSelectedBackground(ColorFactory factory)
 | 
						|
        {
 | 
						|
            MetroPartColors metroColors = _MetroPartColors;
 | 
						|
 | 
						|
            Background bg = new Background(factory.GetColor(metroColors.BaseColor));
 | 
						|
 | 
						|
            return (bg);
 | 
						|
        }
 | 
						|
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region GetDefaultSelectedColumnMouseOverStyle
 | 
						|
 | 
						|
        private Background GetSelectedColumnMouseOverBackground()
 | 
						|
        {
 | 
						|
            MetroPartColors metroColors = _MetroPartColors;
 | 
						|
 | 
						|
            return (new Background(metroColors.BaseColorLight));
 | 
						|
        }
 | 
						|
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region GetDefaultSelectedMouseOverStyle
 | 
						|
 | 
						|
        private Background GetSelectedMouseOverBackground(ColorFactory factory)
 | 
						|
        {
 | 
						|
            MetroPartColors metroColors = _MetroPartColors;
 | 
						|
 | 
						|
            return (new Background(factory.GetColor(metroColors.BaseColorLight)));
 | 
						|
        }
 | 
						|
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region InitFilterColumnHeaderStyles
 | 
						|
 | 
						|
        private void InitFilterColumnHeaderStyles(
 | 
						|
            DefaultVisualStyles visualStyle, ColorFactory factory)
 | 
						|
        {
 | 
						|
            FilterColumnHeaderVisualStyle colStyle = new FilterColumnHeaderVisualStyle();
 | 
						|
            MetroPartColors metroColors = _MetroPartColors;
 | 
						|
 | 
						|
            colStyle.Alignment = Alignment.MiddleCenter;
 | 
						|
            colStyle.Font = SystemFonts.CaptionFont;
 | 
						|
 | 
						|
            colStyle.TextColor = factory.GetColor(metroColors.TextColor);
 | 
						|
            colStyle.ErrorTextColor = factory.GetColor(metroColors.BaseColorDarker);
 | 
						|
 | 
						|
            colStyle.Background = new Background(factory.GetColor(metroColors.CanvasColorLighterShade));
 | 
						|
            colStyle.GripBarBackground = new Background(factory.GetColor(metroColors.CanvasColor));
 | 
						|
            visualStyle.FilterColumnHeaderStyles[StyleType.Default] = colStyle;
 | 
						|
 | 
						|
            colStyle = new FilterColumnHeaderVisualStyle();
 | 
						|
            colStyle.Background = new Background(factory.GetColor(metroColors.CanvasColorLightShade));
 | 
						|
            visualStyle.FilterColumnHeaderStyles[StyleType.MouseOver] = colStyle;
 | 
						|
 | 
						|
            colStyle = new FilterColumnHeaderVisualStyle();
 | 
						|
            colStyle.Background = GetDefaultSelectedColumnBackground(factory);
 | 
						|
            visualStyle.FilterColumnHeaderStyles[StyleType.Selected] = colStyle;
 | 
						|
 | 
						|
            colStyle = new FilterColumnHeaderVisualStyle();
 | 
						|
            colStyle.Background = GetSelectedColumnMouseOverBackground();
 | 
						|
            visualStyle.FilterColumnHeaderStyles[StyleType.SelectedMouseOver] = colStyle;
 | 
						|
        }
 | 
						|
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region InitFilterRowStyles
 | 
						|
 | 
						|
        private void InitFilterRowStyles(
 | 
						|
            DefaultVisualStyles visualStyle, ColorFactory factory)
 | 
						|
        {
 | 
						|
            FilterRowVisualStyle style = new FilterRowVisualStyle();
 | 
						|
            MetroPartColors metroColors = _MetroPartColors;
 | 
						|
 | 
						|
            style.FilterBorderColor = factory.GetColor(0x787D87);
 | 
						|
 | 
						|
            style.FilterBackground = new Background(
 | 
						|
                Color.White, factory.GetColor(metroColors.CanvasColorDarkShade), 0);
 | 
						|
 | 
						|
            style.WhiteSpaceBackground = new Background(factory.GetColor(metroColors.EditControlBackColor));
 | 
						|
 | 
						|
            style.RowHeader.Background = new
 | 
						|
                Background(factory.GetColor(metroColors.CanvasColorLighterShade));
 | 
						|
 | 
						|
            style.RowHeader.BorderHighlightColor = GetBorderHighlight();
 | 
						|
 | 
						|
            visualStyle.FilterRowStyles[StyleType.Default] = style;
 | 
						|
 | 
						|
            style = style.Copy();
 | 
						|
 | 
						|
            style.FilterBackground = new Background(
 | 
						|
                Color.White, factory.GetColor(metroColors.ComplementColor), 45);
 | 
						|
 | 
						|
            visualStyle.FilterRowStyles[StyleType.Selected] = style;
 | 
						|
 | 
						|
            style = style.Copy();
 | 
						|
 | 
						|
            style.FilterBackground = new Background(
 | 
						|
                Color.White, factory.GetColor(metroColors.BaseColorDark), 0);
 | 
						|
 | 
						|
            style.RowHeader.Background = new
 | 
						|
                Background(factory.GetColor(metroColors.CanvasColorLightShade));
 | 
						|
 | 
						|
            visualStyle.FilterRowStyles[StyleType.MouseOver] = style;
 | 
						|
            visualStyle.FilterRowStyles[StyleType.SelectedMouseOver] = style;
 | 
						|
        }
 | 
						|
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region InitGroupByStyles
 | 
						|
 | 
						|
        private void InitGroupByStyles(DefaultVisualStyles visualStyle, ColorFactory factory)
 | 
						|
        {
 | 
						|
            GroupByVisualStyle style = new GroupByVisualStyle();
 | 
						|
            MetroPartColors metroColors = _MetroPartColors;
 | 
						|
 | 
						|
            style.Alignment = Alignment.MiddleCenter;
 | 
						|
            style.GroupBoxConnectorColor = factory.GetColor(metroColors.BaseColorDark); // Panel border color
 | 
						|
            style.GroupBoxBorderColor = factory.GetColor(metroColors.BaseColorDark);
 | 
						|
 | 
						|
            style.InsertMarkerBorderColor = factory.GetColor(metroColors.BaseColorDark);
 | 
						|
            style.InsertMarkerBackground = GetSelectedColumnMouseOverBackground();
 | 
						|
 | 
						|
            style.RowHeaderStyle.Background = new Background(factory.GetColor(metroColors.CanvasColorLighterShade));
 | 
						|
            style.RowHeaderStyle.BorderHighlightColor = GetBorderHighlight();
 | 
						|
 | 
						|
            style.TextColor = factory.GetColor(0x363636); // Col text color
 | 
						|
            style.GroupBoxBackground = new Background(factory.GetColor(metroColors.CanvasColorLighterShade));  // col background
 | 
						|
            visualStyle.GroupByStyles[StyleType.Default] = style;
 | 
						|
 | 
						|
            style = new GroupByVisualStyle();
 | 
						|
            style.GroupBoxBackground = new Background(factory.GetColor(metroColors.CanvasColorLightShade));  // col background
 | 
						|
            visualStyle.GroupByStyles[StyleType.MouseOver] = style;
 | 
						|
 | 
						|
            style = new GroupByVisualStyle();
 | 
						|
            style.GroupBoxBackground = GetDefaultSelectedColumnBackground(factory);  // col background
 | 
						|
            visualStyle.GroupByStyles[StyleType.Selected] = style;
 | 
						|
 | 
						|
            style = new GroupByVisualStyle();
 | 
						|
            style.GroupBoxBackground = GetSelectedColumnMouseOverBackground();  // col background
 | 
						|
            visualStyle.GroupByStyles[StyleType.SelectedMouseOver] = style;
 | 
						|
        }
 | 
						|
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region GetBorderHighlight
 | 
						|
 | 
						|
        private Color GetBorderHighlight()
 | 
						|
        {
 | 
						|
            return (Color.Transparent);
 | 
						|
        }
 | 
						|
 | 
						|
        #endregion
 | 
						|
    }
 | 
						|
}
 |