Пример #1
0
        private TemplateDirectory ReadTemplates(string baseDir, string subdir, TemplateDirectory parent, Generator generator)
        {
            var directory   = new DirectoryInfo(Path.Combine(baseDir, Path.Combine(TemplateDirectory, subdir)));
            var templateDir = new TemplateDirectory(directory, parent);

            //recursively analyze subdirs:
            foreach (var childdir in directory.GetDirectories())
            {
                var subDir = ReadTemplates(baseDir, Path.Combine(subdir, childdir.Name), templateDir, generator);
                templateDir.SubDirectories.Add(subDir);
            }
            templateDir.SubDirectories.Sort(CompareTemplateDirectories);

            foreach (var file in directory.GetFiles().Where(x => (x.Extension.ToLower() == ".cwm")))
            {
                try
                {
                    var templatePage = new TemplateDocumentationPage(file.FullName, subdir, templateDir);
                    if (templatePage.RelevantPlugins != null)
                    {
                        foreach (var relevantPlugin in templatePage.RelevantPlugins)
                        {
                            if (RelevantComponentToTemplatesMap.ContainsKey(relevantPlugin))
                            {
                                RelevantComponentToTemplatesMap[relevantPlugin].Add(templatePage);
                            }
                            else
                            {
                                RelevantComponentToTemplatesMap.Add(relevantPlugin, new List <TemplateDocumentationPage>()
                                {
                                    templatePage
                                });
                            }
                        }
                    }
                    generator.AddDocumentationPage(templatePage);
                    templateDir.ContainingTemplateDocPages.Add(templatePage);
                }
                catch (Exception ex)
                {
                    GuiLogMessage(string.Format("Error while trying to read templates for Online Help generation: {0} ({1})", ex.Message, file.FullName), NotificationLevel.Warning);
                }
                templateDir.ContainingTemplateDocPages.Sort(CompareTemplateDocPages);
            }

            return(templateDir);
        }
        public LocalizedTemplateDocumentationPage(TemplateDocumentationPage templateDocumentationPage, string lang, BitmapFrame icon)
        {
            base.DocumentationPage = templateDocumentationPage;
            Lang      = lang;
            Icon      = icon;
            _xml      = templateDocumentationPage.TemplateXML;
            _filePath = OnlineHelp.GetTemplateDocFilename(Path.Combine(templateDocumentationPage.RelativeTemplateDirectory, Path.GetFileName(templateDocumentationPage.TemplateFile)), lang);

            var cultureInfo = new CultureInfo(lang);

            Thread.CurrentThread.CurrentCulture   = cultureInfo;
            Thread.CurrentThread.CurrentUICulture = cultureInfo;

            var titleElement = XMLHelper.FindLocalizedChildElement(_xml, "title");

            if (titleElement != null)
            {
                Name = titleElement.Value;
            }

            Summary     = XMLHelper.FindLocalizedChildElement(_xml, "summary");
            Description = XMLHelper.FindLocalizedChildElement(_xml, "description");
        }
Пример #3
0
 public void Add(TemplateDocumentationPage templateDocumentationPage)
 {
     Templates.Add(templateDocumentationPage);
 }
Пример #4
0
 private static int CompareTemplateDocPages(TemplateDocumentationPage x, TemplateDocumentationPage y)
 {
     return(String.Compare(x.CurrentLocalization.Name, y.CurrentLocalization.Name));
 }