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(IsMatchesFilter(filter, filename)) { resources.push_back(m_allFiles.at(i)); // Don't return too many matches... if(resources.size() == 300) break; } } return resources; }
void OpenResourceDlg::DoGetResources(const wxString& filter) { m_resources.clear(); PHPEntityBase::List_t matches; m_table.LoadAllByFilter(matches, filter); // Convert the PHP matches into resources PHPEntityBase::List_t::iterator iter = matches.begin(); m_resources.reserve(matches.size()); for(; iter != matches.end(); ++iter) { PHPEntityBase::Ptr_t match = *iter; if(IsMatchesFilter(filter, match->GetFullName())) { ResourceItem resource; resource.displayName = match->GetDisplayName(); resource.filename = match->GetFilename(); resource.line = match->GetLine(); resource.SetType(match); m_resources.push_back(resource); } } }
void AccelTableDlg::PopulateTable(const wxString& filter) { m_dvListCtrl->DeleteAllItems(); MenuItemDataMap_t filteredMap; if(filter.IsEmpty()) { filteredMap = m_accelMap; } else { for(MenuItemDataMap_t::iterator iter = m_accelMap.begin(); iter != m_accelMap.end(); ++iter) { if(!IsMatchesFilter(filter, iter->second)) continue; filteredMap.insert(std::make_pair(iter->first, iter->second)); } } if(filteredMap.empty()) return; // Add core entries for(MenuItemDataMap_t::const_iterator iter = filteredMap.begin(); iter != filteredMap.end(); ++iter) { const MenuItemData& mid = iter->second; wxVector<wxVariant> cols; wxString parentMenu = mid.parentMenu.BeforeFirst(':'); if(parentMenu.IsEmpty()) { parentMenu = "<Global>"; } cols.push_back(parentMenu); // Parent menu cols.push_back(mid.action.AfterLast(':')); // Action description cols.push_back(mid.accel); // shortcut m_dvListCtrl->AppendItem(cols, (wxUIntPtr) new AccelItemData(mid)); } m_dvListCtrl->GetColumn(0)->SetSortable(true); m_dvListCtrl->GetColumn(1)->SetSortable(true); m_dvListCtrl->GetColumn(2)->SetSortable(true); }