src/MainWindow.cpp

changeset 310
bdaac24b86ed
parent 308
79f100a84f65
child 311
449116c083bd
--- 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);

mercurial