本文整理汇总了C++中ProjectPtr::GetFilesAsVectorOfFileName方法的典型用法代码示例。如果您正苦于以下问题:C++ ProjectPtr::GetFilesAsVectorOfFileName方法的具体用法?C++ ProjectPtr::GetFilesAsVectorOfFileName怎么用?C++ ProjectPtr::GetFilesAsVectorOfFileName使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ProjectPtr
的用法示例。
在下文中一共展示了ProjectPtr::GetFilesAsVectorOfFileName方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OnCheckWorkspaceItem
void CppCheckPlugin::OnCheckWorkspaceItem(wxCommandEvent& e)
{
if(m_cppcheckProcess) {
clLogMessage(_("CppCheckPlugin: CppCheck is currently busy please wait for it to complete the current check"));
return;
}
if(!m_mgr->GetWorkspace() || !m_mgr->IsWorkspaceOpen()) { return; }
TreeItemInfo item = m_mgr->GetSelectedTreeItemInfo(TreeFileView);
if(item.m_itemType == ProjectItem::TypeWorkspace) {
// retrieve complete list of source files of the workspace
wxArrayString projects;
wxString err_msg;
std::vector<wxFileName> tmpfiles;
m_mgr->GetWorkspace()->GetProjectList(projects);
for(size_t i = 0; i < projects.GetCount(); i++) {
ProjectPtr proj = m_mgr->GetWorkspace()->FindProjectByName(projects.Item(i), err_msg);
if(proj) { proj->GetFilesAsVectorOfFileName(tmpfiles); }
}
// only C/C++ files
for(size_t i = 0; i < tmpfiles.size(); i++) {
if(FileExtManager::GetType(tmpfiles.at(i).GetFullPath()) == FileExtManager::TypeSourceC ||
FileExtManager::GetType(tmpfiles.at(i).GetFullPath()) == FileExtManager::TypeSourceCpp) {
m_filelist.Add(tmpfiles.at(i).GetFullPath());
}
}
}
DoStartTest();
}
示例2: OnProjectInsertCopyrights
void Copyright::OnProjectInsertCopyrights(wxCommandEvent& e)
{
// pop up the projects selection dialog
if(m_mgr->IsWorkspaceOpen() == false) {
wxMessageBox(_("Batch insert requires a workspace to be opened"), _("CodeLite"), wxICON_WARNING | wxOK);
return;
}
if(!m_mgr->SaveAll()) return;
// read configuration
CopyrightsConfigData data;
m_mgr->GetConfigTool()->ReadObject(wxT("CopyrightsConfig"), &data);
wxString content;
if(!Validate(content)) { return; }
// get the project to work on
TreeItemInfo info = m_mgr->GetSelectedTreeItemInfo(TreeFileView);
wxString project_name = info.m_text;
wxString err_msg;
std::vector<wxFileName> files;
std::vector<wxFileName> filtered_files;
// loop over the project and collect list of files to work with
ProjectPtr p = m_mgr->GetWorkspace()->GetProject(project_name);
if(!p) { return; }
p->GetFilesAsVectorOfFileName(files);
// filter non matched files
wxString mask(data.GetFileMasking());
mask.Replace(wxT("*."), wxEmptyString);
mask = mask.Trim().Trim(false);
wxArrayString exts = wxStringTokenize(mask, wxT(";"));
// filter out non-matching files (according to masking)
for(size_t i = 0; i < files.size(); i++) {
if(exts.Index(files.at(i).GetExt(), false) != wxNOT_FOUND) {
// valid file
filtered_files.push_back(files.at(i));
}
}
// update files
if(filtered_files.empty() == false) { MassUpdate(filtered_files, content); }
}
示例3: OnBatchInsertCopyrights
void Copyright::OnBatchInsertCopyrights(wxCommandEvent& e)
{
// pop up the projects selection dialog
if(m_mgr->IsWorkspaceOpen() == false) {
wxMessageBox(_("Batch insert requires a workspace to be opened"), _("CodeLite"), wxICON_WARNING | wxOK);
return;
}
if(!m_mgr->SaveAll()) return;
// read configuration
CopyrightsConfigData data;
m_mgr->GetConfigTool()->ReadObject(wxT("CopyrightsConfig"), &data);
wxString content;
if(!Validate(content)) { return; }
CopyrightsProjectSelDlg dlg(m_mgr->GetTheApp()->GetTopWindow(), m_mgr->GetWorkspace());
if(dlg.ShowModal() == wxID_OK) {
wxArrayString projects;
dlg.GetProjects(projects);
// expand constants
std::vector<wxFileName> files;
std::vector<wxFileName> filtered_files;
// loop over the project and collect list of files to work with
for(size_t i = 0; i < projects.size(); i++) {
ProjectPtr p = m_mgr->GetWorkspace()->GetProject(projects.Item(i));
if(p) { p->GetFilesAsVectorOfFileName(files); }
}
wxString mask(data.GetFileMasking());
mask.Replace(wxT("*."), wxEmptyString);
mask = mask.Trim().Trim(false);
wxArrayString exts = ::wxStringTokenize(mask, wxT(";"));
// filter out non-matching files (according to masking)
for(size_t i = 0; i < files.size(); i++) {
if(exts.Index(files.at(i).GetExt(), false) != wxNOT_FOUND) {
// valid file
filtered_files.push_back(files.at(i));
}
}
if(filtered_files.empty() == false) { MassUpdate(filtered_files, content); }
}
}
示例4: OnCheckProjectItem
void CppCheckPlugin::OnCheckProjectItem(wxCommandEvent& e)
{
if(m_cppcheckProcess) {
clLogMessage(_("CppCheckPlugin: CppCheck is currently busy please wait for it to complete the current check"));
return;
}
ProjectPtr proj = FindSelectedProject();
if(!proj) { return; }
// retrieve complete list of source files of the workspace
std::vector<wxFileName> tmpfiles;
proj->GetFilesAsVectorOfFileName(tmpfiles);
// only C/C++ files
for(size_t i = 0; i < tmpfiles.size(); i++) {
if(FileExtManager::GetType(tmpfiles.at(i).GetFullPath()) == FileExtManager::TypeSourceC ||
FileExtManager::GetType(tmpfiles.at(i).GetFullPath()) == FileExtManager::TypeSourceCpp) {
m_filelist.Add(tmpfiles.at(i).GetFullPath());
}
}
DoStartTest(proj);
}