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

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

Inheritance diagram for JsonModelSerialiser:
AbstractStringSerialiser AbstractModelSerialiser

Public Slots

void setFormat (QJsonDocument::JsonFormat val)
 Sets the JSON format to use. More...
 
- Public Slots inherited from AbstractModelSerialiser
void setStreamVersion (QDataStream::Version ver)
 Set the datastream version used to serialise binary data. More...
 

Public Member Functions

 JsonModelSerialiser (const QAbstractItemModel *model, QObject *parent)
 
 JsonModelSerialiser (QAbstractItemModel *model, QObject *parent)
 
 JsonModelSerialiser (QObject *parent=Q_NULLPTR)
 
Q_INVOKABLE QJsonDocument::JsonFormat format () const
 The JSON format to use. More...
 
virtual Q_INVOKABLE bool fromJsonObject (const QJsonObject &source)
 
bool loadModel (const QByteArray &source) Q_DECL_OVERRIDE
 
bool loadModel (QIODevice *source) Q_DECL_OVERRIDE
 
bool loadModel (QString *source) Q_DECL_OVERRIDE
 
bool saveModel (QByteArray *destination) const Q_DECL_OVERRIDE
 
bool saveModel (QIODevice *destination) const Q_DECL_OVERRIDE
 
bool saveModel (QString *destination) const Q_DECL_OVERRIDE
 
virtual Q_INVOKABLE QJsonObject toJsonObject () const
 
- Public Member Functions inherited from AbstractStringSerialiser
 AbstractStringSerialiser (const QAbstractItemModel *model, QObject *parent)
 
 AbstractStringSerialiser (QAbstractItemModel *model, QObject *parent)
 
 AbstractStringSerialiser (QObject *parent=Q_NULLPTR)
 
virtual ~AbstractStringSerialiser ()=0
 
Q_INVOKABLE bool loadModel (const QString &source)
 
- 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

 JsonModelSerialiser (JsonModelSerialiserPrivate &d, QObject *parent)
 
- Protected Member Functions inherited from AbstractStringSerialiser
 AbstractStringSerialiser (AbstractStringSerialiserPrivate &d, QObject *parent)
 
- Protected Member Functions inherited from AbstractModelSerialiser
 AbstractModelSerialiser (AbstractModelSerialiserPrivate &d, QObject *parent)
 

Additional Inherited Members

- 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 JSON format.

Constructor & Destructor Documentation

◆ JsonModelSerialiser() [1/3]

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

Constructs a serialiser

◆ JsonModelSerialiser() [2/3]

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

Constructs a serialiser operating over model

◆ JsonModelSerialiser() [3/3]

JsonModelSerialiser::JsonModelSerialiser ( 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

Member Function Documentation

◆ format()

QJsonDocument::JsonFormat JsonModelSerialiser::format ( ) const

The JSON format to use.

Defaults to Compact

◆ fromJsonObject()

bool JsonModelSerialiser::fromJsonObject ( const QJsonObject &  source)
virtual

Loads the model from a source JSON object

◆ loadModel() [1/3]

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

Reimplemented from base class

Implements AbstractModelSerialiser.

◆ loadModel() [2/3]

bool JsonModelSerialiser::loadModel ( QIODevice *  source)
virtual

Reimplemented from base class

Implements AbstractModelSerialiser.

◆ loadModel() [3/3]

bool JsonModelSerialiser::loadModel ( QString *  source)
virtual

Reimplemented from base class

Implements AbstractStringSerialiser.

◆ saveModel() [1/3]

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

Reimplemented from base class

Implements AbstractModelSerialiser.

◆ saveModel() [2/3]

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

Reimplemented from base class

Implements AbstractModelSerialiser.

◆ saveModel() [3/3]

bool JsonModelSerialiser::saveModel ( QString *  destination) const
virtual

Reimplemented from base class

Implements AbstractStringSerialiser.

◆ setFormat

void JsonModelSerialiser::setFormat ( QJsonDocument::JsonFormat  val)
slot

Sets the JSON format to use.

Defaults to Compact

◆ toJsonObject()

QJsonObject JsonModelSerialiser::toJsonObject ( ) const
virtual

Saves the model to a JSON object and returns it