added possibility to customize the listbox colours
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21138 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -17,6 +17,7 @@
|
||||
class WXDLLEXPORT wxHtmlCell;
|
||||
class WXDLLEXPORT wxHtmlWinParser;
|
||||
class WXDLLEXPORT wxHtmlListBoxCache;
|
||||
class WXDLLEXPORT wxHtmlListBoxStyle;
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxHtmlListBox
|
||||
@@ -73,6 +74,20 @@ protected:
|
||||
virtual wxString OnGetItemMarkup(size_t n) const;
|
||||
|
||||
|
||||
// this method allows to customize the selection appearance: it may be used
|
||||
// to specify the colour of the text which normally has the given colour
|
||||
// colFg when it is inside the selection
|
||||
//
|
||||
// by default, the original colour is not used at all and all text has the
|
||||
// same (default for this system) colour inside selection
|
||||
virtual wxColour GetSelectedTextColour(const wxColour& colFg) const;
|
||||
|
||||
// this is the same as GetSelectedTextColour() but allows to customize the
|
||||
// background colour -- this is even more rarely used as you can change it
|
||||
// globally using SetSelectionBackground()
|
||||
virtual wxColour GetSelectedTextBgColour(const wxColour& colBg) const;
|
||||
|
||||
|
||||
// we implement both of these functions in terms of OnGetItem(), they are
|
||||
// not supposed to be overridden by our descendants
|
||||
virtual void OnDrawItem(wxDC& dc, const wxRect& rect, size_t n) const;
|
||||
@@ -90,11 +105,19 @@ protected:
|
||||
void CacheItem(size_t n) const;
|
||||
|
||||
private:
|
||||
// this class caches the pre-parsed HTML to speed up display
|
||||
wxHtmlListBoxCache *m_cache;
|
||||
|
||||
// HTML parser we use
|
||||
wxHtmlWinParser *m_htmlParser;
|
||||
|
||||
// rendering style for the parser which allows us to customize our colours
|
||||
wxHtmlListBoxStyle *m_htmlRendStyle;
|
||||
|
||||
|
||||
// it calls our GetSelectedTextColour() and GetSelectedTextBgColour()
|
||||
friend class wxHtmlListBoxStyle;
|
||||
|
||||
|
||||
DECLARE_EVENT_TABLE()
|
||||
};
|
||||
|
@@ -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
|
||||
// ----------
|
||||
@@ -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
|
||||
@@ -258,6 +264,10 @@ private:
|
||||
// margins
|
||||
wxPoint m_ptMargins;
|
||||
|
||||
// the selection bg colour
|
||||
wxColour m_colBgSel;
|
||||
|
||||
|
||||
DECLARE_EVENT_TABLE()
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user