Visual C# 7.0, Windows10 Desktop App
Revision | e75cea8c68f731d268cdd251931b287bf43c0855 (tree) |
---|---|
Time | 2017-01-09 19:17:57 |
Author | くまかみ工房 <kumakamikoubou@gmai...> |
Commiter | くまかみ工房 |
操作コマンドを、単一のストロークで判断する場合のための軽量なオーバーライドを実装。
@@ -64,9 +64,10 @@ namespace SST.入力 | ||
64 | 64 | /// </returns> |
65 | 65 | /// <remarks> |
66 | 66 | /// 指定したシーケンスが現在の履歴の一部に見られれば、成立しているとみなす。 |
67 | + /// 履歴内に複数存在している場合は、一番古いストロークシーケンスが対象となる。 | |
67 | 68 | /// 成立した場合、そのシーケンスを含め、シーケンスより古い履歴はすべて削除される。 |
68 | 69 | /// </remarks> |
69 | - public bool 操作コマンドが成立している( List<入力種別> 操作コマンドのストロークシーケンス ) | |
70 | + public bool 操作コマンドが入力された( List<入力種別> 操作コマンドのストロークシーケンス ) | |
70 | 71 | { |
71 | 72 | int ストローク数 = 操作コマンドのストロークシーケンス.Count; |
72 | 73 |
@@ -104,6 +105,39 @@ namespace SST.入力 | ||
104 | 105 | return true; |
105 | 106 | } |
106 | 107 | |
108 | + /// <summary> | |
109 | + /// 現在の履歴において、指定した操作コマンド(単一ストローク)が成立しているかを確認する。 | |
110 | + /// </summary> | |
111 | + /// <param name="操作コマンドのストローク"> | |
112 | + /// 確認したい操作コマンドのストローク。 | |
113 | + /// </param> | |
114 | + /// <returns> | |
115 | + /// 操作コマンドが成立しているなら true。 | |
116 | + /// </returns> | |
117 | + /// <remarks> | |
118 | + /// 指定したストロークが現在の履歴内に見られれば、成立しているとみなす。 | |
119 | + /// 履歴内に複数存在している場合は、一番古いストロークが対象となる。 | |
120 | + /// 成立した場合、そのシーケンスを含め、シーケンスより古い履歴はすべて削除される。 | |
121 | + /// </remarks> | |
122 | + public bool 操作コマンドが入力された( 入力種別 操作コマンドのストローク ) | |
123 | + { | |
124 | + int ストローク数 = 1; // 固定。 | |
125 | + | |
126 | + if( this._履歴リスト.Count < ストローク数 ) | |
127 | + return false; // 履歴の長さが足りない。 | |
128 | + | |
129 | + | |
130 | + int 検出位置 = this._履歴リスト.IndexOf( 操作コマンドのストローク ); | |
131 | + | |
132 | + if( -1 == 検出位置 ) | |
133 | + return false; // ストロークが見つからない。 | |
134 | + | |
135 | + // 見つけたストロークならびにそれより古い履歴を削除する。 | |
136 | + this._履歴リスト.RemoveRange( 0, ( 検出位置 + ストローク数 ) ); | |
137 | + | |
138 | + return true; | |
139 | + } | |
140 | + | |
107 | 141 | private const double _連続入力だとみなす最大の間隔sec = 0.5; |
108 | 142 | |
109 | 143 | private int _最大履歴数; |
@@ -117,7 +117,7 @@ namespace SST.入力 | ||
117 | 117 | } |
118 | 118 | |
119 | 119 | /// <summary> |
120 | - /// 現在の入力履歴において、指定した操作コマンド(ストロークシーケンス)が成立しているかを確認する。 | |
120 | + /// 現在の履歴において、指定した操作コマンド(ストロークシーケンス)が成立しているかを確認する。 | |
121 | 121 | /// </summary> |
122 | 122 | /// <param name="操作コマンドのストロークシーケンス"> |
123 | 123 | /// 確認したい操作コマンドのストロークシーケンス。 |
@@ -126,13 +126,34 @@ namespace SST.入力 | ||
126 | 126 | /// 操作コマンドが成立しているなら true。 |
127 | 127 | /// </returns> |
128 | 128 | /// <remarks> |
129 | - /// 指定したシーケンスが現在の入力履歴の一部に見られれば、成立しているとみなす。 | |
129 | + /// 指定したシーケンスが現在の履歴の一部に見られれば、成立しているとみなす。 | |
130 | + /// 履歴内に複数存在している場合は、一番古いストロークシーケンスが対象となる。 | |
130 | 131 | /// 成立した場合、そのシーケンスを含め、シーケンスより古い履歴はすべて削除される。 |
131 | 132 | /// </remarks> |
132 | - public bool 操作コマンドが成立している( List<入力種別> 操作コマンドのストロークシーケンス ) | |
133 | + public bool 操作コマンドが入力された( List<入力種別> 操作コマンドのストロークシーケンス ) | |
133 | 134 | { |
134 | 135 | // 委譲 |
135 | - return this._入力履歴.操作コマンドが成立している( 操作コマンドのストロークシーケンス ); | |
136 | + return this._入力履歴.操作コマンドが入力された( 操作コマンドのストロークシーケンス ); | |
137 | + } | |
138 | + | |
139 | + /// <summary> | |
140 | + /// 現在の履歴において、指定した操作コマンド(単一ストローク)が成立しているかを確認する。 | |
141 | + /// </summary> | |
142 | + /// <param name="操作コマンドのストローク"> | |
143 | + /// 確認したい操作コマンドのストローク。 | |
144 | + /// </param> | |
145 | + /// <returns> | |
146 | + /// 操作コマンドが成立しているなら true。 | |
147 | + /// </returns> | |
148 | + /// <remarks> | |
149 | + /// 指定したストロークが現在の履歴内に見られれば、成立しているとみなす。 | |
150 | + /// 履歴内に複数存在している場合は、一番古いストロークが対象となる。 | |
151 | + /// 成立した場合、そのシーケンスを含め、シーケンスより古い履歴はすべて削除される。 | |
152 | + /// </remarks> | |
153 | + public bool 操作コマンドが入力された( 入力種別 操作コマンドのストローク ) | |
154 | + { | |
155 | + // 委譲 | |
156 | + return this._入力履歴.操作コマンドが入力された( 操作コマンドのストローク ); | |
136 | 157 | } |
137 | 158 | |
138 | 159 | private bool _入力履歴を記録する = true; |