[gnumeric] Fix layering of sheet objects in ODF export. [Part of #681009]



commit a636b585d1ba730699da6b8faf6241bc7b24966c
Author: Andreas J Guelzow <aguelzow pyrshep ca>
Date:   Wed Aug 1 12:42:52 2012 -0600

    Fix layering of sheet objects in ODF export. [Part of #681009]
    
    2012-08-01  Andreas J. Guelzow <aguelzow pyrshep ca>
    
    	* openoffice-write.c (odf_write_frame_size): write draw:z-index

 NEWS                                  |    1 +
 plugins/openoffice/ChangeLog          |    4 ++++
 plugins/openoffice/openoffice-write.c |    9 +++++++++
 3 files changed, 14 insertions(+), 0 deletions(-)
---
diff --git a/NEWS b/NEWS
index 8d247a2..2266327 100644
--- a/NEWS
+++ b/NEWS
@@ -8,6 +8,7 @@ Andreas:
 	* Fix INTERPOLATION crash. [#680711]
 	* Suppress range markers that should be in an external workbook.
 	[Part of #680718]
+	* Fix layering of sheet objects in ODF export. [Part of #681009]
 
 Jean:
 	* Fix component references issues. [#680190]
diff --git a/plugins/openoffice/ChangeLog b/plugins/openoffice/ChangeLog
index 28b2a39..8ef326b 100644
--- a/plugins/openoffice/ChangeLog
+++ b/plugins/openoffice/ChangeLog
@@ -1,3 +1,7 @@
+2012-08-01  Andreas J. Guelzow <aguelzow pyrshep ca>
+
+	* openoffice-write.c (odf_write_frame_size): write draw:z-index
+
 2012-08-01  Jean Brefort  <jean brefort normalesup org>
 
 	* openoffice-read.c (oo_parse_color): Rename style_color_new_i8.
diff --git a/plugins/openoffice/openoffice-write.c b/plugins/openoffice/openoffice-write.c
index cd85918..4d8fd5b 100644
--- a/plugins/openoffice/openoffice-write.c
+++ b/plugins/openoffice/openoffice-write.c
@@ -2822,6 +2822,7 @@ odf_write_frame_size (GnmOOExport *state, SheetObject *so)
 	GnmExprTop const *texpr;
 	GnmParsePos pp;
 	char *formula;
+	Sheet *sheet;
 
 	sheet_object_anchor_to_offset_pts (anchor, state->sheet, res_pts);
 
@@ -2844,6 +2845,14 @@ odf_write_frame_size (GnmOOExport *state, SheetObject *so)
 	gsf_xml_out_add_cstr (state->xml, TABLE "end-cell-address",
 			      odf_strip_brackets (formula));
 	g_free (formula);
+
+	sheet = sheet_object_get_sheet (so);
+	if (sheet) {
+		int z;
+		z = g_slist_length (sheet->sheet_objects) 
+			- sheet_object_get_stacking (so);
+		gsf_xml_out_add_int (state->xml, DRAW "z-index", z);
+	}
 }
 
 static void



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