Skip to content
Snippets Groups Projects
Commit c4bd538f authored by Davide Rosato's avatar Davide Rosato Committed by Davide Mor
Browse files

[Refueling Visualizer] Add case-specific backgrounds and data labels

parent 9f272b9a
Branches
No related tags found
No related merge requests found
src/shared/Modules/RefuelingVisualizer/000.png

151 KiB

src/shared/Modules/RefuelingVisualizer/001.png

151 KiB

src/shared/Modules/RefuelingVisualizer/010.png

152 KiB

src/shared/Modules/RefuelingVisualizer/011.png

152 KiB

src/shared/Modules/RefuelingVisualizer/100.png

157 KiB

src/shared/Modules/RefuelingVisualizer/101.png

156 KiB

src/shared/Modules/RefuelingVisualizer/110.png

157 KiB

src/shared/Modules/RefuelingVisualizer/111.png

144 KiB | W: | H:

src/shared/Modules/RefuelingVisualizer/111.png

157 KiB | W: | H:

src/shared/Modules/RefuelingVisualizer/111.png
src/shared/Modules/RefuelingVisualizer/111.png
src/shared/Modules/RefuelingVisualizer/111.png
src/shared/Modules/RefuelingVisualizer/111.png
  • 2-up
  • Swipe
  • Onion skin
