[glom] test_document_load: Test print layout functions.



commit 664926319444d08b5bc50c9cd64f963f3c5f7633
Author: Murray Cumming <murrayc murrayc com>
Date:   Wed Nov 30 10:19:39 2011 +0100

    test_document_load: Test print layout functions.
    
    * examples/example_film_manager.glom: Add a contacts print layout and
    resave this.
    * tests/test_document_load.cc: Test the print layout data.

 ChangeLog                          |    8 +
 examples/example_film_manager.glom |  318 +++++++++++++++++++++++++++++++++++-
 tests/test_document_load.cc        |   44 +++++
 3 files changed, 369 insertions(+), 1 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index ec27ad3..1ab6b19 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
 2011-11-30  Murray Cumming  <murrayc murrayc com>
 
+	test_document_load: Test print layout functions.
+
+	* examples/example_film_manager.glom: Add a contacts print layout and 
+	resave this.
+	* tests/test_document_load.cc: Test the print layout data.
+
+2011-11-30  Murray Cumming  <murrayc murrayc com>
+
 	test_load_and_change(): Test removal of a relationship.
 
 	* tests/test_document_load_and_change.cc: Test Document::remove_relationship().
diff --git a/examples/example_film_manager.glom b/examples/example_film_manager.glom
index ceb9e59..8bea629 100644
--- a/examples/example_film_manager.glom
+++ b/examples/example_film_manager.glom
@@ -1426,7 +1426,323 @@
         </data_layout_groups>
       </report>
     </reports>
