]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/choice.h
*** empty log message ***
[wxWidgets.git] / include / wx / choice.h
index 9cd08994441861a9a9535e35bb0fbb7ac5e40285..3b9eaf5558c5cd1f479b676586251c9af2f7dc39 100644 (file)
@@ -43,10 +43,10 @@ public:
     void Append(const wxString& item) { DoAppend(item); }
         // with client data which belongs to the caller
     void Append(const wxString &item, void* clientData)
-        { DoAppend(item); SetClientData(GetCount() - 1, clientData); }
+        { int n = DoAppend(item); SetClientData(n, clientData); }
         // with client data which will be deleted by the control
     void Append(const wxString &item, wxClientData* clientData)
-        { DoAppend(item); SetClientObject(GetCount() - 1, clientData); }
+        { int n = DoAppend(item); SetClientObject(n, clientData); }
 
     // delete items from the list
         // one item
@@ -95,7 +95,7 @@ public:
 
 private:
     // pure virtuals to implement in the derived classes
-    virtual void DoAppend(const wxString& item) = 0;
+    virtual int DoAppend(const wxString& item) = 0;
 
     virtual void DoSetClientData( int n, void* clientData ) = 0;
     virtual void* DoGetClientData( int n ) const = 0;
@@ -104,6 +104,11 @@ private:
 
     // the type of the client data for the items
     wxClientDataType m_clientDataItemsType;
+    // the above pure virtuals hide these virtuals in wxWindowBase
+    virtual void DoSetClientData(void* clientData ) { wxWindowBase::DoSetClientData(clientData); };
+    virtual void* DoGetClientData() const { return(wxWindowBase::DoGetClientData()); };
+    virtual void DoSetClientObject( wxClientData* clientData ) { wxWindowBase::DoSetClientObject(clientData); };
+    virtual wxClientData* DoGetClientObject() const { return(wxWindowBase::DoGetClientObject()); };
 };
 
 // ----------------------------------------------------------------------------