ResourceVector_t OpenResourceDlg::DoGetFiles(const wxString& filter) { ResourceVector_t resources; // filter non matched entries wxString lcFilter = filter; lcFilter.MakeLower(); for(size_t i = 0; i < m_allFiles.size(); i++) { wxString filename = m_allFiles.at(i).filename.GetFullPath().Lower(); if(FileUtils::FuzzyMatch(filter, filename)) { resources.push_back(m_allFiles.at(i)); // Don't return too many matches... if(resources.size() == 300) break; } } return resources; }
void OpenResourceDlg::DoPopulateListCtrl(const ResourceVector_t& items) { wxDataViewItem selection; for(size_t i = 0; i < items.size(); ++i) { wxVector<wxVariant> cols; cols.push_back(::MakeIconText(items.at(i).displayName, DoGetImgIdx(&items.at(i)))); cols.push_back(items.at(i).TypeAsString()); cols.push_back(items.at(i).filename.GetFullPath()); m_dvListCtrl->AppendItem(cols, (wxUIntPtr)(new ResourceItem(items.at(i)))); if(!selection.IsOk()) { selection = m_dvListCtrl->RowToItem(0); } } if(selection.IsOk()) { m_dvListCtrl->Select(selection); m_dvListCtrl->EnsureVisible(selection); } }
ResourceVector_t OpenResourceDlg::DoGetFiles(const wxString& filter) { ResourceVector_t resources; // filter non matched entries wxString lcFilter = filter; lcFilter.MakeLower(); for(size_t i=0; i<m_allFiles.size(); i++) { wxString displayName = m_allFiles.at(i).displayName; displayName.MakeLower(); if(displayName.Contains(lcFilter)) { resources.push_back(m_allFiles.at(i)); // Don't return too many matches... if(resources.size() == 150) break; } } return resources; }