Restructure DriverView into containers

This commit is contained in:
2023-05-22 06:14:17 +02:00
parent 6893c23a6c
commit b5c457c84a
3 changed files with 452 additions and 409 deletions

View File

@ -4,8 +4,8 @@
#include <gui_generated/driverview_screen/DriverViewViewBase.hpp>
#include <touchgfx/canvas_widget_renderer/CanvasWidgetRenderer.hpp>
#include <touchgfx/Color.hpp>
#include <texts/TextKeysAndLanguages.hpp>
#include <images/BitmapDatabase.hpp>
#include <texts/TextKeysAndLanguages.hpp>
DriverViewViewBase::DriverViewViewBase() :
updateItemCallback(this, &DriverViewViewBase::updateItemCallbackHandler)
@ -16,78 +16,6 @@ DriverViewViewBase::DriverViewViewBase() :
__background.setColor(touchgfx::Color::getColorFromRGB(0, 0, 0));
add(__background);
motorTempLabel.setPosition(315, 187, 150, 25);
motorTempLabel.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
motorTempLabel.setLinespacing(0);
motorTempLabel.setTypedText(touchgfx::TypedText(T___SINGLEUSE_JN2J));
add(motorTempLabel);
motorTempL.setXY(329, 212);
add(motorTempL);
motorTempR.setXY(392, 212);
add(motorTempR);
motorTempDiv.setPosition(389, 212, 3, 60);
motorTempDivPainter.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
motorTempDiv.setPainter(motorTempDivPainter);
motorTempDiv.setStart(0, 0);
motorTempDiv.setEnd(0, 320);
motorTempDiv.setLineWidth(10);
motorTempDiv.setLineEndingStyle(touchgfx::Line::ROUND_CAP_ENDING);
add(motorTempDiv);
invTempDiv.setPosition(389, 122, 3, 60);
invTempDivPainter.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
invTempDiv.setPainter(invTempDivPainter);
invTempDiv.setStart(0, 0);
invTempDiv.setEnd(0, 320);
invTempDiv.setLineWidth(10);
invTempDiv.setLineEndingStyle(touchgfx::Line::ROUND_CAP_ENDING);
add(invTempDiv);
invTempR.setXY(392, 122);
add(invTempR);
invTempL.setXY(329, 122);
add(invTempL);
invTempLabel.setPosition(315, 97, 150, 25);
invTempLabel.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
invTempLabel.setLinespacing(0);
invTempLabel.setTypedText(touchgfx::TypedText(T___SINGLEUSE_ZP7N));
add(invTempLabel);
ttDivVert.setPosition(239, 122, 3, 123);
ttDivVertPainter.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
ttDivVert.setPainter(ttDivVertPainter);
ttDivVert.setStart(0, 0);
ttDivVert.setEnd(0, 320);
ttDivVert.setLineWidth(10);
ttDivVert.setLineEndingStyle(touchgfx::Line::ROUND_CAP_ENDING);
add(ttDivVert);
ttDivHoriz.setPosition(179, 182, 123, 3);
ttDivHorizPainter.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
ttDivHoriz.setPainter(ttDivHorizPainter);
ttDivHoriz.setStart(0, 0);
ttDivHoriz.setEnd(480, 0);
ttDivHoriz.setLineWidth(10);
ttDivHoriz.setLineEndingStyle(touchgfx::Line::ROUND_CAP_ENDING);
add(ttDivHoriz);
tireTempRR.setXY(242, 185);
add(tireTempRR);
tireTempFR.setXY(242, 122);
add(tireTempFR);
tireTempRL.setXY(179, 185);
add(tireTempRL);
tireTempFL.setXY(179, 122);
add(tireTempFL);
tsSoC.setXY(15, 122);
tsSoC.setProgressIndicatorPosition(0, 0, 40, 150);
tsSoC.setRange(0, 100);
@ -114,12 +42,6 @@ DriverViewViewBase::DriverViewViewBase() :
lvSoC.setValue(80);
add(lvSoC);
tireLabel.setPosition(165, 97, 150, 25);
tireLabel.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
tireLabel.setLinespacing(0);
tireLabel.setTypedText(touchgfx::TypedText(T___SINGLEUSE_H6UX));
add(tireLabel);
tsSoCLabel.setPosition(15, 97, 40, 25);
tsSoCLabel.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
tsSoCLabel.setLinespacing(0);
@ -132,16 +54,96 @@ DriverViewViewBase::DriverViewViewBase() :
lvSoCLabel.setTypedText(touchgfx::TypedText(T___SINGLEUSE_4OBM));
add(lvSoCLabel);
field1.setXY(15, 15);
add(field1);
errorPopup.setXY(15, 122);
errorPopup.setVisible(false);
add(errorPopup);
field2.setXY(165, 15);
add(field2);
drivetrainTemps.setPosition(315, 97, 150, 175);
motorTempLabel.setPosition(0, 90, 150, 25);
motorTempLabel.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
motorTempLabel.setLinespacing(0);
motorTempLabel.setTypedText(touchgfx::TypedText(T___SINGLEUSE_JN2J));
drivetrainTemps.add(motorTempLabel);
field3.setXY(315, 15);
add(field3);
motorTempL.setXY(14, 115);
drivetrainTemps.add(motorTempL);
fieldTypeSelection.setPosition(15, 95, 150, 225);
motorTempR.setXY(77, 115);
drivetrainTemps.add(motorTempR);
motorTempDiv.setPosition(74, 115, 3, 60);
motorTempDivPainter.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
motorTempDiv.setPainter(motorTempDivPainter);
motorTempDiv.setStart(0, 0);
motorTempDiv.setEnd(0, 320);
motorTempDiv.setLineWidth(10);
motorTempDiv.setLineEndingStyle(touchgfx::Line::ROUND_CAP_ENDING);
drivetrainTemps.add(motorTempDiv);
invTempDiv.setPosition(74, 25, 3, 60);
invTempDivPainter.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
invTempDiv.setPainter(invTempDivPainter);
invTempDiv.setStart(0, 0);
invTempDiv.setEnd(0, 320);
invTempDiv.setLineWidth(10);
invTempDiv.setLineEndingStyle(touchgfx::Line::ROUND_CAP_ENDING);
drivetrainTemps.add(invTempDiv);
invTempR.setXY(77, 25);
drivetrainTemps.add(invTempR);
invTempL.setXY(14, 25);
drivetrainTemps.add(invTempL);
invTempLabel.setPosition(0, 0, 150, 25);
invTempLabel.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
invTempLabel.setLinespacing(0);
invTempLabel.setTypedText(touchgfx::TypedText(T___SINGLEUSE_ZP7N));
drivetrainTemps.add(invTempLabel);
add(drivetrainTemps);
tireTemps.setPosition(165, 97, 150, 150);
ttDivVert.setPosition(74, 25, 3, 123);
ttDivVertPainter.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
ttDivVert.setPainter(ttDivVertPainter);
ttDivVert.setStart(0, 0);
ttDivVert.setEnd(0, 320);
ttDivVert.setLineWidth(10);
ttDivVert.setLineEndingStyle(touchgfx::Line::ROUND_CAP_ENDING);
tireTemps.add(ttDivVert);
ttDivHoriz.setPosition(14, 85, 123, 3);
ttDivHorizPainter.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
ttDivHoriz.setPainter(ttDivHorizPainter);
ttDivHoriz.setStart(0, 0);
ttDivHoriz.setEnd(480, 0);
ttDivHoriz.setLineWidth(10);
ttDivHoriz.setLineEndingStyle(touchgfx::Line::ROUND_CAP_ENDING);
tireTemps.add(ttDivHoriz);
tireTempRR.setXY(77, 88);
tireTemps.add(tireTempRR);
tireTempFR.setXY(77, 25);
tireTemps.add(tireTempFR);
tireTempRL.setXY(14, 88);
tireTemps.add(tireTempRL);
tireTempFL.setXY(14, 25);
tireTemps.add(tireTempFL);
tireLabel.setPosition(0, 0, 150, 25);
tireLabel.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
tireLabel.setLinespacing(0);
tireLabel.setTypedText(touchgfx::TypedText(T___SINGLEUSE_H6UX));
tireTemps.add(tireLabel);
add(tireTemps);
dataFields.setPosition(15, 15, 450, 305);
fieldTypeSelection.setPosition(0, 80, 150, 225);
fieldTypeSelection.setHorizontal(false);
fieldTypeSelection.setCircular(true);
fieldTypeSelection.setEasingEquation(touchgfx::EasingEquations::linearEaseOut);
@ -153,9 +155,21 @@ DriverViewViewBase::DriverViewViewBase() :
fieldTypeSelection.setDrawables(fieldTypeSelectionListItems, updateItemCallback);
fieldTypeSelection.animateToItem(0, 0);
fieldTypeSelection.setVisible(false);
add(fieldTypeSelection);
dataFields.add(fieldTypeSelection);
progressBar.setXY(15, 280);
field3.setXY(300, 0);
dataFields.add(field3);
field2.setXY(150, 0);
dataFields.add(field2);
field1.setXY(0, 0);
dataFields.add(field1);
add(dataFields);
statusBar.setPosition(15, 275, 450, 37);
progressBar.setXY(0, 5);
progressBar.setProgressIndicatorPosition(0, 0, 480, 55);
progressBar.setRange(0, 100);
progressBar.setDirection(touchgfx::AbstractDirectionProgress::RIGHT);
@ -163,32 +177,30 @@ DriverViewViewBase::DriverViewViewBase() :
progressBar.setColor(touchgfx::Color::getColorFromRGB(99, 186, 0));
progressBar.setValue(0);
progressBar.setVisible(false);
add(progressBar);
statusBar.add(progressBar);
prechargeLabel.setXY(105, 275);
prechargeLabel.setXY(90, 0);
prechargeLabel.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
prechargeLabel.setLinespacing(0);
prechargeLabel.setTypedText(touchgfx::TypedText(T___SINGLEUSE_HMH2));
prechargeLabel.setVisible(false);
add(prechargeLabel);
statusBar.add(prechargeLabel);
r2dLabel.setPosition(82, 275, 317, 37);
r2dLabel.setPosition(67, 0, 317, 37);
r2dLabel.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
r2dLabel.setLinespacing(0);
r2dLabel.setTypedText(touchgfx::TypedText(T___SINGLEUSE_NGUK));
r2dLabel.setVisible(false);
add(r2dLabel);
statusBar.add(r2dLabel);
r2dProgressLabel.setPosition(180, 275, 219, 37);
r2dProgressLabel.setPosition(165, 0, 219, 37);
r2dProgressLabel.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
r2dProgressLabel.setLinespacing(0);
r2dProgressLabel.setTypedText(touchgfx::TypedText(T___SINGLEUSE_J5UH));
r2dProgressLabel.setVisible(false);
add(r2dProgressLabel);
statusBar.add(r2dProgressLabel);
errorPopup.setXY(15, 122);
errorPopup.setVisible(false);
add(errorPopup);
add(statusBar);
}
DriverViewViewBase::~DriverViewViewBase()
@ -198,6 +210,7 @@ DriverViewViewBase::~DriverViewViewBase()
void DriverViewViewBase::setupScreen()
{
errorPopup.initialize();
motorTempL.initialize();
motorTempR.initialize();
invTempR.initialize();
@ -206,15 +219,14 @@ void DriverViewViewBase::setupScreen()
tireTempFR.initialize();
tireTempRL.initialize();
tireTempFL.initialize();
field1.initialize();
field2.initialize();
field3.initialize();
fieldTypeSelection.initialize();
for (int i = 0; i < fieldTypeSelectionListItems.getNumberOfDrawables(); i++)
{
fieldTypeSelectionListItems[i].initialize();
}
errorPopup.initialize();
field3.initialize();
field2.initialize();
field1.initialize();
}
void DriverViewViewBase::handleKeyEvent(uint8_t key)