23#include <tdemessagebox.h>
25#include <KoFilterChain.h>
28#include <kgenericfactory.h>
30#include "kchart_part.h"
35typedef KGenericFactory<SvgExport, KoFilter> SvgExportFactory;
36K_EXPORT_COMPONENT_FACTORY( libkchartsvgexport, SvgExportFactory( "svgexport" ) )
38SvgExport::SvgExport(KoFilter *, const char *, const TQStringList&)
43SvgExport::~SvgExport()
48KoFilter::ConversionStatus
49SvgExport::convert( const TQCString& from, const TQCString& to)
52 if ( from != "application/x-kchart" || to != "image/svg+xml" )
53 return KoFilter::NotImplemented;
56 KoStoreDevice* storeIn = m_chain->storageFile( "root", KoStore::Read );
58 KMessageBox::error( 0, i18n( "Failed to read data." ),
59 i18n( "SVG Export Error" ) );
60 return KoFilter::FileNotFound;
65 domIn.setContent( storeIn );
66 TQDomElement docNode = domIn.documentElement();
69 KChart::KChartPart kchartDoc;
70 if ( !kchartDoc.loadXML(0, domIn) ) {
71 KMessageBox::error( 0, i18n( "Malformed XML data." ),
72 i18n( "SVG Export Error" ) );
73 return KoFilter::WrongFormat;
78 TQPainter painter(&picture);
79 TQRect rect(TQPoint(0, 0), TQPoint(500, 400));
80 kchartDoc.paintContent(painter, rect, false);
84 if ( !picture.save( m_chain->outputFile(), "SVG" ) ) {
85 KMessageBox::error( 0, i18n( "Failed to write file." ),
86 i18n( "SVG Export Error" ) );
93#include <svgexport.moc>
|