added InitCommandEventWithItems() and call it from wxChoice and wxComboBox code to ensure that per item client data is set correctly in the generated events (replaces patch 1476171; closes bug 1470505)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39064 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2006-05-06 15:48:27 +00:00
parent 9b7d3c0988
commit 593ac33e50
3 changed files with 17 additions and 8 deletions

View File

@@ -144,6 +144,7 @@ protected:
virtual void DoSetItemClientObject(unsigned int n, wxClientData* clientData) = 0;
virtual wxClientData* DoGetItemClientObject(unsigned int n) const = 0;
// the type of the client data for the items
wxClientDataType m_clientDataItemsType;
};
@@ -197,6 +198,12 @@ protected:
// ctors for this to work!
virtual void SetInitialBestSize(const wxSize& WXUNUSED(size)) { }
// fill in the client object or data field of the event as appropriate
//
// calls InitCommandEvent() and, if n != wxNOT_FOUND, also sets the per
// item client data
void InitCommandEventWithItems(wxCommandEvent& event, int n);
private:
DECLARE_ABSTRACT_CLASS(wxControlWithItems)
DECLARE_NO_COPY_CLASS(wxControlWithItems)