MPSolve 3.2.1
Loading...
Searching...
No Matches
rootsmodel.h
1#ifndef XMPSOLVE_ROOTSMODEL_H
2#define XMPSOLVE_ROOTSMODEL_H
3
4#include <QAbstractListModel>
5#include "root.h"
6
7namespace xmpsolve {
8
9class RootsModel : public QAbstractListModel
10{
11 Q_OBJECT
12
13
14public:
15
16 enum Roles {
17 RADIUS = Qt::UserRole + 1,
18 STATUS,
19 SHORT_APPROXIMATION,
20 ROOT,
21 MARKED
22 };
23
24 explicit RootsModel(QObject *parent = 0);
25
26 Q_INVOKABLE int rowCount(const QModelIndex &parent = QModelIndex()) const;
27 QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
28
29 QHash<int, QByteArray> roleNames() const;
30
31 void setRoots(QList<Root*> roots);
32
38 Q_INVOKABLE void markRoot(int i = -1);
39
40 double getPointX(int i) { return m_roots[i]->get_real_part(); }
41 double getPointY(int i) { return m_roots[i]->get_imag_part(); }
42
43private:
44 QList<Root*> m_roots;
45 int m_length;
46 int m_marked_root;
47
48signals:
49
50public slots:
51
52};
53
54} // namespace xmpsolve
55
56#endif // XMPSOLVE_ROOTSMODEL_H
Definition: rootsmodel.h:10
Q_INVOKABLE void markRoot(int i=-1)
markRoot can be used to highlight an approximation.
Definition: rootsmodel.cpp:119