@@ -1,40 +1,43 @@
|
|
1 |
#ifndef GOLDBACHMODEL_H
|
2 |
#define GOLDBACHMODEL_H
|
3 |
|
4 |
#include <QAbstractListModel>
|
5 |
#include <QVector>
|
6 |
|
7 |
class GoldbachWorker;
|
8 |
|
9 |
class GoldbachModel : public QAbstractListModel
|
10 |
{
|
11 |
Q_OBJECT
|
12 |
Q_DISABLE_COPY(GoldbachModel)
|
13 |
|
14 |
protected:
|
15 |
-
GoldbachWorker* worker = nullptr;
|
16 |
-
QVector<
|
|
|
17 |
int fetchedRowCount = 0;
|
18 |
|
19 |
public:
|
20 |
explicit GoldbachModel(QObject *parent = nullptr);
|
21 |
virtual int rowCount(const QModelIndex &parent = QModelIndex()) const override;
|
22 |
virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
|
|
|
|
|
23 |
|
24 |
void calculate(long long number);
|
25 |
void stop();
|
26 |
|
27 |
protected:
|
28 |
bool canFetchMore(const QModelIndex &parent) const override;
|
29 |
void fetchMore(const QModelIndex &parent) override;
|
30 |
|
31 |
signals:
|
32 |
void calculationDone(long long sumCount);
|
33 |
void progressUpdated(int percent) const;
|
34 |
|
35 |
private slots:
|
36 |
void workerDone(long long sumCount);
|
37 |
void updateProgress(int percent);
|
38 |
};
|
39 |
|
40 |
#endif // GOLDBACHMODEL_H
|
1 |
#ifndef GOLDBACHMODEL_H
|
2 |
#define GOLDBACHMODEL_H
|
3 |
|
4 |
#include <QAbstractListModel>
|
5 |
#include <QVector>
|
6 |
|
7 |
class GoldbachWorker;
|
8 |
|
9 |
class GoldbachModel : public QAbstractListModel
|
10 |
{
|
11 |
Q_OBJECT
|
12 |
Q_DISABLE_COPY(GoldbachModel)
|
13 |
|
14 |
protected:
|
15 |
+
//GoldbachWorker* worker = nullptr;
|
16 |
+
QVector<GoldbachWorker*> workers;
|
17 |
+
QVector< QVector<QString> > results;
|
18 |
int fetchedRowCount = 0;
|
19 |
|
20 |
public:
|
21 |
explicit GoldbachModel(QObject *parent = nullptr);
|
22 |
virtual int rowCount(const QModelIndex &parent = QModelIndex()) const override;
|
23 |
virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
|
24 |
+
const QString& findValue(int index) const;
|
25 |
+
int countResults() const;
|
26 |
|
27 |
void calculate(long long number);
|
28 |
void stop();
|
29 |
|
30 |
protected:
|
31 |
bool canFetchMore(const QModelIndex &parent) const override;
|
32 |
void fetchMore(const QModelIndex &parent) override;
|
33 |
|
34 |
signals:
|
35 |
void calculationDone(long long sumCount);
|
36 |
void progressUpdated(int percent) const;
|
37 |
|
38 |
private slots:
|
39 |
void workerDone(long long sumCount);
|
40 |
void updateProgress(int percent);
|
41 |
};
|
42 |
|
43 |
#endif // GOLDBACHMODEL_H
|