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

0001 // xlsxabstractooxmlfile.h
0002 
0003 #ifndef QXLSX_XLSXABSTRACTOOXMLFILE_H
0004 #define QXLSX_XLSXABSTRACTOOXMLFILE_H
0005 
0006 #include "xlsxglobal.h"
0007 
0008 QT_BEGIN_NAMESPACE_XLSX
0009 
0010 class Relationships;
0011 class AbstractOOXmlFilePrivate;
0012 
0013 class QXLSX_EXPORT AbstractOOXmlFile
0014 {
0015     Q_DECLARE_PRIVATE(AbstractOOXmlFile)
0016 
0017 public:
0018     enum CreateFlag
0019     {
0020         F_NewFromScratch,
0021         F_LoadFromExists
0022     };
0023 
0024 public:
0025     virtual ~AbstractOOXmlFile();
0026 
0027     virtual void saveToXmlFile(QIODevice *device) const = 0;
0028     virtual bool loadFromXmlFile(QIODevice *device) = 0;
0029 
0030     virtual QByteArray saveToXmlData() const;
0031     virtual bool loadFromXmlData(const QByteArray &data);
0032 
0033     Relationships *relationships() const;
0034 
0035     void setFilePath(const QString path);
0036     QString filePath() const;
0037 
0038 protected:
0039     AbstractOOXmlFile(CreateFlag flag);
0040     AbstractOOXmlFile(AbstractOOXmlFilePrivate *d);
0041 
0042     AbstractOOXmlFilePrivate *d_ptr;
0043 };
0044 
0045 QT_END_NAMESPACE_XLSX
0046 
0047 #endif // QXLSX_XLSXABSTRACTOOXMLFILE_H