75 lines
1.5 KiB
C#
75 lines
1.5 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
|
|
namespace CPF.ReoGrid.Actions
|
|
{
|
|
public class WorksheetReusableActionGroup : WorksheetReusableAction
|
|
{
|
|
public List<WorksheetReusableAction> Actions
|
|
{
|
|
get
|
|
{
|
|
return this.actions;
|
|
}
|
|
set
|
|
{
|
|
this.actions = value;
|
|
}
|
|
}
|
|
|
|
public WorksheetReusableActionGroup(RangePosition range) : base(range)
|
|
{
|
|
this.actions = new List<WorksheetReusableAction>();
|
|
}
|
|
|
|
public WorksheetReusableActionGroup(RangePosition range, List<WorksheetReusableAction> actions) : base(range)
|
|
{
|
|
this.actions = actions;
|
|
}
|
|
|
|
public override void Do()
|
|
{
|
|
bool flag = this.first;
|
|
if (flag)
|
|
{
|
|
for (int i = 0; i < this.actions.Count; i++)
|
|
{
|
|
this.actions[i].Worksheet = base.Worksheet;
|
|
}
|
|
this.first = false;
|
|
}
|
|
for (int j = 0; j < this.actions.Count; j++)
|
|
{
|
|
this.actions[j].Do();
|
|
}
|
|
}
|
|
|
|
public override void Undo()
|
|
{
|
|
for (int i = this.actions.Count - 1; i >= 0; i--)
|
|
{
|
|
this.actions[i].Undo();
|
|
}
|
|
}
|
|
|
|
public override string GetName()
|
|
{
|
|
return "Multi-Aciton[" + this.actions.Count.ToString() + "]";
|
|
}
|
|
|
|
public override WorksheetReusableAction Clone(RangePosition range)
|
|
{
|
|
List<WorksheetReusableAction> list = new List<WorksheetReusableAction>();
|
|
foreach (WorksheetReusableAction worksheetReusableAction in this.actions)
|
|
{
|
|
list.Add(worksheetReusableAction.Clone(range));
|
|
}
|
|
return new WorksheetReusableActionGroup(range, list);
|
|
}
|
|
|
|
private List<WorksheetReusableAction> actions;
|
|
|
|
private bool first = true;
|
|
}
|
|
}
|