summaryrefslogtreecommitdiffstats
path: root/business/gnucash/gnucash_goffice.patch
blob: 346410a703a7f7a7b2edd5320921830efa1fbabf (plain)
diff -Naur gnucash-2.2.9.orig//src/gnome-utils/gnc-html-graph-gog.c gnucash-2.2.9//src/gnome-utils/gnc-html-graph-gog.c
--- gnucash-2.2.9.orig//src/gnome-utils/gnc-html-graph-gog.c	2008-01-07 20:06:26.000000000 -0500
+++ gnucash-2.2.9//src/gnome-utils/gnc-html-graph-gog.c	2010-06-30 08:42:43.009625615 -0400
@@ -46,13 +46,31 @@
 #ifndef GTKHTML_USES_GTKPRINT
 #    include <goffice/graph/gog-renderer-gnome-print.h>
 #endif
-#include <goffice/graph/gog-style.h>
+/* everything inside the following #ifndef can be safely removed when gnucash
+requires libgoffice >= 0.7.5, the contents of the #else block must stay. */
+#ifndef GOG_TYPE_GRAPH
+#	define GOG_TYPE_GRAPH GOG_GRAPH_TYPE
+#	define GO_TYPE_PLUGIN_LOADER_MODULE GO_PLUGIN_LOADER_MODULE_TYPE
+#	define GOG_TYPE_RENDERER GOG_RENDERER_TYPE
+#	include <goffice/graph/gog-style.h>
+#	define GOStyle GogStyle
+#	define go_styled_object_get_style gog_styled_object_get_style
+#	define GO_STYLED_OBJECT GOG_STYLED_OBJECT
+#	define GO_STYLE_FILL_PATTERN GOG_FILL_STYLE_PATTERN
+#	define go_style_set_text_angle gog_style_set_text_angle
+#else
+#	include <goffice/utils/go-style.h>
+#	include <goffice/utils/go-styled-object.h>
+#endif
+
 #include <goffice/graph/gog-styled-object.h>
 #include <goffice/graph/gog-plot.h>
 #include <goffice/graph/gog-series.h>
+#include <goffice/graph/gog-data-set.h>
+#include <goffice/utils/go-style.h>
+#include <goffice/utils/goffice-utils.h>
 #include <goffice/utils/go-color.h>
 #include <goffice/utils/go-marker.h>
-#include <goffice/graph/gog-data-set.h>
 #include <goffice/data/go-data-simple.h>
 #include <goffice/app/go-plugin.h>
 #include <goffice/app/go-plugin-loader-module.h>
@@ -98,7 +116,7 @@
   libgoffice_init();
   
   /* Initialize plugins manager */
-  go_plugins_init (NULL, NULL, NULL, NULL, TRUE, GO_PLUGIN_LOADER_MODULE_TYPE);
+  go_plugins_init (NULL, NULL, NULL, NULL, TRUE, GO_TYPE_PLUGIN_LOADER_MODULE);
 
   gnc_html_register_object_handler( "gnc-guppi-pie", handle_piechart );
   gnc_html_register_object_handler( "gnc-guppi-bar", handle_barchart );
@@ -189,7 +207,7 @@
   gog_object_update (GOG_OBJECT (graph));
 
 #if defined(HAVE_GOFFICE_0_5)
