]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/htmllbox.h
using subclass as impl ptr, common code in macro because mix-in are not possible...
[wxWidgets.git] / include / wx / htmllbox.h
index 89c06d29dc11154c52a51dc314afb33a0864345c..22f453c83c45c29d49950e330a48cd5b436e2dfb 100644 (file)
@@ -25,8 +25,8 @@ class WXDLLIMPEXP_FWD_HTML wxHtmlWinParser;
 class WXDLLIMPEXP_FWD_HTML wxHtmlListBoxCache;
 class WXDLLIMPEXP_FWD_HTML wxHtmlListBoxStyle;
 
-extern WXDLLIMPEXP_DATA_HTML(const wxChar) wxHtmlListBoxNameStr[];
-extern WXDLLIMPEXP_DATA_HTML(const wxChar) wxSimpleHtmlListBoxNameStr[];
+extern WXDLLIMPEXP_DATA_HTML(const char) wxHtmlListBoxNameStr[];
+extern WXDLLIMPEXP_DATA_HTML(const char) wxSimpleHtmlListBoxNameStr[];
 
 // ----------------------------------------------------------------------------
 // wxHtmlListBox
@@ -111,8 +111,11 @@ protected:
     virtual void OnDrawItem(wxDC& dc, const wxRect& rect, size_t n) const;
     virtual wxCoord OnMeasureItem(size_t n) const;
 
-    // This method may be overriden to handle clicking on a link in
-    // the listbox. By default, clicking links is ignored.
+    // override this one to draw custom background for selected items correctly
+    virtual void OnDrawBackground(wxDC& dc, const wxRect& rect, size_t n) const;
+
+    // this method may be overridden to handle clicking on a link in the
+    // listbox (by default, clicks on links are simply ignored)
     virtual void OnLinkClicked(size_t n, const wxHtmlLinkInfo& link);
 
     // event handlers
@@ -268,8 +271,8 @@ public:
 
     virtual void SetString(unsigned int n, const wxString& s);
 
-    virtual void DoClear();
-    virtual void DoDeleteOneItem(unsigned int n);
+    // resolve ambiguity between wxItemContainer and wxVListBox versions
+    void Clear();
 
 protected:
     virtual int DoInsertItems(const wxArrayStringsAdapter & items,
@@ -282,10 +285,14 @@ protected:
     virtual void *DoGetItemClientData(unsigned int n) const
         { return m_HTMLclientData[n]; }
 
+    // wxItemContainer methods
+    virtual void DoClear();
+    virtual void DoDeleteOneItem(unsigned int n);
+
     // calls wxHtmlListBox::SetItemCount() and RefreshAll()
     void UpdateCount();
 
-    // overload these functions just to change their visibility: users of
+    // override these functions just to change their visibility: users of
     // wxSimpleHtmlListBox shouldn't be allowed to call them directly!
     virtual void SetItemCount(size_t count)
         { wxHtmlListBox::SetItemCount(count); }
@@ -295,6 +302,14 @@ protected:
     virtual wxString OnGetItem(size_t n) const
         { return m_items[n]; }
 
+    virtual void InitEvent(wxCommandEvent& event, int n)
+        {
+            // we're not a virtual control and we can include the string
+            // of the item which was clicked:
+            event.SetString(m_items[n]);
+            wxVListBox::InitEvent(event, n);
+        }
+
     wxArrayString   m_items;
     wxArrayPtrVoid  m_HTMLclientData;