14 #ifndef ABSTRACTMULTIROLESERIALISER_H
15 #define ABSTRACTMULTIROLESERIALISER_H
16 #include <modelutilities_global.h>
18 #include <QScopedPointer>
19 #include <QAbstractItemModel>
20 #include <QDataStream>
21 class AbstractModelSerialiserPrivate;
26 Q_PROPERTY(QList<int> rolesToSave READ rolesToSave WRITE setRoleToSave RESET resetRoleToSave)
27 Q_PROPERTY(QAbstractItemModel *model READ model WRITE setModel)
28 Q_PROPERTY(
const QAbstractItemModel *constModel READ constModel WRITE setModel)
36 virtual const QList<int> &rolesToSave()
const;
37 virtual void setRoleToSave(
const QList<int> &val);
38 Q_INVOKABLE
virtual void addRoleToSave(
int role);
39 Q_INVOKABLE
virtual void removeRoleToSave(
int role);
40 Q_INVOKABLE
virtual void clearRoleToSave();
41 virtual void resetRoleToSave();
42 static QList<int> modelDefaultRoles();
43 virtual QAbstractItemModel *model()
const;
44 virtual const QAbstractItemModel *constModel()
const;
45 void setModel(QAbstractItemModel *val);
46 void setModel(
const QAbstractItemModel *val);
47 Q_INVOKABLE QDataStream::Version streamVersion()
const;
48 Q_INVOKABLE
virtual bool saveModel(QIODevice *destination)
const = 0;
49 Q_INVOKABLE
virtual bool saveModel(QByteArray *destination)
const = 0;
50 Q_INVOKABLE
virtual bool loadModel(QIODevice *source) = 0;
51 Q_INVOKABLE
virtual bool loadModel(
const QByteArray &source) = 0;
53 void setStreamVersion(QDataStream::Version ver);
57 QScopedPointer<AbstractModelSerialiserPrivate> d_ptr;
The interface for model serialisers.
Definition: abstractmodelserialiser.h:24
virtual Q_INVOKABLE bool saveModel(QByteArray *destination) const =0
virtual Q_INVOKABLE bool loadModel(const QByteArray &source)=0
virtual ~AbstractModelSerialiser()=0
virtual Q_INVOKABLE bool saveModel(QIODevice *destination) const =0
virtual Q_INVOKABLE bool loadModel(QIODevice *source)=0