[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lmi-commits] [lmi] master bd7133a 2/9: Pass useful objects as ctor argu
From: |
Greg Chicares |
Subject: |
[lmi-commits] [lmi] master bd7133a 2/9: Pass useful objects as ctor arguments |
Date: |
Sun, 23 Sep 2018 10:41:25 -0400 (EDT) |
branch: master
commit bd7133a21b9dbffc59ca4501926b96d2f10c5388
Author: Gregory W. Chicares <address@hidden>
Commit: Gregory W. Chicares <address@hidden>
Pass useful objects as ctor arguments
The case for passing these objects as ctor arguments is at least as
strong as the case for passing them as arguments to member functions.
---
ledger_pdf_generator_wx.cpp | 49 ++++++++++++++++++++++++++++++++++++---------
1 file changed, 40 insertions(+), 9 deletions(-)
diff --git a/ledger_pdf_generator_wx.cpp b/ledger_pdf_generator_wx.cpp
index f01e3ee..8b3568a 100644
--- a/ledger_pdf_generator_wx.cpp
+++ b/ledger_pdf_generator_wx.cpp
@@ -701,9 +701,13 @@ class logical_page
// the HTML text of the page contents from an external template.
logical_page
(pdf_illustration const& illustration
+ ,Ledger const& ledger
+ ,pdf_writer_wx & writer
,html_interpolator const& interpolator
)
:illustration_ {illustration}
+ ,ledger_ {ledger}
+ ,writer_ {writer}
,interpolator_ {interpolator}
{
}
@@ -728,6 +732,8 @@ class logical_page
protected:
pdf_illustration const& illustration_;
+ Ledger const& ledger_;
+ pdf_writer_wx & writer_;
html_interpolator const& interpolator_;
};
@@ -766,6 +772,8 @@ class pdf_illustration : protected html_interpolator,
protected pdf_writer_wx
pages_.emplace_back
(std::make_unique<T>
(*this
+ ,ledger_
+ ,get_writer()
,get_interpolator()
,std::forward<Args>(args)...
)
@@ -1232,9 +1240,11 @@ class numbered_page : public page_with_marginals
numbered_page
(pdf_illustration const& illustration
+ ,Ledger const& ledger
+ ,pdf_writer_wx & writer
,html_interpolator const& interpolator
)
- :page_with_marginals{illustration, interpolator}
+ :page_with_marginals (illustration, ledger, writer, interpolator)
{
// This assert would fail if start_numbering() hadn't been called
// before creating a numbered page, as it should be.
@@ -1321,10 +1331,12 @@ class standard_page : public numbered_page
template<int N>
explicit standard_page
(pdf_illustration const& illustration
+ ,Ledger const& ledger
+ ,pdf_writer_wx & writer
,html_interpolator const& interpolator
,char const (&page_template_name)[N]
)
- :numbered_page {illustration, interpolator}
+ :numbered_page (illustration, ledger, writer, interpolator)
,page_template_name_ {page_template_name}
{
}
@@ -1748,9 +1760,17 @@ class ill_reg_numeric_summary_page : public standard_page
public:
ill_reg_numeric_summary_page
(pdf_illustration const& illustration
+ ,Ledger const& ledger
+ ,pdf_writer_wx & writer
,html_interpolator const& interpolator
)
- :standard_page(illustration, interpolator, "ill_reg_numeric_summary")
+ :standard_page
+ (illustration
+ ,ledger
+ ,writer
+ ,interpolator
+ ,"ill_reg_numeric_summary"
+ )
{
}
};
@@ -1777,11 +1797,13 @@ class page_with_tabular_report
public:
page_with_tabular_report
(pdf_illustration const& illustration
+ ,Ledger const& ledger
+ ,pdf_writer_wx & writer
,html_interpolator const& interpolator
)
- :numbered_page (illustration, interpolator)
- ,ledger_ {const_cast<pdf_illustration&>(illustration_).ledger_}
- ,writer_ {const_cast<pdf_illustration&>(illustration_).get_writer()}
+ :numbered_page (illustration, ledger, writer, interpolator)
+ ,ledger_2 {const_cast<pdf_illustration&>(illustration_).ledger_}
+ ,writer_2 {const_cast<pdf_illustration&>(illustration_).get_writer()}
,offset_ {bourn_cast<int>(ledger_.GetLedgerInvariant().InforceYear)}
,year_ {0}
,pos_y_ {}
@@ -1806,8 +1828,11 @@ class page_with_tabular_report
) override
{
// Assertions demonstrate identity of arguments and class members.
+ // PDF !! Expunge '_2' class members.
LMI_ASSERT(&ledger_ == &ledger);
LMI_ASSERT(&writer_ == &writer);
+ LMI_ASSERT(&ledger_2 == &ledger);
+ LMI_ASSERT(&writer_2 == &writer);
table_gen_.reset(new wx_table_generator
{create_table_generator(ledger, writer)});
numbered_page::pre_render(ledger, writer);
}
@@ -1935,8 +1960,8 @@ class page_with_tabular_report
void postlude () override {}
- Ledger const& ledger_;
- pdf_writer_wx & writer_;
+ Ledger const& ledger_2;
+ pdf_writer_wx & writer_2;
std::unique_ptr<wx_table_generator> table_gen_;
int const offset_;
int year_;
@@ -2094,10 +2119,12 @@ class standard_supplemental_report : public
page_with_tabular_report
public:
explicit standard_supplemental_report
(pdf_illustration const& illustration
+ ,Ledger const& ledger
+ ,pdf_writer_wx & writer
,html_interpolator const& interpolator
,std::string const& page_template
)
- :page_with_tabular_report(illustration, interpolator)
+ :page_with_tabular_report (illustration, ledger, writer, interpolator)
,columns_ {build_columns(interpolator)}
,page_template_ {page_template}
{
@@ -2150,10 +2177,14 @@ class ill_reg_supplemental_report : public
standard_supplemental_report
public:
explicit ill_reg_supplemental_report
(pdf_illustration const& illustration
+ ,Ledger const& ledger
+ ,pdf_writer_wx & writer
,html_interpolator const& interpolator
)
:standard_supplemental_report
(illustration
+ ,ledger
+ ,writer
,interpolator
,"ill_reg_supp_report"
)
- [lmi-commits] [lmi] master updated (c2c34b8 -> 682f705), Greg Chicares, 2018/09/23
- [lmi-commits] [lmi] master e54cf66 3/9: Expunge now-unneeded data members, Greg Chicares, 2018/09/23
- [lmi-commits] [lmi] master af0662a 7/9: Preserve font before parsing HTML, Greg Chicares, 2018/09/23
- [lmi-commits] [lmi] master 682f705 9/9: Set a line in boldface, Greg Chicares, 2018/09/23
- [lmi-commits] [lmi] master ee96985 1/9: Rename certain variables, Greg Chicares, 2018/09/23
- [lmi-commits] [lmi] master 9d7da46 4/9: Expunge unneeded member-function arguments, Greg Chicares, 2018/09/23
- [lmi-commits] [lmi] master bd7133a 2/9: Pass useful objects as ctor arguments,
Greg Chicares <=
- [lmi-commits] [lmi] master becab2f 8/9: Note a deferred enhancement, Greg Chicares, 2018/09/23
- [lmi-commits] [lmi] master e6a4e17 6/9: Improve documentation, Greg Chicares, 2018/09/23
- [lmi-commits] [lmi] master 482c9e2 5/9: Rename a mixin class; endow it with state, Greg Chicares, 2018/09/23