]> 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 e1c01e4a034cfcddf4ed90ebb94ea1abd75d5291..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
@@ -36,8 +36,8 @@
 #ifndef _WX_UNIV_COMBOBOX_H_
 #define _WX_UNIV_COMBOBOX_H_
 
-#ifdef __GNUG__
-    #pragma implementation "univcombobox.h"
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
+    #pragma interface "univcombobox.h"
 #endif
 
 class WXDLLEXPORT wxComboControl;
@@ -83,6 +83,8 @@ public:
     // called immediately after the control is shown
     virtual void OnShow() = 0;
 
+    virtual wxCoord GetBestWidth() const {return 0; }
+
 protected:
     wxComboControl *m_combo;
 };
@@ -160,6 +162,10 @@ public:
     virtual bool Enable(bool enable = TRUE);
     virtual bool Show(bool show = TRUE);
 
+#if wxUSE_TOOLTIPS
+    virtual void DoSetToolTip( wxToolTip *tip );
+#endif // wxUSE_TOOLTIPS
+
 protected:
     // override the base class virtuals involved into geometry calculations
     virtual wxSize DoGetBestClientSize() const;
@@ -174,7 +180,7 @@ protected:
                                const wxString& strArg = wxEmptyString);
 
     // event handlers
-    void OnKey(wxCommandEvent& event);
+    void OnKey(wxKeyEvent& event);
 
     // common part of all ctors
     void Init();
@@ -215,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)
@@ -225,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,
@@ -236,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();
 
@@ -270,11 +293,14 @@ public:
     virtual void Select(int n);
     virtual int GetSelection() const;
     void SetSelection(int n) { Select(n); }
-    
-    void SetStringSelection(const wxString& s) {  }
+
+    void SetStringSelection(const wxString& WXUNUSED(s)) {  }
+
+    wxCONTROL_ITEMCONTAINER_CLIENTDATAOBJECT_RECAST
 
 protected:
     virtual int DoAppend(const wxString& item);
+    virtual int DoInsert(const wxString& item, int pos);
     virtual void DoSetItemClientData(int n, void* clientData);
     virtual void* DoGetItemClientData(int n) const;
     virtual void DoSetItemClientObject(int n, wxClientData* clientData);
@@ -303,7 +329,7 @@ class WXDLLEXPORT wxStdComboBoxInputHandler : public wxStdInputHandler
 public:
     wxStdComboBoxInputHandler(wxInputHandler *inphand);
 
-    virtual bool HandleKey(wxControl *control,
+    virtual bool HandleKey(wxInputConsumer *consumer,
                            const wxKeyEvent& event,
                            bool pressed);
 };