X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e52cd41e5d10a29632a8d2bc43a741357c9c7074..6968a3b87cee46f5c5af9b46e1ef97f17133cef7:/include/wx/htmllbox.h diff --git a/include/wx/htmllbox.h b/include/wx/htmllbox.h index 21d354080c..1a941159dd 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); }; @@ -193,9 +196,10 @@ private: #define wxHLB_DEFAULT_STYLE wxBORDER_SUNKEN #define wxHLB_MULTIPLE wxLB_MULTIPLE -class WXDLLIMPEXP_HTML wxSimpleHtmlListBox : public wxHtmlListBox, - public wxItemContainer +class WXDLLIMPEXP_HTML wxSimpleHtmlListBox : + public wxWindowWithItems { + DECLARE_ABSTRACT_CLASS(wxSimpleHtmlListBox) public: // wxListbox-compatible constructors // --------------------------------- @@ -250,9 +254,6 @@ public: int GetSelection() const { return wxVListBox::GetSelection(); } - // see ctrlsub.h for more info about this: - wxCONTROL_ITEMCONTAINER_CLIENTDATAOBJECT_RECAST - // accessing strings // ----------------- @@ -299,6 +300,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 +315,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_