X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e52cd41e5d10a29632a8d2bc43a741357c9c7074..f2049b683752950d1fe91aec07318e7f2122ff16:/include/wx/htmllbox.h diff --git a/include/wx/htmllbox.h b/include/wx/htmllbox.h index 21d354080c..f610b8383f 100644 --- a/include/wx/htmllbox.h +++ b/include/wx/htmllbox.h @@ -25,8 +25,8 @@ class WXDLLIMPEXP_FWD_HTML wxHtmlWinParser; class WXDLLIMPEXP_FWD_HTML wxHtmlListBoxCache; class WXDLLIMPEXP_FWD_HTML wxHtmlListBoxStyle; -extern WXDLLIMPEXP_DATA_HTML(const wxChar) wxHtmlListBoxNameStr[]; -extern WXDLLIMPEXP_DATA_HTML(const wxChar) wxSimpleHtmlListBoxNameStr[]; +extern WXDLLIMPEXP_DATA_HTML(const char) wxHtmlListBoxNameStr[]; +extern WXDLLIMPEXP_DATA_HTML(const char) wxSimpleHtmlListBoxNameStr[]; // ---------------------------------------------------------------------------- // wxHtmlListBox @@ -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 @@ -182,7 +185,7 @@ private: DECLARE_EVENT_TABLE() - DECLARE_NO_COPY_CLASS(wxHtmlListBox) + wxDECLARE_NO_COPY_CLASS(wxHtmlListBox); }; @@ -196,6 +199,7 @@ private: class WXDLLIMPEXP_HTML wxSimpleHtmlListBox : public wxHtmlListBox, public wxItemContainer { + DECLARE_ABSTRACT_CLASS(wxSimpleHtmlListBox) public: // wxListbox-compatible constructors // --------------------------------- @@ -299,6 +303,14 @@ protected: virtual wxString OnGetItem(size_t n) const { return m_items[n]; } + virtual void InitEvent(wxCommandEvent& event, int n) + { + // we're not a virtual control and we can include the string + // of the item which was clicked: + event.SetString(m_items[n]); + wxVListBox::InitEvent(event, n); + } + wxArrayString m_items; wxArrayPtrVoid m_HTMLclientData; @@ -306,7 +318,7 @@ protected: // not be named m_clientdata as that clashes with the name of an // anonymous struct member in wxEvtHandler, which we derive from. - DECLARE_NO_COPY_CLASS(wxSimpleHtmlListBox) + wxDECLARE_NO_COPY_CLASS(wxSimpleHtmlListBox); }; #endif // _WX_HTMLLBOX_H_