298 lines
7.7 KiB
C#
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();
|
|
}
|
|
}
|