45 lines
1.2 KiB
C#
45 lines
1.2 KiB
C#
using System;
|
|
using System.Linq;
|
|
using CPF.ReoGrid.Common;
|
|
|
|
namespace CPF.ReoGrid.Actions
|
|
{
|
|
public class StepRangeFontSizeAction : WorksheetReusableAction
|
|
{
|
|
public bool Enlarge { get; set; }
|
|
|
|
public StepRangeFontSizeAction(RangePosition range, bool enlarge) : base(range)
|
|
{
|
|
this.Enlarge = enlarge;
|
|
}
|
|
|
|
public override void Do()
|
|
{
|
|
base.Worksheet.StepRangeFont(base.Range, (float size) => this.Enlarge ? ((size >= Toolkit.FontSizeList.Max()) ? size : (from f in Toolkit.FontSizeList
|
|
where f > size
|
|
select f).Min()) : ((size <= Toolkit.FontSizeList.Min()) ? size : (from f in Toolkit.FontSizeList
|
|
where f < size
|
|
select f).Max()));
|
|
}
|
|
|
|
public override void Undo()
|
|
{
|
|
base.Worksheet.StepRangeFont(base.Range, (float size) => (!this.Enlarge) ? ((size >= Toolkit.FontSizeList.Max()) ? size : (from f in Toolkit.FontSizeList
|
|
where f > size
|
|
select f).Min()) : ((size <= Toolkit.FontSizeList.Min()) ? size : (from f in Toolkit.FontSizeList
|
|
where f < size
|
|
select f).Max()));
|
|
}
|
|
|
|
public override string GetName()
|
|
{
|
|
return this.Enlarge ? "Make Text Bigger" : "Make Text Smaller";
|
|
}
|
|
|
|
public override WorksheetReusableAction Clone(RangePosition range)
|
|
{
|
|
return new StepRangeFontSizeAction(range, this.Enlarge);
|
|
}
|
|
}
|
|
}
|