X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/62f864c32c53356b7228591c85b14abc491c46f0..b4446c244775324631b8dd2b588ea35f32e71728:/src/mac/classic/choice.cpp diff --git a/src/mac/classic/choice.cpp b/src/mac/classic/choice.cpp index ecd459ed61..8371e99ad9 100644 --- a/src/mac/classic/choice.cpp +++ b/src/mac/classic/choice.cpp @@ -1,24 +1,24 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: choice.cpp +// Name: src/mac/classic/choice.cpp // Purpose: wxChoice // Author: Stefan Csomor // Modified by: // Created: 1998-01-01 // RCS-ID: $Id$ // Copyright: (c) Stefan Csomor -// Licence: wxWindows licence +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ -#pragma implementation "choice.h" -#endif - -#include "wx/defs.h" +#include "wx/wxprec.h" #if wxUSE_CHOICE #include "wx/choice.h" -#include "wx/menu.h" + +#ifndef WX_PRECOMP + #include "wx/menu.h" +#endif + #include "wx/mac/uma.h" IMPLEMENT_DYNAMIC_CLASS(wxChoice, wxControl) @@ -29,7 +29,7 @@ wxChoice::~wxChoice() { if ( HasClientObjectData() ) { - size_t i, max = GetCount(); + unsigned int i, max = GetCount(); for ( i = 0; i < max; ++i ) delete GetClientObject(i); @@ -100,10 +100,10 @@ int wxChoice::DoAppend(const wxString& item) return index ; } -int wxChoice::DoInsert(const wxString& item, int pos) +int wxChoice::DoInsert(const wxString& item, unsigned int pos) { wxCHECK_MSG(!(GetWindowStyle() & wxCB_SORT), -1, wxT("can't insert into sorted list")); - wxCHECK_MSG((pos>=0) && (pos<=GetCount()), -1, wxT("invalid index")); + wxCHECK_MSG(IsValidInsert(pos), -1, wxT("invalid index")); if (pos == GetCount()) return DoAppend(item); @@ -116,9 +116,9 @@ int wxChoice::DoInsert(const wxString& item, int pos) return pos ; } -void wxChoice::Delete(int n) +void wxChoice::Delete(unsigned int n) { - wxCHECK_RET( n < GetCount(), wxT("invalid item index in wxChoice::Delete") ); + wxCHECK_RET( IsValid(n), wxT("invalid item index in wxChoice::Delete") ); if ( HasClientObjectData() ) { delete GetClientObject(n); @@ -132,7 +132,7 @@ void wxChoice::Delete(int n) void wxChoice::Clear() { FreeData(); - for ( int i = 0 ; i < GetCount() ; i++ ) + for ( unsigned int i = 0 ; i < GetCount() ; i++ ) { ::DeleteMenuItem( MAC_WXHMENU(m_macPopUpMenuHandle) , 1 ) ; } @@ -145,8 +145,8 @@ void wxChoice::FreeData() { if ( HasClientObjectData() ) { - size_t count = GetCount(); - for ( size_t n = 0; n < count; n++ ) + unsigned int count = GetCount(); + for ( unsigned int n = 0; n < count; n++ ) { delete GetClientObject(n); } @@ -170,22 +170,12 @@ void wxChoice::SetSelection(int n) // string list functions // ---------------------------------------------------------------------------- -int wxChoice::GetCount() const +unsigned int wxChoice::GetCount() const { return m_strings.GetCount() ; } -int wxChoice::FindString(const wxString& s) const -{ - for( int i = 0 ; i < GetCount() ; i++ ) - { - if ( GetString( i ).IsSameAs(s, false) ) - return i ; - } - return wxNOT_FOUND ; -} - -void wxChoice::SetString(int n, const wxString& s) +void wxChoice::SetString(unsigned int n, const wxString& s) { wxFAIL_MSG(wxT("wxChoice::SetString() not yet implemented")); #if 0 // should do this, but no Insert() so far @@ -194,9 +184,9 @@ void wxChoice::SetString(int n, const wxString& s) #endif } -wxString wxChoice::GetString(int n) const +wxString wxChoice::GetString(unsigned int n) const { - wxCHECK_MSG( n >= 0 && (size_t)n < m_strings.GetCount(), _T(""), + wxCHECK_MSG( IsValid(n), wxEmptyString, _T("wxChoice::GetString(): invalid index") ); return m_strings[n] ; @@ -205,27 +195,27 @@ wxString wxChoice::GetString(int n) const // ---------------------------------------------------------------------------- // client data // ---------------------------------------------------------------------------- -void wxChoice::DoSetItemClientData( int n, void* clientData ) +void wxChoice::DoSetItemClientData(unsigned int n, void* clientData) { - wxCHECK_RET( n >= 0 && (size_t)n < m_datas.GetCount(), + wxCHECK_RET( n >= 0 && (unsigned int)n < m_datas.GetCount(), wxT("invalid index in wxChoice::SetClientData") ); m_datas[n] = (char*) clientData ; } -void *wxChoice::DoGetItemClientData(int n) const +void *wxChoice::DoGetItemClientData(unsigned int n) const { - wxCHECK_MSG( n >= 0 && (size_t)n < m_datas.GetCount(), NULL, + wxCHECK_MSG( n >= 0 && (unsigned int)n < m_datas.GetCount(), NULL, wxT("invalid index in wxChoice::GetClientData") ); return (void *)m_datas[n]; } -void wxChoice::DoSetItemClientObject( int n, wxClientData* clientData ) +void wxChoice::DoSetItemClientObject(unsigned int n, wxClientData* clientData) { DoSetItemClientData(n, clientData); } -wxClientData* wxChoice::DoGetItemClientObject( int n ) const +wxClientData* wxChoice::DoGetItemClientObject(unsigned int n) const { return (wxClientData *)DoGetItemClientData(n); } @@ -273,7 +263,7 @@ wxSize wxChoice::DoGetBestSize() const ::TextFace( 0 ) ; } // Find the widest line - for(int i = 0; i < GetCount(); i++) { + for(unsigned int i = 0; i < GetCount(); i++) { wxString str(GetString(i)); #if wxUSE_UNICODE Point bounds={0,0} ; @@ -286,7 +276,7 @@ wxSize wxChoice::DoGetBestSize() const &baseline ); wLine = bounds.h ; #else - wLine = ::TextWidth( str.c_str() , 0 , str.Length() ) ; + wLine = ::TextWidth( str.c_str() , 0 , str.length() ) ; #endif lbWidth = wxMax(lbWidth, wLine); }