Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
06/12/13 15:02:47 (11 years ago)
Author:
ascheibe
Message:

#2030 merged trunk into hive performance branch

Location:
branches/HivePerformance/sources
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/HivePerformance/sources

  • branches/HivePerformance/sources/HeuristicLab.Core.Views/3.3/ItemCollectionView.cs

    r9539 r9616  
    4545    }
    4646
     47    public ItemCollection<T> ItemCollection {
     48      get { return Content as ItemCollection<T>; }
     49    }
     50
    4751    public bool ShowDetails {
    4852      get { return showDetailsCheckBox.Checked; }
     
    232236      if (e.KeyCode == Keys.Delete) {
    233237        if ((itemsListView.SelectedItems.Count > 0) && !Content.IsReadOnly && !ReadOnly) {
    234           foreach (ListViewItem item in itemsListView.SelectedItems)
    235             Content.Remove((T)item.Tag);
     238          if (ItemCollection != null) ItemCollection.RemoveRange(itemsListView.SelectedItems.Cast<ListViewItem>().Select(i => (T)i.Tag));
     239          else {
     240            foreach (ListViewItem item in itemsListView.SelectedItems)
     241              Content.Remove((T)item.Tag);
     242          }
    236243        }
    237244      }
     
    304311            items = items.Select(x => cloner.Clone(x));
    305312          }
    306           foreach (T item in items)
    307             Content.Add(item);
     313          if (ItemCollection != null) ItemCollection.AddRange(items);
     314          else {
     315            foreach (T item in items)
     316              Content.Add(item);
     317          }
    308318        }
    309319      }
     
    325335    protected virtual void removeButton_Click(object sender, EventArgs e) {
    326336      if (itemsListView.SelectedItems.Count > 0) {
    327         foreach (ListViewItem item in itemsListView.SelectedItems)
    328           Content.Remove((T)item.Tag);
     337        if (ItemCollection != null) {
     338          ItemCollection.RemoveRange(itemsListView.SelectedItems.Cast<ListViewItem>().Select(i => (T)i.Tag));
     339        } else {
     340          foreach (ListViewItem item in itemsListView.SelectedItems)
     341            Content.Remove((T)item.Tag);
     342        }
    329343        itemsListView.SelectedItems.Clear();
    330344      }
     
    407421    #region Helpers
    408422    protected virtual void SortItemsListView(SortOrder sortOrder) {
    409       if (itemsListView.Sorting == sortOrder || sortOrder == SortOrder.None) return;
     423      itemsListView.Sorting = SortOrder.None;
    410424      itemsListView.Sorting = sortOrder;
    411       itemsListView.Sort();
     425      itemsListView.Sorting = SortOrder.None;
    412426    }
    413427    protected virtual void AdjustListViewColumnSizes() {
Note: See TracChangeset for help on using the changeset viewer.