Hello community,
here is the log from the commit of package goffice for openSUSE:Factory
checked in at Fri Dec 18 14:07:40 CET 2009.
--------
--- GNOME/goffice/goffice.changes 2009-12-04 02:42:00.000000000 +0100
+++ /mounts/work_src_done/STABLE/goffice/goffice.changes 2009-12-16 11:29:21.000000000 +0100
@@ -1,0 +2,10 @@
+Wed Dec 16 11:27:15 CET 2009 - vuntz@opensuse.org
+
+- Update to version 0.7.17:
+ + Fixed a canvas performance issue. [bgo#603813]
+ + Update property page when style changes after reordering.
+ [bgo#604229]
+ + Fix context sensitive help support on win32.
+ + Make GOCmdContext require less implementation.
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
goffice-0.7.16.tar.bz2
New:
----
goffice-0.7.17.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ goffice.spec ++++++
--- /var/tmp/diff_new_pack.GVkurs/_old 2009-12-18 14:01:24.000000000 +0100
+++ /var/tmp/diff_new_pack.GVkurs/_new 2009-12-18 14:01:24.000000000 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package goffice (Version 0.7.16)
+# spec file for package goffice (Version 0.7.17)
#
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -26,7 +26,7 @@
BuildRequires: libgsf-devel
BuildRequires: pcre-devel
BuildRequires: translation-update-upstream
-Version: 0.7.16
+Version: 0.7.17
Release: 1
Url: http://www.gnumeric.org/
Group: System/GUI/GNOME
++++++ goffice-0.7.16.tar.bz2 -> goffice-0.7.17.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/goffice-0.7.16/ChangeLog new/goffice-0.7.17/ChangeLog
--- old/goffice-0.7.16/ChangeLog 2009-11-29 17:10:51.000000000 +0100
+++ new/goffice-0.7.17/ChangeLog 2009-12-16 02:17:27.000000000 +0100
@@ -1,3 +1,75 @@
+2009-12-15 Morten Welinder
+
+ * Release 0.7.17
+
+2009-12-13 Jean Brefort
+
+ * goffice/canvas/goc-graph.c (goc_graph_set_property): invalidate bounds
+ after setting horizontal position.
+
+2009-12-10 Jean Brefort
+
+ * docs/reference/goffice-0.8-sections.txt: add new function.
+ * goffice/gtk/go-marker-selector.c (go_marker_selector_set_shape): ditto.
+ * goffice/gtk/go-marker-selector.h: ditto.
+ * goffice/utils/go-style.c (outline_init), (line_init),
+ (marker_init), (cb_style_changed): update property page after style changes
+ when reordering. [#604229]
+
+2009-12-09 Jean Brefort
+
+ * goffice/graph/gog-grid.c (gog_grid_view_xyz_render): still others.
+
+2009-12-09 Jean Brefort
+
+ * goffice/graph/gog-grid-line.c (gog_grid_line_xyz_render): fixed
+ some more leaks.
+
+2009-12-09 Jean Brefort
+
+ * goffice/graph/gog-axis-line.c (xyz_process): fixed leaks.
+
+2009-12-09 Jean Brefort
+
+ * goffice/app/go-plugin.c (append_dir), (go_plugins_set_dirs),
+ (go_plugins_init), (go_plugins_add), (go_plugins_shutdown): allow several
+ modules to call go_plugins_init without interfering.
+
+2009-12-07 Jean Brefort
+
+ * goffice/goffice.c (libgoffice_init), (libgoffice_shutdown): allow
+ multiple calls to libgoffice_shutdown.
+
+2009-12-06 Jean Brefort
+
+ * goffice/canvas/goc-canvas.c (goc_canvas_invalidate): really pass width
+ and height to gtk_widget_queue_draw_area.
+
+2009-12-05 Jean Brefort
+
+ * goffice/canvas/goc-item.c (goc_item_bounds_changed): do not invalidate
+ the whole canvas when an item bounds change. [#603813]
+
+2009-12-04 Jody Goldberg
+
+ * goffice/gtk/goffice-gtk.c (go_help_display) : support tab as a
+ seperator in the hhmap file.
+
+2009-12-02 Morten Welinder
+
+ * goffice/app/go-cmd-context.c (go_cmd_context_progress_set,
+ go_cmd_context_progress_message_set, go_cmd_context_get_password,
+ go_cmd_context_set_sensitive): Make implementation optional.
+
+2009-11-30 Jean Brefort
+
+ * plugins/plot_pie/gog-pie.c (gog_pie_view_get_data_at_point): make
+ it work in all case, including split rings.
+
+2009-11-29 Morten Welinder
+
+ * configure.in: Post-release bump.
+
2009-11-29 Morten Welinder
* Release 0.7.16
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/goffice-0.7.16/configure new/goffice-0.7.17/configure
--- old/goffice-0.7.16/configure 2009-11-23 04:28:57.000000000 +0100
+++ new/goffice-0.7.17/configure 2009-11-29 19:59:24.000000000 +0100
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.63 for goffice 0.7.16.
+# Generated by GNU Autoconf 2.63 for goffice 0.7.17.
#
# Report bugs to http://bugzilla.gnome.org/enter_bug.cgi?product=libgoffice.
#
@@ -745,8 +745,8 @@
# Identity of this package.
PACKAGE_NAME='goffice'
PACKAGE_TARNAME='goffice'
-PACKAGE_VERSION='0.7.16'
-PACKAGE_STRING='goffice 0.7.16'
+PACKAGE_VERSION='0.7.17'
+PACKAGE_STRING='goffice 0.7.17'
PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=libgoffice'
ac_unique_file="goffice/goffice.h"
@@ -1597,7 +1597,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures goffice 0.7.16 to adapt to many kinds of systems.
+\`configure' configures goffice 0.7.17 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1667,7 +1667,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of goffice 0.7.16:";;
+ short | recursive ) echo "Configuration of goffice 0.7.17:";;
esac
cat <<\_ACEOF
@@ -1809,7 +1809,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-goffice configure 0.7.16
+goffice configure 0.7.17
generated by GNU Autoconf 2.63
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1823,7 +1823,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by goffice $as_me 0.7.16, which was
+It was created by goffice $as_me 0.7.17, which was
generated by GNU Autoconf 2.63. Invocation command line was
$ $0 $@
@@ -2674,7 +2674,7 @@
# Define the identity of the package.
PACKAGE='goffice'
- VERSION='0.7.16'
+ VERSION='0.7.17'
cat >>confdefs.h <<_ACEOF
@@ -2717,7 +2717,7 @@
-VERSION_INFO=7:16:0
+VERSION_INFO=7:17:0
VERSION_IFACE=7
@@ -21222,7 +21222,7 @@
cat >>confdefs.h <<\_ACEOF
-#define GOFFICE_VERSION "0.7.16"
+#define GOFFICE_VERSION "0.7.17"
_ACEOF
@@ -21237,7 +21237,7 @@
cat >>confdefs.h <<\_ACEOF
-#define GO_VERSION_MINOR 16
+#define GO_VERSION_MINOR 17
_ACEOF
@@ -21865,7 +21865,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by goffice $as_me 0.7.16, which was
+This file was extended by goffice $as_me 0.7.17, which was
generated by GNU Autoconf 2.63. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -21928,7 +21928,7 @@
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_version="\\
-goffice config.status 0.7.16
+goffice config.status 0.7.17
configured by $0, generated by GNU Autoconf 2.63,
with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/goffice-0.7.16/configure.in new/goffice-0.7.17/configure.in
--- old/goffice-0.7.16/configure.in 2009-11-23 04:28:30.000000000 +0100
+++ new/goffice-0.7.17/configure.in 2009-11-29 17:40:17.000000000 +0100
@@ -5,7 +5,7 @@
m4_define([goffice_version_epoch], [0])
m4_define([goffice_version_major], [7])
-m4_define([goffice_version_minor], [16])
+m4_define([goffice_version_minor], [17])
m4_define([goffice_version_extra], [])
m4_define([goffice_full_version],
[goffice_version_epoch.goffice_version_major.goffice_version_minor[]goffice_version_extra])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/goffice-0.7.16/docs/reference/goffice-0.8-sections.txt new/goffice-0.7.17/docs/reference/goffice-0.8-sections.txt
--- old/goffice-0.7.16/docs/reference/goffice-0.8-sections.txt 2009-11-29 17:17:34.000000000 +0100
+++ new/goffice-0.7.17/docs/reference/goffice-0.8-sections.txt 2009-12-16 02:17:37.000000000 +0100
@@ -1758,6 +1758,7 @@
go_marker_render
go_marker_selector_new
go_marker_selector_set_colors
+go_marker_selector_set_shape
</SECTION>
<SECTION>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/goffice-0.7.16/docs/reference/html/GogObject.html new/goffice-0.7.17/docs/reference/html/GogObject.html
--- old/goffice-0.7.16/docs/reference/html/GogObject.html 2009-11-29 17:17:35.000000000 +0100
+++ new/goffice-0.7.17/docs/reference/html/GogObject.html 2009-12-16 02:17:37.000000000 +0100
@@ -370,7 +370,6 @@
union { /* allow people to tack some useful tidbits on the end */
int i;
- float f;
gpointer p;
} user;
} GogObjectRole;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/goffice-0.7.16/docs/reference/html/index.html new/goffice-0.7.17/docs/reference/html/index.html
--- old/goffice-0.7.16/docs/reference/html/index.html 2009-11-29 17:17:35.000000000 +0100
+++ new/goffice-0.7.17/docs/reference/html/index.html 2009-12-16 02:17:37.000000000 +0100
@@ -34,7 +34,7 @@
<div class="titlepage">
<div>
<div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">Goffice Reference Manual</p></th></tr></table></div>
-<div><p class="releaseinfo">For goffice 0.7.16
+<div><p class="releaseinfo">For goffice 0.7.17
</p></div>
</div>
<hr>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/goffice-0.7.16/docs/reference/tmpl/go-marker.sgml new/goffice-0.7.17/docs/reference/tmpl/go-marker.sgml
--- old/goffice-0.7.16/docs/reference/tmpl/go-marker.sgml 2009-11-29 17:17:34.000000000 +0100
+++ new/goffice-0.7.17/docs/reference/tmpl/go-marker.sgml 2009-12-16 02:17:37.000000000 +0100
@@ -247,3 +247,12 @@
@fill:
+<!-- ##### FUNCTION go_marker_selector_set_shape ##### -->
+<para>
+
+</para>
+
+@selector:
+@shape:
+
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/goffice-0.7.16/docs/reference/version.xml new/goffice-0.7.17/docs/reference/version.xml
--- old/goffice-0.7.16/docs/reference/version.xml 2009-11-23 04:29:31.000000000 +0100
+++ new/goffice-0.7.17/docs/reference/version.xml 2009-12-16 02:12:07.000000000 +0100
@@ -1 +1 @@
-0.7.16
+0.7.17
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/goffice-0.7.16/docs/reference/xml/api-index-full.xml new/goffice-0.7.17/docs/reference/xml/api-index-full.xml
--- old/goffice-0.7.16/docs/reference/xml/api-index-full.xml 2009-11-29 17:17:34.000000000 +0100
+++ new/goffice-0.7.17/docs/reference/xml/api-index-full.xml 2009-12-16 02:17:37.000000000 +0100
@@ -1560,6 +1560,7 @@
<indexentry><primaryie linkends="go-marker-render"><link linkend="go-marker-render">go_marker_render</link></primaryie></indexentry>
<indexentry><primaryie linkends="go-marker-selector-new"><link linkend="go-marker-selector-new">go_marker_selector_new</link></primaryie></indexentry>
<indexentry><primaryie linkends="go-marker-selector-set-colors"><link linkend="go-marker-selector-set-colors">go_marker_selector_set_colors</link></primaryie></indexentry>
+<indexentry><primaryie linkends="go-marker-selector-set-shape"><link linkend="go-marker-selector-set-shape">go_marker_selector_set_shape</link></primaryie></indexentry>
<indexentry><primaryie linkends="go-marker-set-fill-color"><link linkend="go-marker-set-fill-color">go_marker_set_fill_color</link></primaryie></indexentry>
<indexentry><primaryie linkends="go-marker-set-outline-color"><link linkend="go-marker-set-outline-color">go_marker_set_outline_color</link></primaryie></indexentry>
<indexentry><primaryie linkends="go-marker-set-shape"><link linkend="go-marker-set-shape">go_marker_set_shape</link></primaryie></indexentry>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/goffice-0.7.16/docs/reference/xml/gog-object.xml new/goffice-0.7.17/docs/reference/xml/gog-object.xml
--- old/goffice-0.7.16/docs/reference/xml/gog-object.xml 2009-11-29 17:17:34.000000000 +0100
+++ new/goffice-0.7.17/docs/reference/xml/gog-object.xml 2009-12-16 02:17:37.000000000 +0100
@@ -262,7 +262,6 @@
union { /* allow people to tack some useful tidbits on the end */
int i;
- float f;
gpointer p;
} user;
} GogObjectRole;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/goffice-0.7.16/goffice/app/go-cmd-context.c new/goffice-0.7.17/goffice/app/go-cmd-context.c
--- old/goffice-0.7.16/goffice/app/go-cmd-context.c 2009-11-19 02:58:28.000000000 +0100
+++ new/goffice-0.7.17/goffice/app/go-cmd-context.c 2009-12-03 02:08:24.000000000 +0100
@@ -105,7 +105,8 @@
{
g_return_if_fail (GO_IS_CMD_CONTEXT (context));
- GCC_CLASS (context)->progress_set (context, f);
+ if (GCC_CLASS (context)->progress_set)
+ GCC_CLASS (context)->progress_set (context, f);
}
void
@@ -115,7 +116,9 @@
if (msg == NULL)
msg = " ";
- GCC_CLASS (context)->progress_message_set (context, msg);
+
+ if (GCC_CLASS (context)->progress_message_set)
+ GCC_CLASS (context)->progress_message_set (context, msg);
}
char *
@@ -123,7 +126,9 @@
{
g_return_val_if_fail (GO_IS_CMD_CONTEXT (cc), NULL);
- return GCC_CLASS (cc)->get_password (cc, filename);
+ return GCC_CLASS (cc)->get_password
+ ? GCC_CLASS (cc)->get_password (cc, filename)
+ : NULL;
}
void
@@ -131,7 +136,8 @@
{
g_return_if_fail (GO_IS_CMD_CONTEXT (cc));
- GCC_CLASS (cc)->set_sensitive (cc, sensitive);
+ if (GCC_CLASS (cc)->set_sensitive)
+ GCC_CLASS (cc)->set_sensitive (cc, sensitive);
}
GType
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/goffice-0.7.16/goffice/app/go-plugin.c new/goffice-0.7.17/goffice/app/go-plugin.c
--- old/goffice-0.7.16/goffice/app/go-plugin.c 2009-10-11 15:24:23.000000000 +0200
+++ new/goffice-0.7.17/goffice/app/go-plugin.c 2009-12-10 00:40:53.000000000 +0100
@@ -1698,13 +1698,21 @@
}
static void
+append_dir (gpointer data, G_GNUC_UNUSED gpointer user_data)
+{
+ if (g_slist_find_custom (go_plugin_dirs, data, (GCompareFunc) strcmp))
+ g_free (data);
+ else
+ go_plugin_dirs = g_slist_append (go_plugin_dirs, data);
+}
+
+static void
go_plugins_set_dirs (GSList *plugin_dirs)
{
- if (go_plugin_dirs != plugin_dirs) {
- g_slist_foreach (go_plugin_dirs, (GFunc) g_free, NULL);
- g_slist_free (go_plugin_dirs);
- go_plugin_dirs = plugin_dirs;
- }
+ if (!go_plugin_dirs)
+ go_plugin_dirs = g_slist_prepend (NULL, go_plugins_get_plugin_dir ());
+ g_slist_foreach (plugin_dirs, append_dir, NULL);
+ g_slist_free (plugin_dirs);
}
/**
@@ -1731,8 +1739,6 @@
GOErrorInfo *error;
GSList *plugin_list;
- plugin_dirs = g_slist_append (plugin_dirs, go_plugins_get_plugin_dir ());
-
go_default_loader_type = default_loader_type;
go_plugins_set_dirs (plugin_dirs);
@@ -1818,8 +1824,6 @@
GOErrorInfo *error;
GSList *plugin_list;
- plugin_dirs = g_slist_append (plugin_dirs, go_plugins_get_plugin_dir ());
-
go_default_loader_type = default_loader_type;
go_plugins_set_dirs (plugin_dirs);
@@ -1928,6 +1932,12 @@
g_hash_table_destroy (available_plugins_id_hash);
go_slist_free_custom (available_plugins, g_object_unref);
+ if (go_plugin_dirs) {
+ g_slist_foreach (go_plugin_dirs, (GFunc) g_free, NULL);
+ g_slist_free (go_plugin_dirs);
+ go_plugin_dirs = NULL;
+ }
+
return used_plugin_state_strings;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/goffice-0.7.16/goffice/canvas/goc-canvas.c new/goffice-0.7.17/goffice/canvas/goc-canvas.c
--- old/goffice-0.7.16/goffice/canvas/goc-canvas.c 2009-10-13 01:25:13.000000000 +0200
+++ new/goffice-0.7.17/goffice/canvas/goc-canvas.c 2009-12-08 02:05:49.000000000 +0100
@@ -440,7 +440,8 @@
if (x1 > x0 && y1 > y0)
gtk_widget_queue_draw_area (GTK_WIDGET (canvas),
(int) floor (x0), (int) floor (y0),
- (int) ceil (x1), (int) ceil (y1));
+ (int) ceil (x1) - (int) floor (x0),
+ (int) ceil (y1) - (int) floor (y0));
}
/**
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/goffice-0.7.16/goffice/canvas/goc-graph.c new/goffice-0.7.17/goffice/canvas/goc-graph.c
--- old/goffice-0.7.16/goffice/canvas/goc-graph.c 2009-11-13 00:34:06.000000000 +0100
+++ new/goffice-0.7.17/goffice/canvas/goc-graph.c 2009-12-13 15:46:16.000000000 +0100
@@ -59,7 +59,7 @@
if (x == graph->x)
return;
graph->x = x;
- return;
+ break;
}
case GRAPH_PROP_Y: {
double y = g_value_get_double (value);
@@ -252,7 +252,6 @@
GogView *view;
char *buf = NULL, *s1 = NULL, *s2 = NULL;
GogObject *obj;
- GogTool *tool;
GogChart *chart;
GogViewAllocation alloc;
double xpos, ypos;
@@ -274,7 +273,7 @@
/* get the GogView at the cursor position */
g_object_get (G_OBJECT (graph->renderer), "view", &view, NULL);
- gog_view_get_view_at_point (view, x, y, &obj, &tool);
+ gog_view_get_view_at_point (view, x, y, &obj, NULL);
if (!obj)
goto tooltip;
chart = GOG_CHART (gog_object_get_parent_typed (obj, GOG_TYPE_CHART));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/goffice-0.7.16/goffice/canvas/goc-item.c new/goffice-0.7.17/goffice/canvas/goc-item.c
--- old/goffice-0.7.16/goffice/canvas/goc-item.c 2009-11-14 01:21:11.000000000 +0100
+++ new/goffice-0.7.17/goffice/canvas/goc-item.c 2009-12-08 02:05:49.000000000 +0100
@@ -520,10 +520,11 @@
g_return_if_fail (GOC_IS_ITEM (item));
if (item->cached_bounds) {
goc_item_invalidate (item);
- item->cached_bounds = FALSE;
+ do {
+ item->cached_bounds = FALSE;
+ item = GOC_ITEM (item->parent);
+ } while (item);
}
- if (item->parent)
- goc_item_bounds_changed (GOC_ITEM (item->parent));
}
/**
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/goffice-0.7.16/goffice/goffice.c new/goffice-0.7.17/goffice/goffice.c
--- old/goffice-0.7.16/goffice/goffice.c 2009-09-17 01:31:36.000000000 +0200
+++ new/goffice-0.7.17/goffice/goffice.c 2009-12-08 02:05:49.000000000 +0100
@@ -86,12 +86,11 @@
return libgoffice_lib_dir;
}
+static int initialized = 0;
void
libgoffice_init (void)
{
- static gboolean initialized = FALSE;
-
- if (initialized)
+ if (initialized++)
return;
#ifdef G_OS_WIN32
@@ -165,6 +164,8 @@
void
libgoffice_shutdown (void)
{
+ if (--initialized)
+ return;
_gog_themes_shutdown ();
_go_fonts_shutdown ();
_go_conf_shutdown ();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/goffice-0.7.16/goffice/goffice-features.h new/goffice-0.7.17/goffice/goffice-features.h
--- old/goffice-0.7.16/goffice/goffice-features.h 2009-11-19 02:59:16.000000000 +0100
+++ new/goffice-0.7.17/goffice/goffice-features.h 2009-11-29 19:59:50.000000000 +0100
@@ -35,7 +35,7 @@
/* #undef GOFFICE_SUPPLIED_STRTOLD */
/* The version number of this release, possibly with additional suffix */
-#define GOFFICE_VERSION "0.7.16"
+#define GOFFICE_VERSION "0.7.17"
/* The Epoch of this release */
#define GO_VERSION_EPOCH 0
@@ -44,7 +44,7 @@
#define GO_VERSION_MAJOR 7
/* The Minor version number of this release */
-#define GO_VERSION_MINOR 16
+#define GO_VERSION_MINOR 17
/* Extra, possibly empty tag for this release */
#define GO_VERSION_EXTRA ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/goffice-0.7.16/goffice/graph/gog-axis-line.c new/goffice-0.7.17/goffice/graph/gog-axis-line.c
--- old/goffice-0.7.16/goffice/graph/gog-axis-line.c 2009-09-06 01:52:09.000000000 +0200
+++ new/goffice-0.7.17/goffice/graph/gog-axis-line.c 2009-12-10 00:40:53.000000000 +0100
@@ -1819,22 +1819,28 @@
if (axis_type == GOG_AXIS_X) {
axes = gog_chart_get_axes (axis_base->chart, GOG_AXIS_Y);
axis1 = GOG_AXIS (axes->data);
+ g_slist_free (axes);
axes = gog_chart_get_axes (axis_base->chart, GOG_AXIS_Z);
axis2 = GOG_AXIS (axes->data);
+ g_slist_free (axes);
c_map = gog_chart_map_3d_new (axis_base->chart, plot_area,
axis_base->axis, axis1, axis2);
} else if (axis_type == GOG_AXIS_Y) {
axes = gog_chart_get_axes (axis_base->chart, GOG_AXIS_Z);
axis1 = GOG_AXIS (axes->data);
+ g_slist_free (axes);
axes = gog_chart_get_axes (axis_base->chart, GOG_AXIS_X);
axis2 = GOG_AXIS (axes->data);
+ g_slist_free (axes);
c_map = gog_chart_map_3d_new (axis_base->chart, plot_area,
axis2, axis_base->axis, axis1);
} else {
axes = gog_chart_get_axes (axis_base->chart, GOG_AXIS_X);
axis1 = GOG_AXIS (axes->data);
+ g_slist_free (axes);
axes = gog_chart_get_axes (axis_base->chart, GOG_AXIS_Y);
axis2 = GOG_AXIS (axes->data);
+ g_slist_free (axes);
c_map = gog_chart_map_3d_new (axis_base->chart, plot_area,
axis1, axis2, axis_base->axis);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/goffice-0.7.16/goffice/graph/gog-grid.c new/goffice-0.7.17/goffice/graph/gog-grid.c
--- old/goffice-0.7.16/goffice/graph/gog-grid.c 2009-09-06 01:52:09.000000000 +0200
+++ new/goffice-0.7.17/goffice/graph/gog-grid.c 2009-12-10 00:40:53.000000000 +0100
@@ -174,10 +174,13 @@
axes = gog_chart_get_axes (chart, GOG_AXIS_X);
xaxis = GOG_AXIS (axes->data);
+ g_slist_free (axes);
axes = gog_chart_get_axes (chart, GOG_AXIS_Y);
yaxis = GOG_AXIS (axes->data);
+ g_slist_free (axes);
axes = gog_chart_get_axes (chart, GOG_AXIS_Z);
zaxis = GOG_AXIS (axes->data);
+ g_slist_free (axes);
c_map = gog_chart_map_3d_new (chart, plot_area,
xaxis, yaxis, zaxis);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/goffice-0.7.16/goffice/graph/gog-grid-line.c new/goffice-0.7.17/goffice/graph/gog-grid-line.c
--- old/goffice-0.7.16/goffice/graph/gog-grid-line.c 2009-09-06 01:52:09.000000000 +0200
+++ new/goffice-0.7.17/goffice/graph/gog-grid-line.c 2009-12-10 00:40:53.000000000 +0100
@@ -267,22 +267,28 @@
if (axis_type == GOG_AXIS_X) {
axes = gog_chart_get_axes (chart, GOG_AXIS_Y);
axis1 = GOG_AXIS (axes->data);
+ g_slist_free (axes);
axes = gog_chart_get_axes (chart, GOG_AXIS_Z);
axis2 = GOG_AXIS (axes->data);
+ g_slist_free (axes);
c_map = gog_chart_map_3d_new (chart, plot_area,
axis, axis1, axis2);
} else if (axis_type == GOG_AXIS_Y) {
axes = gog_chart_get_axes (chart, GOG_AXIS_Z);
axis1 = GOG_AXIS (axes->data);
+ g_slist_free (axes);
axes = gog_chart_get_axes (chart, GOG_AXIS_X);
axis2 = GOG_AXIS (axes->data);
+ g_slist_free (axes);
c_map = gog_chart_map_3d_new (chart, plot_area,
axis2, axis, axis1);
} else {
axes = gog_chart_get_axes (chart, GOG_AXIS_X);
axis1 = GOG_AXIS (axes->data);
+ g_slist_free (axes);
axes = gog_chart_get_axes (chart, GOG_AXIS_Y);
axis2 = GOG_AXIS (axes->data);
+ g_slist_free (axes);
c_map = gog_chart_map_3d_new (chart, plot_area,
axis1, axis2, axis);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/goffice-0.7.16/goffice/graph/gog-object.h new/goffice-0.7.17/goffice/graph/gog-object.h
--- old/goffice-0.7.16/goffice/graph/gog-object.h 2009-10-11 15:24:23.000000000 +0200
+++ new/goffice-0.7.17/goffice/graph/gog-object.h 2009-11-30 03:20:27.000000000 +0100
@@ -49,7 +49,6 @@
union { /* allow people to tack some useful tidbits on the end */
int i;
- float f;
gpointer p;
} user;
};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/goffice-0.7.16/goffice/graph/gog-view.c new/goffice-0.7.17/goffice/graph/gog-view.c
--- old/goffice-0.7.16/goffice/graph/gog-view.c 2009-11-23 04:28:30.000000000 +0100
+++ new/goffice-0.7.17/goffice/graph/gog-view.c 2009-12-10 00:40:53.000000000 +0100
@@ -981,6 +981,7 @@
GogView *pointed_view;
GSList const *ptr;
GSList *list;
+ GogTool *current_tool;
g_return_val_if_fail (GOG_IS_VIEW (view), NULL);
@@ -995,11 +996,13 @@
}
g_slist_free (list);
- *tool = gog_view_get_tool_at_point (view, x, y, obj);
- if (*tool != NULL)
+ if ((current_tool = gog_view_get_tool_at_point (view, x, y, obj))) {
+ if (tool != NULL)
+ *tool = current_tool;
return view;
+ }
- if (*obj)
+ if (obj && *obj)
*obj = NULL;
return NULL;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/goffice-0.7.16/goffice/gtk/goffice-gtk.c new/goffice-0.7.17/goffice/gtk/goffice-gtk.c
--- old/goffice-0.7.16/goffice/gtk/goffice-gtk.c 2009-10-13 01:25:13.000000000 +0200
+++ new/goffice-0.7.17/goffice/gtk/goffice-gtk.c 2009-12-05 15:26:47.000000000 +0100
@@ -912,7 +912,7 @@
i, path, line);
continue;
}
- for (; *topic == ' '; ++topic);
+ for (; *topic == ' ' || *topic == '\t'; ++topic);
g_hash_table_insert (context_help_map, g_strdup (topic),
(gpointer)id);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/goffice-0.7.16/goffice/gtk/go-marker-selector.c new/goffice-0.7.17/goffice/gtk/go-marker-selector.c
--- old/goffice-0.7.16/goffice/gtk/go-marker-selector.c 2009-09-06 01:52:09.000000000 +0200
+++ new/goffice-0.7.17/goffice/gtk/go-marker-selector.c 2009-12-11 01:02:59.000000000 +0100
@@ -111,3 +111,20 @@
state->fill_color = fill;
go_selector_update_swatch (selector);
}
+
+/**
+ * go_marker_selector_set_shape:
+ * @selector: a #GOSelector
+ * @shape: new marker shape
+ *
+ * Updates marker shape of @selector.
+ **/
+void
+go_marker_selector_set_shape (GOSelector *selector, GOMarkerShape shape)
+{
+ g_return_if_fail (GO_IS_SELECTOR (selector));
+
+ go_selector_set_active (GO_SELECTOR (selector),
+ CLAMP (shape, 0, GO_MARKER_MAX - 1));
+ go_selector_update_swatch (selector);
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/goffice-0.7.16/goffice/gtk/go-marker-selector.h new/goffice-0.7.17/goffice/gtk/go-marker-selector.h
--- old/goffice-0.7.16/goffice/gtk/go-marker-selector.h 2009-09-06 01:52:09.000000000 +0200
+++ new/goffice-0.7.17/goffice/gtk/go-marker-selector.h 2009-12-11 01:02:59.000000000 +0100
@@ -31,6 +31,8 @@
void go_marker_selector_set_colors (GOSelector *selector,
GOColor outline,
GOColor fill);
+void go_marker_selector_set_shape (GOSelector *selector,
+ GOMarkerShape shape);
G_END_DECLS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/goffice-0.7.16/goffice/utils/go-style.c new/goffice-0.7.17/goffice/utils/go-style.c
--- old/goffice-0.7.16/goffice/utils/go-style.c 2009-11-19 02:58:28.000000000 +0100
+++ new/goffice-0.7.17/goffice/utils/go-style.c 2009-12-11 01:02:59.000000000 +0100
@@ -83,17 +83,17 @@
} image;
} fill;
struct {
+ GtkWidget *color;
+ } line;
+ struct {
GtkWidget *selector;
+ GtkWidget *fill;
+ GtkWidget *outline;
} marker;
GODoc *doc;
} StylePrefState;
static void
-cb_style_changed (GOStyledObject *obj, GOStyle *style, StylePrefState *state)
-{
-}
-
-static void
set_style (StylePrefState const *state)
{
if (state->object_with_style != NULL) {
@@ -219,7 +219,7 @@
"value_changed",
G_CALLBACK (cb_outline_size_changed), state);
/* Color */
- w = create_go_combo_color (state,
+ state->line.color = w = create_go_combo_color (state,
style->line.color, default_style->line.color,
state->gui,
"outline_color", "outline_color_label",
@@ -295,7 +295,7 @@
G_CALLBACK (cb_line_size_changed), state);
/* Colour */
- w = create_go_combo_color (state,
+ state->line.color = w = create_go_combo_color (state,
style->line.color, default_style->line.color,
state->gui,
"line_color", "line_color_label",
@@ -763,13 +763,13 @@
gtk_widget_show (selector);
if ((style->interesting_fields & GO_STYLE_MARKER_NO_COLOR ) == 0)
- w = create_go_combo_color (state,
+ state->marker.fill = w = create_go_combo_color (state,
go_marker_get_fill_color (style->marker.mark),
go_marker_get_fill_color (default_style->marker.mark),
gui, "pattern_background", "marker_fill_label",
G_CALLBACK (cb_marker_fill_color_changed));
else {
- w = create_go_combo_color (state,
+ state->marker.fill = w = create_go_combo_color (state,
GO_COLOR_BLUE, GO_COLOR_BLUE,
gui, "pattern_background", "marker_fill_label",
G_CALLBACK (cb_marker_fill_color_changed));
@@ -778,13 +778,13 @@
gtk_table_attach (GTK_TABLE (table), w, 1, 2, 1, 2, GTK_FILL, GTK_FILL, 0, 0);
if ((style->interesting_fields & GO_STYLE_MARKER_NO_COLOR ) == 0)
- w = create_go_combo_color (state,
+ state->marker.outline = w = create_go_combo_color (state,
go_marker_get_outline_color (style->marker.mark),
go_marker_get_outline_color (default_style->marker.mark),
gui, "pattern_foreground", "marker_outline_label",
G_CALLBACK (cb_marker_outline_color_changed));
else {
- w = create_go_combo_color (state,
+ state->marker.outline = w = create_go_combo_color (state,
GO_COLOR_BLUE, GO_COLOR_BLUE,
gui, "pattern_background", "marker_fill_label",
G_CALLBACK (cb_marker_outline_color_changed));
@@ -938,6 +938,57 @@
g_free (state);
}
+static void
+cb_style_changed (GOStyledObject *obj, GOStyle *style, StylePrefState *state)
+{
+ if (style->interesting_fields & GO_STYLE_FILL)
+ fill_update_selectors (state);
+ if (style->interesting_fields & GO_STYLE_LINE) {
+ g_signal_handlers_block_by_func (state->line.color, cb_line_color_changed,
+ (gpointer) state);
+ go_color_selector_set_color (GO_SELECTOR (state->line.color),
+ style->line.color);
+ g_signal_handlers_unblock_by_func (state->line.color, cb_line_color_changed,
+ (gpointer) state);
+ }
+ if (style->interesting_fields & GO_STYLE_OUTLINE) {
+ g_signal_handlers_block_by_func (state->line.color, cb_outline_color_changed,
+ (gpointer) state);
+ go_color_selector_set_color (GO_SELECTOR (state->line.color),
+ style->line.color);
+ g_signal_handlers_unblock_by_func (state->line.color, cb_outline_color_changed,
+ (gpointer) state);
+ }
+ if (style->interesting_fields & GO_STYLE_MARKER) {
+ g_signal_handlers_block_by_func (state->marker.selector, cb_marker_shape_changed,
+ (gpointer) state);
+ go_marker_selector_set_shape (GO_SELECTOR (state->marker.selector),
+ go_marker_get_shape (style->marker.mark));
+ if ((style->interesting_fields & GO_STYLE_MARKER_NO_COLOR )== 0)
+ go_marker_selector_set_colors (GO_SELECTOR (state->marker.selector),
+ go_marker_get_outline_color (style->marker.mark),
+ go_marker_get_fill_color (style->marker.mark));
+ else
+ go_marker_selector_set_colors (GO_SELECTOR (state->marker.selector),
+ GO_COLOR_BLUE, GO_COLOR_BLUE);
+ g_signal_handlers_unblock_by_func (state->marker.selector, cb_marker_shape_changed,
+ (gpointer) state);
+ g_signal_handlers_block_by_func (state->marker.fill, cb_marker_fill_color_changed,
+ (gpointer) state);
+ go_color_selector_set_color (GO_SELECTOR (state->marker.fill),
+ go_marker_get_fill_color (style->marker.mark));
+ g_signal_handlers_unblock_by_func (state->marker.fill, cb_marker_fill_color_changed,
+ (gpointer) state);
+ g_signal_handlers_block_by_func (state->marker.outline, cb_marker_outline_color_changed,
+ (gpointer) state);
+ go_color_selector_set_color (GO_SELECTOR (state->marker.outline),
+ go_marker_get_outline_color (style->marker.mark));
+ g_signal_handlers_unblock_by_func (state->marker.outline, cb_marker_outline_color_changed,
+ (gpointer) state);
+ }
+
+}
+
void
go_style_populate_editor (GOStyle *style,
GOEditor *editor,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/goffice-0.7.16/NEWS new/goffice-0.7.17/NEWS
--- old/goffice-0.7.16/NEWS 2009-11-29 17:09:01.000000000 +0100
+++ new/goffice-0.7.17/NEWS 2009-12-15 00:35:22.000000000 +0100
@@ -1,3 +1,16 @@
+goffice 0.7.17:
+
+Jean:
+ * Fixed a canvas performance issue. [#603813]
+ * Update property page when style changes after reordering. [#604229]
+
+Jody:
+ * Fix context sensitive help support on win32.
+
+Morten:
+ * Make GOCmdContext require less implementation.
+
+--------------------------------------------------------------------------
goffice 0.7.16:
Jean:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/goffice-0.7.16/plugins/plot_pie/gog-pie.c new/goffice-0.7.17/plugins/plot_pie/gog-pie.c
--- old/goffice-0.7.16/plugins/plot_pie/gog-pie.c 2009-11-19 02:58:28.000000000 +0100
+++ new/goffice-0.7.17/plugins/plot_pie/gog-pie.c 2009-12-03 02:08:24.000000000 +0100
@@ -53,7 +53,7 @@
switch (param_id) {
case ELEMENT_SEPARATION:
- pse->separation = g_value_get_float (value);
+ pse->separation = g_value_get_double (value);
break;
default: G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, param_id, pspec);
@@ -71,7 +71,7 @@
switch (param_id) {
case ELEMENT_SEPARATION:
- g_value_set_float (value, pse->separation);
+ g_value_set_double (value, pse->separation);
break;
default: G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, param_id, pspec);
break;
@@ -106,7 +106,7 @@
#endif
g_object_class_install_property (gobject_klass, ELEMENT_SEPARATION,
- g_param_spec_float ("separation",
+ g_param_spec_double ("separation",
_("Separation"),
_("Amount a slice is extended as a percentage of the radius"),
0, 1000, 0.,
@@ -193,10 +193,10 @@
switch (param_id) {
case PLOT_PROP_INITIAL_ANGLE:
- pie->initial_angle = g_value_get_float (value);
+ pie->initial_angle = g_value_get_double (value);
break;
case PLOT_PROP_DEFAULT_SEPARATION: {
- double f = g_value_get_float (value);
+ double f = g_value_get_double (value);
pie->default_separation = CLAMP (f, 0., 5.);
break;
}
@@ -204,7 +204,7 @@
pie->in_3d = g_value_get_boolean (value);
break;
case PLOT_PROP_SPAN:
- pie->span = g_value_get_float (value);
+ pie->span = g_value_get_double (value);
break;
case PLOT_PROP_SHOW_NEGS : {
GSList *ptr = GOG_PLOT (obj)->series;
@@ -234,16 +234,16 @@
switch (param_id) {
case PLOT_PROP_INITIAL_ANGLE:
- g_value_set_float (value, pie->initial_angle);
+ g_value_set_double (value, pie->initial_angle);
break;
case PLOT_PROP_DEFAULT_SEPARATION:
- g_value_set_float (value, pie->default_separation);
+ g_value_set_double (value, pie->default_separation);
break;
case PLOT_PROP_IN_3D:
g_value_set_boolean (value, pie->in_3d);
break;
case PLOT_PROP_SPAN:
- g_value_set_float (value, pie->span);
+ g_value_set_double (value, pie->span);
break;
case PLOT_PROP_SHOW_NEGS:
g_value_set_string (value, gog_show_neg_mode_as_str (pie->show_negatives));
@@ -301,13 +301,13 @@
gog_klass->view_type = gog_pie_view_get_type ();
g_object_class_install_property (gobject_klass, PLOT_PROP_INITIAL_ANGLE,
- g_param_spec_float ("initial-angle",
+ g_param_spec_double ("initial-angle",
_("Initial angle"),
_("Degrees clockwise from 12 O'Clock."),
0, G_MAXFLOAT, 0.,
GSF_PARAM_STATIC | G_PARAM_READWRITE | GO_PARAM_PERSISTENT));
g_object_class_install_property (gobject_klass, PLOT_PROP_DEFAULT_SEPARATION,
- g_param_spec_float ("default-separation",
+ g_param_spec_double ("default-separation",
_("Default separation"),
_("Default amount a slice is extended as a percentage of the radius"),
0, G_MAXFLOAT, 0.,
@@ -319,7 +319,7 @@
FALSE,
GSF_PARAM_STATIC | G_PARAM_READWRITE));
g_object_class_install_property (gobject_klass, PLOT_PROP_SPAN,
- g_param_spec_float ("span",
+ g_param_spec_double ("span",
_("Span"),
_("Total angle used as a percentage of the full circle"),
10., 100., 100.,
@@ -385,7 +385,7 @@
switch (param_id) {
case RING_PLOT_PROP_CENTER_SIZE:
- ring->center_size = g_value_get_float (value);
+ ring->center_size = g_value_get_double (value);
break;
default: G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, param_id, pspec);
@@ -405,7 +405,7 @@
switch (param_id) {
case RING_PLOT_PROP_CENTER_SIZE:
- g_value_set_float (value, ring->center_size);
+ g_value_set_double (value, ring->center_size);
break;
default: G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, param_id, pspec);
break;
@@ -451,7 +451,7 @@
#endif
g_object_class_install_property (gobject_klass, RING_PLOT_PROP_CENTER_SIZE,
- g_param_spec_float ("center-size",
+ g_param_spec_double ("center-size",
_("Center-size"),
_("Size of the center hole as a percentage of the radius"),
0, 100., 0.,
@@ -635,71 +635,238 @@
gog_pie_view_get_data_at_point (GogPlotView *view, double x, double y, GogSeries **series)
{
GogPiePlot const *model = GOG_PIE_PLOT (view->base.model);
- double r_max = view->base.allocation.h, cx, cy, r, h, theta, scale, *vals;
- unsigned int index;
+ GogPieSeries const *pseries = NULL;
+ double r_tot, r_cur, r_int, r_ext, cx, cy, r, th, th0, theta, scale, *vals;
+ double separated_cx, separated_cy;
+ unsigned int index, elem, k;
+ double center_radius;
double center_size = 0.0;
unsigned num_series = 0;
- double default_sep;
+ double default_sep, len;
+ double separation_max = 0., separation;
GSList *ptr;
+ double outline_width_max = 0.;
+ gboolean has_hole;
+ GogPieSeriesElement *gpse;
+ GList const *overrides;
+ GogShowNegsMode mode = model->show_negatives;
+ gboolean negative;
+ GOStyle *style;
+ *series = NULL;
/* compute number of valid series */
for (ptr = model->base.series ; ptr != NULL ; ptr = ptr->next) {
- *series = ptr->data;
if (!gog_series_is_valid (GOG_SERIES (ptr->data)))
continue;
+ pseries = ptr->data;
+ if ((style = go_styled_object_get_style (GO_STYLED_OBJECT (pseries))))
+ outline_width_max = MAX (outline_width_max, gog_renderer_line_size (view->base.renderer, style->line.width));
+ for (overrides = gog_series_get_overrides (GOG_SERIES (pseries));
+ overrides != NULL;
+ overrides = overrides->next) {
+ separation = GOG_PIE_SERIES_ELEMENT (overrides->data)->separation;
+ if (separation_max < separation)
+ separation_max = separation;
+ style = go_styled_object_get_style (GO_STYLED_OBJECT (overrides->data));
+ if (outline_width_max < style->line.width)
+ outline_width_max = style->line.width;
+ }
num_series++;
}
+ if (separation_max < -model->default_separation)
+ separation_max = -model->default_separation;
if (num_series <= 0)
return -1;
- if (r_max > view->base.allocation.w)
- r_max = view->base.allocation.w;
- r_max /= 2.;
- cx = view->base.allocation.x + view->base.allocation.w/2.;
- cy = view->base.allocation.y + view->base.allocation.h/2.;
+ if (GOG_IS_RING_PLOT (model))
+ center_size = GOG_RING_PLOT(model)->center_size;
+ else if (num_series > 1)
+ num_series = 1;
+ /* calculate things when span < 100. */
+ if (model->span < 100.) {
+ double xmin, xmax, ymin, ymax, ratio;
+ double begin, cur, end;
+ if (num_series == 1) {
+ pseries = model->base.series->data;
+ begin = (model->initial_angle + pseries->initial_angle) * M_PI / 180. - M_PI / 2.;
+ end = begin + model->span * M_PI / 50.;
+ } else {
+ /* WARNING: this code has not been checked */
+ ptr = model->base.series;
+ while (!gog_series_is_valid (GOG_SERIES (ptr->data)))
+ ptr = ptr->next;
+ pseries = ptr->data;
+ begin = end = pseries->initial_angle;
+ for (ptr = ptr->next; ptr != NULL; ptr = ptr->next) {
+ if (!gog_series_is_valid (GOG_SERIES (ptr->data)))
+ continue;
+ pseries = ptr->data;
+ cur = pseries->initial_angle;
+ if (cur < begin)
+ begin = cur;
+ if (cur > end)
+ end = cur;
+ }
+ begin = (model->initial_angle + begin) * M_PI / 180. - M_PI / 2.;
+ end = ((model->initial_angle + end) / 180. + model->span / 50.) * M_PI - M_PI / 2.;
+ }
+ cur = ceil (begin / M_PI * 2 - 1e-10) * M_PI / 2;
+ xmin = xmax = cos (begin);
+ ymin = ymax = sin (begin);
+ while (cur < end) {
+ cx = cos (cur);
+ cy = sin (cur);
+ if (cx > xmax)
+ xmax = cx;
+ if (cx < xmin)
+ xmin = cx;
+ if (cy > ymax)
+ ymax = cy;
+ if (cy < ymin)
+ ymin = cy;
+ cur += M_PI / 2;
+ }
+ cx = cos (end);
+ cy = sin (end);
+ if (cx > xmax)
+ xmax = cx;
+ if (cx < xmin)
+ xmin = cx;
+ if (cy > ymax)
+ ymax = cy;
+ if (cy < ymin)
+ ymin = cy;
+ /* we ensure that the center will be visible */
+ if (xmin > 0.)
+ xmin = 0.;
+ if (xmax < 0.)
+ xmax = 0.;
+ if (ymin > 0.)
+ ymin = 0.;
+ if (ymax < 0.)
+ ymax = 0.;
+ ratio = (ymax - ymin) / (xmax - xmin);
+ if (view->base.allocation.h > view->base.allocation.w * ratio) {
+ r_tot = view->base.allocation.w * MAX (xmax, -xmin) / (xmax - xmin);
+ cx = view->base.allocation.x - view->base.allocation.w * xmin / (xmax - xmin);
+ cy = view->base.allocation.y +
+ (view->base.allocation.h + view->base.allocation.w * ratio) / 2.
+ - view->base.allocation.w * ratio * ymax / (ymax - ymin);
+ } else {
+ r_tot = view->base.allocation.h * MAX (ymax, -ymin) / (ymax - ymin);
+ cx = view->base.allocation.x +
+ (view->base.allocation.w - view->base.allocation.h / ratio) / 2.
+ - view->base.allocation.h / ratio * xmin / (xmax - xmin);
+ cy = view->base.allocation.y - view->base.allocation.h * ymin / (ymax - ymin);
+ }
+ r_tot /= 1. + model->default_separation + separation_max;
+ } else {
+ /* centre things */
+ cx = view->base.allocation.x + view->base.allocation.w/2.;
+ cy = view->base.allocation.y + view->base.allocation.h/2.;
+
+ r_tot = view->base.allocation.h;
+ if (r_tot > view->base.allocation.w)
+ r_tot = view->base.allocation.w;
+ r_tot /= 2. * (1. + model->default_separation + separation_max);
+ }
+
r = hypot (x - cx, y - cy);
- if (r > r_max)
- return -1;
+ default_sep = r_tot * model->default_separation;
+ center_radius = r_tot * center_size;
+ r_cur = r_tot * (1. - center_size);
- if (GOG_IS_RING_PLOT (model))
- center_size = GOG_RING_PLOT(model)->center_size;
- /* FIXME: this is somewhat approximative, must be enhanced for ring plots with a slice separation */
- center_size *= r_max;
- if (r < center_size)
+ if (r < center_radius)
return -1;
- default_sep = r_max * model->default_separation;
- h = (r_max + default_sep - center_size) / num_series;
- index = floor ((r - center_size) / h);
+ elem = model->base.index_num;
+ index = 1;
+ th0 = (model->initial_angle + pseries->initial_angle) * M_PI / 180. - M_PI / 2.;
+ th = atan2 (y - cy, x - cx);
+ if (th < th0)
+ th += 2 * M_PI;
+
for (ptr = model->base.series ; ptr != NULL ; ptr = ptr->next) {
- *series = ptr->data;
- if (!gog_series_is_valid (GOG_SERIES (ptr->data)))
+ pseries = ptr->data;
+
+ if (!gog_series_is_valid (GOG_SERIES (pseries)))
continue;
- if (index-- == 0)
+ if (index > num_series) /* people snuck extra series into a pie */
break;
- }
- theta = (atan2 (y - cy, x - cx)
- * 180 / M_PI - model->initial_angle + 90.) / model->span / 3.6;
- if (theta < 0)
- theta += 1.;
- vals = go_data_get_values ((*series)->values[1].data);
- if (!vals)
- return -1;
- scale = 1 / GOG_PIE_SERIES (*series)->total;
- for (index = 0 ; index < (*series)->num_elements; index++) {
- r = vals[index] * scale;
- if (r < 0.)
- r = model->show_negatives? -r: 0.;
- if (go_finite (r) && r > 1e-3) {
- theta -= r;
- if (theta < 0)
- break;
+ if (num_series == index)
+ r_cur -= outline_width_max / 2.0;
+ has_hole = center_radius > 0. || index > 1;
+ r_int = (has_hole)? (center_radius + r_cur * ((double) index - 1.0) / (double) num_series): 0.;
+ r_ext = center_radius + r_cur * (double) index / (double) num_series;
+
+ theta = th0;
+
+ scale = 2 * M_PI / 100 * model->span / pseries->total;
+ vals = go_data_get_values (pseries->base.values[1].data);
+
+ overrides = gog_series_get_overrides (GOG_SERIES (pseries));
+
+ for (k = 0 ; k < pseries->base.num_elements; k++) {
+ len = vals[k] * scale;
+ negative = len < 0;
+ if (negative) {
+ if (mode == GOG_SHOW_NEGS_SKIP) {
+ if ((overrides != NULL) &&
+ (GOG_SERIES_ELEMENT (overrides->data)->index == k))
+ overrides = overrides->next;
+ continue;
+ }
+ len = -len;
+ }
+ if (!go_finite (len) || len < 1e-3) {
+ if ((overrides != NULL) &&
+ (GOG_SERIES_ELEMENT (overrides->data)->index == k))
+ overrides = overrides->next;
+ continue;
+ }
+
+ gpse = NULL;
+ if ((overrides != NULL) &&
+ (GOG_SERIES_ELEMENT (overrides->data)->index == k)) {
+ gpse = GOG_PIE_SERIES_ELEMENT (overrides->data);
+ overrides = overrides->next;
+ }
+
+ /* only separate the outer ring */
+ separated_cx = cx;
+ separated_cy = cy;
+ if (num_series == index && (default_sep > 0. || gpse != NULL)) {
+
+ separation = default_sep;
+
+ if (gpse != NULL)
+ separation += gpse->separation * r_tot;
+
+ separated_cx += separation * cos (theta + len/2.);
+ separated_cy += separation * sin (theta + len/2.);
+ r = hypot (x - separated_cx, y - separated_cy);
+ th = atan2 (y - separated_cy, x - separated_cx);
+ if (th < th0)
+ th += 2 * M_PI;
+ }
+ theta += len;
+ if (r > r_int && r <= r_ext && th > theta - len && th <= theta) {
+ *series = GOG_SERIES (pseries);
+ return k;
+ }
+ if (gpse) {
+ r = hypot (x - cx, y - cy);
+ th = atan2 (y - cy, x - cx);
+ if (th < th0)
+ th += 2 * M_PI;
+ }
}
+ index ++;
}
- return (int) index;
+ return -1;
}
#define MAX_ARC_SEGMENTS 64
@@ -1040,10 +1207,10 @@
switch (param_id) {
case SERIES_PROP_INITIAL_ANGLE:
- pie->initial_angle = g_value_get_float (value);
+ pie->initial_angle = g_value_get_double (value);
break;
case SERIES_PROP_SEPARATION:
- pie->separation = g_value_get_float (value);
+ pie->separation = g_value_get_double (value);
break;
default: G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, param_id, pspec);
return; /* NOTE : RETURN */
@@ -1061,10 +1228,10 @@
switch (param_id) {
case SERIES_PROP_INITIAL_ANGLE:
- g_value_set_float (value, pie->initial_angle);
+ g_value_set_double (value, pie->initial_angle);
break;
case SERIES_PROP_SEPARATION:
- g_value_set_float (value, pie->separation);
+ g_value_set_double (value, pie->separation);
break;
default: G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, param_id, pspec);
break;
@@ -1119,13 +1286,13 @@
gobject_klass->get_property = gog_pie_series_get_property;
g_object_class_install_property (gobject_klass, SERIES_PROP_INITIAL_ANGLE,
- g_param_spec_float ("initial-angle",
+ g_param_spec_double ("initial-angle",
_("Initial-angle"),
_("Degrees clockwise from 12 O'Clock"),
0, G_MAXFLOAT, 0.,
GSF_PARAM_STATIC | G_PARAM_READWRITE));
g_object_class_install_property (gobject_klass, SERIES_PROP_SEPARATION,
- g_param_spec_float ("separation",
+ g_param_spec_double ("separation",
_("Separation"),
_("Default amount a slice is extended as a percentage of the radius"),
0, G_MAXFLOAT, 0.,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/goffice-0.7.16/plugins/plot_pie/gog-pie-prefs.c new/goffice-0.7.17/plugins/plot_pie/gog-pie-prefs.c
--- old/goffice-0.7.16/plugins/plot_pie/gog-pie-prefs.c 2009-11-07 01:16:38.000000000 +0100
+++ new/goffice-0.7.17/plugins/plot_pie/gog-pie-prefs.c 2009-11-30 03:25:39.000000000 +0100
@@ -141,9 +141,8 @@
static void
cb_update_editor (GogPiePlot *pie, PiePrefState *state)
{
- gfloat value;
-
if (state->separation_spinner != NULL) {
+ double value;
g_object_get (G_OBJECT (pie), "default-separation", &value, NULL);
gtk_spin_button_set_value (GTK_SPIN_BUTTON (state->separation_spinner), value * 100.0);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/goffice-0.7.16/plugins/plot_xy/gog-xy.c new/goffice-0.7.17/plugins/plot_xy/gog-xy.c
--- old/goffice-0.7.16/plugins/plot_xy/gog-xy.c 2009-11-26 14:39:46.000000000 +0100
+++ new/goffice-0.7.17/plugins/plot_xy/gog-xy.c 2009-11-30 03:26:06.000000000 +0100
@@ -457,7 +457,7 @@
bubble->in_3d = g_value_get_boolean (value);
break;
case GOG_BUBBLE_PROP_SCALE :
- bubble->bubble_scale = g_value_get_float (value);
+ bubble->bubble_scale = g_value_get_double (value);
break;
default: G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, param_id, pspec);
@@ -486,7 +486,7 @@
g_value_set_boolean (value, bubble->in_3d);
break;
case GOG_BUBBLE_PROP_SCALE :
- g_value_set_float (value, bubble->bubble_scale);
+ g_value_set_double (value, bubble->bubble_scale);
break;
default: G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, param_id, pspec);
break;
@@ -530,7 +530,7 @@
FALSE,
GSF_PARAM_STATIC | G_PARAM_READWRITE | GO_PARAM_PERSISTENT));
g_object_class_install_property (gobject_klass, GOG_BUBBLE_PROP_SCALE,
- g_param_spec_float ("bubble-scale",
+ g_param_spec_double ("bubble-scale",
_("Bubble scale"),
_("Fraction of default radius used for display"),
0., 3., 1.,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/goffice-0.7.16/po/ChangeLog new/goffice-0.7.17/po/ChangeLog
--- old/goffice-0.7.16/po/ChangeLog 2009-11-29 17:10:51.000000000 +0100
+++ new/goffice-0.7.17/po/ChangeLog 2009-12-16 02:17:27.000000000 +0100
@@ -1,3 +1,7 @@
+2009-12-15 Morten Welinder
+
+ * Release 0.7.17
+
2009-11-29 Morten Welinder
* Release 0.7.16
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/goffice-0.7.16/po/es.po new/goffice-0.7.17/po/es.po
--- old/goffice-0.7.16/po/es.po 2009-11-16 05:18:35.000000000 +0100
+++ new/goffice-0.7.17/po/es.po 2009-12-15 00:35:14.000000000 +0100
@@ -20,8 +20,8 @@
"Project-Id-Version: goffice.HEAD\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
"product=libgoffice&component=general\n"
-"POT-Creation-Date: 2009-11-13 14:07+0000\n"
-"PO-Revision-Date: 2009-11-15 12:44+0100\n"
+"POT-Creation-Date: 2009-11-29 16:40+0000\n"
+"PO-Revision-Date: 2009-12-12 12:28+0100\n"
"Last-Translator: Jorge González \n"
"Language-Team: Español \n"
"MIME-Version: 1.0\n"
@@ -215,7 +215,6 @@
#: ../goffice/app/go-plugin-loader.c:107 ../goffice/app/go-plugin-loader.c:145
#, c-format
-#| msgid "Service '%s' not supported by l."
msgid "Service '%s' not supported by loader."
msgstr "El cargador no soporta el servicio «%s»."
@@ -1346,6 +1345,12 @@
msgid "Number of rows in graph grid"
msgstr "Número de filas en la rejilla de gráfico"
+#. Note for translators: first string represent the new child object and second string is the parent object
+#: ../goffice/graph/gog-child-button.c:501
+#, c-format
+msgid "%s to %s"
+msgstr "de %s a %s"
+
#: ../goffice/graph/gog-equation-prefs.ui.h:1
msgid "_Compact mode"
msgstr "Modo _compacto"
@@ -4976,7 +4981,7 @@
#: ../plugins/plot_barcol/gog-1.5d.c:349
#: ../plugins/plot_distrib/gog-boxplot.c:393
#: ../plugins/plot_distrib/gog-histogram.c:190
-#: ../plugins/plot_distrib/gog-probability-plot.c:263
+#: ../plugins/plot_distrib/gog-probability-plot.c:276
#: ../plugins/plot_pie/gog-pie.c:338 ../plugins/plot_radar/gog-radar.c:321
#: ../tests/go-demo.ui.h:35
msgid "Values"
@@ -5001,8 +5006,8 @@
msgstr "Líneas"
#: ../plugins/plot_barcol/gog-1.5d.c:642
-#: ../plugins/plot_radar/gog-radar.c:1148
-#: ../plugins/plot_radar/gog-radar.c:1273 ../plugins/plot_xy/gog-xy.c:1859
+#: ../plugins/plot_radar/gog-radar.c:1253
+#: ../plugins/plot_radar/gog-radar.c:1379 ../plugins/plot_xy/gog-xy.c:1859
#: ../plugins/plot_xy/gog-xy.c:1865
msgid "GogErrorBar *"
msgstr "Barra de error Gog *"
@@ -5477,39 +5482,39 @@
msgstr "Límites"
#: ../plugins/plot_distrib/gog-probability-plot.c:63
-#: ../plugins/plot_distrib/gog-probability-plot.c:240
+#: ../plugins/plot_distrib/gog-probability-plot.c:253
msgid "Distribution"
msgstr "Distribución"
#. xgettext : the base for how to name probability-plot objects
#. * eg The 2nd probability-plot in a chart will be called
#. * ProbabilityPlot2
-#: ../plugins/plot_distrib/gog-probability-plot.c:120
+#: ../plugins/plot_distrib/gog-probability-plot.c:133
#: ../plugins/plot_distrib/plot-types.xml.in.h:8
msgid "ProbabilityPlot"
msgstr "Gráfica de probabilidad"
-#: ../plugins/plot_distrib/gog-probability-plot.c:241
+#: ../plugins/plot_distrib/gog-probability-plot.c:254
msgid "A pointer to the GODistribution used by this plot"
msgstr "Un puntero a la GODistribution usada en esta gráfica"
-#: ../plugins/plot_distrib/gog-probability-plot.c:246
+#: ../plugins/plot_distrib/gog-probability-plot.c:259
msgid "Shape parameter"
msgstr "Parámetro de forma"
-#: ../plugins/plot_distrib/gog-probability-plot.c:247
+#: ../plugins/plot_distrib/gog-probability-plot.c:260
msgid "Name of the first shape parameter if any"
msgstr "Nombre del primer parámetro de forma si existe"
-#: ../plugins/plot_distrib/gog-probability-plot.c:252
+#: ../plugins/plot_distrib/gog-probability-plot.c:265
msgid "Second shape parameter"
msgstr "Segundo parámetro de forma"
-#: ../plugins/plot_distrib/gog-probability-plot.c:253
+#: ../plugins/plot_distrib/gog-probability-plot.c:266
msgid "Name of the second shape parameter if any"
msgstr "Nombre del segundo parámetro de forma si existe"
-#: ../plugins/plot_distrib/gog-probability-plot.c:566
+#: ../plugins/plot_distrib/gog-probability-plot.c:583
msgid "Regression line"
msgstr "Línea de regresión"
@@ -5845,17 +5850,17 @@
msgid "Z"
msgstr "Z"
-#: ../plugins/plot_radar/gog-radar.c:1114
-#: ../plugins/plot_radar/gog-radar.c:1147
+#: ../plugins/plot_radar/gog-radar.c:1219
+#: ../plugins/plot_radar/gog-radar.c:1252
msgid "Radial error bars"
msgstr "Barras de error de radiales"
-#: ../plugins/plot_radar/gog-radar.c:1122
+#: ../plugins/plot_radar/gog-radar.c:1227
msgid "Radial drop lines"
msgstr "Líneas deslizantes radiales"
-#: ../plugins/plot_radar/gog-radar.c:1229
-#: ../plugins/plot_radar/gog-radar.c:1272
+#: ../plugins/plot_radar/gog-radar.c:1335
+#: ../plugins/plot_radar/gog-radar.c:1378
msgid "Angular error bars"
msgstr "Barras de error angulares"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/goffice-0.7.16/tools/ChangeLog new/goffice-0.7.17/tools/ChangeLog
--- old/goffice-0.7.16/tools/ChangeLog 2009-11-29 17:10:51.000000000 +0100
+++ new/goffice-0.7.17/tools/ChangeLog 2009-12-16 02:17:27.000000000 +0100
@@ -1,3 +1,7 @@
+2009-12-15 Morten Welinder
+
+ * Release 0.7.17
+
2009-11-29 Morten Welinder
* Release 0.7.16
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org