File indexing completed on 2024-06-23 03:45:56

0001 // xlsxcontenttypes_p.h
0002 
0003 #ifndef XLSXCONTENTTYPES_H
0004 #define XLSXCONTENTTYPES_H
0005 
0006 #include <QtGlobal>
0007 #include <QString>
0008 #include <QStringList>
0009 #include <QMap>
0010 #include <QIODevice>
0011 
0012 #include "xlsxabstractooxmlfile.h"
0013 
0014 QT_BEGIN_NAMESPACE_XLSX
0015 
0016 class ContentTypes : public AbstractOOXmlFile
0017 {
0018 public:
0019     ContentTypes(CreateFlag flag);
0020 
0021     void addDefault(const QString &key, const QString &value);
0022     void addOverride(const QString &key, const QString &value);
0023 
0024     //Convenient funcation for addOverride()
0025     void addDocPropCore();
0026     void addDocPropApp();
0027     void addStyles();
0028     void addTheme();
0029     void addWorkbook();
0030     void addWorksheetName(const QString &name);
0031     void addChartsheetName(const QString &name);
0032     void addChartName(const QString &name);
0033     void addDrawingName(const QString &name);
0034     void addCommentName(const QString &name);
0035     void addTableName(const QString &name);
0036     void addExternalLinkName(const QString &name);
0037     void addSharedString();
0038     void addVmlName();
0039     void addCalcChain();
0040     void addVbaProject();
0041 
0042     void clearOverrides();
0043 
0044     void saveToXmlFile(QIODevice *device) const override;
0045     bool loadFromXmlFile(QIODevice *device) override;
0046 private:
0047     QMap<QString, QString> m_defaults;
0048     QMap<QString, QString> m_overrides;
0049 
0050     QString m_package_prefix;
0051     QString m_document_prefix;
0052 };
0053 
0054 QT_END_NAMESPACE_XLSX
0055 #endif // XLSXCONTENTTYPES_H