--- a/src/MainWindow.cpp Mon Jun 27 11:50:18 2022 +0200 +++ b/src/MainWindow.cpp Mon Jun 27 21:12:19 2022 +0200 @@ -33,6 +33,10 @@ #include "ProfileMashs.h" #include "ProfileStyles.h" #include "ProfileFerments.h" +#include "MonNodes.h" +#include "MonFermenters.h" +#include "MonCO2meters.h" +#include "MoniSpindels.h" #include "ImportXML.h" #include "Setup.h" #include "PrinterDialog.h" @@ -115,7 +119,6 @@ } - void MainWindow::loadSetup() { /* @@ -237,21 +240,28 @@ * Two maingroups, nodes and devices. * Node message are detected by the group_id object. * Device messages are detected by the device object. + * + * Messages can be connected to client widgets so we can emit messages to them. */ QString device = jsonMessage.object()["device"].toString(); QString group_id = jsonMessage.object()["group_id"].toString(); if (device != "") { if (device == "fermenters") { - qDebug() << "found fermenter"; + //qDebug() << "found fermenter" << jsonMessage.object()["node"].toString()+"/"+jsonMessage.object()["unit"].toString(); + emit updateFermenters(jsonMessage.object()["node"].toString()+"/"+jsonMessage.object()["unit"].toString()); } else if (device == "co2meters") { - qDebug() << "found co2meter"; + //qDebug() << "found co2meter" << jsonMessage.object()["node"].toString()+"/"+jsonMessage.object()["unit"].toString(); + emit updateCO2meters(jsonMessage.object()["node"].toString()+"/"+jsonMessage.object()["unit"].toString()); } else if (device == "ispindels") { - qDebug() << "found iSpindel"; + qDebug() << "found iSpindel" << jsonMessage.object()["node"].toString()+"/"+jsonMessage.object()["unit"].toString(); + emit updateiSpindels(jsonMessage.object()["node"].toString()+"/"+jsonMessage.object()["unit"].toString()); } else { qDebug() << "unknown device" << device; } } else if (group_id != "") { - qDebug() << "node" << jsonMessage.object()["node"].toString(); + emit updateNodes(jsonMessage.object()["node"].toString()); +// } else if (jsonMessage.object()["ping"].toString() != "") { +// qDebug() << "ping" << jsonMessage; } else { qDebug() << "unknown WS message" << message; } @@ -393,6 +403,90 @@ } +void MainWindow::fromMonNodes() +{ + ui->mainStack->setCurrentIndex(-1); + ui->mainStack->removeWidget(MonNodesWindow); + delete MonNodesWindow; + setWindowTitle( QString("BMSapp - %1").arg(VERSIONSTRING) ); + ui->menuBar->setVisible(true); +} + + +void MainWindow::on_actionMon_Nodes_triggered() +{ + MonNodesWindow = new MonNodes(this); + int index = ui->mainStack->count(); + ui->mainStack->addWidget(MonNodesWindow); + ui->mainStack->setCurrentIndex(index); + setWindowTitle( QString("BMSapp - %1 - Monitor Nodes").arg(VERSIONSTRING)); + ui->menuBar->setVisible(false); +} + + +void MainWindow::fromMonFermenters() +{ + ui->mainStack->setCurrentIndex(-1); + ui->mainStack->removeWidget(MonFermentersWindow); + delete MonFermentersWindow; + setWindowTitle( QString("BMSapp - %1").arg(VERSIONSTRING) ); + ui->menuBar->setVisible(true); +} + + +void MainWindow::on_actionMon_Fermenters_triggered() +{ + MonFermentersWindow = new MonFermenters(this); + int index = ui->mainStack->count(); + ui->mainStack->addWidget(MonFermentersWindow); + ui->mainStack->setCurrentIndex(index); + setWindowTitle( QString("BMSapp - %1 - Monitor Fermenters").arg(VERSIONSTRING)); +// ui->menuBar->setVisible(false); +} + + +void MainWindow::fromMonCO2meters() +{ + ui->mainStack->setCurrentIndex(-1); + ui->mainStack->removeWidget(MonCO2metersWindow); + delete MonCO2metersWindow; + setWindowTitle( QString("BMSapp - %1").arg(VERSIONSTRING) ); + ui->menuBar->setVisible(true); +} + + +void MainWindow::on_actionMon_CO2meters_triggered() +{ + MonCO2metersWindow = new MonCO2meters(this); + int index = ui->mainStack->count(); + ui->mainStack->addWidget(MonCO2metersWindow); + ui->mainStack->setCurrentIndex(index); + setWindowTitle( QString("BMSapp - %1 - Monitor CO2meters").arg(VERSIONSTRING)); +// ui->menuBar->setVisible(false); +} + + +void MainWindow::fromMoniSpindels() +{ + ui->mainStack->setCurrentIndex(-1); + ui->mainStack->removeWidget(MoniSpindelsWindow); + delete MoniSpindelsWindow; + setWindowTitle( QString("BMSapp - %1").arg(VERSIONSTRING) ); + ui->menuBar->setVisible(true); +} + + +void MainWindow::on_actionMon_iSpindels_triggered() +{ + MoniSpindelsWindow = new MoniSpindels(this); + int index = ui->mainStack->count(); + ui->mainStack->addWidget(MoniSpindelsWindow); + ui->mainStack->setCurrentIndex(index); + setWindowTitle( QString("BMSapp - %1 - Monitor iSpindels").arg(VERSIONSTRING)); +// ui->menuBar->setVisible(false); +} + + void MainWindow::fromRecipesTree() { ui->mainStack->setCurrentIndex(-1);