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

0001 /*
0002    Copyright (C) 2010-2016 by Adam Pigg (adam@piggz.co.uk)
0003    Copyright (C) 2011 by Radoslaw Wicik (radoslaw@wicik.pl)
0004 
0005    This library is free software; you can redistribute it and/or
0006    modify it under the terms of the GNU Library General Public
0007    License as published by the Free Software Foundation; either
0008    version 2.1 of the License, or (at your option) any later version.
0009 
0010    This library is distributed in the hope that it will be useful,
0011    but WITHOUT ANY WARRANTY; without even the implied warranty of
0012    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0013    Library General Public License for more details.
0014 
0015    You should have received a copy of the GNU Library General Public License
0016    along with this library; see the file COPYING.LIB.  If not, write to
0017    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
0018    Boston, MA 02110-1301, USA.
0019 */
0020 
0021 #include "KReportMapsPlugin.h"
0022 #include "KReportItemMaps.h"
0023 #include "KReportDesignerItemMaps.h"
0024 #include <KReportPluginInterface.h>
0025 #ifdef KREPORT_SCRIPTING
0026 #include "KReportScriptMaps.h"
0027 #endif
0028 #include "kreport_debug.h"
0029 
0030 
0031 K_PLUGIN_CLASS_WITH_JSON(KReportMapsPlugin, "kreport_mapsplugin.json")
0032 
0033 KReportMapsPlugin::KReportMapsPlugin(QObject *parent, const QVariantList &args) : KReportPluginInterface(parent)
0034 {
0035     Q_UNUSED(args)
0036 }
0037 
0038 KReportMapsPlugin::~KReportMapsPlugin()
0039 {
0040 }
0041 
0042 QObject* KReportMapsPlugin::createRendererInstance(const QDomNode& element)
0043 {
0044     return new KReportItemMaps(element);
0045 }
0046 
0047 QObject* KReportMapsPlugin::createDesignerInstance(const QDomNode& element, KReportDesigner* designer, QGraphicsScene* scene)
0048 {
0049     return new KReportDesignerItemMaps(element, designer, scene);
0050 }
0051 
0052 QObject* KReportMapsPlugin::createDesignerInstance(KReportDesigner* designer, QGraphicsScene* scene, const QPointF& pos)
0053 {
0054     //kreportpluginDebug() << "KReport maps init";
0055     return new KReportDesignerItemMaps(designer, scene, pos);
0056 }
0057 
0058 #ifdef KREPORT_SCRIPTING
0059 QObject* KReportMapsPlugin::createScriptInstance(KReportItemBase* item)
0060 {
0061     KReportItemMaps *map = qobject_cast<KReportItemMaps*>(item);
0062     if (map) {
0063         return new Scripting::Maps(map);
0064     }
0065     return nullptr;
0066 }
0067 #endif
0068 
0069 #include "KReportMapsPlugin.moc"