- wxArrayString labels;
- labels.Alloc(GetPageCount());
-
- wxArrayInt imageIds;
- imageIds.Alloc(GetPageCount());
-
- 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;
- if ( imageList )
- {
- list->SetWindowStyleFlag(style |
- (IsVertical() ? wxLC_ALIGN_LEFT
- : wxLC_ALIGN_TOP) |
- wxLC_ICON);
- }
- else // no image list
- {
- list->SetWindowStyleFlag(style | wxLC_REPORT | wxLC_NO_HEADER);
- list->InsertColumn(0, wxT("Pages"));
- }