qt-experiments

Experiments with QT framework and nissy
git clone https://git.tronto.net/qt-experiments
Download | Log | Files | Refs | Submodules | README

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 }