]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/combobox.h
Add functor-taking overload of CallAfter().
[wxWidgets.git] / include / wx / combobox.h
index ce7ba61aeebc1a093706212e5138f7de6e904b34..f4dae22dcc1b7e1e9fe3a32953d3c9155f4b9910 100644 (file)
 
 #if wxUSE_COMBOBOX
 
 
 #if wxUSE_COMBOBOX
 
+// 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[];
 
 // ----------------------------------------------------------------------------
 extern WXDLLIMPEXP_DATA_CORE(const char) wxComboBoxNameStr[];
 
 // ----------------------------------------------------------------------------
@@ -26,7 +30,7 @@ extern WXDLLIMPEXP_DATA_CORE(const char) wxComboBoxNameStr[];
 #include "wx/textentry.h"
 
 class WXDLLIMPEXP_CORE wxComboBoxBase : public wxItemContainer,
 #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
 {
 public:
     // override these methods to disambiguate between two base classes versions
@@ -36,7 +40,13 @@ public:
         wxItemContainer::Clear();
     }
 
         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
     //
 
     // 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 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
     // 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__)
 #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__)
 #elif defined(__WXCOCOA__)
     #include "wx/cocoa/combobox.h"
 #elif defined(__WXPM__)