X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/970b97a267e1e60f4e269fb15317d9364526ac21..268bec5aee1a39b1d69e2d149a071c7b7c3a15dc:/include/wx/vlbox.h diff --git a/include/wx/vlbox.h b/include/wx/vlbox.h index e2a2dc8063..dde8cbf7ca 100644 --- a/include/wx/vlbox.h +++ b/include/wx/vlbox.h @@ -120,6 +120,9 @@ public: // get the margins around each item wxPoint GetMargins() const { return m_ptMargins; } + // get the background colour of selected cells + const wxColour& GetSelectionBackground() const { return m_colBgSel; } + // operations // ---------- @@ -127,7 +130,7 @@ public: // set the number of items to be shown in the control // // this is just a synonym for wxVScrolledWindow::SetLineCount() - void SetItemCount(size_t count); + virtual void SetItemCount(size_t count); // delete all items from the control void Clear() { SetItemCount(0); } @@ -179,6 +182,9 @@ public: void SetMargins(const wxPoint& pt); void SetMargins(wxCoord x, wxCoord y) { SetMargins(wxPoint(x, y)); } + // change the background colour of the selected cells + void SetSelectionBackground(const wxColour& col); + protected: // the derived class must implement this function to actually draw the item @@ -196,11 +202,19 @@ protected: // the base class version doesn't do anything virtual void OnDrawSeparator(wxDC& dc, wxRect& rect, size_t n) const; + // this method is used to draw the items background and, maybe, a border + // around it + // + // the base class version implements a reasonable default behaviour which + // consists in drawing the selected item with the standard background + // colour and drawing a border around the item if it is either selected or + // current + virtual void OnDrawBackground(wxDC& dc, const wxRect& rect, size_t n) const; // we implement OnGetLineHeight() in terms of OnMeasureItem() because this // allows us to add borders to the items easily // - // this function is not upposed to be overridden by the derived classes + // this function is not supposed to be overridden by the derived classes virtual wxCoord OnGetLineHeight(size_t line) const; @@ -258,7 +272,13 @@ private: // margins wxPoint m_ptMargins; + // the selection bg colour + wxColour m_colBgSel; + + DECLARE_EVENT_TABLE() + DECLARE_NO_COPY_CLASS(wxVListBox) + DECLARE_ABSTRACT_CLASS(wxVListBox) }; #endif // _WX_VLBOX_H_