File indexing completed on 2024-05-12 16:29:06

0001 /*
0002  * This file is part of Office 2007 Filters for Calligra
0003  *
0004  * Copyright (C) 2010 Sebastian Sauer <sebsauer@kdab.com>
0005  * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
0006  *
0007  * Contact: Suresh Chande suresh.chande@nokia.com
0008  *
0009  * This library is free software; you can redistribute it and/or
0010  * modify it under the terms of the GNU Lesser General Public License
0011  * version 2.1 as published by the Free Software Foundation.
0012  *
0013  * This library is distributed in the hope that it will be useful, but
0014  * WITHOUT ANY WARRANTY; without even the implied warranty of
0015  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
0016  * Lesser General Public License for more details.
0017  *
0018  * You should have received a copy of the GNU Lesser General Public
0019  * License along with this library; if not, write to the Free Software
0020  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
0021  * 02110-1301 USA
0022  *
0023  */
0024 
0025 #ifndef MSOOXMLDIAGRAMREADER_H
0026 #define MSOOXMLDIAGRAMREADER_H
0027 
0028 #include <MsooXmlReader.h>
0029 #include <MsooXmlCommonReader.h>
0030 
0031 #include "komsooxml_export.h"
0032 
0033 namespace MSOOXML
0034 {
0035 
0036 namespace Diagram
0037 {
0038     class Context;
0039     class DataModel;
0040 }
0041 
0042 class KOMSOOXML_EXPORT MsooXmlDiagramReaderContext : public MSOOXML::MsooXmlReaderContext
0043 {
0044 public:
0045     KoGenStyles* m_styles;
0046     Diagram::Context* m_context;
0047 
0048     int shapeListSize() const;
0049 
0050     explicit MsooXmlDiagramReaderContext(KoGenStyles* styles);
0051     ~MsooXmlDiagramReaderContext() override;
0052     void saveIndex(KoXmlWriter* xmlWriter, const QRect &rect);
0053 };
0054 
0055 class KOMSOOXML_EXPORT MsooXmlDiagramReader : public MSOOXML::MsooXmlCommonReader
0056 {
0057 public:
0058     explicit MsooXmlDiagramReader(KoOdfWriters *writers);
0059     ~MsooXmlDiagramReader() override;
0060     KoFilter::ConversionStatus read(MSOOXML::MsooXmlReaderContext* context = 0) override;
0061 
0062 protected:
0063     //KoFilter::ConversionStatus read_layoutNode();
0064     //KoFilter::ConversionStatus read_choose();
0065     //KoFilter::ConversionStatus read_if();
0066     //KoFilter::ConversionStatus read_else();
0067     //KoFilter::ConversionStatus read_forEach();
0068 private:
0069     MsooXmlDiagramReaderContext *m_context;
0070 
0071     enum Type {
0072         InvalidType,
0073         DataModelType,
0074         LayoutDefType,
0075         StyleDefType,
0076         ColorsDefType
0077     } m_type;
0078 };
0079 
0080 }
0081 
0082 #endif