public static IConstraintGenerator NewConstraintGenerator( IGSettingsManager igSettings, Body documentBody, CommentManager cmtMgr, FigureCollection figures, WIKIParser wikiParser, bool includeSamples, IObjectRepository dataSource, List <TemplateConstraint> rootConstraints, List <TemplateConstraint> allConstraints, Template currentTemplate, List <Template> allTemplates, string constraintHeadingStyle, List <string> selectedCategories) { IConstraintGenerator constraintGenerator = null; if (igSettings.GetBoolSetting(IGSettingsManager.SettingProperty.UseConsolidatedConstraintFormat)) { constraintGenerator = new ConsolidatedGeneration(); } else { constraintGenerator = new LegacyGeneration(); } constraintGenerator.IGSettings = igSettings; constraintGenerator.DocumentBody = documentBody; constraintGenerator.Figures = figures; constraintGenerator.WikiParser = wikiParser; constraintGenerator.IncludeSamples = includeSamples; constraintGenerator.DataSource = dataSource; constraintGenerator.RootConstraints = rootConstraints; constraintGenerator.AllConstraints = allConstraints; constraintGenerator.CurrentTemplate = currentTemplate; constraintGenerator.AllTemplates = allTemplates; constraintGenerator.ConstraintHeadingStyle = constraintHeadingStyle; constraintGenerator.CommentManager = cmtMgr; constraintGenerator.IncludeCategory = !string.IsNullOrEmpty(igSettings.GetSetting(IGSettingsManager.SettingProperty.Categories)); constraintGenerator.SelectedCategories = selectedCategories; return(constraintGenerator); }
private void SetupStyles() { WordprocessingCommentsPart commentsPart = AddTemplatePart <WordprocessingCommentsPart>(this._document, "Trifolia.Generation.IG.Styles.comments.xml"); EndnotesPart endNotesPart = AddTemplatePart <EndnotesPart>(this._document, "Trifolia.Generation.IG.Styles.endnotes.xml"); FontTablePart fontTablePart = AddTemplatePart <FontTablePart>(this._document, "Trifolia.Generation.IG.Styles.fontTable.xml"); FootnotesPart footnotesPart = AddTemplatePart <FootnotesPart>(this._document, "Trifolia.Generation.IG.Styles.footnotes.xml"); HeaderPart headerPart = AddTemplatePart <HeaderPart>(this._document, "Trifolia.Generation.IG.Styles.header1.xml"); DocumentSettingsPart settingsPart = AddTemplatePart <DocumentSettingsPart>(this._document, "Trifolia.Generation.IG.Styles.settings.xml"); StyleDefinitionsPart styles = AddTemplatePart <StyleDefinitionsPart>(this._document, "Trifolia.Generation.IG.Styles.styles.xml"); StylesWithEffectsPart stylesWithEffectsPart = AddTemplatePart <StylesWithEffectsPart>(this._document, "Trifolia.Generation.IG.Styles.stylesWithEffects.xml"); WebSettingsPart webSettingsPart = AddTemplatePart <WebSettingsPart>(this._document, "Trifolia.Generation.IG.Styles.webSettings.xml"); ThemePart themePart = AddTemplatePart <ThemePart>(this._document, "Trifolia.Generation.IG.Styles.theme1.xml"); NumberingDefinitionsPart numberingPart = AddTemplatePart <NumberingDefinitionsPart>(this._document, "Trifolia.Generation.IG.Styles.numbering.xml"); // Initialize the comments manager with the comments part this._commentManager = new CommentManager(commentsPart.Comments); // Initialize the footer string footerTitle = this.implementationGuide.GetDisplayName(); DateTime footerDate = this.implementationGuide.PublishDate != null ? this.implementationGuide.PublishDate.Value : DateTime.Now; string footerDateString = footerDate.ToString("m"); FooterPart newFooterPart = this._document.MainDocumentPart.AddNewPart <FooterPart>(); Footer newFooter = new Footer(); Paragraph pFooter = new Paragraph( new ParagraphProperties( new ParagraphStyleId() { Val = "Footer" })); pFooter.Append( new Run( new Text(footerTitle)), new Run( new TabChar(), new Text(footerDateString) { Space = SpaceProcessingModeValues.Preserve }), new Run( new TabChar(), new Text("Page ") { Space = SpaceProcessingModeValues.Preserve }), new Run( new FieldChar() { FieldCharType = FieldCharValues.Begin }), new Run( new FieldCode(" PAGE ") { Space = SpaceProcessingModeValues.Preserve }), new Run( new FieldChar() { FieldCharType = FieldCharValues.Separate }), new Run( new RunProperties( new NoProof()), new Text("54")), new Run( new FieldChar() { FieldCharType = FieldCharValues.End })); newFooter.Append(pFooter); newFooterPart.Footer = newFooter; // Add numbering for templates foreach (Template cTemplate in this._templates) { NumberingInstance ni = new NumberingInstance( new AbstractNumId() { Val = 3 }) { NumberID = GenerationConstants.BASE_TEMPLATE_INDEX + (int)cTemplate.Id }; for (int i = 0; i < 9; i++) { ni.Append(new LevelOverride( new StartOverrideNumberingValue() { Val = 1 }) { LevelIndex = i }); } numberingPart.Numbering.Append(ni); } }