[glom] CanvasPrintLayout: Wipe empty rows when filling with data.



commit 8b64ad8a1f36e2b9429ad3e947aa4ae15ef3ccb0
Author: Murray Cumming <murrayc murrayc com>
Date:   Tue Oct 11 16:13:43 2011 +0200

    CanvasPrintLayout: Wipe empty rows when filling with data.
    
    * glom/print_layout/canvas_print_layout.cc: fill_with_data_portal():
    Otherwise, the field names appear on the printout, left over from
    the default non-data preview.

 ChangeLog                                |    8 ++++++++
 glom/print_layout/canvas_print_layout.cc |    9 ++-------
 2 files changed, 10 insertions(+), 7 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index f29bb69..ec276a4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
 2011-10-11  Murray Cumming  <murrayc murrayc com>
 
+	CanvasPrintLayout: Wipe empty rows when filling with data.
+
+	* glom/print_layout/canvas_print_layout.cc: fill_with_data_portal():
+	Otherwise, the field names appear on the printout, left over from 
+	the default non-data preview.
+
+2011-10-11  Murray Cumming  <murrayc murrayc com>
+
 	TranslatableItem: Make get_title() virtual.
 
 	* glom/libglom/data_structure/translatable_item.h: Make get_title()
diff --git a/glom/print_layout/canvas_print_layout.cc b/glom/print_layout/canvas_print_layout.cc
index 3b036d4..4c11882 100644
--- a/glom/print_layout/canvas_print_layout.cc
+++ b/glom/print_layout/canvas_print_layout.cc
@@ -901,12 +901,7 @@ void Canvas_PrintLayout::fill_with_data_portal(const Glib::RefPtr<CanvasLayoutIt
     return;
 
   const int db_rows_count = datamodel->get_n_rows();
-  if(!(db_rows_count > 0))
-    return;
-
   const int db_columns_count = datamodel->get_n_columns();
-  if(!db_columns_count)
-    return;
 
   double row_height_ignored = 0;
   const int rows_count = CanvasLayoutItem::get_rows_count_for_portal(portal, row_height_ignored);
@@ -931,8 +926,8 @@ void Canvas_PrintLayout::fill_with_data_portal(const Glib::RefPtr<CanvasLayoutIt
       sharedptr<LayoutItem_Field> field = sharedptr<LayoutItem_Field>::cast_dynamic(child_layout_item);
       if(field)
       {
-        Gnome::Gda::Value db_value;
-        if( row < datamodel->get_n_rows() )
+        Gnome::Gda::Value db_value; //This default also wipes the placeholder field name text of empty rows.
+        if( (row < db_rows_count) && (db_col < db_columns_count) )
         {
           //TODO: Actually catch exception.
           db_value = datamodel->get_value_at(db_col, row);



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