458 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			458 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| using System;
 | |
| using System.ComponentModel;
 | |
| using System.Drawing;
 | |
| 
 | |
| namespace DevComponents.DotNetBar.SuperGrid.Style
 | |
| {
 | |
|     ///<summary>
 | |
|     /// ColumnHeaderRowVisualStyles
 | |
|     ///</summary>
 | |
|     [TypeConverter(typeof(VisualStylesConverter))]
 | |
|     public class ColumnHeaderRowVisualStyles : VisualStyles<ColumnHeaderRowVisualStyle>
 | |
|     {
 | |
|     }
 | |
| 
 | |
|     ///<summary>
 | |
|     /// ColumnHeaderRowVisualStyle
 | |
|     ///</summary>
 | |
|     [TypeConverter(typeof(VisualStylesConverter))]
 | |
|     public class ColumnHeaderRowVisualStyle : BaseVisualStyle
 | |
|     {
 | |
|         #region Private variables
 | |
| 
 | |
|         private Color _FilterBorderColor = Color.Empty;
 | |
|         private Color _IndicatorBorderColor = Color.Empty;
 | |
|         private Color _SortIndicatorColor = Color.Empty;
 | |
| 
 | |
|         private Background _FilterBackground;
 | |
|         private Background _IndicatorBackground;
 | |
|         private Background _WhiteSpaceBackground;
 | |
| 
 | |
|         private BaseRowHeaderVisualStyle _RowHeaderStyle;
 | |
| 
 | |
|         #endregion
 | |
| 
 | |
|         #region Public properties
 | |
| 
 | |
|         #region FilterBackground
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets or sets the filter indicator background
 | |
|         /// </summary>
 | |
|         [Description("Indicates the RowHeader indicator background.")]
 | |
|         public Background FilterBackground
 | |
|         {
 | |
|             get
 | |
|             {
 | |
|                 if (_FilterBackground == null)
 | |
|                 {
 | |
|                     _FilterBackground = Background.Empty;
 | |
| 
 | |
|                     UpdateChangeHandler(null, _FilterBackground);
 | |
|                 }
 | |
| 
 | |
|                 return (_FilterBackground);
 | |
|             }
 | |
| 
 | |
|             set
 | |
|             {
 | |
|                 if (_FilterBackground != value)
 | |
|                 {
 | |
|                     UpdateChangeHandler(_FilterBackground, value);
 | |
| 
 | |
|                     _FilterBackground = value;
 | |
| 
 | |
|                     OnPropertyChangedEx("FilterBackground", VisualChangeType.Render);
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets whether property should be serialized.
 | |
|         /// </summary>
 | |
|         [EditorBrowsable(EditorBrowsableState.Never)]
 | |
|         private bool ShouldSerializeFilterBackground()
 | |
|         {
 | |
|             return (_FilterBackground != null &&
 | |
|                 _FilterBackground.IsEmpty == false);
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Resets property to its default value.
 | |
|         /// </summary>
 | |
|         [EditorBrowsable(EditorBrowsableState.Never)]
 | |
|         private void ResetFilterBackground()
 | |
|         {
 | |
|             FilterBackground = null;
 | |
|         }
 | |
| 
 | |
|         #endregion
 | |
| 
 | |
|         #region FilterBorderColor
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets or sets the Filter border color
 | |
|         /// </summary>
 | |
|         [Description("Indicates the Filter border color")]
 | |
|         public Color FilterBorderColor
 | |
|         {
 | |
|             get { return (_FilterBorderColor); }
 | |
| 
 | |
|             set
 | |
|             {
 | |
|                 if (_FilterBorderColor != value)
 | |
|                 {
 | |
|                     _FilterBorderColor = value;
 | |
| 
 | |
|                     OnPropertyChangedEx("FilterBorderColor", VisualChangeType.Render);
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets whether property should be serialized.
 | |
|         /// </summary>
 | |
|         [EditorBrowsable(EditorBrowsableState.Never)]
 | |
|         private bool ShouldSerializeFilterBorderColor()
 | |
|         {
 | |
|             return (_FilterBorderColor.IsEmpty == false);
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Resets property to its default value.
 | |
|         /// </summary>
 | |
|         [EditorBrowsable(EditorBrowsableState.Never)]
 | |
|         private void ResetFilterBorderColor()
 | |
|         {
 | |
|             _FilterBorderColor = Color.Empty;
 | |
|         }
 | |
| 
 | |
|         #endregion
 | |
| 
 | |
|         #region IndicatorBackground
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets or sets the RowHeader indicator background
 | |
|         /// </summary>
 | |
|         [Description("Indicates the RowHeader indicator background.")]
 | |
|         public Background IndicatorBackground
 | |
|         {
 | |
|             get
 | |
|             {
 | |
|                 if (_IndicatorBackground == null)
 | |
|                 {
 | |
|                     _IndicatorBackground = Background.Empty;
 | |
| 
 | |
|                     UpdateChangeHandler(null, _IndicatorBackground);
 | |
|                 }
 | |
| 
 | |
|                 return (_IndicatorBackground);
 | |
|             }
 | |
| 
 | |
|             set
 | |
|             {
 | |
|                 if (_IndicatorBackground != value)
 | |
|                 {
 | |
|                     UpdateChangeHandler(_IndicatorBackground, value);
 | |
| 
 | |
|                     _IndicatorBackground = value;
 | |
| 
 | |
|                     OnPropertyChangedEx("IndicatorBackground", VisualChangeType.Render);
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets whether property should be serialized.
 | |
|         /// </summary>
 | |
|         [EditorBrowsable(EditorBrowsableState.Never)]
 | |
|         private bool ShouldSerializeIndicatorBackground()
 | |
|         {
 | |
|             return (_IndicatorBackground != null && 
 | |
|                 _IndicatorBackground.IsEmpty == false);
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Resets property to its default value.
 | |
|         /// </summary>
 | |
|         [EditorBrowsable(EditorBrowsableState.Never)]
 | |
|         private void ResetIndicatorBackground()
 | |
|         {
 | |
|             IndicatorBackground = null;
 | |
|         }
 | |
| 
 | |
|         #endregion
 | |
| 
 | |
|         #region IndicatorBorderColor
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets or sets the RowHeader indicator border color
 | |
|         /// </summary>
 | |
|         [Description("Indicates the RowHeader indicator border color")]
 | |
|         public Color IndicatorBorderColor
 | |
|         {
 | |
|             get { return (_IndicatorBorderColor); }
 | |
| 
 | |
|             set
 | |
|             {
 | |
|                 if (_IndicatorBorderColor != value)
 | |
|                 {
 | |
|                     _IndicatorBorderColor = value;
 | |
| 
 | |
|                     OnPropertyChangedEx("IndicatorBorderColor", VisualChangeType.Render);
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets whether property should be serialized.
 | |
|         /// </summary>
 | |
|         [EditorBrowsable(EditorBrowsableState.Never)]
 | |
|         private bool ShouldSerializeIndicatorBorderColor()
 | |
|         {
 | |
|             return (_IndicatorBorderColor.IsEmpty == false);
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Resets property to its default value.
 | |
|         /// </summary>
 | |
|         [EditorBrowsable(EditorBrowsableState.Never)]
 | |
|         private void ResetIndicatorBorderColor()
 | |
|         {
 | |
|             _IndicatorBorderColor = Color.Empty;
 | |
|         }
 | |
| 
 | |
|         #endregion
 | |
| 
 | |
|         #region RowHeader
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets or sets the visual style of the ColumnHeader RowHeader
 | |
|         /// </summary>
 | |
|         [Description("Indicates the visual style of the ColumnHeader RowHeader.")]
 | |
|         [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
 | |
|         public BaseRowHeaderVisualStyle RowHeader
 | |
|         {
 | |
|             get
 | |
|             {
 | |
|                 if (_RowHeaderStyle == null)
 | |
|                 {
 | |
|                     _RowHeaderStyle = BaseRowHeaderVisualStyle.Empty;
 | |
| 
 | |
|                     UpdateChangeHandler(null, _RowHeaderStyle);
 | |
|                 }
 | |
| 
 | |
|                 return (_RowHeaderStyle);
 | |
|             }
 | |
| 
 | |
|             set
 | |
|             {
 | |
|                 if (_RowHeaderStyle != value)
 | |
|                 {
 | |
|                     UpdateChangeHandler(_RowHeaderStyle, value);
 | |
| 
 | |
|                     _RowHeaderStyle = value;
 | |
| 
 | |
|                     OnPropertyChangedEx("RowHeader", VisualChangeType.Render);
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         #endregion
 | |
| 
 | |
|         #region SortIndicatorColor
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets or sets the Sort indicator color
 | |
|         /// </summary>
 | |
|         [Description("Indicates the Sort indicator color")]
 | |
|         public Color SortIndicatorColor
 | |
|         {
 | |
|             get { return (_SortIndicatorColor); }
 | |
| 
 | |
|             set
 | |
|             {
 | |
|                 if (_SortIndicatorColor != value)
 | |
|                 {
 | |
|                     _SortIndicatorColor = value;
 | |
| 
 | |
|                     OnPropertyChangedEx("SortIndicatorColor", VisualChangeType.Render);
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets whether property should be serialized.
 | |
|         /// </summary>
 | |
|         [EditorBrowsable(EditorBrowsableState.Never)]
 | |
|         private bool ShouldSerializeSortIndicatorColor()
 | |
|         {
 | |
|             return (_SortIndicatorColor.IsEmpty == false);
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Resets property to its default value.
 | |
|         /// </summary>
 | |
|         [EditorBrowsable(EditorBrowsableState.Never)]
 | |
|         private void ResetSortIndicatorColor()
 | |
|         {
 | |
|             _SortIndicatorColor = Color.Empty;
 | |
|         }
 | |
| 
 | |
|         #endregion
 | |
| 
 | |
|         #region WhiteSpaceBackground
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets or sets the WhiteSpace Background
 | |
|         /// </summary>
 | |
|         [Description("Indicates the WhiteSpace Background")]
 | |
|         public Background WhiteSpaceBackground
 | |
|         {
 | |
|             get
 | |
|             {
 | |
|                 if (_WhiteSpaceBackground == null)
 | |
|                 {
 | |
|                     _WhiteSpaceBackground = Background.Empty;
 | |
| 
 | |
|                     UpdateChangeHandler(null, _WhiteSpaceBackground);
 | |
|                 }
 | |
| 
 | |
|                 return (_WhiteSpaceBackground);
 | |
|             }
 | |
| 
 | |
|             set
 | |
|             {
 | |
|                 if (_WhiteSpaceBackground != value)
 | |
|                 {
 | |
|                     UpdateChangeHandler(_WhiteSpaceBackground, value);
 | |
| 
 | |
|                     _WhiteSpaceBackground = value;
 | |
| 
 | |
|                     OnPropertyChangedEx("WhiteSpaceBackground", VisualChangeType.Render);
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets whether property should be serialized.
 | |
|         /// </summary>
 | |
|         [EditorBrowsable(EditorBrowsableState.Never)]
 | |
|         private bool ShouldSerializeWhiteSpaceBackground()
 | |
|         {
 | |
|             return (_WhiteSpaceBackground != null &&
 | |
|                 _WhiteSpaceBackground.IsEmpty == false);
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Resets property to its default value.
 | |
|         /// </summary>
 | |
|         [EditorBrowsable(EditorBrowsableState.Never)]
 | |
|         private void ResetWhiteSpaceBackground()
 | |
|         {
 | |
|             WhiteSpaceBackground = null;
 | |
|         }
 | |
| 
 | |
|         #endregion
 | |
| 
 | |
|         #endregion
 | |
| 
 | |
|         #region ApplyStyle
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Applies the style to instance of this style.
 | |
|         /// </summary>
 | |
|         /// <param name="style">Style to apply.</param>
 | |
|         public void ApplyStyle(ColumnHeaderRowVisualStyle style)
 | |
|         {
 | |
|             if (style != null)
 | |
|             {
 | |
|                 RowHeader.ApplyStyle(style.RowHeader);
 | |
| 
 | |
|                 if (style._FilterBackground != null && style._FilterBackground.IsEmpty == false)
 | |
|                     FilterBackground = style._FilterBackground.Copy();
 | |
| 
 | |
|                 if (style._FilterBorderColor.IsEmpty == false)
 | |
|                     FilterBorderColor = style._FilterBorderColor;
 | |
| 
 | |
|                 if (style._IndicatorBackground != null && style.IndicatorBackground.IsEmpty == false)
 | |
|                     IndicatorBackground = style._IndicatorBackground.Copy();
 | |
| 
 | |
|                 if (style._IndicatorBorderColor.IsEmpty == false)
 | |
|                     IndicatorBorderColor = style._IndicatorBorderColor;
 | |
| 
 | |
|                 if (style._SortIndicatorColor.IsEmpty == false)
 | |
|                     SortIndicatorColor = style._SortIndicatorColor;
 | |
| 
 | |
|                 if (style._WhiteSpaceBackground != null && style._WhiteSpaceBackground.IsEmpty == false)
 | |
|                     WhiteSpaceBackground = style._WhiteSpaceBackground.Copy();
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         #endregion
 | |
| 
 | |
|         #region Copy
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Returns the copy of the style.
 | |
|         /// </summary>
 | |
|         /// <returns>Copy of the style.</returns>
 | |
|         public new ColumnHeaderRowVisualStyle Copy()
 | |
|         {
 | |
|             ColumnHeaderRowVisualStyle copy = new ColumnHeaderRowVisualStyle();
 | |
| 
 | |
|             CopyTo(copy);
 | |
| 
 | |
|             return (copy);
 | |
|         }
 | |
| 
 | |
|         #endregion
 | |
| 
 | |
|         #region CopyTo
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Returns the copy of the style.
 | |
|         /// </summary>
 | |
|         /// <returns>Copy of the style.</returns>
 | |
|         public void CopyTo(ColumnHeaderRowVisualStyle copy)
 | |
|         {
 | |
|             base.CopyTo(copy);
 | |
| 
 | |
|             if (_RowHeaderStyle != null)
 | |
|                 copy.RowHeader = _RowHeaderStyle.Copy();
 | |
| 
 | |
|             if (_FilterBackground != null)
 | |
|                 copy.FilterBackground = _FilterBackground.Copy();
 | |
| 
 | |
|             if (_IndicatorBackground != null)
 | |
|                 copy.IndicatorBackground = _IndicatorBackground.Copy();
 | |
| 
 | |
|             copy.FilterBorderColor = _FilterBorderColor;
 | |
|             copy.IndicatorBorderColor = _IndicatorBorderColor;
 | |
|             copy.SortIndicatorColor = _SortIndicatorColor;
 | |
| 
 | |
|             if (_WhiteSpaceBackground != null)
 | |
|                 copy.WhiteSpaceBackground = _WhiteSpaceBackground.Copy();
 | |
|         }
 | |
| 
 | |
|         #endregion
 | |
| 
 | |
|         #region IDisposable
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Dispose
 | |
|         /// </summary>
 | |
|         public override void Dispose()
 | |
|         {
 | |
|             IndicatorBackground = null;
 | |
|             RowHeader = null;
 | |
|             WhiteSpaceBackground = null;
 | |
|             FilterBackground = null;
 | |
| 
 | |
|             base.Dispose();
 | |
|         }
 | |
| 
 | |
|         #endregion
 | |
|     }
 | |
| }
 |