int wxBitmapComboBox::Append(const wxString& item, const wxBitmap& bitmap) { OnAddBitmap(bitmap); const int n = wxComboBox::Append(item); if ( n != wxNOT_FOUND ) DoSetItemBitmap(n, bitmap); return n; }
void wxBitmapComboBox::SetItemBitmap(unsigned int n, const wxBitmap& bitmap) { OnAddBitmap(bitmap); DoSetItemBitmap(n, bitmap); if ( (int)n == GetSelection() ) Refresh(); }
int wxBitmapComboBox::Insert(const wxString& item, const wxBitmap& bitmap, unsigned int pos, wxClientData *clientData) { OnAddBitmap(bitmap); const int n = wxComboBox::Insert(item, pos, clientData); if ( n != wxNOT_FOUND ) DoSetItemBitmap(n, bitmap); return n; }
void wxBitmapComboBox::SetItemBitmap(unsigned int n, const wxBitmap& bitmap) { wxCHECK_RET( n < GetCount(), wxT("invalid item index") ); OnAddBitmap(bitmap); *GetBitmapPtr(n) = bitmap; if ( (int)n == GetSelection() ) Refresh(); }
bool wxBitmapComboBox::DoInsertBitmap(const wxBitmap& bitmap, unsigned int pos) { if ( !OnAddBitmap(bitmap) ) return false; // NB: We must try to set the image before DoInsert or // DoAppend because OnMeasureItem might be called // before it returns. m_bitmaps.Insert( new wxBitmap(bitmap), pos); return true; }