CPF/CPF.ReoGrid/ReferenceCellStyle.cs

281 lines
5.1 KiB
C#
Raw Normal View History

2024-06-24 10:15:59 +08:00
using System;
using CPF.Drawing;
namespace CPF.ReoGrid
{
public class ReferenceCellStyle : ReferenceStyle
{
public Cell Cell { get; private set; }
public ReferenceCellStyle(Cell cell) : base(cell.Worksheet)
{
this.Cell = cell;
}
public Color BackColor
{
get
{
this.CheckReferenceValidity();
return this.Cell.InnerStyle.BackColor;
}
set
{
this.CheckReferenceValidity();
base.Worksheet.SetCellStyleOwn(this.Cell, new WorksheetRangeStyle
{
Flag = PlainStyleFlag.BackColor,
BackColor = value
});
}
}
public ReoGridHorAlign HAlign
{
get
{
this.CheckReferenceValidity();
return this.Cell.InnerStyle.HAlign;
}
set
{
this.CheckReferenceValidity();
base.Worksheet.SetCellStyleOwn(this.Cell, new WorksheetRangeStyle
{
Flag = PlainStyleFlag.HorizontalAlign,
HAlign = value
});
}
}
public ReoGridVerAlign VAlign
{
get
{
this.CheckReferenceValidity();
return this.Cell.InnerStyle.VAlign;
}
set
{
this.CheckReferenceValidity();
base.Worksheet.SetCellStyleOwn(this.Cell, new WorksheetRangeStyle
{
Flag = PlainStyleFlag.VerticalAlign,
VAlign = value
});
}
}
public Color TextColor
{
get
{
this.CheckReferenceValidity();
return this.Cell.InnerStyle.TextColor;
}
set
{
this.CheckReferenceValidity();
base.Worksheet.SetCellStyleOwn(this.Cell, new WorksheetRangeStyle
{
Flag = PlainStyleFlag.TextColor,
TextColor = value
});
}
}
public string FontName
{
get
{
this.CheckReferenceValidity();
return this.Cell.InnerStyle.FontName;
}
set
{
this.CheckReferenceValidity();
base.Worksheet.SetCellStyleOwn(this.Cell, new WorksheetRangeStyle
{
Flag = PlainStyleFlag.FontName,
FontName = value
});
}
}
public float FontSize
{
get
{
this.CheckReferenceValidity();
return this.Cell.InnerStyle.FontSize;
}
set
{
this.CheckReferenceValidity();
base.Worksheet.SetCellStyleOwn(this.Cell, new WorksheetRangeStyle
{
Flag = PlainStyleFlag.FontSize,
FontSize = value
});
base.Worksheet.RequestInvalidate();
}
}
public bool Bold
{
get
{
this.CheckReferenceValidity();
return this.Cell.InnerStyle.Bold;
}
set
{
this.CheckReferenceValidity();
base.Worksheet.SetCellStyleOwn(this.Cell, new WorksheetRangeStyle
{
Flag = PlainStyleFlag.FontStyleBold,
Bold = value
});
base.Worksheet.RequestInvalidate();
}
}
public bool Italic
{
get
{
this.CheckReferenceValidity();
return this.Cell.InnerStyle.Italic;
}
set
{
this.CheckReferenceValidity();
base.Worksheet.SetCellStyleOwn(this.Cell, new WorksheetRangeStyle
{
Flag = PlainStyleFlag.FontStyleItalic,
Italic = value
});
base.Worksheet.RequestInvalidate();
}
}
public bool Strikethrough
{
get
{
this.CheckReferenceValidity();
return this.Cell.InnerStyle.Strikethrough;
}
set
{
this.CheckReferenceValidity();
base.Worksheet.SetCellStyleOwn(this.Cell, new WorksheetRangeStyle
{
Flag = PlainStyleFlag.FontStyleStrikethrough,
Strikethrough = value
});
base.Worksheet.RequestInvalidate();
}
}
public bool Underline
{
get
{
this.CheckReferenceValidity();
return this.Cell.InnerStyle.Underline;
}
set
{
this.CheckReferenceValidity();
base.Worksheet.SetCellStyleOwn(this.Cell, new WorksheetRangeStyle
{
Flag = PlainStyleFlag.FontStyleUnderline,
Underline = value
});
}
}
public TextWrapMode TextWrap
{
get
{
this.CheckReferenceValidity();
return this.Cell.InnerStyle.TextWrapMode;
}
set
{
this.CheckReferenceValidity();
base.Worksheet.SetCellStyleOwn(this.Cell, new WorksheetRangeStyle
{
Flag = PlainStyleFlag.TextWrap,
TextWrapMode = value
});
}
}
public ushort Indent
{
get
{
this.CheckReferenceValidity();
return this.Cell.InnerStyle.Indent;
}
set
{
this.CheckReferenceValidity();
base.Worksheet.SetCellStyleOwn(this.Cell, new WorksheetRangeStyle
{
Flag = PlainStyleFlag.Indent,
Indent = value
});
}
}
public PaddingValue Padding
{
get
{
this.CheckReferenceValidity();
return this.Cell.InnerStyle.Padding;
}
set
{
this.CheckReferenceValidity();
base.Worksheet.SetCellStyleOwn(this.Cell, new WorksheetRangeStyle
{
Flag = PlainStyleFlag.Padding,
Padding = value
});
}
}
public float RotationAngle
{
get
{
this.CheckReferenceValidity();
return this.Cell.InnerStyle.RotationAngle;
}
set
{
this.CheckReferenceValidity();
base.Worksheet.SetCellStyleOwn(this.Cell, new WorksheetRangeStyle
{
Flag = PlainStyleFlag.RotationAngle,
RotationAngle = value
});
}
}
private void CheckReferenceValidity()
{
bool flag = this.Cell == null || base.Worksheet == null;
if (flag)
{
throw new ReferenceObjectNotAssociatedException("ReferenceCellStyle must be associated to an valid cell and grid control.");
}
}
}
}