+void *wxChoice::DoGetItemClientData(int N) const
+{
+ wxCHECK_MSG( N >= 0 && N < m_datas.GetCount(), NULL,
+ "invalid index in wxChoice::GetClientData" );
+
+ return (void *)m_datas[N];
+}
+
+void wxChoice::DoSetItemClientObject( int n, wxClientData* clientData )
+{
+ DoSetItemClientData(n, clientData);
+}
+
+wxClientData* wxChoice::DoGetItemClientObject( int n ) const
+{
+ return (wxClientData *)DoGetItemClientData(n);
+}
+
+void wxChoice::MacHandleControlClick( WXWidget control , wxInt16 controlpart )
+{
+ wxCommandEvent event(wxEVT_COMMAND_CHOICE_SELECTED, m_windowId );
+ event.SetInt(GetSelection());
+ event.SetEventObject(this);
+ event.SetString(GetStringSelection());
+ ProcessCommand(event);
+}
+
+wxSize wxChoice::DoGetBestSize() const
+{
+ // TODO should modify this to take into account string length ala wxGTK
+ return wxSize(100,20);
+}
+
+/*
+void wxChoice::Command(wxCommandEvent & event)
+{
+ SetSelection (event.GetInt());
+ ProcessCommand (event);
+}
+*/