/// <summary> /// Gets a formatted headerfooter object for footer of the given page. /// </summary> /// <param name="page">The page the footer shall appear on.</param> /// <returns>The required footer, null if none exists to render.</returns> internal FormattedHeaderFooter GetFormattedFooter(int page) { PagePosition pagePos = page % 2 == 0 ? PagePosition.Even : PagePosition.Odd; FieldInfos fieldInfos = this.pageFieldInfos[page]; if (page == 1) { pagePos = PagePosition.First; } else //page > 1 { if (IsEmptyPage(page - 1)) // these empty pages only occur between sections. { pagePos = PagePosition.First; } else { FieldInfos prevFieldInfos = this.pageFieldInfos[page - 1]; if (fieldInfos.section != prevFieldInfos.section) { pagePos = PagePosition.First; } } } HeaderFooterPosition hfp = new HeaderFooterPosition(fieldInfos.section, pagePos); if (this.formattedFooters.ContainsKey(hfp)) { return(this.formattedFooters[hfp]); } return(null); }
void FormatHeadersFooters() { HeadersFooters headers = (HeadersFooters)this.currentSection.GetValue("Headers", GV.ReadOnly); if (headers != null) { PagePosition pagePos = CurrentPagePosition; HeaderFooterPosition hfp = new HeaderFooterPosition(this.sectionNumber, pagePos); if (!this.formattedHeaders.ContainsKey(hfp)) { FormatHeader(hfp, ChooseHeaderFooter(headers, pagePos)); } } HeadersFooters footers = (HeadersFooters)this.currentSection.GetValue("Footers", GV.ReadOnly); if (footers != null) { PagePosition pagePos = CurrentPagePosition; HeaderFooterPosition hfp = new HeaderFooterPosition(this.sectionNumber, pagePos); if (!this.formattedFooters.ContainsKey(hfp)) { FormatFooter(hfp, ChooseHeaderFooter(footers, pagePos)); } } }
/// <summary> /// Gets a formatted headerfooter object for footer of the given page. /// </summary> /// <param name="page">The physical page the footer shall appear on.</param> /// <returns>The required footer, null if none exists to render.</returns> public FormattedHeaderFooter GetFormattedFooter(int page) { FieldInfos fieldInfos = _pageFieldInfos[page]; int logicalPage = fieldInfos.DisplayPageNr; PagePosition pagePos = logicalPage % 2 == 0 ? PagePosition.Even : PagePosition.Odd; if (page == 1) { pagePos = PagePosition.First; } else //page > 1 { if (IsEmptyPage(page - 1)) // these empty pages only occur between sections. { pagePos = PagePosition.First; } else { FieldInfos prevFieldInfos = _pageFieldInfos[page - 1]; if (fieldInfos.Section != prevFieldInfos.Section) { pagePos = PagePosition.First; } } } HeaderFooterPosition hfp = new HeaderFooterPosition(fieldInfos.Section, pagePos); if (_formattedFooters.ContainsKey(hfp)) { return(_formattedFooters[hfp]); } return(null); }
public override bool Equals(object obj) { if (obj is HeaderFooterPosition) { HeaderFooterPosition hfp = (HeaderFooterPosition)obj; return(this.sectionNr == hfp.sectionNr && this.pagePosition == hfp.pagePosition); } return(false); }
void FormatFooter(HeaderFooterPosition hfp, HeaderFooter footer) { if (footer != null && !this.formattedFooters.ContainsKey(hfp)) { FormattedHeaderFooter formattedHeaderFooter = new FormattedHeaderFooter(footer, this.documentRenderer, this.currentFieldInfos); formattedHeaderFooter.ContentRect = GetFooterArea(this.currentSection, this.currentPage); formattedHeaderFooter.Format(gfx); this.formattedFooters.Add(hfp, formattedHeaderFooter); } }
void FormatHeader(HeaderFooterPosition hfp, HeaderFooter header) { if (header != null && !_formattedHeaders.ContainsKey(hfp)) { FormattedHeaderFooter formattedHeaderFooter = new FormattedHeaderFooter(header, _documentRenderer, _currentFieldInfos); formattedHeaderFooter.ContentRect = GetHeaderArea(_currentSection, _currentPage); formattedHeaderFooter.Format(_gfx); _formattedHeaders.Add(hfp, formattedHeaderFooter); } }
/// <summary> /// Gets a formatted headerfooter object for footer of the given page. /// </summary> /// <param name="page">The physical page the footer shall appear on.</param> /// <returns>The required footer, null if none exists to render.</returns> internal FormattedHeaderFooter GetFormattedFooter(int page) { FieldInfos fieldInfos = _pageFieldInfos[page]; int logicalPage = fieldInfos.DisplayPageNr; PagePosition pagePos = logicalPage % 2 == 0 ? PagePosition.Even : PagePosition.Odd; if (page == 1) pagePos = PagePosition.First; else //page > 1 { if (IsEmptyPage(page - 1)) // these empty pages only occur between sections. pagePos = PagePosition.First; else { FieldInfos prevFieldInfos = _pageFieldInfos[page - 1]; if (fieldInfos.Section != prevFieldInfos.Section) pagePos = PagePosition.First; } } HeaderFooterPosition hfp = new HeaderFooterPosition(fieldInfos.Section, pagePos); if (_formattedFooters.ContainsKey(hfp)) return _formattedFooters[hfp]; return null; }
void FormatFooter(HeaderFooterPosition hfp, HeaderFooter footer) { if (footer != null && !_formattedFooters.ContainsKey(hfp)) { FormattedHeaderFooter formattedHeaderFooter = new FormattedHeaderFooter(footer, _documentRenderer, _currentFieldInfos); formattedHeaderFooter.ContentRect = GetFooterArea(_currentSection, _currentPage); formattedHeaderFooter.Format(_gfx); _formattedFooters.Add(hfp, formattedHeaderFooter); } }
void FormatHeadersFooters() { HeadersFooters headers = (HeadersFooters)_currentSection.GetValue("Headers", GV.ReadOnly); if (headers != null) { PagePosition pagePos = CurrentPagePosition; HeaderFooterPosition hfp = new HeaderFooterPosition(_sectionNumber, pagePos); if (!_formattedHeaders.ContainsKey(hfp)) FormatHeader(hfp, ChooseHeaderFooter(headers, pagePos)); } HeadersFooters footers = (HeadersFooters)_currentSection.GetValue("Footers", GV.ReadOnly); if (footers != null) { PagePosition pagePos = CurrentPagePosition; HeaderFooterPosition hfp = new HeaderFooterPosition(_sectionNumber, pagePos); if (!_formattedFooters.ContainsKey(hfp)) FormatFooter(hfp, ChooseHeaderFooter(footers, pagePos)); } }
void FormatHeader(HeaderFooterPosition hfp, HeaderFooter header) { if (header != null && !this.formattedHeaders.ContainsKey(hfp)) { FormattedHeaderFooter formattedHeaderFooter = new FormattedHeaderFooter(header, this.documentRenderer, this.currentFieldInfos); formattedHeaderFooter.ContentRect = GetHeaderArea(this.currentSection, this.currentPage); formattedHeaderFooter.Format(gfx); this.formattedHeaders.Add(hfp, formattedHeaderFooter); } }