-    <print_layouts/>
+    <print_layouts>
+      <print_layout name="contact_details" show_table_title="true" show_grid="true" show_rules="true" show_outlines="true" page_count="2" title="Contact Details">
+        <page_setup>
+[Page Setup]
+PPDName=Letter
+DisplayName=US Letter
+Width=215.89999389648438
+Height=279.39999389648438
+MarginTop=6.3499999999999996
+MarginBottom=14.224
+MarginLeft=6.3499999999999996
+MarginRight=6.3499999999999996
+Orientation=portrait
+</page_setup>
+        <data_layout_groups>
+          <data_layout_group>
+            <data_layout_text>
+              <text title="Contacts"/>
+              <formatting font="Sans Bold 12"/>
+              <position x="12" y="12" width="60" height="6"/>
+            </data_layout_text>
+            <data_layout_text>
+              <text title="Overview"/>
+              <formatting font="Sans Bold 10"/>
+              <position x="12" y="24" width="191.55" height="6"/>
+            </data_layout_text>
+            <data_layout_text>
+              <text title="Contact ID:"/>
+              <formatting font="Sans 10"/>
+              <position x="12" y="36" width="60" height="6"/>
+            </data_layout_text>
+            <data_layout_item name="contact_id" editable="true" use_default_formatting="true">
+              <formatting format_thousands_separator="true" format_decimal_places="2"/>
+              <position x="78" y="36" width="125.55" height="6"/>
+            </data_layout_item>
+            <data_layout_text>
+              <text title="Full Name:"/>
+              <formatting font="Sans 10"/>
+              <position x="12" y="48" width="60" height="6"/>
+            </data_layout_text>
+            <data_layout_item name="name_full" editable="true" use_default_formatting="true">
+              <formatting/>
+              <position x="78" y="48" width="125.55" height="6"/>
+            </data_layout_item>
+            <data_layout_text>
+              <text title="Details"/>
+              <formatting font="Sans Bold 10"/>
+              <position x="12" y="60" width="191.55" height="6"/>
+            </data_layout_text>
+            <data_layout_text>
+              <text title="Name"/>
+              <formatting font="Sans Bold 10"/>
+              <position x="12" y="72" width="191.55" height="6"/>
+            </data_layout_text>
+            <data_layout_text>
+              <text title="Title:"/>
+              <formatting font="Sans 10"/>
+              <position x="12" y="84" width="60" height="6"/>
+            </data_layout_text>
+            <data_layout_item name="name_title" editable="true" use_default_formatting="true">
+              <formatting/>
+              <position x="78" y="84" width="125.55" height="6"/>
+            </data_layout_item>
+            <data_layout_text>
+              <text title="First Name:"/>
+              <formatting font="Sans 10"/>
+              <position x="12" y="96" width="60" height="6"/>
+            </data_layout_text>
+            <data_layout_item name="name_first" editable="true" use_default_formatting="true">
+              <formatting/>
+              <position x="78" y="96" width="125.55" height="6"/>
+            </data_layout_item>
+            <data_layout_text>
+              <text title="Second Name:"/>
+              <formatting font="Sans 10"/>
+              <position x="12" y="108" width="60" height="6"/>
+            </data_layout_text>
+            <data_layout_item name="name_middle" editable="true" use_default_formatting="true">
+              <formatting/>
+              <position x="78" y="108" width="125.55" height="6"/>
+            </data_layout_item>
+            <data_layout_text>
+              <text title="Last Name:"/>
+              <formatting font="Sans 10"/>
+              <position x="12" y="120" width="60" height="6"/>
+            </data_layout_text>
+            <data_layout_item name="name_last" editable="true" use_default_formatting="true">
+              <formatting/>
+              <position x="78" y="120" width="125.55" height="6"/>
+            </data_layout_item>
+            <data_layout_text>
+              <text title="Company"/>
+              <formatting font="Sans Bold 10"/>
+              <position x="12" y="132" width="191.55" height="6"/>
+            </data_layout_text>
+            <data_layout_text>
+              <text title="Company ID:"/>
+              <formatting font="Sans 10"/>
+              <position x="12" y="144" width="60" height="6"/>
+            </data_layout_text>
+            <data_layout_item name="company_id" editable="true" use_default_formatting="true">
+              <formatting format_thousands_separator="true" format_decimal_places="2"/>
+              <position x="78" y="144" width="125.55" height="6"/>
+            </data_layout_item>
+            <data_layout_text>
+              <text title="Name:"/>
+              <formatting font="Sans 10"/>
+              <position x="12" y="156" width="60" height="6"/>
+            </data_layout_text>
+            <data_layout_item name="name" relationship="company" editable="true" use_default_formatting="true">
+              <formatting/>
+              <position x="78" y="156" width="125.55" height="6"/>
+            </data_layout_item>
+            <data_layout_text>
+              <text title="Address"/>
+              <formatting font="Sans Bold 10"/>
+              <position x="12" y="168" width="191.55" height="6"/>
+            </data_layout_text>
+            <data_layout_text>
+              <text title="Street (line 1):"/>
+              <formatting font="Sans 10"/>
+              <position x="12" y="180" width="60" height="6"/>
+            </data_layout_text>
+            <data_layout_item name="address_street1" editable="true" use_default_formatting="true">
+              <formatting/>
+              <position x="78" y="180" width="125.55" height="6"/>
+            </data_layout_item>
+            <data_layout_text>
+              <text title="Street (line 2):"/>
+              <formatting font="Sans 10"/>
+              <position x="12" y="192" width="60" height="6"/>
+            </data_layout_text>
+            <data_layout_item name="address_street2" editable="true" use_default_formatting="true">
+              <formatting/>
+              <position x="78" y="192" width="125.55" height="6"/>
+            </data_layout_item>
+            <data_layout_text>
+              <text title="Town:"/>
+              <formatting font="Sans 10"/>
+              <position x="12" y="204" width="60" height="6"/>
+            </data_layout_text>
+            <data_layout_item name="address_town" editable="true" use_default_formatting="true">
+              <formatting/>
+              <position x="78" y="204" width="125.55" height="6"/>
+            </data_layout_item>
+            <data_layout_text>
+              <text title="State:"/>
+              <formatting font="Sans 10"/>
+              <position x="12" y="216" width="60" height="6"/>
+            </data_layout_text>
+            <data_layout_item name="address_state" editable="true" use_default_formatting="true">
+              <formatting/>
+              <position x="78" y="216" width="125.55" height="6"/>
+            </data_layout_item>
+            <data_layout_text>
+              <text title="Country:"/>
+              <formatting font="Sans 10"/>
+              <position x="12" y="228" width="60" height="6"/>
+            </data_layout_text>
+            <data_layout_item name="address_country" editable="true" use_default_formatting="true">
+              <formatting/>
+              <position x="78" y="228" width="125.55" height="6"/>
+            </data_layout_item>
+            <data_layout_text>
+              <text title="Postcode:"/>
+              <formatting font="Sans 10"/>
+              <position x="12" y="240" width="60" height="6"/>
+            </data_layout_text>
+            <data_layout_item name="address_postcode" editable="true" use_default_formatting="true">
+              <formatting/>
+              <position x="78" y="240" width="125.55" height="6"/>
+            </data_layout_item>
+            <data_layout_text>
+              <text title="Telephone"/>
+              <formatting font="Sans Bold 10"/>
+              <position x="12" y="252" width="191.55" height="6"/>
+            </data_layout_text>
+            <data_layout_text>
+              <text title="Work Telephone:"/>
+              <formatting font="Sans 10"/>
+              <position x="12" y="291.75" width="60" height="6"/>
+            </data_layout_text>
+            <data_layout_item name="tel_work" editable="true" use_default_formatting="true">
+              <formatting/>
+              <position x="78" y="291.75" width="125.55" height="6"/>
+            </data_layout_item>
+            <data_layout_text>
+              <text title="Mobile Telephone:"/>
+              <formatting font="Sans 10"/>
+              <position x="12" y="303.75" width="60" height="6"/>
+            </data_layout_text>
+            <data_layout_item name="tel_mobile" editable="true" use_default_formatting="true">
+              <formatting/>
+              <position x="78" y="303.75" width="125.55" height="6"/>
+            </data_layout_item>
+            <data_layout_text>
+              <text title="Home Telephone:"/>
+              <formatting font="Sans 10"/>
+              <position x="12" y="315.75" width="60" height="6"/>
+            </data_layout_text>
+            <data_layout_item name="tel_home" editable="true" use_default_formatting="true">
+              <formatting/>
+              <position x="78" y="315.75" width="125.55" height="6"/>
+            </data_layout_item>
+            <data_layout_text>
+              <text title="Fax:"/>
+              <formatting font="Sans 10"/>
+              <position x="12" y="327.75" width="60" height="6"/>
+            </data_layout_text>
+            <data_layout_item name="tel_fax" editable="true" use_default_formatting="true">
+              <formatting/>
+              <position x="78" y="327.75" width="125.55" height="6"/>
+            </data_layout_item>
+            <data_layout_text>
+              <text title="Agent"/>
+              <formatting font="Sans Bold 10"/>
+              <position x="12" y="339.75" width="191.55" height="6"/>
+            </data_layout_text>
+            <data_layout_text>
+              <text title="Agent ID:"/>
+              <formatting font="Sans 10"/>
+              <position x="12" y="351.75" width="60" height="6"/>
+            </data_layout_text>
+            <data_layout_item name="agent_id" editable="true" use_default_formatting="true">
+              <formatting format_thousands_separator="true" format_decimal_places="2"/>
+              <position x="78" y="351.75" width="125.55" height="6"/>
+            </data_layout_item>
+            <data_layout_text>
+              <text title="Full Name:"/>
+              <formatting font="Sans 10"/>
+              <position x="12" y="363.75" width="60" height="6"/>
+            </data_layout_text>
+            <data_layout_item name="name_full" relationship="agent" editable="true" use_default_formatting="true">
+              <title_custom/>
+              <formatting/>
+              <position x="78" y="363.75" width="125.55" height="6"/>
+            </data_layout_item>
+            <data_layout_text>
+              <text title="Crew"/>
+              <formatting font="Sans Bold 10"/>
+              <position x="12" y="375.75" width="191.55" height="6"/>
+            </data_layout_text>
+            <data_layout_portal relationship="crew" portal_rows_count_min="1" portal_rows_count_max="100" row_height="6">
+              <position x="12" y="387.75" width="191.55" height="6"/>
+              <data_layout_item name="crew_id" editable="true" use_default_formatting="true">
+                <formatting format_thousands_separator="true" format_decimal_places="2"/>
+              </data_layout_item>
+              <data_layout_item name="description" editable="true" use_default_formatting="true">
+                <formatting/>
+              </data_layout_item>
+            </data_layout_portal>
+            <data_layout_text>
+              <text title="Cast"/>
+              <formatting font="Sans Bold 10"/>
+              <position x="12" y="399.75" width="191.55" height="6"/>
+            </data_layout_text>
+            <data_layout_portal relationship="cast" portal_rows_count_min="6" portal_rows_count_max="10" row_height="6" column_line_color="rgba(0,0,0,0)" line_color="rgba(0,0,0,0)">
+              <position x="12" y="411.75" width="192" height="62.25"/>
+              <data_layout_item name="character_id" editable="true" use_default_formatting="true">
+                <formatting format_thousands_separator="true" format_decimal_places="2"/>
+              </data_layout_item>
+              <data_layout_item name="character" editable="true" use_default_formatting="true">
+                <formatting/>
+              </data_layout_item>
+              <data_layout_item name="mainpart" editable="true" use_default_formatting="true">
+                <formatting/>
+              </data_layout_item>
+            </data_layout_portal>
+            <data_layout_text>
+              <text title="Email:"/>
+              <formatting font="Sans 10"/>
+              <position x="12" y="480" width="60" height="6"/>
+            </data_layout_text>
+            <data_layout_item name="email" editable="true" use_default_formatting="true">
+              <formatting/>
+              <position x="78" y="480" width="125.55" height="6"/>
+            </data_layout_item>
+            <data_layout_text>
+              <text title="Web Site:"/>
+              <formatting font="Sans 10"/>
+              <position x="12" y="492" width="60" height="6"/>
+            </data_layout_text>
+            <data_layout_item name="website" editable="true" use_default_formatting="true">
+              <formatting/>
+              <position x="78" y="492" width="125.55" height="6"/>
+            </data_layout_item>
+            <data_layout_text>
+              <text title="Date Of Birth:"/>
+              <formatting font="Sans 10"/>
+              <position x="12" y="504" width="60" height="6"/>
+            </data_layout_text>
+            <data_layout_item name="date_of_birth" editable="true" use_default_formatting="true">
+              <formatting/>
+              <position x="78" y="504" width="125.55" height="6"/>
+            </data_layout_item>
+            <data_layout_text>
+              <text title="Picture:"/>
+              <formatting font="Sans 10"/>
+              <position x="12" y="516" width="60" height="6"/>
+            </data_layout_text>
+            <data_layout_item name="picture" editable="true" use_default_formatting="true">
+              <formatting/>
+              <position x="78" y="516" width="125.55" height="6"/>
+            </data_layout_item>
+            <data_layout_text>
+              <text title="Comments:"/>
+              <formatting font="Sans 10"/>
+              <position x="12" y="528" width="60" height="6"/>
+            </data_layout_text>
+            <data_layout_item name="comments" editable="true" use_default_formatting="true">
+              <formatting format_text_multiline="true"/>
+              <position x="78" y="528" width="125.55" height="36"/>
+            </data_layout_item>
+          </data_layout_group>
+        </data_layout_groups>
+      </print_layout>
+    </print_layouts>
   </table>
   <table name="costume" title="Costume">
     <example_rows>