......@@ -72,6 +72,24 @@ void RefuelingVisualizer::setupUi()
"border-width: 1px; border-style: solid; border-radius: 1px; "
"border-color: white; background-color: rgb(82, 142, 56)";
// DATA LABELS STYLE
// Headers
QString HeaderStyle =
"border-width: 1px; border-style: solid; border-color: rgb(100, 100, "
"100); background-color: rgba(51, 153, 255, 7%);"
"border-bottom-style: double; font: bold; border-bottom-left-radius: "
"0px; border-bottom-right-radius: 0px;";
// Data
QString headerLabelStyle =
"border-width: 1px; border-style: dashed; border-color: rgb(100, 100, "
"100); border-radius: 0px; border-left-style: solid; "
"border-right-style: solid;";
QString lastHeaderLabelStyle =
"border-width: 1px; border-style: solid; border-color: rgb(100, 100, "
"100); border-radius: 0px; border-top-style: dashed; "
"border-bottom-left-radius: 1px; border-bottom-right-radius: 1px;";
QString dataStyle = "border-width: 0px;";
// TARS STATE
QLabel* labelTars = new QLabel;
labelTars->setText(RefuelingVisualizerCommandList::commandLabels[0]);
......@@ -99,25 +117,194 @@ void RefuelingVisualizer::setupUi()
outerLayout->addWidget(labelValve, 5499, (i - 1) * 1666, 70, 1666);
}
// topTankPressureLabelIm = new QLabel;
// topTankPressureLabelIm->setAlignment(Qt::AlignCenter);
// topTankPressureLabelIm->setContentsMargins(4, 4, 4, 4);
// outerLayout->addWidget(topTankPressureLabelIm, 50, 50, 15, 20);
// loadcellTank = new QLabel;
// loadcellTank->setAlignment(Qt::AlignCenter);
// loadcellTank->setContentsMargins(4, 4, 4, 4);
// outerLayout->addWidget(loadcellTank, 50, 77, 15, 20);
// QFrame* line = new QFrame();
// line->setGeometry(QRect(50, 150, 100, 50));
// line->setFrameShape(QFrame::HLine);
// line->setStyleSheet("background-color:rgb(255,255,255)");
// outerLayout->addWidget(line, 50, 150, 1, 50);
setLayout(outerLayout);
// ----------------------------------------------------------------------
// TANK DATA VISUALIZER -------------------------------------------------
// Headers
tankHeaderLabel = new QLabel;
tankHeaderLabel->setText((QString) "TANK");
tankHeaderLabel->setAlignment(Qt::AlignCenter);
tankHeaderLabel->setContentsMargins(4, 4, 4, 4);
tankHeaderLabel->setStyleSheet(HeaderStyle);
outerLayout->addWidget(tankHeaderLabel, 1180, 1400, 50, 2000);
loadcellTankLabel = new QLabel;
loadcellTankLabel->setText((QString) "Loadcell:");
loadcellTankLabel->setAlignment(Qt::AlignLeft);
loadcellTankLabel->setContentsMargins(4, 4, 4, 4);
loadcellTankLabel->setStyleSheet(headerLabelStyle);
outerLayout->addWidget(loadcellTankLabel, 1230, 1400, 40, 2000);
tankTemperatureLabel = new QLabel;
tankTemperatureLabel->setText((QString) "Temperature:");
tankTemperatureLabel->setAlignment(Qt::AlignLeft);
tankTemperatureLabel->setContentsMargins(4, 4, 4, 4);
tankTemperatureLabel->setStyleSheet(headerLabelStyle);
outerLayout->addWidget(tankTemperatureLabel, 1270, 1400, 40, 2000);
topTankPressureLabel = new QLabel;
topTankPressureLabel->setText((QString) "TOP Pressure:");
topTankPressureLabel->setAlignment(Qt::AlignLeft);
topTankPressureLabel->setContentsMargins(4, 4, 4, 4);
topTankPressureLabel->setStyleSheet(headerLabelStyle);
outerLayout->addWidget(topTankPressureLabel, 1310, 1400, 40, 2000);
bottomTankPressureLabel = new QLabel;
bottomTankPressureLabel->setText((QString) "BOTTOM Pressure:");
bottomTankPressureLabel->setAlignment(Qt::AlignLeft);
bottomTankPressureLabel->setContentsMargins(4, 4, 4, 4);
bottomTankPressureLabel->setStyleSheet(headerLabelStyle);
outerLayout->addWidget(bottomTankPressureLabel, 1350, 1400, 40, 2000);
floatingLevelLabel = new QLabel;
floatingLevelLabel->setText((QString) "Floating level:");
floatingLevelLabel->setAlignment(Qt::AlignLeft);
floatingLevelLabel->setContentsMargins(4, 4, 4, 4);
floatingLevelLabel->setStyleSheet(lastHeaderLabelStyle);
outerLayout->addWidget(floatingLevelLabel, 1390, 1400, 40, 2000);
// Data
loadcellTankDataLabel = new QLabel;
loadcellTankDataLabel->setText((QString) "0 KG");
loadcellTankDataLabel->setAlignment(Qt::AlignRight);
loadcellTankDataLabel->setContentsMargins(4, 4, 4, 4);
loadcellTankDataLabel->setStyleSheet(dataStyle);
outerLayout->addWidget(loadcellTankDataLabel, 1233, 2350, 34, 1047);
tankTemperatureDataLabel = new QLabel;
tankTemperatureDataLabel->setText((QString) "0 °C");
tankTemperatureDataLabel->setAlignment(Qt::AlignRight);
tankTemperatureDataLabel->setContentsMargins(4, 4, 4, 4);
tankTemperatureDataLabel->setStyleSheet(dataStyle);
outerLayout->addWidget(tankTemperatureDataLabel, 1273, 2350, 34, 1047);
topTankPressureDataLabel = new QLabel;
topTankPressureDataLabel->setText((QString) "0 bar");
topTankPressureDataLabel->setAlignment(Qt::AlignRight);
topTankPressureDataLabel->setContentsMargins(4, 4, 4, 4);
topTankPressureDataLabel->setStyleSheet(dataStyle);
outerLayout->addWidget(topTankPressureDataLabel, 1313, 2350, 34, 1047);
bottomTankPressureDataLabel = new QLabel;
bottomTankPressureDataLabel->setText((QString) "0 bar");
bottomTankPressureDataLabel->setAlignment(Qt::AlignRight);
bottomTankPressureDataLabel->setContentsMargins(4, 4, 4, 4);
bottomTankPressureDataLabel->setStyleSheet(dataStyle);
outerLayout->addWidget(bottomTankPressureDataLabel, 1353, 2350, 34, 1047);
floatingLevelDataLabel = new QLabel;
floatingLevelDataLabel->setText((QString) "NOT REACHED");
floatingLevelDataLabel->setAlignment(Qt::AlignRight);
floatingLevelDataLabel->setContentsMargins(4, 4, 4, 4);
floatingLevelDataLabel->setStyleSheet(dataStyle);
outerLayout->addWidget(floatingLevelDataLabel, 1393, 2350, 34, 1047);
// ----------------------------------------------------------------------
// VESSEL DATA VISUALIZER -----------------------------------------------
// Headers
vesselHeaderLabel = new QLabel;
vesselHeaderLabel->setText((QString) "VESSEL");
vesselHeaderLabel->setAlignment(Qt::AlignCenter);
vesselHeaderLabel->setContentsMargins(4, 4, 4, 4);
vesselHeaderLabel->setStyleSheet(HeaderStyle);
outerLayout->addWidget(vesselHeaderLabel, 500, 2300, 50, 2000);
loadcellVesselLabel = new QLabel;
loadcellVesselLabel->setText((QString) "Loadcell:");
loadcellVesselLabel->setAlignment(Qt::AlignLeft);
loadcellVesselLabel->setContentsMargins(4, 4, 4, 4);
loadcellVesselLabel->setStyleSheet(headerLabelStyle);
outerLayout->addWidget(loadcellVesselLabel, 550, 2300, 40, 2000);
vesselPressureLabel = new QLabel;
vesselPressureLabel->setText((QString) "Pressure:");
vesselPressureLabel->setAlignment(Qt::AlignLeft);
vesselPressureLabel->setContentsMargins(4, 4, 4, 4);
vesselPressureLabel->setStyleSheet(lastHeaderLabelStyle);
outerLayout->addWidget(vesselPressureLabel, 590, 2300, 40, 2000);
// Data
loadcellVesselDataLabel = new QLabel;
loadcellVesselDataLabel->setText((QString) "0 KG");
loadcellVesselDataLabel->setAlignment(Qt::AlignRight);
loadcellVesselDataLabel->setContentsMargins(4, 4, 4, 4);
loadcellVesselDataLabel->setStyleSheet(dataStyle);
outerLayout->addWidget(loadcellVesselDataLabel, 553, 3240, 34, 1047);
vesselPressureDataLabel = new QLabel;
vesselPressureDataLabel->setText((QString) "0 bar");
vesselPressureDataLabel->setAlignment(Qt::AlignRight);
vesselPressureDataLabel->setContentsMargins(4, 4, 4, 4);
vesselPressureDataLabel->setStyleSheet(dataStyle);
outerLayout->addWidget(vesselPressureDataLabel, 593, 3240, 34, 1047);
// ----------------------------------------------------------------------
// CART DATA VISUALIZER -------------------------------------------------
// Headers
cartHeaderLabel = new QLabel;
cartHeaderLabel->setText((QString) "CART");
cartHeaderLabel->setAlignment(Qt::AlignCenter);
cartHeaderLabel->setContentsMargins(4, 4, 4, 4);
cartHeaderLabel->setStyleSheet(HeaderStyle);
outerLayout->addWidget(cartHeaderLabel, 2500, 2000, 50, 2000);
cartTimestampLabel = new QLabel;
cartTimestampLabel->setText((QString) "Timestamp:");
cartTimestampLabel->setAlignment(Qt::AlignLeft);
cartTimestampLabel->setContentsMargins(4, 4, 4, 4);
cartTimestampLabel->setStyleSheet(headerLabelStyle);
outerLayout->addWidget(cartTimestampLabel, 2550, 2000, 40, 2000);
cartFillingPressureLabel = new QLabel;
cartFillingPressureLabel->setText((QString) "Filling Pressure:");
cartFillingPressureLabel->setAlignment(Qt::AlignLeft);
cartFillingPressureLabel->setContentsMargins(4, 4, 4, 4);
cartFillingPressureLabel->setStyleSheet(headerLabelStyle);
outerLayout->addWidget(cartFillingPressureLabel, 2590, 2000, 40, 2000);
cartBatteryLabel = new QLabel;
cartBatteryLabel->setText((QString) "Battery:");
cartBatteryLabel->setAlignment(Qt::AlignLeft);
cartBatteryLabel->setContentsMargins(4, 4, 4, 4);
cartBatteryLabel->setStyleSheet(headerLabelStyle);
outerLayout->addWidget(cartBatteryLabel, 2630, 2000, 40, 2000);
cartCurrentLabel = new QLabel;
cartCurrentLabel->setText((QString) "Current:");
cartCurrentLabel->setAlignment(Qt::AlignLeft);
cartCurrentLabel->setContentsMargins(4, 4, 4, 4);
cartCurrentLabel->setStyleSheet(lastHeaderLabelStyle);
outerLayout->addWidget(cartCurrentLabel, 2670, 2000, 40, 2000);
// Data
cartTimestampDataLabel = new QLabel;
cartTimestampDataLabel->setText((QString) "0 s");
cartTimestampDataLabel->setAlignment(Qt::AlignRight);
cartTimestampDataLabel->setContentsMargins(4, 4, 4, 4);
cartTimestampDataLabel->setStyleSheet(dataStyle);
outerLayout->addWidget(cartTimestampDataLabel, 2550, 2940, 34, 1047);
cartFillingPressureDataLabel = new QLabel;
cartFillingPressureDataLabel->setText((QString) "0 bar");
cartFillingPressureDataLabel->setAlignment(Qt::AlignRight);
cartFillingPressureDataLabel->setContentsMargins(4, 4, 4, 4);
cartFillingPressureDataLabel->setStyleSheet(dataStyle);
outerLayout->addWidget(cartFillingPressureDataLabel, 2590, 2940, 34, 1047);
cartBatteryDataLabel = new QLabel;
cartBatteryDataLabel->setText((QString) "0 %");
cartBatteryDataLabel->setAlignment(Qt::AlignRight);
cartBatteryDataLabel->setContentsMargins(4, 4, 4, 4);
cartBatteryDataLabel->setStyleSheet(dataStyle);
outerLayout->addWidget(cartBatteryDataLabel, 2630, 2940, 34, 1047);
cartCurrentDataLabel = new QLabel;
cartCurrentDataLabel->setText((QString) "0 V");
cartCurrentDataLabel->setAlignment(Qt::AlignRight);
cartCurrentDataLabel->setContentsMargins(4, 4, 4, 4);
cartCurrentDataLabel->setStyleSheet(dataStyle);
outerLayout->addWidget(cartCurrentDataLabel, 2670, 2940, 34, 1047);
// QPainter* painter = QPainter(outerLayout);
// painter->drawLine(50, 50, 200, 200);
setLayout(outerLayout);
}
void RefuelingVisualizer::addCustomActionsToMenu()
......@@ -147,14 +334,16 @@ void RefuelingVisualizer::setFilter(const Filter& newFilter)
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)";
// 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)";
// auto ciao = outerLayout->itemAt(8)->widget();
// topTankPressureLabelIm->setStyleSheet(
......
......@@ -48,8 +48,37 @@ private:
void onMsgReceived(const Message& msg);
QGridLayout* outerLayout;
// QLabel* topTankPressureLabelIm;
// QLabel* loadcellTank;
// TANK VISUALIZER LABELS
QLabel* tankHeaderLabel;
QLabel* topTankPressureLabel;
QLabel* bottomTankPressureLabel;
QLabel* loadcellTankLabel;
QLabel* floatingLevelLabel;
QLabel* tankTemperatureLabel;
QLabel* topTankPressureDataLabel;
QLabel* bottomTankPressureDataLabel;
QLabel* loadcellTankDataLabel;
QLabel* floatingLevelDataLabel;
QLabel* tankTemperatureDataLabel;
// VESSEL VISUALIZER LABELS
QLabel* vesselHeaderLabel;
QLabel* loadcellVesselLabel;
QLabel* vesselPressureLabel;
QLabel* loadcellVesselDataLabel;
QLabel* vesselPressureDataLabel;
// CART VISUALIZER LABELS
QLabel* cartHeaderLabel;
QLabel* cartTimestampLabel;
QLabel* cartFillingPressureLabel;
QLabel* cartBatteryLabel;
QLabel* cartCurrentLabel;
QLabel* cartTimestampDataLabel;
QLabel* cartFillingPressureDataLabel;
QLabel* cartBatteryDataLabel;
QLabel* cartCurrentDataLabel;
Filter filter;
RefuelingVisualizerCommandList::Valve currentState;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment