]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/combobox.h
Dramatically optimise inserting many items in wxGenericListCtrl.
[wxWidgets.git] / include / wx / combobox.h
index 58d5344e22ad9d3fab8e1345858b7c46c39c90ab..831bed1c242f6b1ab302c7c7a8588dbfb1ea6020 100644 (file)
@@ -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