ENLIGHTEN
Cross-platform desktop GUI for Wasatch Photonics spectrometers
Loading...
Searching...
No Matches
entrylistobject.h
Go to the documentation of this file.
1
27
28#ifndef ENTRYLISTOBJECT_H
29#define ENTRYLISTOBJECT_H
30
31#include <peak/node_map/peak_node_map.hpp>
32
33#include <QMutex>
34#include <QObject>
35
36class EntryListObject : public QObject
37{
38 Q_OBJECT
39 Q_PROPERTY(QString name READ name NOTIFY nameChanged)
40 Q_PROPERTY(QString displayName READ displayName NOTIFY displayNameChanged)
41 Q_PROPERTY(QString tooltip READ tooltip NOTIFY tooltipChanged)
42 Q_PROPERTY(QString description READ description NOTIFY descriptionChanged)
43 Q_PROPERTY(QString visibility READ visibility NOTIFY visibilityChanged)
44 Q_PROPERTY(long long numericValue READ numericValue NOTIFY numericValueChanged)
45 Q_PROPERTY(QString symbolicValue READ symbolicValue NOTIFY symbolicValueChanged)
46 Q_PROPERTY(bool available READ available NOTIFY availableChanged)
47 Q_PROPERTY(bool readable READ readable NOTIFY readableChanged)
48 Q_PROPERTY(bool writeable READ writeable NOTIFY writeableChanged)
49 Q_PROPERTY(QString accessStatus READ accessStatus NOTIFY accessStatusChanged)
50
51public:
52 explicit EntryListObject(std::shared_ptr<peak::core::nodes::EnumerationEntryNode>);
53 bool operator==(const EntryListObject& other);
54 bool operator!=(const EntryListObject& other);
55
56 QVector<int> updateAll();
57
58 QString name() const;
59 QString displayName() const;
60 QString tooltip() const;
61 QString description() const;
62 QString visibility() const;
63 long long numericValue() const;
64 QString symbolicValue() const;
65 bool available() const;
66 bool readable() const;
67 bool writeable() const;
68 QString accessStatus() const;
69
70 std::shared_ptr<peak::core::nodes::EnumerationEntryNode> node() const;
71
72signals:
84
85private:
86 std::shared_ptr<peak::core::nodes::EnumerationEntryNode> m_node;
87 QString m_name;
89 QString m_tooltip;
91 QString m_visibility;
92 long long m_numericValue;
98
99 bool updateName();
100 bool updateDisplayName();
101 bool updateTooltip();
102 bool updateDescription();
103 bool updateVisibility();
104 bool updateNumericValue();
105 bool updateSymbolicValue();
106 bool updateAccessStatus();
107
108 mutable QMutex mutex;
109};
110#endif // ENTRYLISTOBJECT_H
QString m_accessStatus
Definition entrylistobject.h:97
void symbolicValueChanged()
QString m_tooltip
Definition entrylistobject.h:89
QVector< int > updateAll()
Definition entrylistobject.cpp:118
bool m_writeable
Definition entrylistobject.h:96
bool updateDescription()
Definition entrylistobject.cpp:295
long long numericValue
Definition entrylistobject.h:44
std::shared_ptr< peak::core::nodes::EnumerationEntryNode > node() const
Definition entrylistobject.cpp:217
bool updateName()
Definition entrylistobject.cpp:229
void displayNameChanged()
bool updateTooltip()
Definition entrylistobject.cpp:273
void tooltipChanged()
void descriptionChanged()
bool updateDisplayName()
Definition entrylistobject.cpp:251
QString visibility
Definition entrylistobject.h:43
void availableChanged()
bool m_readable
Definition entrylistobject.h:95
QString m_visibility
Definition entrylistobject.h:91
bool available
Definition entrylistobject.h:46
bool updateNumericValue()
Definition entrylistobject.cpp:356
QString accessStatus
Definition entrylistobject.h:49
QString description
Definition entrylistobject.h:42
QString tooltip
Definition entrylistobject.h:41
void accessStatusChanged()
QString m_symbolicValue
Definition entrylistobject.h:93
QString name
Definition entrylistobject.h:39
bool updateSymbolicValue()
Definition entrylistobject.cpp:378
bool m_available
Definition entrylistobject.h:94
bool writeable
Definition entrylistobject.h:48
EntryListObject(std::shared_ptr< peak::core::nodes::EnumerationEntryNode >)
Definition entrylistobject.cpp:35
void writeableChanged()
bool updateAccessStatus()
Definition entrylistobject.cpp:400
QString m_description
Definition entrylistobject.h:90
void visibilityChanged()
QString m_displayName
Definition entrylistobject.h:88
QString m_name
Definition entrylistobject.h:87
std::shared_ptr< peak::core::nodes::EnumerationEntryNode > m_node
Definition entrylistobject.h:86
void nameChanged()
bool readable
Definition entrylistobject.h:47
QString displayName
Definition entrylistobject.h:40
QMutex mutex
Definition entrylistobject.h:108
void numericValueChanged()
void readableChanged()
bool updateVisibility()
Definition entrylistobject.cpp:317
long long m_numericValue
Definition entrylistobject.h:92
QString symbolicValue
Definition entrylistobject.h:45