X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b5dbe15d0bacde245539f54c4d97af6b4696f01f..4c7b2d367ebf24336712998ead62a959c3741fb1:/include/wx/htmllbox.h diff --git a/include/wx/htmllbox.h b/include/wx/htmllbox.h index 0cc43ef289..a8f41d7f76 100644 --- a/include/wx/htmllbox.h +++ b/include/wx/htmllbox.h @@ -111,8 +111,11 @@ protected: virtual void OnDrawItem(wxDC& dc, const wxRect& rect, size_t n) const; virtual wxCoord OnMeasureItem(size_t n) const; - // This method may be overriden to handle clicking on a link in - // the listbox. By default, clicking links is ignored. + // override this one to draw custom background for selected items correctly + virtual void OnDrawBackground(wxDC& dc, const wxRect& rect, size_t n) const; + + // this method may be overridden to handle clicking on a link in the + // listbox (by default, clicks on links are simply ignored) virtual void OnLinkClicked(size_t n, const wxHtmlLinkInfo& link); // event handlers @@ -268,40 +271,28 @@ public: virtual void SetString(unsigned int n, const wxString& s); - virtual void Clear(); - virtual void Delete(unsigned int n); - - // override default unoptimized wxItemContainer::Append() function - void Append(const wxArrayString& strings); - - // since we override one Append() overload, we need to overload all others too - int Append(const wxString& item) - { return wxItemContainer::Append(item); } - int Append(const wxString& item, void *clientData) - { return wxItemContainer::Append(item, clientData); } - int Append(const wxString& item, wxClientData *clientData) - { return wxItemContainer::Append(item, clientData); } - + // resolve ambiguity between wxItemContainer and wxVListBox versions + void Clear(); protected: - - virtual int DoAppend(const wxString& item); - virtual int DoInsert(const wxString& item, unsigned int pos); + virtual int DoInsertItems(const wxArrayStringsAdapter & items, + unsigned int pos, + void **clientData, wxClientDataType type); virtual void DoSetItemClientData(unsigned int n, void *clientData) { m_HTMLclientData[n] = clientData; } virtual void *DoGetItemClientData(unsigned int n) const { return m_HTMLclientData[n]; } - virtual void DoSetItemClientObject(unsigned int n, wxClientData *clientData) - { m_HTMLclientData[n] = (void *)clientData; } - virtual wxClientData *DoGetItemClientObject(unsigned int n) const - { return (wxClientData *)m_HTMLclientData[n]; } + + // wxItemContainer methods + virtual void DoClear(); + virtual void DoDeleteOneItem(unsigned int n); // calls wxHtmlListBox::SetItemCount() and RefreshAll() void UpdateCount(); - // overload these functions just to change their visibility: users of + // override these functions just to change their visibility: users of // wxSimpleHtmlListBox shouldn't be allowed to call them directly! virtual void SetItemCount(size_t count) { wxHtmlListBox::SetItemCount(count); }