aboutsummaryrefslogtreecommitdiff
path: root/qt-widgets/nissywindow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'qt-widgets/nissywindow.cpp')
-rw-r--r--qt-widgets/nissywindow.cpp35
1 files changed, 35 insertions, 0 deletions
diff --git a/qt-widgets/nissywindow.cpp b/qt-widgets/nissywindow.cpp
new file mode 100644
index 0000000..98cfc86
--- /dev/null
+++ b/qt-widgets/nissywindow.cpp
@@ -0,0 +1,35 @@
1#include "nissywindow.h"
2#include "./ui_nissywindow.h"
3#include "nissy/cpp/nissy.h"
4
5#include <QtConcurrent>
6
7NissyWindow::NissyWindow(QWidget *parent)
8 : QMainWindow(parent), ui(new Ui::NissyWindow)
9{
10 ui->setupUi(this);
11
12 QObject::connect(ui->solverCfgWidget,
13 SIGNAL(solveRequest(const SolverConfiguration&)), this,
14 SLOT(startSolve(const SolverConfiguration&)));
15 QObject::connect(&adapter, SIGNAL(solveDone(QString)), this,
16 SLOT(showSolutions(QString)));
17}
18
19NissyWindow::~NissyWindow()
20{
21 delete ui;
22}
23
24void NissyWindow::startSolve(const SolverConfiguration& config)
25{
26 ui->solverCfgWidget->lockSubmit();
27 ui->solutionsLabel->setText("Loading solutions...");
28 auto _ = QtConcurrent::run(&NissyAdapter::solve, &adapter, config);
29}
30
31void NissyWindow::showSolutions(QString solutions) {
32 QString header = QString("Solution(s) found:\n");
33 ui->solutionsLabel->setText(header + solutions);
34 ui->solverCfgWidget->unlockSubmit();
35}

Generated with cgit - Back to sebastiano.tronto.net