/// <summary> /// Разукрасить конфигурацию /// </summary> /// <param name="outputDirectoryPath">Выходная директория</param> /// <param name="configuration">Конфигурация</param> private void PaintСonfiguration(String outputDirectoryPath, DirectoriesConfigInfo configuration) { foreach (var directoryConfigInfo in configuration.GetDirectories()) { PaintСonfiguration(outputDirectoryPath, directoryConfigInfo); } foreach (var file in configuration.GetFiles()) { PaintAndSaveFile(outputDirectoryPath, file); } }
private TreeItemModel CreateDirectoryNode(DirectoriesConfigInfo directoryConfigInfo) { var directoryConfigNode = new TreeDirectory(directoryConfigInfo.DirectoryInfo, directoryConfigInfo.ConfigInfo.ToString()); foreach (var directory in directoryConfigInfo.GetDirectories()) { directoryConfigNode.Nodes.Add(CreateDirectoryNode(directory)); } foreach (var file in directoryConfigInfo.GetFiles()) { directoryConfigNode.Nodes.Add(new TreeFile(file.FileInfo, file.ConfigInfo.ToString())); } return(directoryConfigNode); }
/// <summary> /// Создать конфигурацию для директории /// </summary> /// <param name="directoryInfo">DirectoryInfo</param> /// <returns>Конфигурация</returns> private DirectoriesConfigInfo CreateDirectoryConfigInfo(DirectoryInfo directoryInfo) { DirectoriesConfigInfo directoryConfigInfo = new DirectoriesConfigInfo(directoryInfo); XmlConfigReadingResult configReadingResult = null; var configFile = FindConfigFile(directoryInfo); if (configFile != null) { configReadingResult = ReadXmlConfigurationFile(configFile.FullName); directoryConfigInfo.ConfigInfo = configReadingResult != null ? configReadingResult.ConfigDirectoryInfo : new ConfigInfo(); } foreach (var directory in directoryInfo.GetDirectories()) { directoryConfigInfo.Nodes.Add(CreateDirectoryConfigInfo(directory)); } foreach (var file in directoryInfo.GetFiles()) { if (Path.GetExtension(file.Name).Contains("svg")) { var fileConfigInfo = new FilesConfigInfo(file); if (configReadingResult != null) { var configFileInfo = configReadingResult.ConfigFileInfoCollection.FirstOrDefault(f => f.FileName == Path.GetFileNameWithoutExtension(file.Name)); if (configFileInfo != null) { fileConfigInfo.ConfigInfo = configFileInfo; } else { fileConfigInfo.ConfigInfo = configReadingResult.ConfigDirectoryInfo; } } directoryConfigInfo.Nodes.Add(fileConfigInfo); } } return directoryConfigInfo; }
/// <summary> /// Создать конфигурацию для директории /// </summary> /// <param name="directoryInfo">DirectoryInfo</param> /// <returns>Конфигурация</returns> private DirectoriesConfigInfo CreateDirectoryConfigInfo(DirectoryInfo directoryInfo) { DirectoriesConfigInfo directoryConfigInfo = new DirectoriesConfigInfo(directoryInfo); XmlConfigReadingResult configReadingResult = null; var configFile = FindConfigFile(directoryInfo); if (configFile != null) { configReadingResult = ReadXmlConfigurationFile(configFile.FullName); directoryConfigInfo.ConfigInfo = configReadingResult != null ? configReadingResult.ConfigDirectoryInfo : new ConfigInfo(); } foreach (var directory in directoryInfo.GetDirectories()) { directoryConfigInfo.Nodes.Add(CreateDirectoryConfigInfo(directory)); } foreach (var file in directoryInfo.GetFiles()) { if (Path.GetExtension(file.Name).Contains("svg")) { var fileConfigInfo = new FilesConfigInfo(file); if (configReadingResult != null) { var configFileInfo = configReadingResult.ConfigFileInfoCollection.FirstOrDefault(f => f.FileName == Path.GetFileNameWithoutExtension(file.Name)); if (configFileInfo != null) { fileConfigInfo.ConfigInfo = configFileInfo; } else { fileConfigInfo.ConfigInfo = configReadingResult.ConfigDirectoryInfo; } } directoryConfigInfo.Nodes.Add(fileConfigInfo); } } return(directoryConfigInfo); }
private async void SelectSvgDirectory() { SvgDirectoryPath = String.Empty; var folderBrowserDialog = new FolderBrowserDialog { Description = "Выберите папку с SVG" }; if (folderBrowserDialog.ShowDialog() == DialogResult.OK) { SvgDirectoryPath = folderBrowserDialog.SelectedPath; TreeVisibility = true; _directoryTreeViewModel.UpdateConfiguration(SvgDirectoryPath); ConfigurationProgressVisibility = true; _configuration = await ReadConfigutaion(SvgDirectoryPath); _configurationTreeViewModel.UpdateConfiguration(_configuration); ConfigurationProgressVisibility = false; } }
/// <summary> /// Обновить конфигурацию /// </summary> /// <param name="configuration"></param> public void UpdateConfiguration(DirectoriesConfigInfo configuration) { RootTreeItems.Clear(); RootTreeItems.Add(CreateDirectoryNode(configuration)); }
/// <summary> /// Клас художник /// </summary> /// <param name="configuration">Конфигурация</param> public SvgPainter(DirectoriesConfigInfo configuration) { _configuration = configuration; }
/// <summary> /// Разукрасить конфигурацию /// </summary> /// <param name="outputDirectoryPath">Выходная директория</param> /// <param name="configuration">Конфигурация</param> private void PaintСonfiguration(String outputDirectoryPath, DirectoriesConfigInfo configuration) { foreach (var directoryConfigInfo in configuration.GetDirectories()) PaintСonfiguration(outputDirectoryPath, directoryConfigInfo); foreach (var file in configuration.GetFiles()) PaintAndSaveFile(outputDirectoryPath, file); }
/// <summary> /// Клас художник /// </summary> /// <param name="configuration">Конфигурация</param> public SvgPainter(DirectoriesConfigInfo configuration) { _configuration = configuration; }