variablehandler.h
Go to the documentation of this file.
1 #ifndef DNAI_CORE_VARIABLEHANDLER_H
2 #define DNAI_CORE_VARIABLEHANDLER_H
3 
4 #include <QObject>
5 #include <list>
6 
7 #include "entitymanager.h"
8 #include "core.h"
9 
10 namespace dnai
11 {
12  namespace gcore
13  {
14  class VariableHandler : public QObject
15  {
16  Q_OBJECT
17 
18  public:
20  virtual ~VariableHandler() = default;
21 
22  public:
23  void setup();
24 
25  public slots:
26  void onEntityAdded(::core::EntityID id, models::Entity &entity);
27 
28  public:
29  Q_INVOKABLE void setType(quint32 variable, quint32 type, bool save = true);
30  Q_INVOKABLE void setValue(quint32 variable, QString const &value, bool save = true);
31 
32  private:
33  void refreshVariables();
34  models::gui::declarable::Variable *getVariableData(::core::EntityID variable, bool throws = false);
35 
36  public:
37  void onTypeSet(::core::EntityID variable, ::core::EntityID type);
38  void onSetTypeError(::core::EntityID variable, ::core::EntityID type, QString const &message);
39 
40  void onValueSet(::core::EntityID variable, QString const &value);
41  void onSetValueError(::core::EntityID variable, QString const &value, QString const &message);
42 
43  signals:
44  void typeSet(dnai::models::Entity *variable, dnai::models::Entity *type);
45  void valueSet(dnai::models::Entity *variable, QString value);
46 
47  private:
49 
50  private:
51  std::list<models::Entity *> m_pendingVar;
52  };
53  }
54 }
55 
56 #endif // DNAI_CORE_VARIABLEHANDLER_H
void valueSet(dnai::models::Entity *variable, QString value)
Definition: moc_variablehandler.cpp:199
void refreshVariables()
Definition: variablehandler.cpp:104
VariableHandler(EntityManager &manager)
Definition: variablehandler.cpp:25
Definition: entitymanager.h:15
Q_INVOKABLE void setType(quint32 variable, quint32 type, bool save=true)
Definition: variablehandler.cpp:53
void onSetTypeError(::core::EntityID variable,::core::EntityID type, QString const &message)
Definition: variablehandler.cpp:145
void typeSet(dnai::models::Entity *variable, dnai::models::Entity *type)
Definition: moc_variablehandler.cpp:192
models::gui::declarable::Variable * getVariableData(::core::EntityID variable, bool throws=false)
Definition: variablehandler.cpp:124
void setup()
Definition: variablehandler.cpp:31
void onSetValueError(::core::EntityID variable, QString const &value, QString const &message)
Definition: variablehandler.cpp:165
void onTypeSet(::core::EntityID variable,::core::EntityID type)
Definition: variablehandler.cpp:133
Definition: api.h:13
std::list< models::Entity * > m_pendingVar
Definition: variablehandler.h:51
void onValueSet(::core::EntityID variable, QString const &value)
Definition: variablehandler.cpp:154
Definition: entity.h:71
Q_INVOKABLE void setValue(quint32 variable, QString const &value, bool save=true)
Definition: variablehandler.cpp:79
void onEntityAdded(::core::EntityID id, models::Entity &entity)
Definition: variablehandler.cpp:42
virtual ~VariableHandler()=default
Definition: variablehandler.h:14
EntityManager & manager
Definition: variablehandler.h:48