Allow changing displayed fields in DriverView
This commit is contained in:
@ -19,6 +19,8 @@ public:
|
||||
void setValue(const char *str);
|
||||
void setValue(int boolValue);
|
||||
|
||||
void setSelected(int selected);
|
||||
|
||||
protected:
|
||||
private:
|
||||
Unicode::UnicodeChar valueBuffer[16];
|
||||
|
||||
@ -0,0 +1,20 @@
|
||||
#ifndef DRIVERVIEWFIELDSELECTION_HPP
|
||||
#define DRIVERVIEWFIELDSELECTION_HPP
|
||||
|
||||
#include "touchgfx/TypedText.hpp"
|
||||
#include <gui_generated/containers/DriverViewFieldSelectionBase.hpp>
|
||||
|
||||
class DriverViewFieldSelection : public DriverViewFieldSelectionBase {
|
||||
public:
|
||||
DriverViewFieldSelection();
|
||||
virtual ~DriverViewFieldSelection() {}
|
||||
|
||||
virtual void initialize();
|
||||
|
||||
void setName(const touchgfx::TypedText &name);
|
||||
void setSelected(int selected);
|
||||
|
||||
protected:
|
||||
};
|
||||
|
||||
#endif // DRIVERVIEWFIELDSELECTION_HPP
|
||||
@ -2,6 +2,8 @@
|
||||
#define DRIVERVIEWVIEW_HPP
|
||||
|
||||
#include "gui/common/DataField.hpp"
|
||||
#include "gui/containers/DriverViewFieldSelection.hpp"
|
||||
#include "touchgfx/containers/scrollers/DrawableList.hpp"
|
||||
#include "vehicle.h"
|
||||
#include <gui/driverview_screen/DriverViewPresenter.hpp>
|
||||
#include <gui_generated/driverview_screen/DriverViewViewBase.hpp>
|
||||
@ -13,6 +15,9 @@ public:
|
||||
virtual void setupScreen();
|
||||
virtual void tearDownScreen();
|
||||
|
||||
void fieldTypeSelectionUpdateItem(DriverViewFieldSelection &item,
|
||||
int16_t itemIndex) override;
|
||||
|
||||
void setFieldType(size_t i, const DataFieldDescription &desc);
|
||||
void setFieldValue(size_t i, float value);
|
||||
void setFieldValue(size_t i, const char *value);
|
||||
@ -21,9 +26,25 @@ public:
|
||||
void setTireTemps(const TireTemps &temps);
|
||||
void setTSSoC(uint8_t soc);
|
||||
|
||||
void selectPrevField() override;
|
||||
void selectNextField() override;
|
||||
void selectPrevFieldType() override;
|
||||
void selectNextFieldType() override;
|
||||
void confirmFieldType() override;
|
||||
|
||||
static constexpr size_t NUM_FIELDS = 3;
|
||||
|
||||
protected:
|
||||
private:
|
||||
DriverViewField &getField(size_t i);
|
||||
DriverViewFieldSelection *getFieldType(size_t i);
|
||||
|
||||
void updateSelectedField(size_t select);
|
||||
void updateSelectedFieldType(size_t select);
|
||||
|
||||
size_t selectedField;
|
||||
size_t selectedFieldType;
|
||||
DataFieldType fieldTypes[NUM_FIELDS];
|
||||
};
|
||||
|
||||
#endif // DRIVERVIEWVIEW_HPP
|
||||
|
||||
Reference in New Issue
Block a user