Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
04/13/10 12:01:02 (12 years ago)
Author:
swagner
Message:

Fixed bug which was introduced in r3306 (#893).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Core.Views/3.3/ItemListView.cs

    r3306 r3327  
    123123      listViewItem.ToolTipText = item.ItemName + ": " + item.ItemDescription;
    124124      listViewItem.Tag = item;
    125       SetListViewItemImage(listViewItem);
     125      itemsListView.SmallImageList.Images.Add(item.ItemImage);
     126      listViewItem.ImageIndex = itemsListView.SmallImageList.Images.Count - 1;
    126127      return listViewItem;
    127128    }
     
    141142      listViewItem.Remove();
    142143    }
    143     protected virtual void UpdateListViewItem(ListViewItem listViewItem) {
    144       T item = (T)listViewItem.Tag;
    145       listViewItem.Text = item.ToString();
    146       listViewItem.ToolTipText = item.ItemName + ": " + item.ItemDescription;
    147       if (itemsListView.SmallImageList.Images[listViewItem.ImageIndex] != item.ItemImage)
    148         SetListViewItemImage(listViewItem);
     144    protected virtual void UpdateListViewItemImage(ListViewItem listViewItem) {
     145      int i = listViewItem.ImageIndex;
     146      listViewItem.ImageList.Images[i] = ((T)listViewItem.Tag).ItemImage;
     147      listViewItem.ImageIndex = -1;
     148      listViewItem.ImageIndex = i;
     149    }
     150    protected virtual void UpdateListViewItemText(ListViewItem listViewItem) {
     151      if (!listViewItem.Text.Equals(listViewItem.Tag.ToString()))
     152        listViewItem.Text = listViewItem.Tag.ToString();
    149153    }
    150154
     
    311315          ListViewItem listViewItem = itemsListView.Items[item.Index];
    312316          listViewItem.Tag = item.Value;
    313           UpdateListViewItem(listViewItem);
     317          UpdateListViewItemImage(listViewItem);
     318          UpdateListViewItemText(listViewItem);
    314319        }
    315320      }
     
    339344        foreach (ListViewItem listViewItem in itemsListView.Items) {
    340345          if (((T)listViewItem.Tag) == item)
    341             UpdateListViewItem(listViewItem);
     346            UpdateListViewItemImage(listViewItem);
    342347        }
    343348      }
     
    350355        foreach (ListViewItem listViewItem in itemsListView.Items) {
    351356          if (((T)listViewItem.Tag) == item)
    352             UpdateListViewItem(listViewItem);
     357            UpdateListViewItemText(listViewItem);
    353358        }
    354359      }
    355     }
    356     #endregion
    357 
    358     #region Helpers
    359     protected virtual void SetListViewItemImage(ListViewItem listViewItem) {
    360       T item = (T)listViewItem.Tag;
    361       int i = 0;
    362       while ((i < itemsListView.SmallImageList.Images.Count) && (item.ItemImage != itemsListView.SmallImageList.Images[i]))
    363         i++;
    364       if (i == itemsListView.SmallImageList.Images.Count) itemsListView.SmallImageList.Images.Add(item.ItemImage);
    365       listViewItem.ImageIndex = i;
    366360    }
    367361    #endregion
Note: See TracChangeset for help on using the changeset viewer.