-  renderer = GOG_RENDERER (g_object_new (GOG_RENDERER_TYPE,
+  renderer = GOG_RENDERER (g_object_new (GOG_TYPE_RENDERER,
 					 "model", graph,
 					 NULL));
   update_status = gog_renderer_update (renderer, eb->width, eb->height);
@@ -229,7 +247,7 @@
                            GogObject **out_chart,
                            GogPlot **out_plot)
 {
-  *out_graph = g_object_new(GOG_GRAPH_TYPE, NULL);
+  *out_graph = g_object_new(GOG_TYPE_GRAPH, NULL);
   *out_chart = gog_object_add_by_name(*out_graph, "Chart", NULL);
   *out_plot = gog_plot_new_by_name(plot_type_name);
   if (!*out_plot)
@@ -363,8 +381,13 @@
   }
   gog_object_add_by_name(chart, "Legend", NULL);
 
+#ifdef GO_COLOR_BLACK
+  GOG_STYLED_OBJECT(graph)->style->line.width = 5;
+  GOG_STYLED_OBJECT(graph)->style->line.color = GO_COLOR_BLACK;
+#else
   GOG_STYLED_OBJECT(graph)->style->outline.width = 5;
   GOG_STYLED_OBJECT(graph)->style->outline.color = RGBA_BLACK;
+#endif
 
   series = gog_plot_new_series(plot);
   labelData = go_data_vector_str_new((char const * const *)labels, datasize, NULL);
@@ -401,7 +424,7 @@
   GogObject *graph, *chart;
   GogPlot *plot;
   GogSeries *series;
-  GogStyle *style;
+  GOStyle *style;
   GOData *label_data, *slice_data;
   int data_rows, data_cols;
   double *data = NULL;
@@ -489,11 +512,11 @@
       gog_series_set_dim (series, 1, slice_data, NULL);
       go_data_emit_changed (GO_DATA (slice_data));
 
-      style = gog_styled_object_get_style (GOG_STYLED_OBJECT (series));
-      style->fill.type = GOG_FILL_STYLE_PATTERN;
+      style = go_styled_object_get_style (GO_STYLED_OBJECT (series));
+      style->fill.type = GO_STYLE_FILL_PATTERN;
       if (gdk_color_parse (col_colors[i], &color)) {
            style->fill.auto_back = FALSE;
-           go_pattern_set_solid (&style->fill.pattern, GDK_TO_UINT (color));
+           go_pattern_set_solid (&style->fill.pattern, GO_COLOR_FROM_GDK (color));
       } else {
            g_warning("cannot parse color [%s]", col_colors[i]);
       }
@@ -503,8 +526,8 @@
   if (rotate_row_labels) {
     GogObject *object = gog_object_get_child_by_role (
       chart, gog_object_find_role_by_name (chart, "X-Axis"));
-    style = gog_styled_object_get_style (GOG_STYLED_OBJECT (object));
-    gog_style_set_text_angle (style, 90.0);
+    style = go_styled_object_get_style (GO_STYLED_OBJECT (object));
+    go_style_set_text_angle (style, 90.0);
   }
 
   set_chart_titles_from_hash (chart, eb);
@@ -526,7 +549,7 @@
   GogPlot *plot;
   GogSeries *series;
   GOData *sliceData;
-  GogStyle *style;
+  GOStyle *style;
   int datasize;
   double *xData, *yData;
   gchar *marker_str, *color_str;
@@ -556,7 +579,7 @@
   }
 
   series = gog_plot_new_series( plot );
-  style = gog_styled_object_get_style(GOG_STYLED_OBJECT(series));
+  style = go_styled_object_get_style(GO_STYLED_OBJECT(series));
 
   sliceData = go_data_vector_val_new( xData, datasize, NULL );
   gog_series_set_dim( series, 0, sliceData, NULL );
@@ -588,9 +611,9 @@
     GdkColor color;
     if (gdk_color_parse(color_str, &color)) {
       style->marker.auto_outline_color = FALSE;
-      go_marker_set_outline_color(style->marker.mark, GDK_TO_UINT(color));
+      go_marker_set_outline_color(style->marker.mark, GO_COLOR_FROM_GDK(color));
       style->line.auto_color = FALSE;
-      style->line.color = GDK_TO_UINT(color);
+      style->line.color = GO_COLOR_FROM_GDK(color);
     } else {
       g_warning("cannot parse color [%s]", color_str);
     }
@@ -602,15 +625,15 @@
     go_marker_set_fill_color(style->marker.mark,
                              go_marker_get_outline_color(style->marker.mark));
   } else {
-    GogStyle *chart_style =
-      gog_styled_object_get_style(GOG_STYLED_OBJECT(chart));
+    GOStyle *chart_style =
+      go_styled_object_get_style(GO_STYLED_OBJECT(chart));
 
-    if (chart_style->fill.type == GOG_FILL_STYLE_PATTERN
+    if (chart_style->fill.type == GO_STYLE_FILL_PATTERN
         && chart_style->fill.pattern.pattern == GO_PATTERN_SOLID) {
       style->marker.auto_fill_color = FALSE;
       go_marker_set_fill_color(style->marker.mark,
                                chart_style->fill.pattern.back);
-    } else if (chart_style->fill.type == GOG_FILL_STYLE_PATTERN
+    } else if (chart_style->fill.type == GO_STYLE_FILL_PATTERN
                && chart_style->fill.pattern.pattern
                == GO_PATTERN_FOREGROUND_SOLID) {
       style->marker.auto_fill_color = FALSE;
@@ -639,7 +662,7 @@
 {
   GogGraph *graph = GOG_GRAPH(g_object_get_data(G_OBJECT(eb), "graph"));
 #    ifdef HAVE_GOFFICE_0_5
-  GogRenderer *rend = g_object_new(GOG_RENDERER_TYPE, "model", graph, NULL);
+  GogRenderer *rend = g_object_new(GOG_TYPE_RENDERER, "model", graph, NULL);
 #    else
   GogRendererCairo *rend = g_object_new(GOG_RENDERER_CAIRO_TYPE, "model", graph,
                                         "cairo", cr, "is-vector", TRUE, NULL);