76 lines
2.0 KiB
C#
76 lines
2.0 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using CPF.ReoGrid.Outline;
|
|
|
|
namespace CPF.ReoGrid.Actions
|
|
{
|
|
public class ClearOutlineAction : BaseOutlineAction
|
|
{
|
|
public ClearOutlineAction(RowOrColumn rowOrColumn) : base(rowOrColumn)
|
|
{
|
|
}
|
|
|
|
public override void Do()
|
|
{
|
|
bool flag = base.Worksheet != null;
|
|
if (flag)
|
|
{
|
|
bool flag2 = (this.rowOrColumn & RowOrColumn.Row) == RowOrColumn.Row;
|
|
if (flag2)
|
|
{
|
|
this.rowBackupOutlines = new List<IReoGridOutline>();
|
|
base.Worksheet.IterateOutlines(RowOrColumn.Row, delegate(OutlineGroup<ReoGridOutline> g, ReoGridOutline o)
|
|
{
|
|
this.rowBackupOutlines.Add(o);
|
|
return true;
|
|
});
|
|
}
|
|
bool flag3 = (this.rowOrColumn & RowOrColumn.Column) == RowOrColumn.Column;
|
|
if (flag3)
|
|
{
|
|
this.colBackupOutlines = new List<IReoGridOutline>();
|
|
base.Worksheet.IterateOutlines(RowOrColumn.Column, delegate(OutlineGroup<ReoGridOutline> g, ReoGridOutline o)
|
|
{
|
|
this.colBackupOutlines.Add(o);
|
|
return true;
|
|
});
|
|
}
|
|
base.Worksheet.ClearOutlines(this.rowOrColumn);
|
|
}
|
|
}
|
|
|
|
public override void Undo()
|
|
{
|
|
bool flag = base.Worksheet != null;
|
|
if (flag)
|
|
{
|
|
bool flag2 = (this.rowOrColumn & RowOrColumn.Row) == RowOrColumn.Row && this.rowBackupOutlines != null;
|
|
if (flag2)
|
|
{
|
|
foreach (IReoGridOutline reoGridOutline in this.rowBackupOutlines)
|
|
{
|
|
base.Worksheet.AddOutline(RowOrColumn.Row, reoGridOutline.Start, reoGridOutline.Count);
|
|
}
|
|
}
|
|
bool flag3 = (this.rowOrColumn & RowOrColumn.Column) == RowOrColumn.Column && this.colBackupOutlines != null;
|
|
if (flag3)
|
|
{
|
|
foreach (IReoGridOutline reoGridOutline2 in this.colBackupOutlines)
|
|
{
|
|
base.Worksheet.AddOutline(RowOrColumn.Column, reoGridOutline2.Start, reoGridOutline2.Count);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
public override string GetName()
|
|
{
|
|
return string.Format("Clear {0} Outlines", base.GetRowOrColumnDesc());
|
|
}
|
|
|
|
private List<IReoGridOutline> rowBackupOutlines;
|
|
|
|
private List<IReoGridOutline> colBackupOutlines;
|
|
}
|
|
}
|