- Timestamp:
- 09/10/12 13:17:25 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Collections/3.3/ObservableList.cs
r7259 r8610 158 158 int capacity = list.Capacity; 159 159 list.Add(item); 160 OnItemsAdded(new IndexedItem<T>[] { new IndexedItem<T>(list.Count - 1, item) }); 161 OnItemsAdded(new T[] { item }); 160 162 if (list.Capacity != capacity) 161 163 OnPropertyChanged("Capacity"); 162 164 OnPropertyChanged("Item[]"); 163 165 OnPropertyChanged("Count"); 164 OnItemsAdded(new IndexedItem<T>[] { new IndexedItem<T>(list.Count - 1, item) });165 OnItemsAdded(new T[] { item });166 166 } 167 167 public void AddRange(IEnumerable<T> collection) { … … 175 175 } 176 176 if (items.Count > 0) { 177 OnItemsAdded(items); 178 OnItemsAdded(collection); 177 179 if (list.Capacity != capacity) 178 180 OnPropertyChanged("Capacity"); 179 181 OnPropertyChanged("Item[]"); 180 182 OnPropertyChanged("Count"); 181 OnItemsAdded(items);182 OnItemsAdded(collection);183 183 } 184 184 } … … 187 187 int capacity = list.Capacity; 188 188 list.Insert(index, item); 189 OnItemsAdded(new IndexedItem<T>[] { new IndexedItem<T>(index, item) }); 190 OnItemsAdded(new T[] { item }); 189 191 if (list.Capacity != capacity) 190 192 OnPropertyChanged("Capacity"); 191 193 OnPropertyChanged("Item[]"); 192 194 OnPropertyChanged("Count"); 193 OnItemsAdded(new IndexedItem<T>[] { new IndexedItem<T>(index, item) });194 OnItemsAdded(new T[] { item });195 195 } 196 196 public void InsertRange(int index, IEnumerable<T> collection) { … … 203 203 } 204 204 if (items.Count > 0) { 205 OnItemsAdded(items); 206 OnItemsAdded(collection); 205 207 if (list.Capacity != capacity) 206 208 OnPropertyChanged("Capacity"); 207 209 OnPropertyChanged("Item[]"); 208 210 OnPropertyChanged("Count"); 209 OnItemsAdded(items);210 OnItemsAdded(collection);211 211 } 212 212 } … … 229 229 else items = new List<IndexedItem<T>>(); 230 230 231 OnItemsReplaced(items, oldItems); 231 232 if (oldCapacity != list.Capacity) OnPropertyChanged("Capacity"); 232 233 OnPropertyChanged("Item[]"); 233 234 if (oldItems.Count != items.Count) OnPropertyChanged("Count"); 234 OnItemsReplaced(items, oldItems);235 235 } 236 236 … … 239 239 if (index != -1) { 240 240 list.RemoveAt(index); 241 OnPropertyChanged("Item[]");242 OnPropertyChanged("Count");243 241 OnItemsRemoved(new IndexedItem<T>[] { new IndexedItem<T>(index, item) }); 244 242 OnItemsRemoved(new T[] { item }); 243 OnPropertyChanged("Item[]"); 244 OnPropertyChanged("Count"); 245 245 return true; 246 246 } … … 260 260 if (indexedItems.Count > 0) { 261 261 result = list.RemoveAll(match); 262 OnPropertyChanged("Item[]");263 OnPropertyChanged("Count");264 262 OnItemsRemoved(indexedItems); 265 263 OnItemsRemoved(items); 264 OnPropertyChanged("Item[]"); 265 OnPropertyChanged("Count"); 266 266 } 267 267 return result; … … 270 270 T item = list[index]; 271 271 list.RemoveAt(index); 272 OnItemsRemoved(new IndexedItem<T>[] { new IndexedItem<T>(index, item) }); 273 OnItemsRemoved(new T[] { item }); 272 274 OnPropertyChanged("Item[]"); 273 275 OnPropertyChanged("Count"); 274 OnItemsRemoved(new IndexedItem<T>[] { new IndexedItem<T>(index, item) });275 OnItemsRemoved(new T[] { item });276 276 } 277 277 public void RemoveRange(int index, int count) { … … 281 281 list.CopyTo(index, items, 0, count); 282 282 list.RemoveRange(index, count); 283 OnPropertyChanged("Item[]");284 OnPropertyChanged("Count");285 283 OnItemsRemoved(indexedItems); 286 284 OnItemsRemoved(items); 285 OnPropertyChanged("Item[]"); 286 OnPropertyChanged("Count"); 287 287 } 288 288 } … … 293 293 T[] items = list.ToArray(); 294 294 list.Clear(); 295 OnPropertyChanged("Item[]");296 OnPropertyChanged("Count");297 295 OnCollectionReset(new IndexedItem<T>[0], indexedItems); 298 296 OnCollectionReset(new T[0], items); 297 OnPropertyChanged("Item[]"); 298 OnPropertyChanged("Count"); 299 299 } 300 300 } … … 304 304 IndexedItem<T>[] oldItems = GetIndexedItems(); 305 305 list.Reverse(); 306 OnPropertyChanged("Item[]");307 306 OnItemsMoved(GetIndexedItems(), oldItems); 307 OnPropertyChanged("Item[]"); 308 308 } 309 309 } … … 312 312 IndexedItem<T>[] oldItems = GetIndexedItems(index, count); 313 313 list.Reverse(index, count); 314 OnPropertyChanged("Item[]");315 314 OnItemsMoved(GetIndexedItems(index, count), oldItems); 315 OnPropertyChanged("Item[]"); 316 316 } 317 317 } … … 321 321 IndexedItem<T>[] oldItems = GetIndexedItems(); 322 322 list.Sort(); 323 OnPropertyChanged("Item[]");324 323 OnItemsMoved(GetIndexedItems(), oldItems); 324 OnPropertyChanged("Item[]"); 325 325 } 326 326 } … … 329 329 IndexedItem<T>[] oldItems = GetIndexedItems(); 330 330 list.Sort(comparison); 331 OnPropertyChanged("Item[]");332 331 OnItemsMoved(GetIndexedItems(), oldItems); 332 OnPropertyChanged("Item[]"); 333 333 } 334 334 } … … 337 337 IndexedItem<T>[] oldItems = GetIndexedItems(); 338 338 list.Sort(comparer); 339 OnPropertyChanged("Item[]");340 339 OnItemsMoved(GetIndexedItems(), oldItems); 340 OnPropertyChanged("Item[]"); 341 341 } 342 342 } … … 345 345 IndexedItem<T>[] oldItems = GetIndexedItems(index, count); 346 346 list.Sort(index, count, comparer); 347 OnPropertyChanged("Item[]");348 347 OnItemsMoved(GetIndexedItems(index, count), oldItems); 348 OnPropertyChanged("Item[]"); 349 349 } 350 350 } … … 355 355 return new ReadOnlyObservableList<T>(this); 356 356 } 357 357 358 public T[] ToArray() { 358 359 return list.ToArray();
Note: See TracChangeset
for help on using the changeset viewer.