public ProjectExplorerFolderViewModel(IProjectDirectory directory) : base(directory) { _directory = directory; Childs = new ObservableCollection <ProjectExplorerViewModel.ProjectExplorerItemViewModel>( directory.GetEntries() .Select(x => { if (x is IProjectDirectory folder) { return(new ProjectExplorerFolderViewModel(folder) as ProjectExplorerViewModel.ProjectExplorerItemViewModel); } if (x is IProjectFile file) { return(new ProjectExplorerFileViewModel(file) as ProjectExplorerViewModel.ProjectExplorerItemViewModel); } return(null); }) .OrderBy(x => { if (x is ProjectExplorerContainerViewModel) { return(0); } if (x is ProjectExplorerFolderViewModel) { return(1); } if (x is ProjectExplorerFileViewModel) { return(2); } return(int.MaxValue); }) .ThenBy(x => x.Name) .Where(x => x != null)); }
public void AddDirectory(IProjectDirectory directory) { Childs.Add(new ProjectExplorerFolderViewModel(directory)); }
public static IEnumerable <IProjectFile> GetFilesWhere(this IProjectDirectory directory, Func <IProjectFile, bool> predicate) { return(GetFilesWhere(directory.GetEntries(), predicate)); }
public static IEnumerable <IProjectFile> GetFilesByFormat(this IProjectDirectory directory, string format) { return(GetFilesByFormat(directory.GetEntries(), format)); }
public static IEnumerable <IProjectFile> GetFiles(this IProjectDirectory directory) { return(GetFiles(directory.GetEntries())); }
public ProjectExplorerContainerViewModel(IProjectDirectory directory) : base(directory) { }