lmi-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lmi-commits] [lmi] master 46a7442 068/156: Factor out helper render_tem


From: Greg Chicares
Subject: [lmi-commits] [lmi] master 46a7442 068/156: Factor out helper render_template() method
Date: Tue, 30 Jan 2018 17:22:13 -0500 (EST)

branch: master
commit 46a74427621938c7639cc863544c1c0b3a23dd72
Author: Vadim Zeitlin <address@hidden>
Commit: Vadim Zeitlin <address@hidden>

    Factor out helper render_template() method
    
    This is used by many pages to render all, or almost all, of their
    content.
---
 ledger_pdf_generator_wx.cpp | 34 ++++++++++++++++++++++------------
 1 file changed, 22 insertions(+), 12 deletions(-)

diff --git a/ledger_pdf_generator_wx.cpp b/ledger_pdf_generator_wx.cpp
index ce9bcc0..0115c47 100644
--- a/ledger_pdf_generator_wx.cpp
+++ b/ledger_pdf_generator_wx.cpp
@@ -355,6 +355,26 @@ class page
         ,pdf_writer_wx& writer
         ,html_interpolator const& interpolate_html
         ) = 0;
+
+  protected:
+    // Helper method for rendering the contents of the given external template,
+    // which is expected to be found in the file with the provided name and
+    // ".mustache" extension in the data directory.
+    //
+    // Return the height of the page contents.
+    int render_page_template
+        (std::string const& template_name
+        ,pdf_writer_wx& writer
+        ,html_interpolator const& interpolate_html
+        )
+    {
+        return writer.output_html
+            (writer.get_horz_margin()
+            ,writer.get_vert_margin()
+            ,writer.get_page_width()
+            ,interpolate_html("{{>" + template_name + "}}")
+            );
+    }
 };
 
 // This is just a container for the illustration-global data.
@@ -1683,12 +1703,7 @@ class column_headings_page : public numbered_page
     {
         numbered_page::render(ledger, writer, interpolate_html);
 
-        writer.output_html
-            (writer.get_horz_margin()
-            ,writer.get_vert_margin()
-            ,writer.get_page_width()
-            ,interpolate_html("{{>column_headings}}")
-            );
+        render_page_template("column_headings", writer, interpolate_html);
     }
 };
 
@@ -2071,12 +2086,7 @@ class numeric_summary_or_attachment_page
         numeric_summary_table_cell::pdf_context_setter
             set_pdf_context(ledger, writer, interpolate_html);
 
-        writer.output_html
-            (writer.get_horz_margin()
-            ,writer.get_vert_margin()
-            ,writer.get_page_width()
-            ,interpolate_html("{{>numeric_summary}}")
-            );
+        this->render_page_template("numeric_summary", writer, 
interpolate_html);
     }
 };
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]