X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f7dfb0b59fab3266e1268c76cc22107ce07fad29..235a997f9aea9d80774e296d314682e99e0c46f1:/include/wx/combobox.h diff --git a/include/wx/combobox.h b/include/wx/combobox.h index 4f98670f68..f4dae22dcc 100644 --- a/include/wx/combobox.h +++ b/include/wx/combobox.h @@ -16,7 +16,11 @@ #if wxUSE_COMBOBOX -extern WXDLLEXPORT_DATA(const char) 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,8 +29,8 @@ extern WXDLLEXPORT_DATA(const char) 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 these methods to disambiguate between two base classes versions @@ -36,7 +40,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 +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 @@ -68,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__)