]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/htmllbox.h
Fix huge performance problem in wxStdInputStream when using MSVC8/9.
[wxWidgets.git] / include / wx / htmllbox.h
index a8f41d7f76c92f968efcf0c033be6fbe140e991d..1a941159ddb0f9f4898d8f81209e9177a15dc23a 100644 (file)
@@ -25,8 +25,8 @@ class WXDLLIMPEXP_FWD_HTML wxHtmlWinParser;
 class WXDLLIMPEXP_FWD_HTML wxHtmlListBoxCache;
 class WXDLLIMPEXP_FWD_HTML wxHtmlListBoxStyle;
 
 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
 
 // ----------------------------------------------------------------------------
 // wxHtmlListBox
@@ -185,7 +185,7 @@ private:
 
 
     DECLARE_EVENT_TABLE()
 
 
     DECLARE_EVENT_TABLE()
-    DECLARE_NO_COPY_CLASS(wxHtmlListBox)
+    wxDECLARE_NO_COPY_CLASS(wxHtmlListBox);
 };
 
 
 };
 
 
@@ -196,9 +196,10 @@ private:
 #define wxHLB_DEFAULT_STYLE     wxBORDER_SUNKEN
 #define wxHLB_MULTIPLE          wxLB_MULTIPLE
 
 #define wxHLB_DEFAULT_STYLE     wxBORDER_SUNKEN
 #define wxHLB_MULTIPLE          wxLB_MULTIPLE
 
-class WXDLLIMPEXP_HTML wxSimpleHtmlListBox : public wxHtmlListBox,
-                                             public wxItemContainer
+class WXDLLIMPEXP_HTML wxSimpleHtmlListBox :
+    public wxWindowWithItems<wxHtmlListBox, wxItemContainer>
 {
 {
+    DECLARE_ABSTRACT_CLASS(wxSimpleHtmlListBox)
 public:
     // wxListbox-compatible constructors
     // ---------------------------------
 public:
     // wxListbox-compatible constructors
     // ---------------------------------
@@ -253,9 +254,6 @@ public:
     int GetSelection() const
         { return wxVListBox::GetSelection(); }
 
     int GetSelection() const
         { return wxVListBox::GetSelection(); }
 
-    // see ctrlsub.h for more info about this:
-    wxCONTROL_ITEMCONTAINER_CLIENTDATAOBJECT_RECAST
-
 
     // accessing strings
     // -----------------
 
     // accessing strings
     // -----------------
@@ -302,6 +300,14 @@ protected:
     virtual wxString OnGetItem(size_t n) const
         { return m_items[n]; }
 
     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;
 
     wxArrayString   m_items;
     wxArrayPtrVoid  m_HTMLclientData;
 
@@ -309,7 +315,7 @@ protected:
     // not be named m_clientdata as that clashes with the name of an
     // anonymous struct member in wxEvtHandler, which we derive from.
 
     // not be named m_clientdata as that clashes with the name of an
     // anonymous struct member in wxEvtHandler, which we derive from.
 
-    DECLARE_NO_COPY_CLASS(wxSimpleHtmlListBox)
+    wxDECLARE_NO_COPY_CLASS(wxSimpleHtmlListBox);
 };
 
 #endif // _WX_HTMLLBOX_H_
 };
 
 #endif // _WX_HTMLLBOX_H_