/
ActionCommand.cs
42 lines (38 loc) · 1.23 KB
/
ActionCommand.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
using System;
namespace SimpleEditor.Common
{
/// <summary>
/// Определение команды-действия
/// </summary>
public class ActionCommand : UndoableCommand
{
readonly Action _redo;
readonly Action _undo;
/// <summary>
/// Запоминаем действий отмены и возврата при создании команды-действия
/// </summary>
/// <param name="undo"></param>
/// <param name="redo"></param>
public ActionCommand(Action undo, Action redo)
{
_redo = redo;
_undo = undo;
}
/// <summary>
/// Выполняем запомненное в конструкторе действие по отмене
/// </summary>
public override void Undo()
{
if (_undo != null)
_undo();
}
/// <summary>
/// Выполняем запомненное в конструкторе действие по возврату
/// </summary>
public override void Redo()
{
if (_redo != null)
_redo();
}
}
}