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 \
virtual bool ShouldInheritColours() const { return false; }
protected:
- // we can't compute our best size before the items are added to the control
- // which is done after calling SetInitialBestSize() (it is called from the
- // base class ctor and the items are added in the derived class ctor), so
- // don't do anything at all here as our size will be changed later anyhow
+ // fill in the client object or data field of the event as appropriate
//
- // of course, all derived classes *must* call SetBestSize() from their
- // ctors for this to work!
- virtual void SetInitialBestSize(const wxSize& WXUNUSED(size)) { }
+ // 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)