From cea537de578df8ed44b4539219c3ea0f345a7fe4 Mon Sep 17 00:00:00 2001 From: Davide Rosato <73779437+DavideRosato99@users.noreply.github.com> Date: Mon, 1 May 2023 00:22:23 +0200 Subject: [PATCH] [Refueling Visualizer] Small try to fix bug --- .../RefuelingVisualizer.cpp | 133 ++++++++++++++++-- .../RefuelingVisualizer/RefuelingVisualizer.h | 1 + 2 files changed, 120 insertions(+), 14 deletions(-) diff --git a/src/shared/Modules/RefuelingVisualizer/RefuelingVisualizer.cpp b/src/shared/Modules/RefuelingVisualizer/RefuelingVisualizer.cpp index 5524041e..fb5adc4f 100644 --- a/src/shared/Modules/RefuelingVisualizer/RefuelingVisualizer.cpp +++ b/src/shared/Modules/RefuelingVisualizer/RefuelingVisualizer.cpp @@ -68,7 +68,7 @@ void RefuelingVisualizer::setupUi() outerLayout->addWidget(background, 0, 0, 5000, 5000); // VALVE LABELS STYLE - QString valveLabelStyleCompleted = + QString valveLabelStyleON = "border-width: 1px; border-style: solid; border-radius: 1px; " "border-color: white; background-color: rgb(82, 142, 56)"; @@ -95,7 +95,7 @@ void RefuelingVisualizer::setupUi() labelTars->setText(RefuelingVisualizerCommandList::commandLabels[0]); labelTars->setAlignment(Qt::AlignCenter); labelTars->setContentsMargins(4, 4, 4, 4); - labelTars->setStyleSheet(valveLabelStyleCompleted); + labelTars->setStyleSheet(valveLabelStyleON); outerLayout->addWidget(labelTars, 5570, 0, 70, 5000); // MAIN VALVE @@ -103,7 +103,7 @@ void RefuelingVisualizer::setupUi() labelMain->setText(RefuelingVisualizerCommandList::commandLabels[4]); labelMain->setAlignment(Qt::AlignCenter); labelMain->setContentsMargins(4, 4, 4, 4); - labelMain->setStyleSheet(valveLabelStyleCompleted); + labelMain->setStyleSheet(valveLabelStyleON); outerLayout->addWidget(labelMain, 5640, 0, 70, 5000); // VALVES STATES @@ -113,7 +113,7 @@ void RefuelingVisualizer::setupUi() labelValve->setText(RefuelingVisualizerCommandList::commandLabels[i]); labelValve->setAlignment(Qt::AlignCenter); labelValve->setContentsMargins(4, 4, 4, 4); - labelValve->setStyleSheet(valveLabelStyleCompleted); + labelValve->setStyleSheet(valveLabelStyleON); outerLayout->addWidget(labelValve, 5499, (i - 1) * 1666, 70, 1666); } @@ -329,21 +329,126 @@ void RefuelingVisualizer::setFilter(const Filter& newFilter) newFilter, this, [this](const Message& message, const Filter& filter) { onMsgReceived(message); }); - filter = newFilter; + // filter = newFilter; +} + +void RefuelingVisualizer::backgroundValves(Message msg) +{ + uint64_t releaseValve = + msg.getField("release_valve_state").getUnsignedInteger(); + uint64_t fillingValve = + msg.getField("filling_valve_state").getUnsignedInteger(); + uint64_t ventingValve = + msg.getField("venting_valve_state").getUnsignedInteger(); + + auto background = outerLayout->itemAt(0)->widget(); + auto labelFillingValve = outerLayout->itemAt(3)->widget(); + auto labelReleaseValve = outerLayout->itemAt(4)->widget(); + auto labelVentingValve = outerLayout->itemAt(5)->widget(); + + // VALVE STATE LABELS STYLE + QString valveLabelStyleON = + "border-width: 1px; border-style: solid; border-radius: 1px; " + "border-color: white; background-color: rgb(82, 142, 56)"; + QString valveLabelStyleOFF = + "border-width: 1px; border-style: solid; border-radius: 1px; " + "border-color: white; background-color: rgb(255, 0, 0)"; + + if (fillingValve == 0 && releaseValve == 0 && ventingValve == 0) + { + background->setStyleSheet( + "border-image:url(../skywardhub/src/shared/Modules/" + "RefuelingVisualizer/" + "000.png);border:0px;"); + labelFillingValve->setStyleSheet(valveLabelStyleOFF); + labelReleaseValve->setStyleSheet(valveLabelStyleOFF); + labelVentingValve->setStyleSheet(valveLabelStyleOFF); + } + + if (fillingValve == 0 && releaseValve == 0 && ventingValve == 1) + { + background->setStyleSheet( + "border-image:url(../skywardhub/src/shared/Modules/" + "RefuelingVisualizer/" + "001.png);border:0px;"); + labelFillingValve->setStyleSheet(valveLabelStyleOFF); + labelReleaseValve->setStyleSheet(valveLabelStyleOFF); + labelVentingValve->setStyleSheet(valveLabelStyleON); + } + + if (fillingValve == 0 && releaseValve == 1 && ventingValve == 0) + { + background->setStyleSheet( + "border-image:url(../skywardhub/src/shared/Modules/" + "RefuelingVisualizer/" + "010.png);border:0px;"); + labelFillingValve->setStyleSheet(valveLabelStyleOFF); + labelReleaseValve->setStyleSheet(valveLabelStyleON); + labelVentingValve->setStyleSheet(valveLabelStyleOFF); + } + + if (fillingValve == 0 && releaseValve == 1 && ventingValve == 1) + { + background->setStyleSheet( + "border-image:url(../skywardhub/src/shared/Modules/" + "RefuelingVisualizer/" + "011.png);border:0px;"); + labelFillingValve->setStyleSheet(valveLabelStyleOFF); + labelReleaseValve->setStyleSheet(valveLabelStyleON); + labelVentingValve->setStyleSheet(valveLabelStyleON); + } + + if (fillingValve == 1 && releaseValve == 0 && ventingValve == 0) + { + background->setStyleSheet( + "border-image:url(../skywardhub/src/shared/Modules/" + "RefuelingVisualizer/" + "100.png);border:0px;"); + labelFillingValve->setStyleSheet(valveLabelStyleON); + labelReleaseValve->setStyleSheet(valveLabelStyleOFF); + labelVentingValve->setStyleSheet(valveLabelStyleOFF); + } + + if (fillingValve == 1 && releaseValve == 0 && ventingValve == 1) + { + background->setStyleSheet( + "border-image:url(../skywardhub/src/shared/Modules/" + "RefuelingVisualizer/" + "101.png);border:0px;"); + labelFillingValve->setStyleSheet(valveLabelStyleON); + labelReleaseValve->setStyleSheet(valveLabelStyleOFF); + labelVentingValve->setStyleSheet(valveLabelStyleON); + } + + if (fillingValve == 1 && releaseValve == 1 && ventingValve == 0) + { + background->setStyleSheet( + "border-image:url(../skywardhub/src/shared/Modules/" + "RefuelingVisualizer/" + "110.png);border:0px;"); + labelFillingValve->setStyleSheet(valveLabelStyleON); + labelReleaseValve->setStyleSheet(valveLabelStyleON); + labelVentingValve->setStyleSheet(valveLabelStyleOFF); + } + + if (fillingValve == 1 && releaseValve == 1 && ventingValve == 1) + { + background->setStyleSheet( + "border-image:url(../skywardhub/src/shared/Modules/" + "RefuelingVisualizer/" + "111.png);border:0px;"); + labelFillingValve->setStyleSheet(valveLabelStyleON); + labelReleaseValve->setStyleSheet(valveLabelStyleON); + labelVentingValve->setStyleSheet(valveLabelStyleON); + } } void RefuelingVisualizer::onMsgReceived(const Message& msg) { // uint64_t tarsState = msg.getField("tars_state").getUnsignedInteger(); - // uint64_t release = - // msg.getField("release_valve_state").getUnsignedInteger(); uint64_t - // filling = msg.getField("filling_valve_state").getUnsignedInteger(); - // uint64_t venting = - // msg.getField("venting_valve_state").getUnsignedInteger(); - - // QString baseStyle = - // "border-width: 1px; border-style: solid; border-radius: 1px; " - // "border-color: white; background-color: rgb(82, 142, 56)"; + + backgroundValves(msg); + // auto ciao = outerLayout->itemAt(8)->widget(); // topTankPressureLabelIm->setStyleSheet( diff --git a/src/shared/Modules/RefuelingVisualizer/RefuelingVisualizer.h b/src/shared/Modules/RefuelingVisualizer/RefuelingVisualizer.h index 3c991d3c..85721c61 100644 --- a/src/shared/Modules/RefuelingVisualizer/RefuelingVisualizer.h +++ b/src/shared/Modules/RefuelingVisualizer/RefuelingVisualizer.h @@ -46,6 +46,7 @@ private: void onConfigureClicked(); void setFilter(const Filter& filter); void onMsgReceived(const Message& msg); + void backgroundValves(Message msg); QGridLayout* outerLayout; -- GitLab