X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0ec1179b86dac6c87ad9f2cd126f87e92642c62c..ab67e8874db324fab5223cc8d5dff8a8de3e2b77:/include/wx/combobox.h diff --git a/include/wx/combobox.h b/include/wx/combobox.h index bc33a141c7..f4dae22dcc 100644 --- a/include/wx/combobox.h +++ b/include/wx/combobox.h @@ -16,7 +16,11 @@ #if wxUSE_COMBOBOX -extern WXDLLEXPORT_DATA(const wxChar) wxComboBoxNameStr[]; +// For compatibility with 2.8 include this header to allow using wxTE_XXX +// styles with wxComboBox without explicitly including it in the user code. +#include "wx/textctrl.h" + +extern WXDLLIMPEXP_DATA_CORE(const char) wxComboBoxNameStr[]; // ---------------------------------------------------------------------------- // wxComboBoxBase: this interface defines the methods wxComboBox must implement @@ -25,17 +29,25 @@ extern WXDLLEXPORT_DATA(const wxChar) wxComboBoxNameStr[]; #include "wx/ctrlsub.h" #include "wx/textentry.h" -class WXDLLEXPORT wxComboBoxBase : public wxItemContainer, - public wxTextEntry +class WXDLLIMPEXP_CORE wxComboBoxBase : public wxItemContainer, + public wxTextEntry { public: - // override this to disambiguate between two base classes versions + // override these methods to disambiguate between two base classes versions virtual void Clear() { wxTextEntry::Clear(); wxItemContainer::Clear(); } + // 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 // // NB: GetSelection(from, to) could be already implemented in wxTextEntry @@ -45,6 +57,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 @@ -66,7 +81,7 @@ public: #elif defined(__WXGTK__) #include "wx/gtk1/combobox.h" #elif defined(__WXMAC__) - #include "wx/mac/combobox.h" + #include "wx/osx/combobox.h" #elif defined(__WXCOCOA__) #include "wx/cocoa/combobox.h" #elif defined(__WXPM__)