git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43719
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
\func{long}{FindItem}{\param{long }{start}, \param{const wxString\& }{str}, \param{const bool }{partial = false}}
Find an item whose label matches this string, starting from {\it start} or
\func{long}{FindItem}{\param{long }{start}, \param{const wxString\& }{str}, \param{const bool }{partial = false}}
Find an item whose label matches this string, starting from {\it start} or
-the beginning if {\it start} is -1.
+the beginning if {\it start} is -1. The string comparison is case
+insensitive. If {\it partial} is true then this method will look for
+items which begin with {\it str}.
\func{long}{FindItem}{\param{long }{start}, \param{long }{data}}
\func{long}{FindItem}{\param{long }{start}, \param{long }{data}}
MoveToItem((size_t)index);
}
MoveToItem((size_t)index);
}
-long wxListMainWindow::FindItem(long start, const wxString& str, bool WXUNUSED(partial) )
+long wxListMainWindow::FindItem(long start, const wxString& str, bool partial )
+ if (str.empty())
+ return wxNOT_FOUND;
+
+ wxString str_upper = str.Upper();
for ( size_t i = (size_t)pos; i < count; i++ )
{
wxListLineData *line = GetLine(i);
for ( size_t i = (size_t)pos; i < count; i++ )
{
wxListLineData *line = GetLine(i);
- if ( line->GetText(0) == tmp )
- return i;
+ wxString line_upper = line->GetText(0).Upper();
+ if (!partial)
+ {
+ if (line_upper == str_upper )
+ return i;
+ }
+ else
+ {
+ if (line_upper.find(str_upper) == 0)
+ return i;
+ }