Scanframe Modular Application 0.1.0
Loading...
Searching...
No Matches
VariableIdList.h
Go to the documentation of this file.
1#pragma once
2#if IS_QT
3 #include <QByteArray>
4#endif
5#include <gii/gen/Variable.h>
6#include <gii/global.h>
7#include <misc/gen/TClosure.h>
8
9namespace sf
10{
11
13{
14 public:
15 explicit VariableIdList(const Variable::PtrVector& list)
16 : _ptrList(&list)
17 {}
18
19 explicit VariableIdList(const Variable::Vector& list)
20 : _list(&list)
21 {}
22
23 void setIds(const std::string& ids);
24
25 [[nodiscard]] std::string getIds() const;
26
27#if IS_QT
28 inline operator QByteArray() const
29 {
30 return QByteArray::fromStdString(getIds());
31 }
32
33 inline VariableIdList& operator=(const QByteArray& ba)
34 {
35 setIds(ba.toStdString());
36 return *this;
37 }
38
39 inline bool operator!=(const QByteArray& ba) const
40 {
41 return getIds() != ba.toStdString();
42 }
43#endif
44
46
47 private:
48 const Variable::PtrVector* _ptrList{nullptr};
49 const Variable::Vector* _list{nullptr};
50};
51
52}// namespace sf
Base class for all generic information objects to be able to put them in a typed list together.
Definition InformationBase.h:25
Encapsulates the std::function() template.
Definition TClosure.h:14
Definition VariableIdList.h:13
std::string getIds() const
TClosure< void, void * > onChange
Definition VariableIdList.h:45
VariableIdList(const Variable::PtrVector &list)
Definition VariableIdList.h:15
void setIds(const std::string &ids)
VariableIdList(const Variable::Vector &list)
Definition VariableIdList.h:19
#define _GII_CLASS
Definition gii/global.h:38
Definition Application.h:10