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