]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/univ/combobox.h
workaround for BCC bug - use #defines instead of enums
[wxWidgets.git] / include / wx / univ / combobox.h
index c92cea953e0972e90295a3c5836f06604bd957d0..3d396b8d2a7f9c25dffa3c9d382ea7cfef4c1539 100644 (file)
@@ -20,7 +20,7 @@
    down list, not just a wxListBox.
 
    So we define a base wxComboControl which can use any control as pop down
-   list and wxComboBox deriving from it which implements the standard wxWindows
+   list and wxComboBox deriving from it which implements the standard wxWidgets
    combobox API. wxComboControl needs to be told somehow which control to use
    and this is done by SetPopupControl(). However, we need something more than
    just a wxControl in this method as, for example, we need to call
@@ -221,7 +221,7 @@ public:
                const wxPoint& pos = wxDefaultPosition,
                const wxSize& size = wxDefaultSize,
                int n = 0,
-               const wxString *choices = (const wxString *) NULL,
+               const wxString choices[] = (const wxString *) NULL,
                long style = 0,
                const wxValidator& validator = wxDefaultValidator,
                const wxString& name = wxComboBoxNameStr)
@@ -231,6 +231,15 @@ public:
         (void)Create(parent, id, value, pos, size, n, choices,
                      style, validator, name);
     }
+    wxComboBox(wxWindow *parent,
+               wxWindowID id,
+               const wxString& value,
+               const wxPoint& pos,
+               const wxSize& size,
+               const wxArrayString& choices,
+               long style = 0,
+               const wxValidator& validator = wxDefaultValidator,
+               const wxString& name = wxComboBoxNameStr);
 
     bool Create(wxWindow *parent,
                 wxWindowID id,
@@ -242,7 +251,15 @@ public:
                 long style = 0,
                 const wxValidator& validator = wxDefaultValidator,
                 const wxString& name = wxComboBoxNameStr);
-
+    bool Create(wxWindow *parent,
+                wxWindowID id,
+                const wxString& value,
+                const wxPoint& pos,
+                const wxSize& size,
+                const wxArrayString& choices,
+                long style = 0,
+                const wxValidator& validator = wxDefaultValidator,
+                const wxString& name = wxComboBoxNameStr);
 
     virtual ~wxComboBox();
 
@@ -279,54 +296,7 @@ public:
 
     void SetStringSelection(const wxString& WXUNUSED(s)) {  }
 
-    // we have to redefine these functions here to avoid ambiguities in classes
-    // deriving from us which would arise otherwise because we inherit these
-    // methods (with different signatures) from both wxItemContainer via
-    // wxComboBoxBase (with "int n" parameter) and from wxEvtHandler via
-    // wxControl and wxComboControl (without)
-    //
-    // hopefully, a smart compiler can optimize away these simple inline
-    // wrappers so we don't suffer much from this
-
-    void SetClientData(void *data)
-    {
-        wxControl::SetClientData(data);
-    }
-
-    void *GetClientData() const
-    {
-        return wxControl::GetClientData();
-    }
-
-    void SetClientObject(wxClientData *data)
-    {
-        wxControl::SetClientObject(data);
-    }
-
-    wxClientData *GetClientObject() const
-    {
-        return wxControl::GetClientObject();
-    }
-
-    void SetClientData(int n, void* clientData)
-    {
-        wxItemContainer::SetClientData(n, clientData);
-    }
-
-    void* GetClientData(int n) const
-    {
-        return wxItemContainer::GetClientData(n);
-    }
-
-    void SetClientObject(int n, wxClientData* clientData)
-    {
-        wxItemContainer::SetClientObject(n, clientData);
-    }
-
-    wxClientData* GetClientObject(int n) const
-    {
-        return wxItemContainer::GetClientObject(n);
-    }
+    wxCONTROL_ITEMCONTAINER_CLIENTDATAOBJECT_RECAST
 
 protected:
     virtual int DoAppend(const wxString& item);