[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lmi-commits] [lmi] odd/pagination 4ab1634: Offset data by InforceYear
From: |
Greg Chicares |
Subject: |
[lmi-commits] [lmi] odd/pagination 4ab1634: Offset data by InforceYear |
Date: |
Sun, 16 Sep 2018 11:52:25 -0400 (EDT) |
branch: odd/pagination
commit 4ab163487c0e84cb58789ce48da7951fcd451751
Author: Gregory W. Chicares <address@hidden>
Commit: Gregory W. Chicares <address@hidden>
Offset data by InforceYear
Begin inforce illustrations at the inforce duration: no longer show
all-zero rows for prior durations.
---
ledger_pdf_generator_wx.cpp | 30 +++++++++++++++++++++++-------
1 file changed, 23 insertions(+), 7 deletions(-)
diff --git a/ledger_pdf_generator_wx.cpp b/ledger_pdf_generator_wx.cpp
index 85ed1a4..2baa753 100644
--- a/ledger_pdf_generator_wx.cpp
+++ b/ledger_pdf_generator_wx.cpp
@@ -1196,6 +1196,11 @@ class numbered_page : public page_with_footer
--extra_pages_;
}
+ // Exposed only to allow an assertion that the number calculated
+ // in page_with_tabular_report::get_extra_pages_needed() equals
+ // the number calculated in page_with_tabular_report::render().
+ int number_of_extra_pages() {return extra_pages_;}
+
private:
// Derived classes may override this function if they may need more than
one
// physical page to show their contents.
@@ -1698,6 +1703,7 @@ class page_with_tabular_report
,pdf_writer_wx & writer
,html_interpolator const& interpolate_html
,wx_table_generator & table_gen
+ ,int offset
)
:outer_ {outer}
,ledger_ {ledger}
@@ -1705,8 +1711,9 @@ class page_with_tabular_report
,interpolate_html_ {interpolate_html}
// ,table_gen_ {create_table_generator(ledger, writer)}
,table_gen_ {table_gen}
+ ,offset_ {offset}
+ ,year_ {0}
,pos_y_ {}
- ,year_ {}
{}
private:
@@ -1731,7 +1738,7 @@ class page_with_tabular_report
void print_a_data_row () override
{
- auto const v = outer_.visible_values(ledger_, interpolate_html_,
year_);
+ auto const v = outer_.visible_values(ledger_, interpolate_html_,
year_ + offset());
table_gen_.output_row(pos_y_, v);
++year_;
}
@@ -1754,13 +1761,16 @@ class page_with_tabular_report
void postlude () override {}
+ int offset () const {return offset_;}
+
page_with_tabular_report& outer_;
Ledger const& ledger_;
pdf_writer_wx & writer_;
html_interpolator const& interpolate_html_;
wx_table_generator & table_gen_;
- int pos_y_;
+ int offset_;
int year_;
+ int pos_y_;
};
public:
@@ -1784,12 +1794,16 @@ class page_with_tabular_report
);
int const max_lines_per_page = (get_footer_top() - start_y) /
table_gen.row_height();
- pager p(*this, ledger, writer, interpolate_html, table_gen);
- p.init
- (ledger.GetMaxLength()
+ auto const& invar = ledger.GetLedgerInvariant();
+ int const inforce_year = bourn_cast<int>(invar.InforceYear);
+ pager p(*this, ledger, writer, interpolate_html, table_gen,
inforce_year);
+ int page_count = p.init
+ (ledger.GetMaxLength() - inforce_year
,wx_table_generator::rows_per_group
,max_lines_per_page
);
+ // "1 +" because extra pages are, well, extra.
+ LMI_ASSERT(page_count == 1 + number_of_extra_pages());
p.print();
// The original code is left in place below for reference;
@@ -1943,7 +1957,9 @@ class page_with_tabular_report
throw std::runtime_error("no space left for tabular report");
}
- paginator z(ledger.GetMaxLength(), rows_per_group, max_lines_per_page);
+ auto const& invar = ledger.GetLedgerInvariant();
+ int const inforce_year = bourn_cast<int>(invar.InforceYear);
+ paginator z(ledger.GetMaxLength() - inforce_year, rows_per_group,
max_lines_per_page);
// "- 1": return the number of *extra* pages.
return z.page_count() - 1;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [lmi-commits] [lmi] odd/pagination 4ab1634: Offset data by InforceYear,
Greg Chicares <=