1 // xlsxabstractooxmlfile.cpp 2 3 #include <QtGlobal> 4 #include <QBuffer> 5 #include <QByteArray> 6 7 #include "xlsxabstractooxmlfile.h" 8 #include "xlsxabstractooxmlfile_p.h" 9 10 QT_BEGIN_NAMESPACE_XLSX 11 AbstractOOXmlFilePrivate(AbstractOOXmlFile * q,AbstractOOXmlFile::CreateFlag flag=AbstractOOXmlFile::F_NewFromScratch)12AbstractOOXmlFilePrivate::AbstractOOXmlFilePrivate(AbstractOOXmlFile *q, AbstractOOXmlFile::CreateFlag flag=AbstractOOXmlFile::F_NewFromScratch) 13 : relationships(new Relationships), flag(flag), q_ptr(q) 14 { 15 16 } 17 ~AbstractOOXmlFilePrivate()18AbstractOOXmlFilePrivate::~AbstractOOXmlFilePrivate() 19 { 20 21 } 22 23 /*! 24 * \internal 25 * 26 * \class AbstractOOXmlFile 27 * 28 * Base class of all the ooxml part file. 29 */ 30 AbstractOOXmlFile(CreateFlag flag)31AbstractOOXmlFile::AbstractOOXmlFile(CreateFlag flag) 32 :d_ptr(new AbstractOOXmlFilePrivate(this, flag)) 33 { 34 } 35 AbstractOOXmlFile(AbstractOOXmlFilePrivate * d)36AbstractOOXmlFile::AbstractOOXmlFile(AbstractOOXmlFilePrivate *d) 37 :d_ptr(d) 38 { 39 40 } 41 ~AbstractOOXmlFile()42AbstractOOXmlFile::~AbstractOOXmlFile() 43 { 44 if (d_ptr->relationships) 45 delete d_ptr->relationships; 46 delete d_ptr; 47 } 48 saveToXmlData() const49QByteArray AbstractOOXmlFile::saveToXmlData() const 50 { 51 QByteArray data; 52 QBuffer buffer(&data); 53 buffer.open(QIODevice::WriteOnly); 54 saveToXmlFile(&buffer); 55 56 return data; 57 } 58 loadFromXmlData(const QByteArray & data)59bool AbstractOOXmlFile::loadFromXmlData(const QByteArray &data) 60 { 61 QBuffer buffer; 62 buffer.setData(data); 63 buffer.open(QIODevice::ReadOnly); 64 65 return loadFromXmlFile(&buffer); 66 } 67 68 /*! 69 * \internal 70 */ setFilePath(const QString path)71void AbstractOOXmlFile::setFilePath(const QString path) 72 { 73 Q_D(AbstractOOXmlFile); 74 d->filePathInPackage = path; 75 } 76 77 /*! 78 * \internal 79 */ filePath() const80QString AbstractOOXmlFile::filePath() const 81 { 82 Q_D(const AbstractOOXmlFile); 83 return d->filePathInPackage; 84 } 85 86 87 /*! 88 * \internal 89 */ relationships() const90Relationships *AbstractOOXmlFile::relationships() const 91 { 92 Q_D(const AbstractOOXmlFile); 93 return d->relationships; 94 } 95 96 97 QT_END_NAMESPACE_XLSX 98