X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4c81b43195fca7768fe5b7db1a93b51b41b8f28a..7f0cbaaa4ab3037587fa796d38e7eaf16ed54933:/include/wx/vlbox.h diff --git a/include/wx/vlbox.h b/include/wx/vlbox.h index bc61c0d542..c6235d98b5 100644 --- a/include/wx/vlbox.h +++ b/include/wx/vlbox.h @@ -15,7 +15,7 @@ #include "wx/vscroll.h" // base class #include "wx/bitmap.h" -class WXDLLEXPORT wxSelectionStore; +class WXDLLIMPEXP_FWD_CORE wxSelectionStore; #define wxVListBoxNameStr _T("wxVListBox") @@ -32,7 +32,7 @@ class WXDLLEXPORT wxSelectionStore; It emits the same events as wxListBox and the same event macros may be used with it. */ -class WXDLLEXPORT wxVListBox : public wxVScrolledWindow +class WXDLLIMPEXP_CORE wxVListBox : public wxVScrolledWindow { public: // constructors and such @@ -75,7 +75,7 @@ public: // --------- // get the number of items in the control - size_t GetItemCount() const { return GetLineCount(); } + size_t GetItemCount() const { return GetRowCount(); } // does this control use multiple selection? bool HasMultipleSelection() const { return m_selStore != NULL; } @@ -133,7 +133,7 @@ public: // set the number of items to be shown in the control // - // this is just a synonym for wxVScrolledWindow::SetLineCount() + // this is just a synonym for wxVScrolledWindow::SetRowCount() virtual void SetItemCount(size_t count); // delete all items from the control @@ -189,6 +189,9 @@ public: // change the background colour of the selected cells void SetSelectionBackground(const wxColour& col); + // refreshes only the selected items + void RefreshSelected(); + virtual wxVisualAttributes GetDefaultAttributes() const { @@ -199,6 +202,8 @@ public: GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL); protected: + virtual wxBorder GetDefaultBorder() const { return wxBORDER_THEME; } + // the derived class must implement this function to actually draw the item // with the given index on the provided DC virtual void OnDrawItem(wxDC& dc, const wxRect& rect, size_t n) const = 0; @@ -223,11 +228,11 @@ protected: // current virtual void OnDrawBackground(wxDC& dc, const wxRect& rect, size_t n) const; - // we implement OnGetLineHeight() in terms of OnMeasureItem() because this + // we implement OnGetRowHeight() in terms of OnMeasureItem() because this // allows us to add borders to the items easily // // this function is not supposed to be overridden by the derived classes - virtual wxCoord OnGetLineHeight(size_t line) const; + virtual wxCoord OnGetRowHeight(size_t line) const; // event handlers @@ -235,7 +240,7 @@ protected: void OnKeyDown(wxKeyEvent& event); void OnLeftDown(wxMouseEvent& event); void OnLeftDClick(wxMouseEvent& event); - + void OnSetOrKillFocus(wxFocusEvent& event); // common part of all ctors void Init(); @@ -264,6 +269,14 @@ protected: // common part of keyboard and mouse handling processing code void DoHandleItemClick(int item, int flags); + // paint the background of the given item using the provided colour if it's + // valid, otherwise just return false and do nothing (this is used by + // OnDrawBackground()) + bool DoDrawSolidBackground(const wxColour& col, + wxDC& dc, + const wxRect& rect, + size_t n) const; + private: // the current item or wxNOT_FOUND // @@ -287,9 +300,6 @@ 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)