コード例 #1
0
        /// <summary>
        /// Renders the list hashtable within the RTF header.
        /// </summary>
        private void RenderListTable()
        {
            if (this.listList.Count == 0)
            {
                return;
            }

            rtfWriter.StartContent();
            rtfWriter.WriteControlWithStar("listtable");
            foreach (object obj in this.listList)
            {
                ListInfo         lst = (ListInfo)obj;
                ListInfoRenderer lir = new ListInfoRenderer(lst, this);
                lir.Render();
            }
            rtfWriter.EndContent();

            rtfWriter.StartContent();
            rtfWriter.WriteControlWithStar("listoverridetable");
            foreach (object obj in this.listList)
            {
                ListInfo lst = (ListInfo)obj;
                ListInfoOverrideRenderer lir =
                    new ListInfoOverrideRenderer(lst, this);
                lir.Render();
            }
            rtfWriter.EndContent();
        }
コード例 #2
0
        /// <summary>
        /// Prepares this renderer by collecting Information for font and color table.
        /// </summary>
        private void Prepare()
        {
            this.fontList.Clear();
            //Fonts
            this.fontList.Add("Symbol");
            this.fontList.Add("Wingdings");
            this.fontList.Add("Courier New");

            this.colorList.Clear();
            this.colorList.Add(Colors.Black);//!!necessary for borders!!
            this.listList.Clear();
            ListInfoRenderer.Clear();
            ListInfoOverrideRenderer.Clear();
            CollectTables(this.document);
        }
コード例 #3
0
        /// <summary>
        /// Renders a ParagraphFormat object.
        /// </summary>
        internal override void Render()
        {
            _useEffectiveValue = true; //unfortunately has to be true always.

            Translate("Alignment", "q");
            Translate("SpaceBefore", "sb");
            Translate("SpaceAfter", "sa");

            TranslateBool("WidowControl", "widctlpar", "nowidctlpar", false);
            Translate("PageBreakBefore", "pagebb");
            Translate("KeepTogether", "keep");
            Translate("KeepWithNext", "keepn");
            Translate("FirstLineIndent", "fi");

            Translate("LeftIndent", "li");
            Translate("LeftIndent", "lin");

            Translate("RightIndent", "ri");
            Translate("RightIndent", "rin");

            object ol = GetValueAsIntended("OutlineLevel");

            if (ol != null && ((OutlineLevel)ol) != OutlineLevel.BodyText)
            {
                Translate("OutlineLevel", "outlinelevel");
            }

            Unit            lineSpc     = (Unit)GetValueAsIntended("LineSpacing");
            LineSpacingRule lineSpcRule = (LineSpacingRule)GetValueAsIntended("LineSpacingRule");

            switch (lineSpcRule)
            {
            case LineSpacingRule.Exactly:     // A bit strange, but follows the RTF specification:
                _rtfWriter.WriteControl("sl", ToTwips(-lineSpc.Point));
                break;

            case LineSpacingRule.AtLeast:
                Translate("LineSpacing", "sl");
                break;

            case LineSpacingRule.Multiple:
                _rtfWriter.WriteControl("sl", ToRtfUnit(lineSpc, RtfUnit.Lines));
                break;

            case LineSpacingRule.Double:
                _rtfWriter.WriteControl("sl", 480);     // equals 12 * 2 * 20 (Standard line height * 2  in twips)
                break;

            case LineSpacingRule.OnePtFive:
                _rtfWriter.WriteControl("sl", 360);     // equals 12 * 1.5 * 20 (Standard lineheight * 1.5  in twips)
                break;
            }
            Translate("LineSpacingRule", "slmult");
            object shad = GetValueAsIntended("Shading");

            if (shad != null)
            {
                new ShadingRenderer((DocumentObject)shad, _docRenderer).Render();
            }

            object font = GetValueAsIntended("Font");

            if (font != null)
            {
                RendererFactory.CreateRenderer((Font)font, _docRenderer).Render();
            }

            object brdrs = GetValueAsIntended("Borders");

            if (brdrs != null)
            {
                BordersRenderer brdrsRndrr = new BordersRenderer((Borders)brdrs, _docRenderer);
                brdrsRndrr.ParentFormat = _format;
                brdrsRndrr.Render();
            }

            object tabStops = GetValueAsIntended("TabStops");

            if (tabStops != null)
            {
                RendererFactory.CreateRenderer((TabStops)tabStops, _docRenderer).Render();
            }

            // TODO: ListInfo is still under construction.
            object listInfo = GetValueAsIntended("ListInfo");

            if (listInfo != null)
            {
                int nr = ListInfoOverrideRenderer.GetListNumber((ListInfo)listInfo);
                if (nr > 0)
                {
                    _rtfWriter.WriteControl("ls", nr);
                }
            }
        }
コード例 #4
0
        /// <summary>
        /// Renders the list hashtable within the RTF header.
        /// </summary>
        private void RenderListTable()
        {
            if (this.listList.Count == 0)
            return;

              rtfWriter.StartContent();
              rtfWriter.WriteControlWithStar("listtable");
              foreach (object obj in this.listList)
              {
            ListInfo lst = (ListInfo)obj;
            ListInfoRenderer lir = new ListInfoRenderer(lst, this);
            lir.Render();
              }
              rtfWriter.EndContent();

              rtfWriter.StartContent();
              rtfWriter.WriteControlWithStar("listoverridetable");
              foreach (object obj in this.listList)
              {
            ListInfo lst = (ListInfo)obj;
            ListInfoOverrideRenderer lir =
            new ListInfoOverrideRenderer(lst, this);
            lir.Render();
              }
              rtfWriter.EndContent();
        }