X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ef0e92205a01c7d0ca6f381cc690cb5d4fa595c9..49a63afbad7646668df343d29edd88458bc7e0a9:/include/wx/combobox.h diff --git a/include/wx/combobox.h b/include/wx/combobox.h index 58d5344e22..a1a8a4386c 100644 --- a/include/wx/combobox.h +++ b/include/wx/combobox.h @@ -26,7 +26,7 @@ extern WXDLLIMPEXP_DATA_CORE(const char) wxComboBoxNameStr[]; #include "wx/textentry.h" class WXDLLIMPEXP_CORE wxComboBoxBase : public wxItemContainer, - public wxTextEntry + public wxTextEntry { public: // override these methods to disambiguate between two base classes versions @@ -36,7 +36,13 @@ public: wxItemContainer::Clear(); } - bool IsEmpty() const { return wxItemContainer::IsEmpty(); } + // IsEmpty() is ambiguous because we inherit it from both wxItemContainer + // and wxTextEntry, and even if defined it here to help the compiler with + // choosing one of them, it would still be confusing for the human users of + // this class. So instead define the clearly named methods below and leave + // IsEmpty() ambiguous to trigger a compilation error if it's used. + bool IsListEmpty() const { return wxItemContainer::IsEmpty(); } + bool IsTextEmpty() const { return wxTextEntry::IsEmpty(); } // also bring in GetSelection() versions of both base classes in scope // @@ -47,6 +53,9 @@ public: virtual int GetSelection() const = 0; virtual void GetSelection(long *from, long *to) const = 0; + virtual void Popup() { wxFAIL_MSG( wxT("Not implemented") ); } + virtual void Dismiss() { wxFAIL_MSG( wxT("Not implemented") ); } + // may return value different from GetSelection() when the combobox // dropdown is shown and the user selected, but not yet accepted, a value // different from the old one in it