File indexing completed on 2025-02-16 10:54:10
0001 /* 0002 * This file is part of Office 2007 Filters for Calligra 0003 * 0004 * SPDX-FileCopyrightText: 2009 Nokia Corporation and /or its subsidiary(-ies). 0005 * 0006 * Contact: Suresh Chande suresh.chande@nokia.com 0007 * 0008 * SPDX-License-Identifier: LGPL-2.1-only 0009 * 0010 */ 0011 0012 #ifndef XLSXXMLSHAREDSTRINGSREADER_H 0013 #define XLSXXMLSHAREDSTRINGSREADER_H 0014 0015 #include "XlsxXmlCommonReader.h" 0016 0017 0018 class XlsxXmlSharedStringsReaderContext : public MSOOXML::MsooXmlReaderContext 0019 { 0020 public: 0021 explicit XlsxXmlSharedStringsReaderContext(QVector<QString>& _strings, MSOOXML::DrawingMLTheme* _themes, 0022 QVector<QString>& _colorIndices); 0023 QVector<QString>* strings; 0024 MSOOXML::DrawingMLTheme* themes; 0025 QVector<QString>& colorIndices; 0026 }; 0027 0028 //! A class reading MSOOXML XLSX markup - sharedStrings.xml part. 0029 //! See ECMA-376, 12.3.15: Shared String Table Part 0030 class XlsxXmlSharedStringsReader : public XlsxXmlCommonReader 0031 { 0032 public: 0033 explicit XlsxXmlSharedStringsReader(KoOdfWriters *writers); 0034 0035 ~XlsxXmlSharedStringsReader() override; 0036 0037 //! Reads/parses the file of format document.xml. 0038 //! The output goes mainly to KoXmlWriter* KoOdfWriters::body 0039 KoFilter::ConversionStatus read(MSOOXML::MsooXmlReaderContext* context = 0) override; 0040 0041 protected: 0042 KoFilter::ConversionStatus readInternal(); 0043 KoFilter::ConversionStatus read_sst(); 0044 KoFilter::ConversionStatus read_si(); 0045 0046 uint m_index; 0047 0048 XlsxXmlSharedStringsReaderContext* m_context; 0049 private: 0050 void init(); 0051 0052 class Private; 0053 Private* const d; 0054 }; 0055 0056 #endif //XLSXXMLSHAREDSTRINGSREADER_H