private void CheckTextInFile(SearchResultsHolder.SearchComponentDescriptor ProjectDesc, BuildFileWrapper file, string what, bool MatchCase, bool MatchWholeWord) { if (!File.Exists(file.FullPath)) return; m_SearchResults.TotalComponentsSearched++; using (StreamReader tr = new StreamReader(file.FullPath)) { int LineNum = 0; while (!tr.EndOfStream) { LineNum++; string Line = tr.ReadLine(); SearchResultsHolder.SearchComponentDescriptor CompDesc = new SearchResultsHolder.SearchComponentDescriptor(file); if (ProjectDesc != null) CompDesc.Parent = ProjectDesc; CompDesc.Line = new SearchResultsHolder.SearchComponentDescriptor.LineDescriptor(LineNum, Line); //if (MatchWholeWord) //{ // if (MatchCase) // { // if (file.Name == what) // { // m_SearchResults.FindedComponents.Add(CompDesc); // OnElementFinded(CompDesc); // } // } // else // { // if (file.Name.ToLower() == what.ToLower()) // { // m_SearchResults.FindedComponents.Add(CompDesc); // OnElementFinded(CompDesc); // } // } //} //else //{ if (MatchCase) { if (Line.Contains(what)) { m_SearchResults.FindedComponents.Add(CompDesc); OnElementFinded(CompDesc); } } else { if (Line.ToLower().Contains(what.ToLower())) { m_SearchResults.FindedComponents.Add(CompDesc); OnElementFinded(CompDesc); } } //} } } }
private void SearchTextInFiles(SearchWhere where, string what, bool MatchCase, bool MatchWholeWord) { List<BuildFileWrapper> FilesList = new List<BuildFileWrapper>(); List<LibraryWrapper> CheckedLibrariesList = new List<LibraryWrapper>(); if ((where == SearchWhere.All) || (where == SearchWhere.PKDatabase)) { foreach (LibraryWrapper LW in m_inv.Libraries) { FilesList.Clear(); if (Solution != null) { if (Solution.IsReference(LW)) { FilesList.AddRange(LW.FastCompileFiles); FilesList.AddRange(LW.HeaderFiles); FilesList.AddRange(LW.OtherFiles); FilesList.AddRange(LW.SourceFiles); } } else { FilesList.AddRange(LW.FastCompileFiles); FilesList.AddRange(LW.HeaderFiles); FilesList.AddRange(LW.OtherFiles); FilesList.AddRange(LW.SourceFiles); } SearchResultsHolder.SearchComponentDescriptor LibraryDesc = new SearchResultsHolder.SearchComponentDescriptor(ComponentWrapper.GetComponentWrapper(LW)); foreach (BuildFileWrapper file in FilesList) { this.CheckTextInFile(LibraryDesc, file, what, MatchCase, MatchWholeWord); } } } if ((where == SearchWhere.All) || (where == SearchWhere.Solution)) { if (Solution != null) { foreach (ProjectWrapper PW in Solution.Projects) { foreach (ComponentWrapper CW in PW.Libraries) { LibraryWrapper LW = this.FindLibrary(CW.Guid); if ((LW != null))// && (!Libs.Contains(LW))) { if (CheckedLibrariesList.Contains(LW)) continue; CheckedLibrariesList.Add(LW); FilesList.Clear(); FilesList.AddRange(LW.FastCompileFiles); FilesList.AddRange(LW.HeaderFiles); FilesList.AddRange(LW.OtherFiles); FilesList.AddRange(LW.SourceFiles); //SearchResultsHolder.ComponentDescriptor ProjectDesc = new SearchResultsHolder.ComponentDescriptor(); //ProjectDesc.Component = ComponentWrapper.GetComponentWrapper(PW); //ProjectDesc.Parent = new SearchResultsHolder.ComponentDescriptor(null, ComponentWrapper.GetComponentWrapper(Solution)); //SearchResultsHolder.ComponentDescriptor LibraryDesc = new SearchResultsHolder.ComponentDescriptor(ProjectDesc, ComponentWrapper.GetComponentWrapper(LW)); SearchResultsHolder.SearchComponentDescriptor LibraryDesc = new SearchResultsHolder.SearchComponentDescriptor(new SearchResultsHolder.SearchComponentDescriptor(null, ComponentWrapper.GetComponentWrapper(Solution)), ComponentWrapper.GetComponentWrapper(LW)); if (!Solution.IsReference(LW)) { foreach (BuildFileWrapper file in FilesList) { this.CheckTextInFile(LibraryDesc, file, what, MatchCase, MatchWholeWord); } } } } } } } }
private void CheckFile(SearchResultsHolder.SearchComponentDescriptor ProjectDesc, BuildFileWrapper file, string what, bool MatchCase, bool MatchWholeWord) { SearchResultsHolder.SearchComponentDescriptor CompDesc = new SearchResultsHolder.SearchComponentDescriptor(file); if (ProjectDesc != null) CompDesc.Parent = ProjectDesc; m_SearchResults.TotalComponentsSearched++; if (MatchWholeWord) { if (MatchCase) { if (file.Name == what) { if (!m_SearchResults.FindedComponents.Contains(CompDesc)) { m_SearchResults.FindedComponents.Add(CompDesc); OnElementFinded(CompDesc); } } } else { if (file.Name.ToLower() == what.ToLower()) { if (!m_SearchResults.FindedComponents.Contains(CompDesc)) { m_SearchResults.FindedComponents.Add(CompDesc); OnElementFinded(CompDesc); } } } } else { if (MatchCase) { if (file.Name.Contains(what)) { if (!m_SearchResults.FindedComponents.Contains(CompDesc)) { m_SearchResults.FindedComponents.Add(CompDesc); OnElementFinded(CompDesc); } } } else { if (file.Name.ToLower().Contains(what.ToLower())) { if (!m_SearchResults.FindedComponents.Contains(CompDesc)) { m_SearchResults.FindedComponents.Add(CompDesc); OnElementFinded(CompDesc); } } } } }
/// <summary> /// Searchs in Features /// </summary> /// <param name="what"></param> /// <param name="MatchCase"></param> /// <param name="MatchWholeWord"></param> private void SearchInFeatures(SearchWhere where, string what, bool MatchCase, bool MatchWholeWord) { if ((where == SearchWhere.All) || (where == SearchWhere.PKDatabase)) { foreach (FeatureWrapper FW in m_inv.Features) { this.CheckFeature(FW, what, MatchCase, MatchWholeWord); } } if ((where == SearchWhere.All) || (where == SearchWhere.Solution)) { if (Solution != null) { foreach (ProjectWrapper PW in Solution.Projects) { foreach (ComponentWrapper CW in PW.Features) { FeatureWrapper FW = this.FindFeature(CW.Guid); if ((FW != null))// && (!Libs.Contains(LW))) { SearchResultsHolder.SearchComponentDescriptor ProjectDesc = new SearchResultsHolder.SearchComponentDescriptor(); ProjectDesc.Component = ComponentWrapper.GetComponentWrapper(PW); ProjectDesc.Parent = new SearchResultsHolder.SearchComponentDescriptor(null, ComponentWrapper.GetComponentWrapper(Solution)); this.CheckFeature(ProjectDesc, FW, what, MatchCase, MatchWholeWord); } } } } } }
private void CheckLibraryCategory(SearchResultsHolder.SearchComponentDescriptor ProjectDesc, LibraryCategoryWrapper libcat, string what, bool MatchCase, bool MatchWholeWord) { SearchResultsHolder.SearchComponentDescriptor CompDesc = new SearchResultsHolder.SearchComponentDescriptor(ComponentWrapper.GetComponentWrapper(libcat)); if (ProjectDesc != null) CompDesc.Parent = ProjectDesc; m_SearchResults.TotalComponentsSearched++; if (MatchWholeWord) { if (MatchCase) { if (libcat.Name == what) { m_SearchResults.FindedComponents.Add(CompDesc); OnElementFinded(CompDesc); } } else { if (libcat.Name.ToLower() == what.ToLower()) { m_SearchResults.FindedComponents.Add(CompDesc); OnElementFinded(CompDesc); } } } else { if (MatchCase) { if (libcat.Name.Contains(what)) { m_SearchResults.FindedComponents.Add(CompDesc); OnElementFinded(CompDesc); } } else { if (libcat.Name.ToLower().Contains(what.ToLower())) { m_SearchResults.FindedComponents.Add(CompDesc); OnElementFinded(CompDesc); } } } }
/// <summary> /// Searchs in LibraryCategories /// </summary> /// <param name="what"></param> /// <param name="MatchCase"></param> /// <param name="MatchWholeWord"></param> private void SearchInLibraryCategories(SearchWhere where, string what, bool MatchCase, bool MatchWholeWord) { if ((where == SearchWhere.All) || (where == SearchWhere.PKDatabase)) { foreach (LibraryCategoryWrapper LCW in m_inv.LibraryCategories) { this.CheckLibraryCategory(LCW, what, MatchCase, MatchWholeWord); } } if ((where == SearchWhere.All) || (where == SearchWhere.Solution)) { if (Solution != null) { foreach (ProjectWrapper PW in Solution.Projects) { foreach (ComponentWrapper CW in PW.LibraryCategories) { LibraryCategoryWrapper LCW = this.FindLibraryCategory(CW.Guid); if ((LCW != null))// && (!Libs.Contains(LW))) { SearchResultsHolder.SearchComponentDescriptor ProjectDesc = new SearchResultsHolder.SearchComponentDescriptor(); ProjectDesc.Component = ComponentWrapper.GetComponentWrapper(PW); ProjectDesc.Parent = new SearchResultsHolder.SearchComponentDescriptor(null, ComponentWrapper.GetComponentWrapper(Solution)); this.CheckLibraryCategory(ProjectDesc, LCW, what, MatchCase, MatchWholeWord); } } } } } }