示例#1
0
        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);
        }
示例#2
0
        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);
            }
        }