knxdisplay/main/widgets/PowerNodeWidget.hpp
2026-01-30 08:51:59 +01:00

27 lines
717 B
C++

#pragma once
#include "Widget.hpp"
class PowerNodeWidget : public Widget {
public:
explicit PowerNodeWidget(const WidgetConfig& config);
lv_obj_t* create(lv_obj_t* parent) override;
void applyStyle() override;
void onKnxValue(float value) override;
void onKnxSwitch(bool value) override;
void onKnxText(const char* text) override;
private:
lv_obj_t* labelLabel_ = nullptr;
lv_obj_t* valueLabel_ = nullptr;
lv_obj_t* iconLabel_ = nullptr;
char labelText_[MAX_TEXT_LEN] = {0};
char valueFormat_[MAX_TEXT_LEN] = {0};
void parseText();
void updateValueText(const char* text);
void layoutChildren();
static int encodeUtf8(uint32_t codepoint, char* buf);
};