File indexing completed on 2024-05-19 04:44:31

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