aboutsummaryrefslogtreecommitdiff
path: root/qt-widgets/nissywindow.cpp
blob: 98cfc868a41fed4d9e883d22eba2a294a01c3856 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include "nissywindow.h"
#include "./ui_nissywindow.h"
#include "nissy/cpp/nissy.h"

#include <QtConcurrent>

NissyWindow::NissyWindow(QWidget *parent)
	: QMainWindow(parent), ui(new Ui::NissyWindow)
{
	ui->setupUi(this);

	QObject::connect(ui->solverCfgWidget,
	    SIGNAL(solveRequest(const SolverConfiguration&)), this,
	    SLOT(startSolve(const SolverConfiguration&)));
	QObject::connect(&adapter, SIGNAL(solveDone(QString)), this,
	    SLOT(showSolutions(QString)));
}

NissyWindow::~NissyWindow()
{
	delete ui;
}

void NissyWindow::startSolve(const SolverConfiguration& config)
{
	ui->solverCfgWidget->lockSubmit();
	ui->solutionsLabel->setText("Loading solutions...");
	auto _ = QtConcurrent::run(&NissyAdapter::solve, &adapter, config);
}

void NissyWindow::showSolutions(QString solutions) {
	QString header = QString("Solution(s) found:\n");
	ui->solutionsLabel->setText(header + solutions);
	ui->solverCfgWidget->unlockSubmit();
}

Generated with cgit - Back to sebastiano.tronto.net