Scanframe Modular Application 0.1.0
Loading...
Searching...
No Matches
FollowersListModel.h
Go to the documentation of this file.
1#pragma once
2
3#include <QAbstractListModel>
4#include <QAbstractItemView>
6
7namespace sf
8{
9
13class FollowersListModel :public QAbstractListModel
14{
15 public:
19 explicit FollowersListModel(UnitConversionServerEx* ucs, QObject* parent = nullptr);
20
24 void refresh();
25
29 [[nodiscard]] QVariant headerData(int section, Qt::Orientation orientation, int role) const override;
30
34 [[nodiscard]] int rowCount(const QModelIndex& parent) const override;
35
39 [[nodiscard]] QVariant data(const QModelIndex& index, int role) const override;
40
44 [[nodiscard]] int columnCount(const QModelIndex& parent) const override;
45
49 [[nodiscard]] Qt::ItemFlags flags(const QModelIndex& index) const override;
50
51 bool remove(QModelIndex index);
52
58 bool edit(QModelIndex index);
59
63 bool add();
64
68 [[nodiscard]] bool isDirty() const {return _dirty;};
69
73 void sync();
74
78 struct Entry
79 {
81 QString _formula;
82 QString _unit;
83 QList<Variable::id_type> _followerIds;
84 };
85
86 private:
90 UnitConversionServerEx* _ucs{nullptr};
91
92 void update();
93
97 QList<Entry> _list;
98
102 bool _dirty{false};
103};
104
105}
List model for manipulating the passed script manager.
Definition FollowersListModel.h:14
FollowersListModel(UnitConversionServerEx *ucs, QObject *parent=nullptr)
Constructor.
bool edit(QModelIndex index)
Edits a entry depending on the validity of the passed index.
int columnCount(const QModelIndex &parent) const override
Overridden from base class to provide the amount of columns.
int rowCount(const QModelIndex &parent) const override
Overridden from base class to provide the amount of rows.
QVariant data(const QModelIndex &index, int role) const override
Overridden from base class to provide the data to present.
void sync()
Saves changes to the unit server and resets the list's dirty flag.
bool isDirty() const
Gets the modification flag.
Definition FollowersListModel.h:68
void refresh()
Called to refresh the attached viewer.
Qt::ItemFlags flags(const QModelIndex &index) const override
Overridden from base class to provide flags on an item by index.
bool add()
Adds a entry depending on the validity of the passed index.
bool remove(QModelIndex index)
QVariant headerData(int section, Qt::Orientation orientation, int role) const override
Overridden from base class to provide column display names.
unsigned long long id_type
Type used for the identifying integer (64-bits).
Definition InformationBase.h:30
Extended UnitConversionServer with master and slaved variables.
Definition UnitConversionServerEx.h:16
Definition Application.h:10
Entry in to the temporary list of followers.
Definition FollowersListModel.h:79
Variable::id_type _masterId
Definition FollowersListModel.h:80
QList< Variable::id_type > _followerIds
Definition FollowersListModel.h:83
QString _unit
Definition FollowersListModel.h:82
QString _formula
Definition FollowersListModel.h:81