[gnumeric] allow image filling in shapes



commit b155f501d5f913115c95bdabff30599c67c8f29a
Author: Jean Brefort <jean brefort normalesup org>
Date:   Wed Oct 7 18:21:07 2009 +0200

    allow image filling in shapes

 ChangeLog            |    8 ++++++++
 NEWS                 |    1 +
 src/gnm-so-filled.c  |   15 +++++++++++----
 src/gnm-so-polygon.c |   10 +++++++++-
 4 files changed, 29 insertions(+), 5 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index de6ee62..b8c2664 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2009-10-07  Jean Brefort  <jean brefort normalesup org>
+
+	* src/gnm-so-filled.c (gnm_so_filled_set_property),
+	(gnm_so_filled_get_property), (gnm_so_filled_class_init): allow
+	image filling.
+	* src/gnm-so-polygon.c (gnm_so_polygon_get_property),
+	(gnm_so_polygon_class_init): ditto.
+
 2009-10-06  Morten Welinder  <terra gnome org>
 
 	* src/gnm-so-filled.c (gnm_so_line_set_property,
diff --git a/NEWS b/NEWS
index 55440df..397e3eb 100644
--- a/NEWS
+++ b/NEWS
@@ -14,6 +14,7 @@ Andreas:
 Jean:
 	* Make plugins GUI labels translatable. [#159806]
 	* Fix more canvas issues.
+	* Enable image filling in shapes.
 
 Morten:
 	* Fix inter-process pasting of merged regions.
diff --git a/src/gnm-so-filled.c b/src/gnm-so-filled.c
index 459d31f..260d7c7 100644
--- a/src/gnm-so-filled.c
+++ b/src/gnm-so-filled.c
@@ -25,6 +25,7 @@
 #include "application.h"
 #include "gnm-so-filled.h"
 #include "sheet-object-impl.h"
+#include "sheet.h"
 #include "xml-sax.h"
 
 #include <goffice/goffice.h>
@@ -134,7 +135,8 @@ enum {
 	SOF_PROP_STYLE,
 	SOF_PROP_IS_OVAL,
 	SOF_PROP_TEXT,
-	SOF_PROP_MARKUP
+	SOF_PROP_MARKUP,
+	SOF_PROP_DOCUMENT
 };
 
 static GOStyle *
@@ -409,7 +411,6 @@ gnm_so_filled_set_property (GObject *obj, guint param_id,
 			    GValue const *value, GParamSpec *pspec)
 {
 	GnmSOFilled *sof = GNM_SO_FILLED (obj);
-	GOStyle *style;
 	char const * str;
 
 	switch (param_id) {
@@ -460,6 +461,9 @@ gnm_so_filled_get_property (GObject *obj, guint param_id,
 	case SOF_PROP_MARKUP :
 		g_value_set_boxed (value, sof->markup);
 		break;
+	case SOF_PROP_DOCUMENT:
+		g_value_set_object (value, sheet_object_get_sheet (SHEET_OBJECT (obj))->workbook);
+		break;
 	default :
 		G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, param_id, pspec);
 		break;
@@ -506,8 +510,8 @@ gnm_so_filled_class_init (GObjectClass *gobject_class)
 
 	so_class->draw_cairo	= gnm_so_filled_draw_cairo;
 
-        g_object_class_install_property (gobject_class, SOF_PROP_STYLE,
-                 g_param_spec_object ("style", NULL, NULL, GO_TYPE_STYLE,
+	g_object_class_install_property (gobject_class, SOF_PROP_STYLE,
+		g_param_spec_object ("style", NULL, NULL, GO_TYPE_STYLE,
 			GSF_PARAM_STATIC | G_PARAM_READWRITE));
         g_object_class_install_property (gobject_class, SOF_PROP_IS_OVAL,
                  g_param_spec_boolean ("is-oval", NULL, NULL, FALSE,
@@ -518,6 +522,9 @@ gnm_so_filled_class_init (GObjectClass *gobject_class)
         g_object_class_install_property (gobject_class, SOF_PROP_MARKUP,
                  g_param_spec_boxed ("markup", NULL, NULL, PANGO_TYPE_ATTR_LIST,
 			GSF_PARAM_STATIC | G_PARAM_READWRITE));
+	g_object_class_install_property (gobject_class, SOF_PROP_DOCUMENT,
+		g_param_spec_object ("document", NULL, NULL, GO_TYPE_DOC,
+			GSF_PARAM_STATIC | G_PARAM_READABLE));
 }
 
 static void
diff --git a/src/gnm-so-polygon.c b/src/gnm-so-polygon.c
index cfc96bf..6961b66 100644
--- a/src/gnm-so-polygon.c
+++ b/src/gnm-so-polygon.c
@@ -24,6 +24,7 @@
 #include "gnumeric.h"
 #include "gnm-so-polygon.h"
 #include "sheet-object-impl.h"
+#include "sheet.h"
 #include "parse-util.h"
 
 #include <goffice/goffice.h>
@@ -111,7 +112,8 @@ static SheetObjectClass *gnm_so_polygon_parent_class;
 enum {
 	SOP_PROP_0,
 	SOP_PROP_STYLE,
-	SOP_PROP_POINTS
+	SOP_PROP_POINTS,
+	SOP_PROP_DOCUMENT
 };
 
 static GOStyle *
@@ -254,6 +256,9 @@ gnm_so_polygon_get_property (GObject *obj, guint param_id,
 	case SOP_PROP_POINTS:
 		g_value_set_pointer (value, sop->points);
 		break;
+	case SOP_PROP_DOCUMENT:
+		g_value_set_object (value, sheet_object_get_sheet (SHEET_OBJECT (obj))->workbook);
+		break;
 	default :
 		G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, param_id, pspec);
 		break;
@@ -301,6 +306,9 @@ gnm_so_polygon_class_init (GObjectClass *gobject_class)
         g_object_class_install_property (gobject_class, SOP_PROP_POINTS,
                  g_param_spec_pointer ("points", NULL, NULL,
 			GSF_PARAM_STATIC | G_PARAM_READWRITE));
+	g_object_class_install_property (gobject_class, SOP_PROP_DOCUMENT,
+		g_param_spec_object ("document", NULL, NULL, GO_TYPE_DOC,
+			GSF_PARAM_STATIC | G_PARAM_READABLE));
 }
 
 static void



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