X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/034957673ccd2006aee3937c5b86245e51d4bf62..a6cb8040a8f73935791c44b8f1b8ac4711cb84f6:/include/wx/vlbox.h diff --git a/include/wx/vlbox.h b/include/wx/vlbox.h index 276076ece7..bc61c0d542 100644 --- a/include/wx/vlbox.h +++ b/include/wx/vlbox.h @@ -5,7 +5,7 @@ // Modified by: // Created: 31.05.03 // RCS-ID: $Id$ -// Copyright: (c) 2003 Vadim Zeitlin +// Copyright: (c) 2003 Vadim Zeitlin // Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// @@ -13,6 +13,7 @@ #define _WX_VLBOX_H_ #include "wx/vscroll.h" // base class +#include "wx/bitmap.h" class WXDLLEXPORT wxSelectionStore; @@ -92,6 +93,9 @@ public: // is this item the current one? bool IsCurrent(size_t item) const { return item == (size_t)m_current; } + #ifdef __WXUNIVERSAL__ + bool IsCurrent() const { return wxVScrolledWindow::IsCurrent(); } + #endif // is this item selected? bool IsSelected(size_t item) const; @@ -186,6 +190,14 @@ public: void SetSelectionBackground(const wxColour& col); + virtual wxVisualAttributes GetDefaultAttributes() const + { + return GetClassDefaultAttributes(GetWindowVariant()); + } + + static wxVisualAttributes + GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL); + protected: // the derived class must implement this function to actually draw the item // with the given index on the provided DC @@ -202,11 +214,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; @@ -267,8 +287,12 @@ private: // the selection bg colour wxColour m_colBgSel; + // double buffer + wxBitmap* m_doubleBuffer; DECLARE_EVENT_TABLE() + DECLARE_NO_COPY_CLASS(wxVListBox) + DECLARE_ABSTRACT_CLASS(wxVListBox) }; #endif // _WX_VLBOX_H_