Restructure DriverView into containers

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

View File

@ -8,17 +8,18 @@
#include <mvp/View.hpp> #include <mvp/View.hpp>
#include <gui/driverview_screen/DriverViewPresenter.hpp> #include <gui/driverview_screen/DriverViewPresenter.hpp>
#include <touchgfx/widgets/Box.hpp> #include <touchgfx/widgets/Box.hpp>
#include <touchgfx/containers/progress_indicators/LineProgress.hpp>
#include <touchgfx/widgets/canvas/PainterRGB565.hpp>
#include <touchgfx/widgets/TextArea.hpp> #include <touchgfx/widgets/TextArea.hpp>
#include <gui/containers/ErrorPopup.hpp>
#include <touchgfx/containers/Container.hpp>
#include <gui/containers/Temperature.hpp> #include <gui/containers/Temperature.hpp>
#include <touchgfx/widgets/canvas/Line.hpp> #include <touchgfx/widgets/canvas/Line.hpp>
#include <touchgfx/widgets/canvas/PainterRGB565.hpp>
#include <touchgfx/containers/progress_indicators/LineProgress.hpp>
#include <gui/containers/DriverViewField.hpp>
#include <touchgfx/containers/scrollers/ScrollWheel.hpp> #include <touchgfx/containers/scrollers/ScrollWheel.hpp>
#include <gui/containers/DriverViewFieldSelection.hpp> #include <gui/containers/DriverViewFieldSelection.hpp>
#include <gui/containers/DriverViewField.hpp>
#include <touchgfx/containers/progress_indicators/BoxProgress.hpp> #include <touchgfx/containers/progress_indicators/BoxProgress.hpp>
#include <touchgfx/widgets/TextAreaWithWildcard.hpp> #include <touchgfx/widgets/TextAreaWithWildcard.hpp>
#include <gui/containers/ErrorPopup.hpp>
class DriverViewViewBase : public touchgfx::View<DriverViewPresenter> class DriverViewViewBase : public touchgfx::View<DriverViewPresenter>
{ {
@ -66,6 +67,14 @@ protected:
* Member Declarations * Member Declarations
*/ */
touchgfx::Box __background; touchgfx::Box __background;
touchgfx::LineProgress tsSoC;
touchgfx::PainterRGB565 tsSoCPainter;
touchgfx::LineProgress lvSoC;
touchgfx::PainterRGB565 lvSoCPainter;
touchgfx::TextArea tsSoCLabel;
touchgfx::TextArea lvSoCLabel;
ErrorPopup errorPopup;
touchgfx::Container drivetrainTemps;
touchgfx::TextArea motorTempLabel; touchgfx::TextArea motorTempLabel;
Temperature motorTempL; Temperature motorTempL;
Temperature motorTempR; Temperature motorTempR;
@ -76,6 +85,7 @@ protected:
Temperature invTempR; Temperature invTempR;
Temperature invTempL; Temperature invTempL;
touchgfx::TextArea invTempLabel; touchgfx::TextArea invTempLabel;
touchgfx::Container tireTemps;
touchgfx::Line ttDivVert; touchgfx::Line ttDivVert;
touchgfx::PainterRGB565 ttDivVertPainter; touchgfx::PainterRGB565 ttDivVertPainter;
touchgfx::Line ttDivHoriz; touchgfx::Line ttDivHoriz;
@ -84,23 +94,18 @@ protected:
Temperature tireTempFR; Temperature tireTempFR;
Temperature tireTempRL; Temperature tireTempRL;
Temperature tireTempFL; Temperature tireTempFL;
touchgfx::LineProgress tsSoC;
touchgfx::PainterRGB565 tsSoCPainter;
touchgfx::LineProgress lvSoC;
touchgfx::PainterRGB565 lvSoCPainter;
touchgfx::TextArea tireLabel; touchgfx::TextArea tireLabel;
touchgfx::TextArea tsSoCLabel; touchgfx::Container dataFields;
touchgfx::TextArea lvSoCLabel;
DriverViewField field1;
DriverViewField field2;
DriverViewField field3;
touchgfx::ScrollWheel fieldTypeSelection; touchgfx::ScrollWheel fieldTypeSelection;
touchgfx::DrawableListItems<DriverViewFieldSelection, 10> fieldTypeSelectionListItems; touchgfx::DrawableListItems<DriverViewFieldSelection, 10> fieldTypeSelectionListItems;
DriverViewField field3;
DriverViewField field2;
DriverViewField field1;
touchgfx::Container statusBar;
touchgfx::BoxProgress progressBar; touchgfx::BoxProgress progressBar;
touchgfx::TextArea prechargeLabel; touchgfx::TextArea prechargeLabel;
touchgfx::TextArea r2dLabel; touchgfx::TextArea r2dLabel;
touchgfx::TextAreaWithOneWildcard r2dProgressLabel; touchgfx::TextAreaWithOneWildcard r2dProgressLabel;
ErrorPopup errorPopup;
private: private:

View File

@ -4,8 +4,8 @@
#include <gui_generated/driverview_screen/DriverViewViewBase.hpp> #include <gui_generated/driverview_screen/DriverViewViewBase.hpp>
#include <touchgfx/canvas_widget_renderer/CanvasWidgetRenderer.hpp> #include <touchgfx/canvas_widget_renderer/CanvasWidgetRenderer.hpp>
#include <touchgfx/Color.hpp> #include <touchgfx/Color.hpp>
#include <texts/TextKeysAndLanguages.hpp>
#include <images/BitmapDatabase.hpp> #include <images/BitmapDatabase.hpp>
#include <texts/TextKeysAndLanguages.hpp>
DriverViewViewBase::DriverViewViewBase() : DriverViewViewBase::DriverViewViewBase() :
updateItemCallback(this, &DriverViewViewBase::updateItemCallbackHandler) updateItemCallback(this, &DriverViewViewBase::updateItemCallbackHandler)
@ -16,78 +16,6 @@ DriverViewViewBase::DriverViewViewBase() :
__background.setColor(touchgfx::Color::getColorFromRGB(0, 0, 0)); __background.setColor(touchgfx::Color::getColorFromRGB(0, 0, 0));
add(__background); 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.setXY(15, 122);
tsSoC.setProgressIndicatorPosition(0, 0, 40, 150); tsSoC.setProgressIndicatorPosition(0, 0, 40, 150);
tsSoC.setRange(0, 100); tsSoC.setRange(0, 100);
@ -114,12 +42,6 @@ DriverViewViewBase::DriverViewViewBase() :
lvSoC.setValue(80); lvSoC.setValue(80);
add(lvSoC); 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.setPosition(15, 97, 40, 25);
tsSoCLabel.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255)); tsSoCLabel.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
tsSoCLabel.setLinespacing(0); tsSoCLabel.setLinespacing(0);
@ -132,16 +54,96 @@ DriverViewViewBase::DriverViewViewBase() :
lvSoCLabel.setTypedText(touchgfx::TypedText(T___SINGLEUSE_4OBM)); lvSoCLabel.setTypedText(touchgfx::TypedText(T___SINGLEUSE_4OBM));
add(lvSoCLabel); add(lvSoCLabel);
field1.setXY(15, 15); errorPopup.setXY(15, 122);
add(field1); errorPopup.setVisible(false);
add(errorPopup);
field2.setXY(165, 15); drivetrainTemps.setPosition(315, 97, 150, 175);
add(field2); 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); motorTempL.setXY(14, 115);
add(field3); 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.setHorizontal(false);
fieldTypeSelection.setCircular(true); fieldTypeSelection.setCircular(true);
fieldTypeSelection.setEasingEquation(touchgfx::EasingEquations::linearEaseOut); fieldTypeSelection.setEasingEquation(touchgfx::EasingEquations::linearEaseOut);
@ -153,9 +155,21 @@ DriverViewViewBase::DriverViewViewBase() :
fieldTypeSelection.setDrawables(fieldTypeSelectionListItems, updateItemCallback); fieldTypeSelection.setDrawables(fieldTypeSelectionListItems, updateItemCallback);
fieldTypeSelection.animateToItem(0, 0); fieldTypeSelection.animateToItem(0, 0);
fieldTypeSelection.setVisible(false); 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.setProgressIndicatorPosition(0, 0, 480, 55);
progressBar.setRange(0, 100); progressBar.setRange(0, 100);
progressBar.setDirection(touchgfx::AbstractDirectionProgress::RIGHT); progressBar.setDirection(touchgfx::AbstractDirectionProgress::RIGHT);
@ -163,32 +177,30 @@ DriverViewViewBase::DriverViewViewBase() :
progressBar.setColor(touchgfx::Color::getColorFromRGB(99, 186, 0)); progressBar.setColor(touchgfx::Color::getColorFromRGB(99, 186, 0));
progressBar.setValue(0); progressBar.setValue(0);
progressBar.setVisible(false); 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.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
prechargeLabel.setLinespacing(0); prechargeLabel.setLinespacing(0);
prechargeLabel.setTypedText(touchgfx::TypedText(T___SINGLEUSE_HMH2)); prechargeLabel.setTypedText(touchgfx::TypedText(T___SINGLEUSE_HMH2));
prechargeLabel.setVisible(false); 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.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
r2dLabel.setLinespacing(0); r2dLabel.setLinespacing(0);
r2dLabel.setTypedText(touchgfx::TypedText(T___SINGLEUSE_NGUK)); r2dLabel.setTypedText(touchgfx::TypedText(T___SINGLEUSE_NGUK));
r2dLabel.setVisible(false); 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.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
r2dProgressLabel.setLinespacing(0); r2dProgressLabel.setLinespacing(0);
r2dProgressLabel.setTypedText(touchgfx::TypedText(T___SINGLEUSE_J5UH)); r2dProgressLabel.setTypedText(touchgfx::TypedText(T___SINGLEUSE_J5UH));
r2dProgressLabel.setVisible(false); r2dProgressLabel.setVisible(false);
add(r2dProgressLabel); statusBar.add(r2dProgressLabel);
errorPopup.setXY(15, 122); add(statusBar);
errorPopup.setVisible(false);
add(errorPopup);
} }
DriverViewViewBase::~DriverViewViewBase() DriverViewViewBase::~DriverViewViewBase()
@ -198,6 +210,7 @@ DriverViewViewBase::~DriverViewViewBase()
void DriverViewViewBase::setupScreen() void DriverViewViewBase::setupScreen()
{ {
errorPopup.initialize();
motorTempL.initialize(); motorTempL.initialize();
motorTempR.initialize(); motorTempR.initialize();
invTempR.initialize(); invTempR.initialize();
@ -206,15 +219,14 @@ void DriverViewViewBase::setupScreen()
tireTempFR.initialize(); tireTempFR.initialize();
tireTempRL.initialize(); tireTempRL.initialize();
tireTempFL.initialize(); tireTempFL.initialize();
field1.initialize();
field2.initialize();
field3.initialize();
fieldTypeSelection.initialize(); fieldTypeSelection.initialize();
for (int i = 0; i < fieldTypeSelectionListItems.getNumberOfDrawables(); i++) for (int i = 0; i < fieldTypeSelectionListItems.getNumberOfDrawables(); i++)
{ {
fieldTypeSelectionListItems[i].initialize(); fieldTypeSelectionListItems[i].initialize();
} }
errorPopup.initialize(); field3.initialize();
field2.initialize();
field1.initialize();
} }
void DriverViewViewBase::handleKeyEvent(uint8_t key) void DriverViewViewBase::handleKeyEvent(uint8_t key)

