File indexing completed on 2025-03-23 03:32:46
0001 // xlsxabstractooxmlfile.cpp 0002 0003 #include <QtGlobal> 0004 #include <QBuffer> 0005 #include <QByteArray> 0006 0007 #include "xlsxabstractooxmlfile.h" 0008 #include "xlsxabstractooxmlfile_p.h" 0009 0010 QT_BEGIN_NAMESPACE_XLSX 0011 0012 AbstractOOXmlFilePrivate::AbstractOOXmlFilePrivate(AbstractOOXmlFile *q, AbstractOOXmlFile::CreateFlag flag=AbstractOOXmlFile::F_NewFromScratch) 0013 : relationships(new Relationships), flag(flag), q_ptr(q) 0014 { 0015 0016 } 0017 0018 AbstractOOXmlFilePrivate::~AbstractOOXmlFilePrivate() 0019 { 0020 if (relationships) { 0021 delete relationships; 0022 } 0023 } 0024 0025 /*! 0026 * \internal 0027 * 0028 * \class AbstractOOXmlFile 0029 * 0030 * Base class of all the ooxml part file. 0031 */ 0032 0033 AbstractOOXmlFile::AbstractOOXmlFile(CreateFlag flag) 0034 :d_ptr(new AbstractOOXmlFilePrivate(this, flag)) 0035 { 0036 } 0037 0038 AbstractOOXmlFile::AbstractOOXmlFile(AbstractOOXmlFilePrivate *d) 0039 :d_ptr(d) 0040 { 0041 0042 } 0043 0044 AbstractOOXmlFile::~AbstractOOXmlFile() 0045 { 0046 delete d_ptr; 0047 } 0048 0049 QByteArray AbstractOOXmlFile::saveToXmlData() const 0050 { 0051 QByteArray data; 0052 QBuffer buffer(&data); 0053 buffer.open(QIODevice::WriteOnly); 0054 saveToXmlFile(&buffer); 0055 0056 return data; 0057 } 0058 0059 bool AbstractOOXmlFile::loadFromXmlData(const QByteArray &data) 0060 { 0061 QBuffer buffer; 0062 buffer.setData(data); 0063 buffer.open(QIODevice::ReadOnly); 0064 0065 return loadFromXmlFile(&buffer); 0066 } 0067 0068 /*! 0069 * \internal 0070 */ 0071 void AbstractOOXmlFile::setFilePath(const QString path) 0072 { 0073 Q_D(AbstractOOXmlFile); 0074 d->filePathInPackage = path; 0075 } 0076 0077 /*! 0078 * \internal 0079 */ 0080 QString AbstractOOXmlFile::filePath() const 0081 { 0082 Q_D(const AbstractOOXmlFile); 0083 return d->filePathInPackage; 0084 } 0085 0086 0087 /*! 0088 * \internal 0089 */ 0090 Relationships *AbstractOOXmlFile::relationships() const 0091 { 0092 Q_D(const AbstractOOXmlFile); 0093 return d->relationships; 0094 } 0095 0096 0097 QT_END_NAMESPACE_XLSX