output.h
Go to the documentation of this file.
1 #ifndef DNAI_MODELS_GUI_OUTPUT_H
2 #define DNAI_MODELS_GUI_OUTPUT_H
3 
4 #include <QObject>
6 #include "data/output.h"
9 
10 namespace dnai
11 {
12  namespace models
13  {
14  namespace gui
15  {
16  class Output : public QObject, public interfaces::IVariable, public interfaces::IModelData<data::Output>, public interfaces::ASerializable<Output>
17  {
18  Q_OBJECT
19  Q_PROPERTY(QString id READ id WRITE setId NOTIFY idChanged)
20  Q_PROPERTY(QString linkedId READ linkedId WRITE setLinkedId NOTIFY idLinkedChanged)
21 
22  public:
23  explicit Output(QObject * parent = nullptr);
24  QString id() const;
25  void setId(const QString &id);
26 
27  QString linkedId() const;
28  void setLinkedId(const QString &id);
29 
30  signals:
31  void idChanged(const QString &id);
32  void idLinkedChanged(const QString &linkedID);
33  public:
34  void serialize(QJsonObject& obj) const override;
35  protected:
36  void _deserialize(const QJsonObject& obj) override;
37  public:
38  const data::Output& data() const override;
39  bool setData(const data::Output& data) override;
40  QUuid varType() const override;
41  bool setVarType(QUuid const &id) override;
42  const QString &value() const override;
43  bool setValue(const QString& value) override;
44  const QString name() const;
45  bool setName(QString);
46  private:
48  };
49  }
50  }
51 }
52 
53 #endif //DNAI_MODELS_GUI_OUTPUT_H
Allow inherited class to serialize and deserialize itself.
Definition: iserializable.h:33
const QString name() const
Definition: output.cpp:104
void idLinkedChanged(const QString &linkedID)
Definition: moc_output.cpp:198
QUuid varType() const override
Definition: output.cpp:78
QString linkedId() const
bool setName(QString)
Definition: output.cpp:109
void serialize(QJsonObject &obj) const override
Implement this function to serialize into QJsonObject.
Definition: output.cpp:41
void _deserialize(const QJsonObject &obj) override
Implement this function in order to use deserialize(const QJsonObject &obj)
Definition: output.cpp:53
const QString & value() const override
Definition: output.cpp:91
Definition: output.h:16
Definition: imodeldata.h:9
bool setVarType(QUuid const &id) override
Definition: output.cpp:83
Definition: ivariable.h:13
void idChanged(const QString &id)
Definition: moc_output.cpp:191
bool setData(const data::Output &data) override
Definition: output.cpp:70
void setLinkedId(const QString &id)
Definition: output.cpp:33
const data::Output & data() const override
Return the data component.
Definition: output.cpp:65
Definition: api.h:13
data::Output m_data
Definition: output.h:47
void setId(const QString &id)
Definition: output.cpp:20
bool setValue(const QString &value) override
Definition: output.cpp:96