CPF/CPF.ReoGrid/WorksheetRangeStyle.cs
2024-06-24 10:15:59 +08:00

298 lines
7.7 KiB
C#

using System;
using CPF.Drawing;
using CPF.ReoGrid.Drawing.Text;
using CPF.ReoGrid.Graphics;
using CPF.ReoGrid.Utility;
namespace CPF.ReoGrid
{
[Serializable]
public class WorksheetRangeStyle
{
public PlainStyleFlag Flag { get; set; }
public Color BackColor { get; set; }
public Color FillPatternColor { get; set; }
public HatchStyles FillPatternStyle { get; set; }
public Color TextColor { get; set; }
public string FontName { get; set; }
public float FontSize { get; set; }
public bool Bold
{
get
{
return (this.fontStyles & CPF.ReoGrid.Drawing.Text.FontStyles.Bold) == CPF.ReoGrid.Drawing.Text.FontStyles.Bold;
}
set
{
if (value)
{
this.fontStyles |= CPF.ReoGrid.Drawing.Text.FontStyles.Bold;
}
else
{
this.fontStyles &= (CPF.ReoGrid.Drawing.Text.FontStyles)254;
}
}
}
public bool Italic
{
get
{
return (this.fontStyles & CPF.ReoGrid.Drawing.Text.FontStyles.Italic) == CPF.ReoGrid.Drawing.Text.FontStyles.Italic;
}
set
{
if (value)
{
this.fontStyles |= CPF.ReoGrid.Drawing.Text.FontStyles.Italic;
}
else
{
this.fontStyles &= (CPF.ReoGrid.Drawing.Text.FontStyles)253;
}
}
}
public bool Strikethrough
{
get
{
return (this.fontStyles & CPF.ReoGrid.Drawing.Text.FontStyles.Strikethrough) == CPF.ReoGrid.Drawing.Text.FontStyles.Strikethrough;
}
set
{
if (value)
{
this.fontStyles |= CPF.ReoGrid.Drawing.Text.FontStyles.Strikethrough;
}
else
{
this.fontStyles &= (CPF.ReoGrid.Drawing.Text.FontStyles)247;
}
}
}
public bool Underline
{
get
{
return (this.fontStyles & CPF.ReoGrid.Drawing.Text.FontStyles.Underline) == CPF.ReoGrid.Drawing.Text.FontStyles.Underline;
}
set
{
if (value)
{
this.fontStyles |= CPF.ReoGrid.Drawing.Text.FontStyles.Underline;
}
else
{
this.fontStyles &= (CPF.ReoGrid.Drawing.Text.FontStyles)251;
}
}
}
public ReoGridHorAlign HAlign { get; set; }
public ReoGridVerAlign VAlign { get; set; }
public TextWrapMode TextWrapMode { get; set; }
public ushort Indent { get; set; }
public PaddingValue Padding { get; set; }
public float RotationAngle { get; set; }
public WorksheetRangeStyle()
{
}
public WorksheetRangeStyle(WorksheetRangeStyle source)
{
this.CopyFrom(source);
}
public static WorksheetRangeStyle Clone(WorksheetRangeStyle source)
{
return (source == null) ? source : new WorksheetRangeStyle(source);
}
public void CopyFrom(WorksheetRangeStyle s)
{
StyleUtility.CopyStyle(s, this);
}
public override bool Equals(object obj)
{
bool flag = !(obj is WorksheetRangeStyle);
bool result;
if (flag)
{
result = false;
}
else
{
WorksheetRangeStyle worksheetRangeStyle = (WorksheetRangeStyle)obj;
bool flag2 = this.Flag != worksheetRangeStyle.Flag;
if (flag2)
{
result = false;
}
else
{
bool flag3 = (this.Flag & PlainStyleFlag.HorizontalAlign) == PlainStyleFlag.HorizontalAlign && this.HAlign != worksheetRangeStyle.HAlign;
if (flag3)
{
result = false;
}
else
{
bool flag4 = (this.Flag & PlainStyleFlag.VerticalAlign) == PlainStyleFlag.VerticalAlign && this.VAlign != worksheetRangeStyle.VAlign;
if (flag4)
{
result = false;
}
else
{
bool flag5 = (this.Flag & PlainStyleFlag.BackColor) == PlainStyleFlag.BackColor && this.BackColor != worksheetRangeStyle.BackColor;
if (flag5)
{
result = false;
}
else
{
bool flag6 = (this.Flag & PlainStyleFlag.FillPatternColor) == PlainStyleFlag.FillPatternColor && this.FillPatternColor != worksheetRangeStyle.FillPatternColor;
if (flag6)
{
result = false;
}
else
{
bool flag7 = (this.Flag & PlainStyleFlag.FillPatternStyle) == PlainStyleFlag.FillPatternStyle && this.FillPatternStyle != worksheetRangeStyle.FillPatternStyle;
if (flag7)
{
result = false;
}
else
{
bool flag8 = (this.Flag & PlainStyleFlag.TextColor) == PlainStyleFlag.TextColor && this.TextColor != worksheetRangeStyle.TextColor;
if (flag8)
{
result = false;
}
else
{
bool flag9 = (this.Flag & PlainStyleFlag.FontName) == PlainStyleFlag.FontName && this.FontName != worksheetRangeStyle.FontName;
if (flag9)
{
result = false;
}
else
{
bool flag10 = (this.Flag & PlainStyleFlag.FontSize) == PlainStyleFlag.FontSize && this.FontSize != worksheetRangeStyle.FontSize;
if (flag10)
{
result = false;
}
else
{
bool flag11 = (this.Flag & PlainStyleFlag.FontStyleBold) == PlainStyleFlag.FontStyleBold && this.Bold != worksheetRangeStyle.Bold;
if (flag11)
{
result = false;
}
else
{
bool flag12 = (this.Flag & PlainStyleFlag.FontStyleItalic) == PlainStyleFlag.FontStyleItalic && this.Italic != worksheetRangeStyle.Italic;
if (flag12)
{
result = false;
}
else
{
bool flag13 = (this.Flag & PlainStyleFlag.FontStyleStrikethrough) == PlainStyleFlag.FontStyleStrikethrough && this.Strikethrough != worksheetRangeStyle.Strikethrough;
if (flag13)
{
result = false;
}
else
{
bool flag14 = (this.Flag & PlainStyleFlag.FontStyleUnderline) == PlainStyleFlag.FontStyleUnderline && this.Underline != worksheetRangeStyle.Underline;
if (flag14)
{
result = false;
}
else
{
bool flag15 = (this.Flag & PlainStyleFlag.TextWrap) == PlainStyleFlag.TextWrap && this.TextWrapMode != worksheetRangeStyle.TextWrapMode;
if (flag15)
{
result = false;
}
else
{
bool flag16 = (this.Flag & PlainStyleFlag.Indent) == PlainStyleFlag.Indent && this.Indent != worksheetRangeStyle.Indent;
if (flag16)
{
result = false;
}
else
{
bool flag17 = (this.Flag & PlainStyleFlag.Padding) == PlainStyleFlag.Padding && this.Padding != worksheetRangeStyle.Padding;
if (flag17)
{
result = false;
}
else
{
bool flag18 = (this.Flag & PlainStyleFlag.RotationAngle) == PlainStyleFlag.RotationAngle && this.RotationAngle != worksheetRangeStyle.RotationAngle;
result = !flag18;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
return result;
}
public override int GetHashCode()
{
return base.GetHashCode();
}
public bool HasStyle(PlainStyleFlag flag)
{
return (this.Flag & flag) == flag;
}
public bool HasAny(PlainStyleFlag flag)
{
return (this.Flag & flag) > PlainStyleFlag.None;
}
internal CPF.ReoGrid.Drawing.Text.FontStyles fontStyles = CPF.ReoGrid.Drawing.Text.FontStyles.Regular;
public static WorksheetRangeStyle Empty = new WorksheetRangeStyle();
}
}