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;
};
// two versions
#define wxCONTROL_ITEMCONTAINER_CLIENTDATAOBJECT_RECAST \
void SetClientData(void *data) \
- { wxControl::SetClientData(data); } \
+ { wxEvtHandler::SetClientData(data); } \
void *GetClientData() const \
- { return wxControl::GetClientData(); } \
+ { return wxEvtHandler::GetClientData(); } \
void SetClientObject(wxClientData *data) \
- { wxControl::SetClientObject(data); } \
+ { wxEvtHandler::SetClientObject(data); } \
wxClientData *GetClientObject() const \
- { return wxControl::GetClientObject(); } \
+ { return wxEvtHandler::GetClientObject(); } \
void SetClientData(unsigned int n, void* clientData) \
{ wxItemContainer::SetClientData(n, clientData); } \
void* GetClientData(unsigned int n) const \
// 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)