public override System.Collections.Generic.IEnumerable <object> FindMatchingItems(string searchText, System.Collections.IList items, System.Collections.Generic.IEnumerable <object> escapedItems, string textSearchPath, TextSearchMode textSearchMode) { var dependencies = new List <Dependency>(); var toRemove = escapedItems.OfType <Dependency>(); for (int i = 0; i < items.Count; i++) { dependencies.Add(new Dependency() { FromTask = items[i] as GanttTask, Type = DependencyType.FinishFinish }); dependencies.Add(new Dependency() { FromTask = items[i] as GanttTask, Type = DependencyType.FinishStart }); dependencies.Add(new Dependency() { FromTask = items[i] as GanttTask, Type = DependencyType.StartFinish }); dependencies.Add(new Dependency() { FromTask = items[i] as GanttTask, Type = DependencyType.StartStart }); } var searchTexts = searchText.Split(new char[] { '-' }); var titleToUpper = searchTexts.First().Trim().ToUpper(); var typeToUpper = searchTexts.Length > 1 ? searchTexts[1].Trim().ToUpper() : string.Empty; var result = dependencies.Where(x => !toRemove.Any(y => y.FromTask == x.FromTask && y.Type == x.Type)); result = result.Where(x => x.FromTask.Title.ToUpper().StartsWith(titleToUpper.ToUpper()) && x.Type.ToString().ToUpper().StartsWith(typeToUpper)); return(result); }
public override void ItemsCreated(System.Collections.Generic.IEnumerable <IWorkspaceFileObject> items) { base.ItemsCreated(items); #if OLD var model = new ProjectWizardPageModel(new ParameterSource(this), null); // hard coded as we can't get at any custom data out of the template.. // at least try to be a little generic here.. string fileName = null; string extension = null; if (model.UseXeto) { extension = ".xeto"; } else if (model.UseJeto) { extension = ".jeto"; } else if (model.UseCodePreview) { extension = ".eto.cs"; } else { fileName = model.IsLibrary ? "MyPanel.cs" : "MainForm.cs"; } IEnumerable <Project> projects = items.OfType <Solution>().SelectMany(r => r.GetAllProjects()).ToList(); if (!projects.Any()) { projects = items.OfType <Project>(); } /* * var item = items.SelectMany(r => r.GetItemFiles(false)).FirstOrDefault(r => * { * if (extension != null && r.FileName.EndsWith(extension, StringComparison.OrdinalIgnoreCase)) * return true; * if (fileName != null && r.FileName.Equals(fileName, StringComparison.OrdinalIgnoreCase)) * return true; * return false; * * }); * if (item != null) * { * * IdeApp.Workbench.OpenDocument(item); * }*/ foreach (var proj in projects) { var item = proj.Files.FirstOrDefault(r => { if (extension != null && r.FilePath.FileName.EndsWith(extension, StringComparison.OrdinalIgnoreCase)) { return(true); } if (fileName != null && r.FilePath.FileName.Equals(fileName, StringComparison.OrdinalIgnoreCase)) { return(true); } return(false); }); if (item != null) { IdeApp.Workbench.OpenDocument(item.FilePath, proj); } } #endif }