X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8907154c1a8a6882c6797d1f16393ddfb23e7f3a..4064f7deac3752bb5b20505daedc4ed750d19dd9:/src/univ/listbox.cpp diff --git a/src/univ/listbox.cpp b/src/univ/listbox.cpp index a938fbd880..663611a6c7 100644 --- a/src/univ/listbox.cpp +++ b/src/univ/listbox.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: univ/listbox.cpp +// Name: src/univ/listbox.cpp // Purpose: wxListBox implementation // Author: Vadim Zeitlin // Modified by: @@ -84,6 +84,7 @@ wxListBox::wxListBox(wxWindow *parent, long style, const wxValidator& validator, const wxString &name) + :wxScrollHelper(this) { Init(); @@ -135,8 +136,6 @@ bool wxListBox::Create(wxWindow *parent, validator, name) ) return false; - SetWindow(this); - m_strings = new wxArrayString; Set(n, choices); @@ -328,7 +327,7 @@ void wxListBox::Clear() void wxListBox::Delete(int n) { - wxCHECK_RET( n >= 0 && n < GetCount(), + wxCHECK_RET( IsValid(n), _T("invalid index in wxListBox::Delete") ); // do it before removing the index as otherwise the last item will not be @@ -462,10 +461,10 @@ void wxListBox::DoSetSelection(int n, bool select) int wxListBox::GetSelection() const { - wxCHECK_MSG( !HasMultipleSelection(), -1, + wxCHECK_MSG( !HasMultipleSelection(), wxNOT_FOUND, _T("use wxListBox::GetSelections for ths listbox") ); - return m_selections.IsEmpty() ? -1 : m_selections[0]; + return m_selections.IsEmpty() ? wxNOT_FOUND : m_selections[0]; } int wxCMPFUNC_CONV wxCompareInts(int *n, int *m) @@ -575,9 +574,9 @@ void wxListBox::UpdateScrollbars() wxSize size = GetClientSize(); // is our height enough to show all items? - int nLines = GetCount(); + size_t nLines = GetCount(); wxCoord lineHeight = GetLineHeight(); - bool showScrollbarY = nLines*lineHeight > size.y; + bool showScrollbarY = (int)nLines*lineHeight > size.y; // check the width too if required wxCoord charWidth, maxWidth; @@ -914,8 +913,8 @@ void wxListBox::SetCurrentItem(int n) bool wxListBox::FindItem(const wxString& prefix, bool strictlyAfter) { - int count = GetCount(); - if ( !count ) + size_t count = GetCount(); + if ( count==0 ) { // empty listbox, we can't find anything in it return false; @@ -928,7 +927,7 @@ bool wxListBox::FindItem(const wxString& prefix, bool strictlyAfter) { // the following line will set first correctly to 0 if there is no // selection (m_current == -1) - first = m_current == count - 1 ? 0 : m_current + 1; + first = m_current == (int)(count - 1) ? 0 : m_current + 1; } else // start with the current { @@ -938,13 +937,13 @@ bool wxListBox::FindItem(const wxString& prefix, bool strictlyAfter) int last = first == 0 ? count - 1 : first - 1; // if this is not true we'd never exit from the loop below! - wxASSERT_MSG( first < count && last < count, _T("logic error") ); + wxASSERT_MSG( first < (int)count && last < (int)count, _T("logic error") ); // precompute it outside the loop size_t len = prefix.length(); // loop over all items in the listbox - for ( int item = first; item != last; item < count - 1 ? item++ : item = 0 ) + for ( int item = first; item != (int)last; item < (int)(count - 1) ? item++ : item = 0 ) { if ( wxStrnicmp(this->GetString(item).c_str(), prefix, len) == 0 ) { @@ -1056,8 +1055,8 @@ void wxListBox::ExtendSelection(int itemTo) SetSelection(n); } - int count = GetCount(); - for ( ; n < count; n++ ) + size_t count = GetCount(); + for ( ; n < (int)count; n++ ) { Deselect(n); } @@ -1231,7 +1230,7 @@ int wxStdListboxInputHandler::FixItemIndex(const wxListBox *lbox, // mouse is above the first item item = 0; } - else if ( item >= lbox->GetCount() ) + else if ( (size_t)item >= lbox->GetCount() ) { // mouse is below the last item item = lbox->GetCount() - 1; @@ -1242,7 +1241,7 @@ int wxStdListboxInputHandler::FixItemIndex(const wxListBox *lbox, bool wxStdListboxInputHandler::IsValidIndex(const wxListBox *lbox, int item) { - return item >= 0 && item < lbox->GetCount(); + return item >= 0 && (size_t)item < lbox->GetCount(); } wxControlAction