From 97b5778172572504c8dfbe173b18281e786270c0 Mon Sep 17 00:00:00 2001 From: Sebastiano Tronto Date: Fri, 25 Apr 2025 16:18:26 +0200 Subject: Initial commit --- qt-widgets/nissywindow.cpp | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 qt-widgets/nissywindow.cpp (limited to 'qt-widgets/nissywindow.cpp') 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 @@ +#include "nissywindow.h" +#include "./ui_nissywindow.h" +#include "nissy/cpp/nissy.h" + +#include + +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(); +} -- cgit v1.3