Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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
        }