Group :: Office
RPM: abiword
Main Changelog Spec Patches Sources Download Gear Bugs and FR Repocop
Patch: abiword-2.4.1-gochart.patch
Download
Download
diff -Nur abiword-2.4.1~/abiword-plugins/tools/abigochart/unix/AbiGOChart.cpp abiword-2.4.1/abiword-plugins/tools/abigochart/unix/AbiGOChart.cpp
--- abiword-2.4.1~/abiword-plugins/tools/abigochart/unix/AbiGOChart.cpp 2005-09-06 17:56:27 +0300
+++ abiword-2.4.1/abiword-plugins/tools/abigochart/unix/AbiGOChart.cpp 2005-11-19 18:56:37 +0200
@@ -78,6 +78,8 @@
#include <goffice/graph/gog-renderer-gnome-print.h>
#include <goffice/utils/go-format.h>
#include <gsf/gsf-impl-utils.h>
+#include <gsf/gsf-output-memory.h>
+#include <gsf/gsf-libxml.h>
#include "ut_sleep.h"
#include <sys/types.h>
@@ -759,15 +761,14 @@
{
g_return_if_fail (IS_GOG_GRAPH (graph));
AbiControlGUI *acg = ABI_CONTROL_GUI (data);
- xmlDocPtr pDoc = xmlNewDoc ((xmlChar const*)"1.0");
- xmlChar *mem;
- int size;
AbiGO_LocaleTransactor tn(LC_NUMERIC, "C");
AbiGO_LocaleTransactor tm(LC_MONETARY, "C");
- pDoc->children = gog_object_write_xml (GOG_OBJECT (graph), pDoc);
- xmlDocDumpMemory (pDoc, &mem, &size);
+ GsfOutput* output = gsf_output_memory_new ();
+ GsfXMLOut* xml = gsf_xml_out_new (output);
+ gog_object_write_xml_sax(GOG_OBJECT (graph), xml);
+ UT_Byte const *bytes = gsf_output_memory_get_bytes (GSF_OUTPUT_MEMORY (output));
UT_ByteBuf myByteBuf;
- myByteBuf.append((UT_Byte*)mem, size);
+ myByteBuf.append(bytes, strlen ((char const*) bytes));
XAP_Frame *pFrame = XAP_App::getApp()->getLastFocussedFrame();
FV_View* pView = static_cast<FV_View*>(pFrame->getCurrentView());
@@ -776,8 +777,8 @@
UT_DEBUGMSG(("Doing Embed Update from GOG callback \n"));
pView->cmdUpdateEmbed(&myByteBuf,mimetypeGOChart,szProps);
- xmlFree (mem);
- xmlFreeDoc (pDoc);
+ g_object_unref (xml);
+ g_object_unref (output);
g_object_unref (acg);
}
@@ -798,18 +799,17 @@
GogGraph *graph = (GogGraph *) g_object_new (GOG_GRAPH_TYPE, NULL);
/* by default, create one chart and add it to the graph */
gog_object_add_by_name (GOG_OBJECT (graph), "Chart", NULL);
- xmlDocPtr xml = xmlNewDoc ((xmlChar const*)"1.0");
- xmlChar *mem;
- int size;
+ GsfOutput* output = gsf_output_memory_new ();
+ GsfXMLOut* xml = gsf_xml_out_new (output);
{
AbiGO_LocaleTransactor tn(LC_NUMERIC, "C");
AbiGO_LocaleTransactor tm(LC_NUMERIC, "C");
- xml->children = gog_object_write_xml (GOG_OBJECT (graph), xml);
+ gog_object_write_xml_sax (GOG_OBJECT (graph), xml);
}
- xmlDocDumpMemory (xml, &mem, &size);
- myByteBuf.append((UT_Byte*)mem, size);
- xmlFree (mem);
- xmlFreeDoc (xml);
+ UT_Byte const *bytes = gsf_output_memory_get_bytes (GSF_OUTPUT_MEMORY (output));
+ myByteBuf.append(bytes, strlen ((char const*) bytes));
+ g_object_unref (xml);
+ g_object_unref (output);
const char* mimetypeGOChart = "application/x-goffice-graph";
const char * szProps="embed-type: GOChart; width:2.5in; height:2.5in";
@@ -1118,7 +1118,6 @@
// too).
//
y = pUGG->scale_ydir(y);
- printf("print chart - x %d,y %d,width %d,height %d \n",x,y,myWidth,myHeight);
gnome_print_gsave (ctx);
gnome_print_translate (ctx, x, y+myHeight);
@@ -1127,13 +1126,20 @@
}
else
{
- GdkPixbuf *pixbuf;
- if (rec.height != height || rec.width != width || (height == 0) || (width == 0))
+ GR_Graphics *pUGG = m_pGOMan->getGraphics();
+ UT_sint32 _width = pUGG->tdu(rec.width);
+ UT_sint32 _height = pUGG->tdu(rec.height);
+ UT_sint32 x = pUGG->tdu(rec.left);
+ UT_sint32 y = pUGG->tdu(rec.top);
+ double zoom = (double) pUGG->getZoomPercentage () / 100.;
+ if (_width != width || _height != height)
{
GdkPixbuf *pixbuf;
- width = rec.width;
- height = rec.height;
- gog_renderer_pixbuf_update (GOG_RENDERER_PIXBUF (m_Renderer), width, height, 1.0);
+ width = _width;
+ height = _height;
+ _width = (UT_sint32) ((double) width * zoom);
+ _height = (UT_sint32) ((double) height * zoom);
+ gog_renderer_pixbuf_update (GOG_RENDERER_PIXBUF (m_Renderer), _width, _height, zoom);
if (m_Image)
delete m_Image;
gsize length;
@@ -1212,7 +1218,9 @@
XAP_App * pApp = XAP_App::getApp();
pGOChartManager = new GR_GOChartManager(NULL);
GOChartManagerUID = pApp->registerEmbeddable(pGOChartManager);
- UT_DEBUGMSG(("Class %x created! Listener Id %d \n", GOChartManagerUID));
+ // the message below makes valgrind scream because there is only one parameter where
+ // 2 are expected. disabled.
+ xxx_UT_DEBUGMSG(("Class %x created! Listener Id %d \n", GOChartManagerUID));
// Add to AbiWord's menus.
AbiGOChart_addToMenus();
/* Initialize libgoffice */
diff -Nur abiword-2.4.1~/abiword-plugins/tools/abigochart/unix/CVS/Entries abiword-2.4.1/abiword-plugins/tools/abigochart/unix/CVS/Entries
--- abiword-2.4.1~/abiword-plugins/tools/abigochart/unix/CVS/Entries 1970-01-01 03:00:00 +0300
+++ abiword-2.4.1/abiword-plugins/tools/abigochart/unix/CVS/Entries 2005-11-23 20:51:15 +0200
@@ -0,0 +1,6 @@
+/AbiGOChart.cpp/1.20/Sat Nov 19 16:56:37 2005//
+/AbiGOChart.h/1.6/Fri Jun 10 13:13:38 2005//
+/GNUmakefile.am/1.2/Tue May 3 15:32:14 2005//
+/ie_imp_GOChart.cpp/1.5/Thu Nov 17 11:07:16 2005//
+/ie_imp_GOChart.h/1.2/Fri Jun 10 13:13:38 2005//
+D
diff -Nur abiword-2.4.1~/abiword-plugins/tools/abigochart/unix/CVS/Repository abiword-2.4.1/abiword-plugins/tools/abigochart/unix/CVS/Repository
--- abiword-2.4.1~/abiword-plugins/tools/abigochart/unix/CVS/Repository 1970-01-01 03:00:00 +0300
+++ abiword-2.4.1/abiword-plugins/tools/abigochart/unix/CVS/Repository 2005-11-23 20:51:15 +0200
@@ -0,0 +1 @@
+abiword-plugins/tools/abigochart/unix
diff -Nur abiword-2.4.1~/abiword-plugins/tools/abigochart/unix/CVS/Root abiword-2.4.1/abiword-plugins/tools/abigochart/unix/CVS/Root
--- abiword-2.4.1~/abiword-plugins/tools/abigochart/unix/CVS/Root 1970-01-01 03:00:00 +0300
+++ abiword-2.4.1/abiword-plugins/tools/abigochart/unix/CVS/Root 2005-11-23 20:51:15 +0200
@@ -0,0 +1 @@
+:pserver:anoncvs@anoncvs.abisource.com:/cvsroot
diff -Nur abiword-2.4.1~/abiword-plugins/tools/abigochart/unix/ie_imp_GOChart.cpp abiword-2.4.1/abiword-plugins/tools/abigochart/unix/ie_imp_GOChart.cpp
--- abiword-2.4.1~/abiword-plugins/tools/abigochart/unix/ie_imp_GOChart.cpp 2005-06-27 08:56:00 +0300
+++ abiword-2.4.1/abiword-plugins/tools/abigochart/unix/ie_imp_GOChart.cpp 2005-11-17 13:07:16 +0200
@@ -76,7 +76,7 @@
UT_Confidence_t IE_Imp_Object_Sniffer::recognizeContents(const char * szBuf,
UT_uint32 iNumbytes)
{
- char * magic1 = "<?xml version=\"1.0\"?>";
+ char * magic1 = "<?xml version=\"1.0\"";
char * magic2 = "<GogObject type=\"GogGraph\">";
xxx_UT_DEBUGMSG(("magic1 = %s \n",magic1));