const unsigned int numItems = items.GetCount();
const unsigned int countNew = GetCount() + numItems;
+ wxASSERT( numItems == 1 || !HasFlag(wxCB_SORT) ); // Sanity check
+
m_bitmaps.Alloc(countNew);
for ( unsigned int i = 0; i < numItems; i++ )
for ( int i = numItems-1; i >= 0; i-- )
BCBDoDeleteOneItem(pos + i);
}
+ else if ( ((unsigned int)index) != pos )
+ {
+ // Move pre-inserted empty bitmap into correct position
+ // (usually happens when combo box has wxCB_SORT style)
+ wxBitmap* bmp = static_cast<wxBitmap*>(m_bitmaps[pos]);
+ m_bitmaps.RemoveAt(pos);
+ m_bitmaps.Insert(bmp, index);
+ }
return index;
}
const unsigned int numItems = items.GetCount();
const unsigned int countNew = GetCount() + numItems;
+ wxASSERT( numItems == 1 || !HasFlag(wxCB_SORT) ); // Sanity check
+
m_bitmaps.Alloc(countNew);
for ( unsigned int i = 0; i < numItems; i++ )
for ( int i = numItems-1; i >= 0; i-- )
BCBDoDeleteOneItem(pos + i);
}
+ else if ( ((unsigned int)index) != pos )
+ {
+ // Move pre-inserted empty bitmap into correct position
+ // (usually happens when combo box has wxCB_SORT style)
+ wxBitmap* bmp = static_cast<wxBitmap*>(m_bitmaps[pos]);
+ m_bitmaps.RemoveAt(pos);
+ m_bitmaps.Insert(bmp, index);
+ }
return index;
}