]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/mac/carbon/choice.h
avoid GCC warning about type-punned pointer breaking strict aliasing rules
[wxWidgets.git] / include / wx / mac / carbon / choice.h
index 2b0ac933114cd0b75ccbaf47d51f35cafb5a1569..04946ff285fea912a675ce95d3832bc0b3bf6ea7 100644 (file)
@@ -17,7 +17,7 @@
 #include  "wx/dynarray.h"
 #include  "wx/arrstr.h"
 
-WXDLLEXPORT_DATA(extern const wxChar) wxChoiceNameStr[];
+WXDLLEXPORT_DATA(extern const char) wxChoiceNameStr[];
 
 WX_DEFINE_ARRAY( char * , wxChoiceDataArray ) ;
 
@@ -69,32 +69,26 @@ public:
                 const wxValidator& validator = wxDefaultValidator,
                 const wxString& name = wxChoiceNameStr);
 
-    virtual void Delete(int n);
-    virtual void Clear();
-
-    virtual int GetCount() const ;
+    virtual unsigned int GetCount() const ;
     virtual int GetSelection() const ;
     virtual void SetSelection(int n);
-    int GetCurrentSelection() const { return GetSelection(); }
 
     virtual int FindString(const wxString& s, bool bCase = false) const;
-    virtual wxString GetString(int n) const ;
-    virtual void SetString( int , const wxString& s ) ;
+    virtual wxString GetString(unsigned int n) const ;
+    virtual void SetString(unsigned int pos, const wxString& s);
     virtual wxInt32 MacControlHit( WXEVENTHANDLERREF handler , WXEVENTREF event ) ;
 
 protected:
-    virtual wxSize DoGetBestSize() const ;
-    virtual int DoAppend(const wxString& item);
-    virtual int DoInsert(const wxString& item, int pos);
+    virtual void DoDeleteOneItem(unsigned int n);
+    virtual void DoClear();
 
-    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 wxSize DoGetBestSize() const ;
+    virtual int DoInsertItems(const wxArrayStringsAdapter& items,
+                              unsigned int pos,
+                              void **clientData, wxClientDataType type);
 
-    // free all memory we have (used by Clear() and dtor)
-    // prevent collision with some BSD definitions of macro Free()
-    void FreeData();
+    virtual void DoSetItemClientData(unsigned int n, void* clientData);
+    virtual void* DoGetItemClientData(unsigned int n) const;
 
     wxArrayString m_strings;
     wxChoiceDataArray m_datas ;