don't readd items in SetImageList() after changing the control mode, they are supposed to be preserved by wxListCtrl itself (correction for #9484)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60275 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 2009-04-21 17:31:03 +00:00
parent b7923f2ac1
commit bd7bd09eb3

View File

@ -304,22 +304,8 @@ void wxListbook::SetImageList(wxImageList *imageList)
// If imageList presence has changed, we update the list control view
if ( (imageList != NULL) != (GetImageList() != NULL) )
{
wxArrayString labels;
labels.Alloc(GetPageCount());
wxArrayInt imageIds;
imageIds.Alloc(GetPageCount());
// Preserve the selection which is lost when changing the mode
const int oldSel = GetSelection();
size_t i;
// Grab snapshot of all list control items before changing the window
// style (which deletes the items)
for ( i = 0; i < GetPageCount(); i++ )
{
labels.Add(GetPageText(i));
imageIds.Add(GetPageImage(i));
}
// Update the style to use icon view for images, report view otherwise
long style = wxLC_SINGLE_SEL;
@ -336,12 +322,6 @@ void wxListbook::SetImageList(wxImageList *imageList)
if ( !imageList )
list->InsertColumn(0, wxT("Pages"));
// Add back the list control items
for ( i = 0; i < GetPageCount(); i++ )
{
list->InsertItem(i, labels[i], imageIds[i]);
}
// Restore selection
if ( oldSel != wxNOT_FOUND )
SetSelection(oldSel);