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