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;
|
|||
|
}
|
|||
|
}
|