some more widgets

Signed-off-by: Peter Siegmund <developer@mars3142.org>
This commit is contained in:
2025-06-12 20:15:56 +02:00
parent f875f7832f
commit 5e2456f4b8
14 changed files with 183 additions and 80 deletions

View File

@@ -1,15 +1,36 @@
#include "data/MenuItem.h"
MenuItem::MenuItem(const uint8_t type, std::string text, std::function<void(uint8_t)> callback)
: m_type(type), m_text(std::move(text)), m_callback(std::move(callback))
MenuItem::MenuItem(const uint8_t id, const uint8_t type, std::string text, ButtonCallback callback)
: m_id(id), m_type(type), m_text(std::move(text)), m_callback(std::move(callback))
{
}
MenuItem::MenuItem(const uint8_t type, std::string text, std::string value, std::function<void(uint8_t)> callback)
: m_type(type), m_text(std::move(text)), m_value(std::move(value)), m_callback(std::move(callback))
MenuItem::MenuItem(const uint8_t id, const uint8_t type, std::string text, std::string value,
ButtonCallback callback)
: m_id(id), m_type(type), m_text(std::move(text)), m_value(std::move(value)), m_callback(std::move(callback))
{
}
MenuItem::MenuItem(const uint8_t id, const uint8_t type, std::string text, std::string value,
std::vector<std::string> values,
ButtonCallback callback)
: m_id(id), m_type(type), m_text(std::move(text)), m_value(std::move(value)), m_values(std::move(values)),
m_callback(std::move(callback))
{
}
MenuItem::MenuItem(const uint8_t id, const uint8_t type, std::string text, const bool selected,
ButtonCallback callback)
: m_id(id), m_type(type), m_text(std::move(text)), m_value(selected ? "true" : "false"),
m_callback(std::move(callback))
{
}
uint8_t MenuItem::getId() const
{
return m_id;
}
uint8_t MenuItem::getType() const
{
return m_type;
@@ -30,19 +51,15 @@ void MenuItem::setValue(const std::string &value)
m_value = value;
}
void MenuItem::callback(const uint8_t id) const
void MenuItem::onButtonPressed(const uint8_t id, const ButtonType button) const
{
if (m_callback)
{
m_callback(id);
}
else
{
///
m_callback(id, button);
}
}
bool MenuItem::hasCallback() const
{
return (m_callback != nullptr);
}
}