File indexing completed on 2024-05-12 16:33:27

0001 /* This file is part of the KDE project
0002 
0003    Copyright 2008 Johannes Simon <johannes.simon@gmail.com>
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 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 #ifndef KCHART_CHARTDOCUMENT_H
0022 #define KCHART_CHARTDOCUMENT_H
0023 
0024 // Calligra
0025 #include <KoDocument.h>
0026 #include <KoXmlReaderForward.h>
0027 
0028 
0029 class QIODevice;
0030 class KoView;
0031 class KoOdfReadStore;
0032 class QPainter;
0033 class QWidget;
0034 class KoShapeLoadingContext;
0035 
0036 namespace KoChart {
0037 
0038 #define CHART_MIME_TYPE "application/vnd.oasis.opendocument.chart"
0039 
0040 class ChartShape;
0041 
0042 class ChartDocument : public KoDocument
0043 {
0044 public:
0045     explicit ChartDocument(ChartShape *parent);
0046     ~ChartDocument();
0047 
0048     /// reimplemented from KoDocument
0049     QByteArray nativeFormatMimeType() const override { return CHART_MIME_TYPE; }
0050     /// reimplemented from KoDocument
0051     QByteArray nativeOasisMimeType() const override { return CHART_MIME_TYPE; }
0052     /// reimplemented from KoDocument
0053     QStringList extraNativeMimeTypes() const override { return QStringList(); }
0054 
0055 
0056     bool loadOdf(KoOdfReadStore &odfStore) override;
0057     bool loadXML(const KoXmlDocument &doc, KoStore *store) override;
0058     
0059     bool saveOdf(SavingContext &context) override;
0060     
0061     void paintContent(QPainter &painter, const QRect &rect) override;
0062     
0063 private:
0064     class Private;
0065     Private * const d;
0066 };
0067 
0068 } // namespace KoChart
0069 
0070 #endif // KCHART_CHARTDOCUMENT_H
0071