File indexing completed on 2024-04-28 04:41:55
0001 /* This file is part of the KDE project 0002 Copyright (C) 2011 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 Lesser 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 Lesser General Public License for more details. 0013 0014 You should have received a copy of the GNU Lesser General Public 0015 License along with this library; if not, write to the Free Software 0016 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 0017 */ 0018 0019 0020 #ifndef KREPORTASYNCITEMBASE_H 0021 #define KREPORTASYNCITEMBASE_H 0022 0023 #include "KReportItemBase.h" 0024 0025 /*! 0026 * @brief Base class for items that are drawn asyncronously due to unknown loading times. 0027 */ 0028 class KREPORT_EXPORT KReportAsyncItemBase : public KReportItemBase 0029 { 0030 Q_OBJECT 0031 public: 0032 KReportAsyncItemBase(); 0033 ~KReportAsyncItemBase(); 0034 int renderSimpleData(OROPage *page, OROSection *section, const QPointF &offset, const QVariant &data, KReportScriptHandler *script) override = 0; 0035 virtual QVariant realItemData(const QVariant& itemData) const; 0036 0037 Q_SIGNALS: 0038 void finishedRendering(); 0039 0040 private: 0041 class Private; 0042 Private * const d; 0043 }; 0044 0045 #endif // KREPORTASYNCITEMBASE_H