using System; using System.Diagnostics; namespace CPF.ReoGrid.Actions { public class SetPartialGridAction : WorksheetReusableAction { public SetPartialGridAction(RangePosition range, PartialGrid data) : base(range) { this.data = data; } public override WorksheetReusableAction Clone(RangePosition range) { return new SetPartialGridAction(range, this.data); } public override void Do() { this.backupData = base.Worksheet.GetPartialGrid(base.Range, PartialGridCopyFlag.All, ExPartialGridCopyFlag.BorderOutsideOwner, false); Debug.Assert(this.backupData != null); base.Range = base.Worksheet.SetPartialGridRepeatly(base.Range, this.data); base.Worksheet.SelectRange(base.Range); } 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 "Set Partial Grid"; } private PartialGrid data; private PartialGrid backupData; } }