#include <solution.h>

Inheritance diagram for dnai::Solution:
Inheritance graph
Collaboration diagram for dnai::Solution:
Collaboration graph

Public Types

enum  ROLES { ITEM = Qt::UserRole + 1, NAME, DESCRIPTION }
 

Signals

void selectedEntityChanged (QQuickItem *entity)
 

Public Member Functions

 Solution ()
 
 Solution (const QString filename)
 
 ~Solution ()
 
Q_INVOKABLE void save () override
 
Q_INVOKABLE bool isProjectsSaved ()
 
void load (const QString &path) override
 
virtual QString path () const override
 
void close () override
 
const QString & version () const override
 
void setVersion (const QString &version) override
 
const QString & name () const override
 
void setName (const QString &name) override
 
const QString & description () const override
 
void setDescription (const QString &desc) override
 
const QJsonObject & jsonData () const override
 
const QList< IProject * > & projects () const override
 
void addProject (IProject *) override
 
IProject * seletedProject () const override
 
bool selectProject (IProject *) override
 
void serialize (QJsonObject &obj) const override
 Implement this function to serialize into QJsonObject. More...
 
const QString & fileName () const override
 
void setFileName (const QString &name) override
 
Q_INVOKABLE int getRoleKey (QString rolename) const
 
Q_INVOKABLE bool selectProject (dnai::Project *)
 
Q_INVOKABLE dnai::ProjectselectedProject () const
 
QQuickItem * selectedEntity () const
 
void setSelectedEntity (QQuickItem *entity)
 
int rowCount (const QModelIndex &parent) const override
 
QVariant data (const QModelIndex &index, int role) const override
 
- Public Member Functions inherited from dnai::interfaces::ISolution
virtual ~ISolution ()=default
 
virtual void addProject (IProject *)=0
 
virtual bool selectProject (IProject *)=0
 
- Public Member Functions inherited from dnai::interfaces::IProject
virtual ~IProject ()=default
 
- Public Member Functions inherited from dnai::interfaces::ISavable
virtual ~ISavable ()=default
 
- Public Member Functions inherited from dnai::interfaces::ISerializable
virtual ~ISerializable ()=default
 
- Public Member Functions inherited from dnai::interfaces::ASerializable< Solution >
virtual ~ASerializable ()=default
 
QJsonArray serializeList (const QList< DataType * > &datalist) const
 

Protected Member Functions

void _deserialize (const QJsonObject &obj) override
 Implement this function in order to use deserialize(const QJsonObject &obj) More...
 

Properties

QQuickItem selectedEntity
 

Private Member Functions

virtual QHash< int, QByteArray > roleNames () const override
 

Private Attributes

IProject * m_selectedProject
 
QList< IProject * > m_projects
 
QJsonObject m_data
 
QString m_description
 
QString m_name
 
QString m_version
 
QFile * m_file
 
QString m_filename
 
QQuickItem * m_selectedEntity
 

Additional Inherited Members

- Static Public Member Functions inherited from dnai::interfaces::ASerializable< Solution >
static Solutiondeserialize (const QJsonObject &obj, Args &...args)
 This function deserialize into a new instance of type T *. More...
 

Member Enumeration Documentation

Enumerator
ITEM 
NAME 
DESCRIPTION 

Constructor & Destructor Documentation

dnai::Solution::Solution ( )
dnai::Solution::Solution ( const QString  filename)
dnai::Solution::~Solution ( )

Member Function Documentation

void dnai::Solution::_deserialize ( const QJsonObject &  obj)
overrideprotectedvirtual

Implement this function in order to use deserialize(const QJsonObject &obj)

Parameters
obj

Implements dnai::interfaces::ASerializable< Solution >.

void dnai::Solution::addProject ( IProject *  proj)
override
void dnai::Solution::close ( )
overridevirtual
QVariant dnai::Solution::data ( const QModelIndex &  index,
int  role 
) const
override
const QString & dnai::Solution::description ( ) const
overridevirtual
const QString & dnai::Solution::fileName ( ) const
overridevirtual
int dnai::Solution::getRoleKey ( QString  rolename) const
bool dnai::Solution::isProjectsSaved ( )
const QJsonObject & dnai::Solution::jsonData ( ) const
overridevirtual
void dnai::Solution::load ( const QString &  path)
overridevirtual
const QString & dnai::Solution::name ( ) const
overridevirtual
QString dnai::Solution::path ( ) const
overridevirtual
const QList< interfaces::IProject * > & dnai::Solution::projects ( ) const
overridevirtual
QHash< int, QByteArray > dnai::Solution::roleNames ( ) const
overrideprivatevirtual
int dnai::Solution::rowCount ( const QModelIndex &  parent) const
override
void dnai::Solution::save ( )
overridevirtual
QQuickItem* dnai::Solution::selectedEntity ( ) const
void dnai::Solution::selectedEntityChanged ( QQuickItem *  entity)
signal
Project * dnai::Solution::selectedProject ( ) const
bool dnai::Solution::selectProject ( IProject *  proj)
override
bool dnai::Solution::selectProject ( dnai::Project p)
interfaces::IProject * dnai::Solution::seletedProject ( ) const
overridevirtual
void dnai::Solution::serialize ( QJsonObject &  obj) const
overridevirtual

Implement this function to serialize into QJsonObject.

Parameters
obj

Implements dnai::interfaces::ASerializable< Solution >.

void dnai::Solution::setDescription ( const QString &  desc)
overridevirtual
void dnai::Solution::setFileName ( const QString &  name)
overridevirtual
void dnai::Solution::setName ( const QString &  name)
overridevirtual
void dnai::Solution::setSelectedEntity ( QQuickItem *  entity)
void dnai::Solution::setVersion ( const QString &  version)
overridevirtual
const QString & dnai::Solution::version ( ) const
overridevirtual

Member Data Documentation

QJsonObject dnai::Solution::m_data
private
QString dnai::Solution::m_description
private
QFile* dnai::Solution::m_file
private
QString dnai::Solution::m_filename
private
QString dnai::Solution::m_name
private
QList<IProject*> dnai::Solution::m_projects
private
QQuickItem* dnai::Solution::m_selectedEntity
private
IProject* dnai::Solution::m_selectedProject
private
QString dnai::Solution::m_version
private

Property Documentation

QQuickItem * dnai::Solution::selectedEntity
readwrite

The documentation for this class was generated from the following files: