41 lines
1.1 KiB
C#
41 lines
1.1 KiB
C#
using System;
|
|
using System.Diagnostics;
|
|
|
|
namespace CPF.ReoGrid.Actions
|
|
{
|
|
internal class CutRangeAction : WorksheetReusableAction
|
|
{
|
|
public CutRangeAction(RangePosition range, PartialGrid data) : base(range)
|
|
{
|
|
this.backupData = data;
|
|
}
|
|
|
|
public override void Do()
|
|
{
|
|
this.backupData = base.Worksheet.GetPartialGrid(base.Range, PartialGridCopyFlag.All, ExPartialGridCopyFlag.BorderOutsideOwner, false);
|
|
Debug.Assert(this.backupData != null);
|
|
base.Worksheet.DeleteRangeData(base.Range, true);
|
|
base.Worksheet.RemoveRangeStyles(base.Range, PlainStyleFlag.All);
|
|
base.Worksheet.RemoveRangeBorders(base.Range, BorderPositions.All);
|
|
}
|
|
|
|
public override void Undo()
|
|
{
|
|
Debug.Assert(this.backupData != null);
|
|
base.Worksheet.SetPartialGrid(base.Range, this.backupData, PartialGridCopyFlag.All, ExPartialGridCopyFlag.BorderOutsideOwner);
|
|
}
|
|
|
|
public override string GetName()
|
|
{
|
|
return "Cut Range";
|
|
}
|
|
|
|
public override WorksheetReusableAction Clone(RangePosition range)
|
|
{
|
|
return new CutRangeAction(range, this.backupData);
|
|
}
|
|
|
|
private PartialGrid backupData;
|
|
}
|
|
}
|