281 lines
5.1 KiB
C#
281 lines
5.1 KiB
C#
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.");
|
|
}
|
|
}
|
|
}
|
|
}
|