[gnumeric] Fixed borders display in cell format dialog.



commit eee136c3397ce9dc411fec872abfccb77fbe8b1b
Author: Jean Brefort <jean brefort normalesup org>
Date:   Wed Jul 21 15:42:43 2010 +0200

    Fixed borders display in cell format dialog.

 NEWS                                      |    1 +
 src/widgets/ChangeLog                     |    7 +++++++
 src/widgets/gnumeric-dashed-canvas-line.c |   16 +++++++++++++++-
 3 files changed, 23 insertions(+), 1 deletions(-)
---
diff --git a/NEWS b/NEWS
index 6ff7e25..cbb7bc5 100644
--- a/NEWS
+++ b/NEWS
@@ -50,6 +50,7 @@ Jean:
 	* Fix a regression in chart series evaluation. [#624263]
 	* Fix crash in cell_calc_span. [#624274]
 	* Install a self-consistent headers list.
+	* Fixed borders display in cell format dialog.
 
 Morten:
 	* Ask user to locate solver binaries when plain search fails.
diff --git a/src/widgets/ChangeLog b/src/widgets/ChangeLog
index bf4fe4d..b8685ae 100644
--- a/src/widgets/ChangeLog
+++ b/src/widgets/ChangeLog
@@ -1,3 +1,10 @@
+2010-07-21  Jean Brefort  <jean brefort normalesup org>
+
+	* gnumeric-dashed-canvas-line.c
+	(gnumeric_dashed_canvas_line_update_bounds),
+	(gnumeric_dashed_canvas_line_class_init): fixed bounds so that the
+	borders are always fully displayed.
+
 2010-07-21  Andreas J. Guelzow <aguelzow pyrshep ca>
 
 	* gnumeric-expr-entry.c (gee_create_tooltip): add argument
diff --git a/src/widgets/gnumeric-dashed-canvas-line.c b/src/widgets/gnumeric-dashed-canvas-line.c
index 0d1e81f..f5a6d84 100644
--- a/src/widgets/gnumeric-dashed-canvas-line.c
+++ b/src/widgets/gnumeric-dashed-canvas-line.c
@@ -13,6 +13,8 @@
 #include <gsf/gsf-impl-utils.h>
 #include <math.h>
 
+static GocItemClass *parent_class;
+
 static void gnumeric_dashed_canvas_line_draw (GocItem const *item,
 					      cairo_t *cr);
 
@@ -150,15 +152,27 @@ gnumeric_dashed_canvas_line_draw (GocItem const *item, cairo_t *cr)
 }
 
 static void
+gnumeric_dashed_canvas_line_update_bounds (GocItem *item)
+{
+	GOStyle *style = go_styled_object_get_style (GO_STYLED_OBJECT (item));
+	double saved_width = style->line.width;
+	style->line.width = 10.;	/* larger than any border */
+	parent_class->update_bounds (item);
+	style->line.width = saved_width;
+}
+
+static void
 gnumeric_dashed_canvas_line_class_init (GnumericDashedCanvasLineClass *klass)
 {
 	GocItemClass *item_class;
 
+	parent_class = g_type_class_peek_parent (klass);
 	gnumeric_dashed_canvas_line_class = klass;
 
 	item_class = (GocItemClass *) klass;
 
-	item_class->draw = &gnumeric_dashed_canvas_line_draw;
+	item_class->draw = gnumeric_dashed_canvas_line_draw;
+	item_class->update_bounds = gnumeric_dashed_canvas_line_update_bounds;
 }
 
 static void



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