]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/vlbox.h
Fix crash again
[wxWidgets.git] / include / wx / vlbox.h
index 2301f7c651b020ac61de115336a980f598409c2d..f4b2e945bfa94e4a064eae29ed5e7917fe87966e 100644 (file)
@@ -32,7 +32,7 @@ class WXDLLIMPEXP_FWD_CORE 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
@@ -127,6 +127,8 @@ public:
     // get the background colour of selected cells
     const wxColour& GetSelectionBackground() const { return m_colBgSel; }
 
+    // get the item rect, returns empty rect if the item is not visible
+    wxRect GetItemRect(size_t n) const;
 
     // operations
     // ----------
@@ -201,9 +203,9 @@ public:
     static wxVisualAttributes
     GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
 
-       virtual wxBorder GetDefaultBorder() const { return GetDefaultBorderForControl(); }
-
 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;
@@ -241,6 +243,7 @@ protected:
     void OnLeftDown(wxMouseEvent& event);
     void OnLeftDClick(wxMouseEvent& event);
     void OnSetOrKillFocus(wxFocusEvent& event);
+    void OnSize(wxSizeEvent& event);
 
     // common part of all ctors
     void Init();
@@ -269,6 +272,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
     //