File indexing completed on 2024-05-12 04:43:20

0001 /* This file is part of the KDE project
0002    Copyright (C) 2010 by Adam Pigg (adam@piggz.co.uk)
0003 
0004    This library is free software; you can redistribute it and/or
0005    modify it under the terms of the GNU Library General Public
0006    License as published by the Free Software Foundation; either
0007    version 2.1 of the License, or (at your option) any later version.
0008 
0009    This library is distributed in the hope that it will be useful,
0010    but WITHOUT ANY WARRANTY; without even the implied warranty of
0011    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0012    Library General Public License for more details.
0013 
0014    You should have received a copy of the GNU Library General Public License
0015    along with this library; see the file COPYING.LIB.  If not, write to
0016    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
0017    Boston, MA 02110-1301, USA.
0018 */
0019 
0020 #include "KReportChartPlugin.h"
0021 #include "KReportItemChart.h"
0022 #include "KReportDesignerItemChart.h"
0023 #include "KReportPluginInfo.h"
0024 #ifdef KREPORT_SCRIPTING
0025 #include "krscriptchart.h"
0026 #endif
0027 
0028 #include <KoIcon.h>
0029 
0030 K_EXPORT_KOREPORT_ITEMPLUGIN(KoReportChartPlugin, chartplugin)
0031 
0032 KReportChartPlugin::KReportChartPlugin(QObject *parent, const QVariantList &args) : KReportPluginInterface(parent)
0033 {
0034     Q_UNUSED(args);
0035 
0036     KoReportPluginInfo *info = new KoReportPluginInfo();
0037     info->setClassName("chart");
0038     info->setIcon(koIcon("office-chart-area"));
0039     info->setName(tr("Chart"));
0040     setInfo(info);
0041 }
0042 
0043 KReportChartPlugin::~KReportChartPlugin()
0044 {
0045 
0046 }
0047 
0048 QObject* KReportChartPlugin::createRendererInstance(const QDomNode& element)
0049 {
0050     return new KReportItemChart(element);
0051 }
0052 
0053 QObject* KReportChartPlugin::createDesignerInstance(const QDomNode& element, KoReportDesigner* designer, QGraphicsScene* scene)
0054 {
0055     return new KReportDesignerItemChart(element, designer, scene);
0056 }
0057 
0058 QObject* KReportChartPlugin::createDesignerInstance(KoReportDesigner* designer, QGraphicsScene* scene, const QPointF& pos)
0059 {
0060     return new KReportDesignerItemChart(designer, scene, pos);
0061 }
0062 
0063 #ifdef KREPORT_SCRIPTING
0064 QObject* KoReportChartPlugin::createScriptInstance(KReportItemBase* item)
0065 {
0066     KoReportItemChart *chart = dynamic_cast<KoReportItemChart*>(item);
0067     if (chart) {
0068         return new Scripting::Chart(chart);
0069     }
0070     return 0;
0071 }
0072 #endif