]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/combobox.h
Define WXDLLIMPEXP_FWD_RIBBON for consistency with all the other libraries.
[wxWidgets.git] / include / wx / combobox.h
index ac02a10a32e8d4dedc24884d8fed6b0c491db74b..f4dae22dcc1b7e1e9fe3a32953d3c9155f4b9910 100644 (file)
 
 #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,17 +29,25 @@ 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 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__)