nissywindow.cpp (943B)
1 #include "nissywindow.h" 2 #include "./ui_nissywindow.h" 3 #include "nissy/cpp/nissy.h" 4 5 #include <QtConcurrent> 6 7 NissyWindow::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 19 NissyWindow::~NissyWindow() 20 { 21 delete ui; 22 } 23 24 void 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 31 void NissyWindow::showSolutions(QString solutions) { 32 QString header = QString("Solution(s) found:\n"); 33 ui->solutionsLabel->setText(header + solutions); 34 ui->solverCfgWidget->unlockSubmit(); 35 }