OSDN Git Service

・ 「DTXCreatorプロジェクト」と「実行時フォルダ(DTXCreator)」を trunk/ に追加。
[dtxmania/dtxmania.git] / DTXCreatorプロジェクト / コード / 01.UndoRedo / CUndoRedoディレクトリ.cs
1 using System;\r
2 using System.Collections.Generic;\r
3 using System.Text;\r
4 \r
5 namespace DTXCreator.UndoRedo\r
6 {\r
7         internal class CUndoRedoディレクトリ : CUndoRedoセル仮想\r
8         {\r
9                 public List<CUndoRedoセル仮想> listノード;\r
10                 public int n次にノードが追加される位置0to;\r
11                 public CUndoRedoディレクトリ urd親ノード;\r
12                 public int nRedo可能な回数\r
13                 {\r
14                         get\r
15                         {\r
16                                 return ( this.n現在の総ノード数 - this.nUndo可能な回数 );\r
17                         }\r
18                 }\r
19                 public int nUndo可能な回数\r
20                 {\r
21                         get\r
22                         {\r
23                                 return this.n次にノードが追加される位置0to;\r
24                         }\r
25                 }\r
26                 public int n現在の総ノード数\r
27                 {\r
28                         get\r
29                         {\r
30                                 if( this.listノード == null )\r
31                                 {\r
32                                         return 0;\r
33                                 }\r
34                                 return this.listノード.Count;\r
35                         }\r
36                 }\r
37 \r
38                 public CUndoRedoディレクトリ( CUndoRedoディレクトリ urd親ノード )\r
39                 {\r
40                         this.urd親ノード = urd親ノード;\r
41                         this.listノード = new List<CUndoRedoセル仮想>();\r
42                         this.n次にノードが追加される位置0to = 0;\r
43                 }\r
44                 public override void tRedoを実行する()\r
45                 {\r
46                         foreach( CUndoRedoセル仮想 oセル仮想 in this.listノード )\r
47                         {\r
48                                 oセル仮想.tRedoを実行する();\r
49                         }\r
50                 }\r
51                 public override void tUndoを実行する()\r
52                 {\r
53                         for( int i = this.listノード.Count - 1; i >= 0; i-- )\r
54                         {\r
55                                 this.listノード[ i ].tUndoを実行する();\r
56                         }\r
57                 }\r
58         }\r
59 }\r