Qt Model Utilities  2.0.3
A set of utilities for the model/view framework of Qt
Public Member Functions | Protected Member Functions | List of all members
BinaryModelSerialiser Class Reference

Serialiser to save and load models in binary format. More...

Inheritance diagram for BinaryModelSerialiser:
AbstractModelSerialiser

Public Member Functions

 BinaryModelSerialiser (const QAbstractItemModel *model, QObject *parent)
 
 BinaryModelSerialiser (QAbstractItemModel *model, QObject *parent)
 
 BinaryModelSerialiser (QObject *parent=Q_NULLPTR)
 
 ~BinaryModelSerialiser ()
 
Q_INVOKABLE bool loadModel (const QByteArray &source) Q_DECL_OVERRIDE
 
virtual bool loadModel (QDataStream &stream)
 
Q_INVOKABLE bool loadModel (QIODevice *source) Q_DECL_OVERRIDE
 
Q_INVOKABLE bool saveModel (QByteArray *destination) const Q_DECL_OVERRIDE
 
virtual bool saveModel (QDataStream &stream) const
 
Q_INVOKABLE bool saveModel (QIODevice *destination) const Q_DECL_OVERRIDE
 
- Public Member Functions inherited from AbstractModelSerialiser
 AbstractModelSerialiser (const QAbstractItemModel *model, QObject *parent)
 
 AbstractModelSerialiser (QAbstractItemModel *model, QObject *parent)
 
 AbstractModelSerialiser (QObject *parent=Q_NULLPTR)
 
virtual ~AbstractModelSerialiser ()=0
 
virtual Q_INVOKABLE void addRoleToSave (int role)
 Appends role to the list of roles to save. More...
 
virtual Q_INVOKABLE void clearRoleToSave ()
 empties the list of roles to save More...
 
virtual const QAbstractItemModel * constModel () const
 
virtual QAbstractItemModel * model () const
 
virtual Q_INVOKABLE void removeRoleToSave (int role)
 Removes role from the list of roles to save. More...
 
virtual void resetRoleToSave ()
 resetter of rolesToSave property More...
 
virtual const QList< int > & rolesToSave () const
 
void setModel (const QAbstractItemModel *val)
 
void setModel (QAbstractItemModel *val)
 
virtual void setRoleToSave (const QList< int > &val)
 
Q_INVOKABLE QDataStream::Version streamVersion () const
 The datastream version used to serialise binary data. More...
 

Protected Member Functions

 BinaryModelSerialiser (BinaryModelSerialiserPrivate &d, QObject *parent=Q_NULLPTR)
 
- Protected Member Functions inherited from AbstractModelSerialiser
 AbstractModelSerialiser (AbstractModelSerialiserPrivate &d, QObject *parent)
 

Additional Inherited Members

- Public Slots inherited from AbstractModelSerialiser
void setStreamVersion (QDataStream::Version ver)
 Set the datastream version used to serialise binary data. More...
 
- Static Public Member Functions inherited from AbstractModelSerialiser
static QList< int > modelDefaultRoles ()
 
- Properties inherited from AbstractModelSerialiser
const QAbstractItemModel * constModel
 The model over which the serialiser will operate in read mode. More...
 
QAbstractItemModel * model
 The model over which the serialiser will operate for reading/writing. More...
 
QList< int > rolesToSave
 The roles that will be serialised. More...
 

Detailed Description

Serialiser to save and load models in binary format.

Constructor & Destructor Documentation

◆ BinaryModelSerialiser() [1/3]

BinaryModelSerialiser::BinaryModelSerialiser ( QObject *  parent = Q_NULLPTR)
explicit

Constructs a serialiser

◆ BinaryModelSerialiser() [2/3]

BinaryModelSerialiser::BinaryModelSerialiser ( QAbstractItemModel *  model,
QObject *  parent 
)

Constructs a serialiser operating over model

◆ BinaryModelSerialiser() [3/3]

BinaryModelSerialiser::BinaryModelSerialiser ( const QAbstractItemModel *  model,
QObject *  parent 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

the model will only be allowed to be saved, not loaded

◆ ~BinaryModelSerialiser()

BinaryModelSerialiser::~BinaryModelSerialiser ( )
default

Destructor

Member Function Documentation

◆ loadModel() [1/3]

bool BinaryModelSerialiser::loadModel ( const QByteArray &  source)
virtual

Reimplemented from base class

Implements AbstractModelSerialiser.

◆ loadModel() [2/3]

bool BinaryModelSerialiser::loadModel ( QDataStream &  stream)
virtual

Loads the model from the given stream

Data previously stored in the model will be removed

◆ loadModel() [3/3]

bool BinaryModelSerialiser::loadModel ( QIODevice *  source)
virtual

Reimplemented from base class

Implements AbstractModelSerialiser.

◆ saveModel() [1/3]

bool BinaryModelSerialiser::saveModel ( QByteArray *  destination) const
virtual

Reimplemented from base class

Implements AbstractModelSerialiser.

◆ saveModel() [2/3]

bool BinaryModelSerialiser::saveModel ( QDataStream &  stream) const
virtual

Saves the model to the given stream

◆ saveModel() [3/3]

bool BinaryModelSerialiser::saveModel ( QIODevice *  destination) const
virtual

Reimplemented from base class

Implements AbstractModelSerialiser.