/// <summary> /// Creates a new <see cref="Recents"/> instance. /// </summary> /// <param name="files">The recent files.</param> /// <param name="current">The current recent file.</param> /// <returns>The new instance of the <see cref="Recents"/> class.</returns> public static Recents Create(ImmutableArray <RecentFile> files, RecentFile current) { return(new Recents() { Files = files, Current = current }); }
/// <summary> /// Creates a new <see cref="Recents"/> instance. /// </summary> /// <param name="files">The recent files.</param> /// <param name="current">The current recent file.</param> /// <returns>The new instance of the <see cref="Recents"/> class.</returns> public static Recents Create(ImmutableArray<RecentFile> files, RecentFile current) { return new Recents() { Files = files, Current = current }; }
/// <summary> /// Initialize new instance of <see cref="ProjectEditor"/> class. /// </summary> /// <param name="serviceProvider">The service provider.</param> public ProjectEditor(IServiceProvider serviceProvider) { _serviceProvider = serviceProvider; _recentProjects = ImmutableArray.Create<RecentFile>(); _currentRecentProject = default(RecentFile); _tools = _serviceProvider.GetServiceLazily<ToolBase[], ImmutableArray<ToolBase>>((tools) => tools.Where(tool => !tool.GetType().Name.StartsWith("PathTool")).ToImmutableArray()); _pathTools = _serviceProvider.GetServiceLazily<PathToolBase[], ImmutableArray<PathToolBase>>((tools) => tools.ToImmutableArray()); _views = _serviceProvider.GetServiceLazily<IView[], ImmutableArray<IView>>((views) => views.ToImmutableArray()); _log = _serviceProvider.GetServiceLazily<ILog>(); _renderers = new Lazy<ShapeRenderer[]>(() => new[] { _serviceProvider.GetService<ShapeRenderer>(), _serviceProvider.GetService<ShapeRenderer>() }); _fileIO = _serviceProvider.GetServiceLazily<IFileSystem>(); _projectFactory = _serviceProvider.GetServiceLazily<IProjectFactory>(); _shapeFactory = _serviceProvider.GetServiceLazily<IShapeFactory>(); _textClipboard = _serviceProvider.GetServiceLazily<ITextClipboard>(); _jsonSerializer = _serviceProvider.GetServiceLazily<IJsonSerializer>(); _xamlSerializer = _serviceProvider.GetServiceLazily<IXamlSerializer>(); _fileWriters = _serviceProvider.GetServiceLazily<IFileWriter[], ImmutableArray<IFileWriter>>((writers) => writers.ToImmutableArray()); _csvReader = _serviceProvider.GetServiceLazily<ITextFieldReader<XDatabase>>(); _csvWriter = _serviceProvider.GetServiceLazily<ITextFieldWriter<XDatabase>>(); _imageImporter = _serviceProvider.GetServiceLazily<IImageImporter>(); }