View File

@ -244,172 +244,6 @@
"Name": "DriverView", "Name": "DriverView",
"CanvasBufferSize": 7200, "CanvasBufferSize": 7200,
"Components": [ "Components": [
{
"Type": "TextArea",
"Name": "motorTempLabel",
"X": 315,
"Y": 187,
"Width": 150,
"Height": 25,
"TextId": "__SingleUse_JN2J",
"TextRotation": "0",
"Color": {
"Red": 255,
"Green": 255,
"Blue": 255
}
},
{
"Type": "CustomContainerInstance",
"Name": "motorTempL",
"X": 329,
"Y": 212,
"Width": 60,
"Height": 60,
"CustomContainerDefinitionName": "Temperature"
},
{
"Type": "CustomContainerInstance",
"Name": "motorTempR",
"X": 392,
"Y": 212,
"Width": 60,
"Height": 60,
"CustomContainerDefinitionName": "Temperature"
},
{
"Type": "Line",
"Name": "motorTempDiv",
"X": 389,
"Y": 212,
"Width": 3,
"Height": 60,
"Color": {
"Red": 255,
"Green": 255,
"Blue": 255
},
"EndY": 320.0,
"LineWidth": 10.0,
"LineEndingStyle": "Round"
},
{
"Type": "Line",
"Name": "invTempDiv",
"X": 389,
"Y": 122,
"Width": 3,
"Height": 60,
"Color": {
"Red": 255,
"Green": 255,
"Blue": 255
},
"EndY": 320.0,
"LineWidth": 10.0,
"LineEndingStyle": "Round"
},
{
"Type": "CustomContainerInstance",
"Name": "invTempR",
"X": 392,
"Y": 122,
"Width": 60,
"Height": 60,
"CustomContainerDefinitionName": "Temperature"
},
{
"Type": "CustomContainerInstance",
"Name": "invTempL",
"X": 329,
"Y": 122,
"Width": 60,
"Height": 60,
"CustomContainerDefinitionName": "Temperature"
},
{
"Type": "TextArea",
"Name": "invTempLabel",
"X": 315,
"Y": 97,
"Width": 150,
"Height": 25,
"TextId": "__SingleUse_ZP7N",
"TextRotation": "0",
"Color": {
"Red": 255,
"Green": 255,
"Blue": 255
}
},
{
"Type": "Line",
"Name": "ttDivVert",
"X": 239,
"Y": 122,
"Width": 3,
"Height": 123,
"Color": {
"Red": 255,
"Green": 255,
"Blue": 255
},
"EndY": 320.0,
"LineWidth": 10.0,
"LineEndingStyle": "Round"
},
{
"Type": "Line",
"Name": "ttDivHoriz",
"X": 179,
"Y": 182,
"Width": 123,
"Height": 3,
"Color": {
"Red": 255,
"Green": 255,
"Blue": 255
},
"EndX": 480.0,
"LineWidth": 10.0,
"LineEndingStyle": "Round"
},
{
"Type": "CustomContainerInstance",
"Name": "tireTempRR",
"X": 242,
"Y": 185,
"Width": 60,
"Height": 60,
"CustomContainerDefinitionName": "Temperature"
},
{
"Type": "CustomContainerInstance",
"Name": "tireTempFR",
"X": 242,
"Y": 122,
"Width": 60,
"Height": 60,
"CustomContainerDefinitionName": "Temperature"
},
{
"Type": "CustomContainerInstance",
"Name": "tireTempRL",
"X": 179,
"Y": 185,
"Width": 60,
"Height": 60,
"CustomContainerDefinitionName": "Temperature"
},
{
"Type": "CustomContainerInstance",
"Name": "tireTempFL",
"X": 179,
"Y": 122,
"Width": 60,
"Height": 60,
"CustomContainerDefinitionName": "Temperature"
},
{ {
"Type": "LineProgress", "Type": "LineProgress",
"Name": "tsSoC", "Name": "tsSoC",
@ -450,21 +284,6 @@
"ProgressRangeMax": 100, "ProgressRangeMax": 100,
"ProgressInitialValue": 80 "ProgressInitialValue": 80
}, },
{
"Type": "TextArea",
"Name": "tireLabel",
"X": 165,
"Y": 97,
"Width": 150,
"Height": 25,
"TextId": "__SingleUse_H6UX",
"TextRotation": "0",
"Color": {
"Red": 255,
"Green": 255,
"Blue": 255
}
},
{ {
"Type": "TextArea", "Type": "TextArea",
"Name": "tsSoCLabel", "Name": "tsSoCLabel",
@ -495,118 +314,6 @@
"Blue": 255 "Blue": 255
} }
}, },
{
"Type": "CustomContainerInstance",
"Name": "field1",
"X": 15,
"Y": 15,
"Width": 150,
"Height": 80,
"CustomContainerDefinitionName": "DriverViewField"
},
{
"Type": "CustomContainerInstance",
"Name": "field2",
"X": 165,
"Y": 15,
"Width": 150,
"Height": 80,
"CustomContainerDefinitionName": "DriverViewField"
},
{
"Type": "CustomContainerInstance",
"Name": "field3",
"X": 315,
"Y": 15,
"Width": 150,
"Height": 80,
"CustomContainerDefinitionName": "DriverViewField"
},
{
"Type": "ScrollWheel",
"Name": "fieldTypeSelection",
"X": 15,
"Y": 95,
"Width": 150,
"Height": 225,
"Visible": false,
"SelectedItemOffset": 94,
"IsCircular": true,
"ItemTemplateName": "DriverViewFieldSelection",
"NumberofItems": 1,
"Easing": "Linear",
"EasingOption": "Out",
"SwipeAcceleration": 1.0,
"DragAcceleration": 1.0
},
{
"Type": "BoxProgress",
"Name": "progressBar",
"X": 15,
"Y": 280,
"Width": 450,
"Height": 29,
"Visible": false,
"Color": {
"Red": 99,
"Green": 186
},
"Direction": "Right",
"FileNameBackground": "precharge_bg.png",
"IndicatorPositionWidth": 480,
"IndicatorPositionHeight": 55,
"ProgressRangeMax": 100
},
{
"Type": "TextArea",
"Name": "prechargeLabel",
"X": 105,
"Y": 275,
"Width": 269,
"Height": 37,
"Visible": false,
"TextId": "__SingleUse_HMH2",
"TextRotation": "0",
"Color": {
"Red": 255,
"Green": 255,
"Blue": 255
},
"AutoSize": true
},
{
"Type": "TextArea",
"Name": "r2dLabel",
"X": 82,
"Y": 275,
"Width": 317,
"Height": 37,
"Visible": false,
"TextId": "__SingleUse_NGUK",
"TextRotation": "0",
"Color": {
"Red": 255,
"Green": 255,
"Blue": 255
}
},
{
"Type": "TextArea",
"Name": "r2dProgressLabel",
"X": 180,
"Y": 275,
"Width": 219,
"Height": 37,
"Visible": false,
"TextId": "__SingleUse_J5UH",
"TextRotation": "0",
"Color": {
"Red": 255,
"Green": 255,
"Blue": 255
},
"Wildcard1": {}
},
{ {
"Type": "CustomContainerInstance", "Type": "CustomContainerInstance",
"Name": "errorPopup", "Name": "errorPopup",
@ -616,6 +323,325 @@
"Height": 150, "Height": 150,
"Visible": false, "Visible": false,
"CustomContainerDefinitionName": "ErrorPopup" "CustomContainerDefinitionName": "ErrorPopup"
},
{
"Type": "Container",
"Name": "drivetrainTemps",
"X": 315,
"Y": 97,
"Width": 150,
"Height": 175,
"Components": [
{
"Type": "TextArea",
"Name": "motorTempLabel",
"Y": 90,
"Width": 150,
"Height": 25,
"TextId": "__SingleUse_JN2J",
"TextRotation": "0",
"Color": {
"Red": 255,
"Green": 255,
"Blue": 255
}
},
{
"Type": "CustomContainerInstance",
"Name": "motorTempL",
"X": 14,
"Y": 115,
"Width": 60,
"Height": 60,
"CustomContainerDefinitionName": "Temperature"
},
{
"Type": "CustomContainerInstance",
"Name": "motorTempR",
"X": 77,
"Y": 115,
"Width": 60,
"Height": 60,
"CustomContainerDefinitionName": "Temperature"
},
{
"Type": "Line",
"Name": "motorTempDiv",
"X": 74,
"Y": 115,
"Width": 3,
"Height": 60,
"Color": {
"Red": 255,
"Green": 255,
"Blue": 255
},
"EndY": 320.0,
"LineWidth": 10.0,
"LineEndingStyle": "Round"
},
{
"Type": "Line",
"Name": "invTempDiv",
"X": 74,
"Y": 25,
"Width": 3,
"Height": 60,
"Color": {
"Red": 255,
"Green": 255,
"Blue": 255
},
"EndY": 320.0,
"LineWidth": 10.0,
"LineEndingStyle": "Round"
},
{
"Type": "CustomContainerInstance",
"Name": "invTempR",
"X": 77,
"Y": 25,
"Width": 60,
"Height": 60,
"CustomContainerDefinitionName": "Temperature"
},
{
"Type": "CustomContainerInstance",
"Name": "invTempL",
"X": 14,
"Y": 25,
"Width": 60,
"Height": 60,
"CustomContainerDefinitionName": "Temperature"
},
{
"Type": "TextArea",
"Name": "invTempLabel",
"Width": 150,
"Height": 25,
"TextId": "__SingleUse_ZP7N",
"TextRotation": "0",
"Color": {
"Red": 255,
"Green": 255,
"Blue": 255
}
}
]
},
{
"Type": "Container",
"Name": "tireTemps",
"X": 165,
"Y": 97,
"Width": 150,
"Height": 150,
"Components": [
{
"Type": "Line",
"Name": "ttDivVert",
"X": 74,
"Y": 25,
"Width": 3,
"Height": 123,
"Color": {
"Red": 255,
"Green": 255,
"Blue": 255
},
"EndY": 320.0,
"LineWidth": 10.0,
"LineEndingStyle": "Round"
},
{
"Type": "Line",
"Name": "ttDivHoriz",
"X": 14,
"Y": 85,
"Width": 123,
"Height": 3,
"Color": {
"Red": 255,
"Green": 255,
"Blue": 255
},
"EndX": 480.0,
"LineWidth": 10.0,
"LineEndingStyle": "Round"
},
{
"Type": "CustomContainerInstance",
"Name": "tireTempRR",
"X": 77,
"Y": 88,
"Width": 60,
"Height": 60,
"CustomContainerDefinitionName": "Temperature"
},
{
"Type": "CustomContainerInstance",
"Name": "tireTempFR",
"X": 77,
"Y": 25,
"Width": 60,
"Height": 60,
"CustomContainerDefinitionName": "Temperature"
},
{
"Type": "CustomContainerInstance",
"Name": "tireTempRL",
"X": 14,
"Y": 88,
"Width": 60,
"Height": 60,
"CustomContainerDefinitionName": "Temperature"
},
{
"Type": "CustomContainerInstance",
"Name": "tireTempFL",
"X": 14,
"Y": 25,
"Width": 60,
"Height": 60,
"CustomContainerDefinitionName": "Temperature"
},
{
"Type": "TextArea",
"Name": "tireLabel",
"Width": 150,
"Height": 25,
"TextId": "__SingleUse_H6UX",
"TextRotation": "0",
"Color": {
"Red": 255,
"Green": 255,
"Blue": 255
}
}
]
},
{
"Type": "Container",
"Name": "dataFields",
"X": 15,
"Y": 15,
"Width": 450,
"Height": 305,
"Components": [
{
"Type": "ScrollWheel",
"Name": "fieldTypeSelection",
"Y": 80,
"Width": 150,
"Height": 225,
"Visible": false,
"SelectedItemOffset": 94,
"IsCircular": true,
"ItemTemplateName": "DriverViewFieldSelection",
"NumberofItems": 1,
"Easing": "Linear",
"EasingOption": "Out",
"SwipeAcceleration": 1.0,
"DragAcceleration": 1.0
},
{
"Type": "CustomContainerInstance",
"Name": "field3",
"X": 300,
"Width": 150,
"Height": 80,
"CustomContainerDefinitionName": "DriverViewField"
},
{
"Type": "CustomContainerInstance",
"Name": "field2",
"X": 150,
"Width": 150,
"Height": 80,
"CustomContainerDefinitionName": "DriverViewField"
},
{
"Type": "CustomContainerInstance",
"Name": "field1",
"Width": 150,
"Height": 80,
"CustomContainerDefinitionName": "DriverViewField"
}
]
},
{
"Type": "Container",
"Name": "statusBar",
"X": 15,
"Y": 275,
"Width": 450,
"Height": 37,
"Components": [
{
"Type": "BoxProgress",
"Name": "progressBar",
"Y": 5,
"Width": 450,
"Height": 29,
"Visible": false,
"Color": {
"Red": 99,
"Green": 186
},
"Direction": "Right",
"FileNameBackground": "precharge_bg.png",
"IndicatorPositionWidth": 480,
"IndicatorPositionHeight": 55,
"ProgressRangeMax": 100
},
{
"Type": "TextArea",
"Name": "prechargeLabel",
"X": 90,
"Width": 269,
"Height": 37,
"Visible": false,
"TextId": "__SingleUse_HMH2",
"TextRotation": "0",
"Color": {
"Red": 255,
"Green": 255,
"Blue": 255
},
"AutoSize": true
},
{
"Type": "TextArea",
"Name": "r2dLabel",
"X": 67,
"Width": 317,
"Height": 37,
"Visible": false,
"TextId": "__SingleUse_NGUK",
"TextRotation": "0",
"Color": {
"Red": 255,
"Green": 255,
"Blue": 255
}
},
{
"Type": "TextArea",
"Name": "r2dProgressLabel",
"X": 165,
"Width": 219,
"Height": 37,
"Visible": false,
"TextId": "__SingleUse_J5UH",
"TextRotation": "0",
"Color": {
"Red": 255,
"Green": 255,
"Blue": 255
},
"Wildcard1": {}
}
]
} }
], ],
"Interactions": [ "Interactions": [