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

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 "KReportBarcodePlugin.h"
0021 #include "KReportItemBarcode.h"
0022 #include "KReportDesignerItemBarcode.h"
0023 #include "KReportPluginMetaData.h"
0024 #ifdef KREPORT_SCRIPTING
0025 #include "KReportScriptBarcode.h"
0026 #endif
0027 
0028 
0029 K_PLUGIN_CLASS_WITH_JSON(KReportBarcodePlugin, "kreport_barcodeplugin.json")
0030 
0031 KReportBarcodePlugin::KReportBarcodePlugin(QObject *parent, const QVariantList &args)
0032     : KReportPluginInterface(parent, args)
0033 {
0034 }
0035 
0036 KReportBarcodePlugin::~KReportBarcodePlugin()
0037 {
0038 }
0039 
0040 QObject* KReportBarcodePlugin::createRendererInstance(const QDomNode& element)
0041 {
0042     return new KReportItemBarcode(element);
0043 }
0044 
0045 QObject* KReportBarcodePlugin::createDesignerInstance(const QDomNode& element, KReportDesigner* designer , QGraphicsScene* scene)
0046 {
0047     return new KReportDesignerItemBarcode(element, designer, scene);
0048 }
0049 
0050 QObject* KReportBarcodePlugin::createDesignerInstance(KReportDesigner* designer, QGraphicsScene* scene, const QPointF& pos)
0051 {
0052     return new KReportDesignerItemBarcode(designer, scene, pos);
0053 }
0054 
0055 #ifdef KREPORT_SCRIPTING
0056 QObject* KReportBarcodePlugin::createScriptInstance(KReportItemBase* item)
0057 {
0058     KReportItemBarcode *barcode = dynamic_cast<KReportItemBarcode*>(item);
0059     if (barcode) {
0060         return new Scripting::Barcode(barcode);
0061     }
0062     return nullptr;
0063 }
0064 #endif
0065 
0066 #include "KReportBarcodePlugin.moc"