]> git.saurik.com Git - wxWidgets.git/commitdiff
add the HTML string of the selected item to wxSimpleHtmlListBox events (closes #10159)
authorFrancesco Montorsi <f18m_cpp217828@yahoo.it>
Mon, 29 Dec 2008 16:06:53 +0000 (16:06 +0000)
committerFrancesco Montorsi <f18m_cpp217828@yahoo.it>
Mon, 29 Dec 2008 16:06:53 +0000 (16:06 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57643 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/htmllbox.h
include/wx/vlbox.h
src/generic/vlbox.cpp

index 3ef995e74ee1c3eba53a81ac212a5c97b65c271a..22f453c83c45c29d49950e330a48cd5b436e2dfb 100644 (file)
@@ -302,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;
 
index 50d747288898ea04ea80aee3fffca50f9328f162..6ba94b42739799532c8a0b64b443b0c74aa329b3 100644 (file)
@@ -249,6 +249,7 @@ protected:
 
     // send the wxEVT_COMMAND_LISTBOX_SELECTED event
     void SendSelectedEvent();
+    virtual void InitEvent(wxCommandEvent& event, int n);
 
     // common implementation of SelectAll() and DeselectAll()
     bool DoSelectAll(bool select);
index 0d7f8ef1990e7d376af60cd098b9a9de81df16f0..13ce1b6278faa2c1d41804cd367edb869f2fc409 100644 (file)
@@ -261,15 +261,19 @@ bool wxVListBox::DoSetCurrent(int current)
     return true;
 }
 
+void wxVListBox::InitEvent(wxCommandEvent& event, int n)
+{
+    event.SetEventObject(this);
+    event.SetInt(n);
+}
+
 void wxVListBox::SendSelectedEvent()
 {
     wxASSERT_MSG( m_current != wxNOT_FOUND,
                     _T("SendSelectedEvent() shouldn't be called") );
 
     wxCommandEvent event(wxEVT_COMMAND_LISTBOX_SELECTED, GetId());
-    event.SetEventObject(this);
-    event.SetInt(m_current);
-
+    InitEvent(event, m_current);
     (void)GetEventHandler()->ProcessEvent(event);
 }
 
@@ -708,9 +712,7 @@ void wxVListBox::OnLeftDClick(wxMouseEvent& eventMouse)
         if ( item == m_current )
         {
             wxCommandEvent event(wxEVT_COMMAND_LISTBOX_DOUBLECLICKED, GetId());
-            event.SetEventObject(this);
-            event.SetInt(item);
-
+            InitEvent(event, item);
             (void)GetEventHandler()->ProcessEvent(event);
         }
         else