[gnumeric] Sheet: simplify.



commit 6e93fc72f2049e236292ffb41d2cbe617cffaf47
Author: Morten Welinder <terra gnome org>
Date:   Mon May 11 19:23:13 2009 -0400

    Sheet: simplify.
---
 ChangeLog         |    8 ++++++++
 src/sheet-style.c |   22 +++++-----------------
 src/sheet.h       |    1 -
 3 files changed, 13 insertions(+), 18 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 8d25532..8594402 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
 2009-05-11  Morten Welinder  <terra gnome org>
 
+	* src/sheet-style.c (sheet_style_init_size): Don't set partial_col
+	and partial_row.
+	(cb_style_list_add_node): Deal without partial_col and
+	partial_row.
+
+	* src/sheet.h (struct _Sheet): Remove partial_col and partial_row
+	flags.
+
 	* src/ssindex.c (cb_index_styles): Index validation stuff too.
 
 2009-05-09  Morten Welinder  <terra gnome org>
diff --git a/src/sheet-style.c b/src/sheet-style.c
index 1c70f64..8db50b8 100644
--- a/src/sheet-style.c
+++ b/src/sheet-style.c
@@ -485,9 +485,6 @@ sheet_style_init_size (Sheet *sheet, int cols, int rows)
 	sheet->max_height = tile_heights[sheet->tile_top_level];
 	sheet->max_width = tile_widths[sheet->tile_top_level];
 
-	sheet->partial_row = (rows != sheet->max_height * TILE_SIZE_ROW);
-	sheet->partial_col = (cols != sheet->max_width * TILE_SIZE_COL);
-
 #if USE_TILE_POOLS
 	if (tile_pool_users++ == 0) {
 		tile_pools[TILE_SIMPLE] =
@@ -2072,23 +2069,14 @@ cb_style_list_add_node (GnmStyle *style,
 	GnmCellPos key;
 	GnmRange range;
 	Sheet const *sheet = mi->sheet;
+	GnmSheetSize const *ss = gnm_sheet_get_size (sheet);
 
 	range.start.col = corner_col;
 	range.start.row = corner_row;
-	range.end.col = corner_col + width - 1;
-	range.end.row = corner_row + height - 1;
-
-	if (sheet->partial_col) {
-		if (corner_col >= gnm_sheet_get_max_cols (sheet))
-			return;
-		range.end.col = MIN (range.end.col, gnm_sheet_get_last_col (sheet));
-	}
-
-	if (sheet->partial_row) {
-		if (corner_row >= gnm_sheet_get_max_rows (sheet))
-			return;
-		range.end.row = MIN (range.end.row, gnm_sheet_get_last_row (sheet));
-	}
+	range.end.col = MIN (corner_col + width - 1, ss->max_cols - 1);
+	range.end.row = MIN (corner_row + height - 1, ss->max_rows - 1);
+	if (corner_col >= ss->max_cols || corner_row >= ss->max_rows)
+		return;
 
 	if (apply_to) {
 		range.start.col -= apply_to->start.col;
diff --git a/src/sheet.h b/src/sheet.h
index 5a41fc2..917a2bc 100644
--- a/src/sheet.h
+++ b/src/sheet.h
@@ -114,7 +114,6 @@ struct _Sheet {
 
 	/* tile related data */
 	int tile_top_level, max_width, max_height;
-	gboolean partial_row, partial_col;
 };
 
 #define GNM_SHEET_TYPE	(gnm_sheet_get_type ())



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