]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/motif/choice.h
Speed fix for wxGenericDirCtrl, starting to add text input control;
[wxWidgets.git] / include / wx / motif / choice.h
index 18f80ca5bd563376c0638806b91f3cd4d14c7da0..df445f9e9b09d7030538fd2f5bb919ccdecec3a2 100644 (file)
 #pragma interface "choice.h"
 #endif
 
-#include "wx/control.h"
+#include "wx/ctrlsub.h"
 
 WXDLLEXPORT_DATA(extern const char*) wxChoiceNameStr;
 
 // Choice item
-class WXDLLEXPORT wxChoice: public wxControl
+class WXDLLEXPORT wxChoice: public wxControlWithItems
 {
     DECLARE_DYNAMIC_CLASS(wxChoice)
 
@@ -48,6 +48,21 @@ public:
             const wxValidator& validator = wxDefaultValidator,
             const wxString& name = wxChoiceNameStr);
 
+    // Virtual functions required by wxControlWithItems.
+    // They are not all implemented yet :-(
+    virtual int GetCount() const;
+    virtual int DoAppend(const wxString& item);
+    virtual void DoInsertItems(const wxArrayString& items, int pos);
+    virtual void DoSetItems(const wxArrayString& items, void **clientData);
+    virtual void DoSetFirstItem(int n);
+    virtual void DoSetItemClientData(int n, void* clientData);
+    virtual void* DoGetItemClientData(int n) const;
+    virtual void DoSetItemClientObject(int n, wxClientData* clientData);
+    virtual wxClientData* DoGetItemClientObject(int n) const;
+    virtual void Select(int n);
+    virtual void SetString(int n, const wxString& s);
+
+    // Original API
     virtual void Append(const wxString& item);
     virtual void Delete(int n);
     virtual void Clear();
@@ -81,6 +96,8 @@ protected:
     WXWidget*     m_widgetList ;
     WXWidget      m_formWidget;
     wxStringList  m_stringList;
+    wxList        m_clientList;    // contains the client data for the items
+
 
     virtual void DoSetSize(int x, int y,
                            int width, int height,