diff --git a/tests/test_document_load.cc b/tests/test_document_load.cc
index 7be8684..a8caa51 100644
--- a/tests/test_document_load.cc
+++ b/tests/test_document_load.cc
@@ -190,6 +190,50 @@ int main()
   g_assert(field_on_layout->get_formatting_used() == formatting);
 
 
+  //Test library modules:
+  const std::vector<Glib::ustring> module_names = document.get_library_module_names();
+  if(!module_names.empty()) //TODO: Test a document that actually has some?
+  {
+    std::cerr << "Failure: Unexpected library module names." << std::endl;
+    return false;
+  }
+
+
+  //Test print layouts:  
+  const Glom::Document::type_listPrintLayouts print_layout_names = 
+    document.get_print_layout_names("contacts");
+  if(print_layout_names.size() != 1)
+  {
+    std::cerr << "Failure: Unexpected number of print layouts." << std::endl;
+    return false;
+  }
+
+  if(!contains(print_layout_names, "contact_details"))
+  {
+    std::cerr << "Failure: Could not find the expected print layout name." << std::endl;
+    return false;
+  }
+  
+  const Glom::sharedptr<const Glom::PrintLayout> print_layout = document.get_print_layout("contacts", "contact_details");
+  if(!print_layout)
+  {
+    std::cerr << "Failure: Could not get an expected print layout." << std::endl;
+    return false;
+  }
+  
+  if(print_layout->get_title() != "Contact Details")
+  {
+    std::cerr << "Failure: Unexpected print layout title." << std::endl;
+    return false;
+  }
+  
+  if(!print_layout->m_layout_group)
+  {
+    std::cerr << "Failure: The print layout has no layout group." << std::endl;
+    return false;
+  }
+
+
   Glom::libglom_deinit();
 
   return EXIT_SUCCESS;



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