From 990ff5ecebcdeaf78a44b043e070cfdfd0a3d70e Mon Sep 17 00:00:00 2001 From: =?utf8?q?V=C3=A1clav=20Slav=C3=ADk?= Date: Tue, 20 Nov 2001 23:59:24 +0000 Subject: [PATCH] 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 --- include/wx/univ/choice.h | 2 -- include/wx/univ/combobox.h | 46 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+), 2 deletions(-) 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); -- 2.50.0