From: Václav Slavík Date: Tue, 20 Nov 2001 23:59:24 +0000 (+0000) Subject: fixes for ambiquity in wxComboBox (is it correct this time?) X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/990ff5ecebcdeaf78a44b043e070cfdfd0a3d70e?ds=inline fixes for ambiquity in wxComboBox (is it correct this time?) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12544 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/include/wx/univ/choice.h b/include/wx/univ/choice.h index 0c98707ea0..134192b4a3 100644 --- a/include/wx/univ/choice.h +++ b/include/wx/univ/choice.h @@ -43,8 +43,6 @@ public: const wxValidator& validator = wxDefaultValidator, const wxString& name = wxChoiceNameStr); - void *GetClientData(int n) const { return wxItemContainer::GetClientData(n); } - private: void OnComboBox(wxCommandEvent &event); diff --git a/include/wx/univ/combobox.h b/include/wx/univ/combobox.h index 581ffdc085..bd472fea05 100644 --- a/include/wx/univ/combobox.h +++ b/include/wx/univ/combobox.h @@ -273,6 +273,52 @@ public: void SetStringSelection(const wxString& s) { } + // we have to redefine these functions here to avoid ambiguities in classes + // deriving from us which would arise otherwise because both base classses + // have the methods with the same names - hopefully, a smart compiler can + // optimize away these simple inline wrappers so we don't suffer much from + // this + + void SetClientData(void *data) + { + wxControl::SetClientData(data); + } + + void *GetClientData() const + { + return wxControl::GetClientData(); + } + + void SetClientObject(wxClientData *data) + { + wxControl::SetClientObject(data); + } + + wxClientData *GetClientObject() const + { + return wxControl::GetClientObject(); + } + + void SetClientData(int n, void* clientData) + { + wxItemContainer::SetClientData(n, clientData); + } + + void* GetClientData(int n) const + { + return wxItemContainer::GetClientData(n); + } + + void SetClientObject(int n, wxClientData* clientData) + { + wxItemContainer::SetClientObject(n, clientData); + } + + wxClientData* GetClientObject(int n) const + { + return wxItemContainer::GetClientObject(n); + } + protected: virtual int DoAppend(const wxString& item); virtual void DoSetItemClientData(int n, void* clientData);