Make constructor of Workbook private

This commit is contained in:
Debao Zhang
2013-09-11 17:12:56 +08:00
parent 5817ebdbfd
commit 6ee507b0d8
4 changed files with 54 additions and 26 deletions
+26
View File
@@ -33,6 +33,7 @@
#include "xlsxworksheet_p.h"
#include <QFile>
#include <QBuffer>
namespace QXlsx {
@@ -281,4 +282,29 @@ void Workbook::saveToXmlFile(QIODevice *device)
writer.writeEndDocument();
}
QByteArray Workbook::saveToXmlData()
{
QByteArray data;
QBuffer buffer(&data);
buffer.open(QIODevice::WriteOnly);
saveToXmlFile(&buffer);
return data;
}
QSharedPointer<Workbook> Workbook::loadFromXmlFile(QIODevice *device)
{
return QSharedPointer<Workbook>(new Workbook);
}
QSharedPointer<Workbook> Workbook::loadFromXmlData(const QByteArray &data)
{
QBuffer buffer;
buffer.setData(data);
buffer.open(QIODevice::ReadOnly);
return loadFromXmlFile(&buffer);
}
} //namespace
+13 -2
View File
@@ -29,6 +29,8 @@
#include <QObject>
#include <QList>
#include <QImage>
#include <QSharedPointer>
class QIODevice;
namespace QXlsx {
@@ -39,6 +41,8 @@ class SharedStrings;
class Styles;
class Package;
class Drawing;
class Document;
class DocumentPrivate;
class WorkbookPrivate;
class Q_XLSX_EXPORT Workbook : public QObject
@@ -46,7 +50,6 @@ class Q_XLSX_EXPORT Workbook : public QObject
Q_OBJECT
Q_DECLARE_PRIVATE(Workbook)
public:
Workbook(QObject *parent=0);
~Workbook();
QList<Worksheet *> worksheets() const;
@@ -66,13 +69,21 @@ public:
private:
friend class Package;
friend class Worksheet;
friend class Document;
friend class DocumentPrivate;
Workbook(QObject *parent=0);
void saveToXmlFile(QIODevice *device);
QByteArray saveToXmlData();
static QSharedPointer<Workbook> loadFromXmlFile(QIODevice *device);
static QSharedPointer<Workbook> loadFromXmlData(const QByteArray &data);
SharedStrings *sharedStrings();
Styles *styles();
QList<QImage> images();
QList<Drawing *> drawings();
void prepareDrawings();
void saveToXmlFile(QIODevice *device);
WorkbookPrivate * const d_ptr;
};