Files
remote-ui/UI/UI_slider.cpp
T
sani7 d03bc91fb3 UI
change slider signal name
2026-02-14 14:30:57 +01:00

77 lines
1.8 KiB
C++

#include "UI_slider.hpp"
UI_slider::UI_slider(std::string text, std::string unit, Color fg_color, Color bg_color, double min, double max,
double value, QObject *parent)
: UI_item(UI_SLIDER_TYPE, text, 12, fg_color, bg_color, parent), m_min(min), m_max(max), m_value(value),
m_unit(unit)
{
}
UI_slider::UI_slider(std::string text, std::string unit, double min, double max, double value, QObject *parent)
: UI_slider(text, unit, Color::Default, Color::Default, min, max, value, parent)
{
}
UI_slider::UI_slider(std::string text, Color fg_color, Color bg_color, double min, double max, double value,
QObject *parent)
: UI_slider(text, "", fg_color, bg_color, min, max, value, parent)
{
}
UI_slider::UI_slider(std::string text, double min, double max, double value, QObject *parent)
: UI_slider(text, "", Color::Default, Color::Default, min, max, value, parent)
{
}
UI_slider::UI_slider(const json &j, QObject *parent) : UI_item(UI_SLIDER_TYPE, parent)
{
from_json(j);
}
void UI_slider::set_value(double value)
{
if (value < m_min || value > m_max)
return;
if (value == m_value)
return;
this->m_value = value;
emit value_changed();
emit changed(m_value);
}
double UI_slider::value() const
{
return m_value;
}
double UI_slider::min() const
{
return m_min;
}
double UI_slider::max() const
{
return m_max;
}
void UI_slider::from_json(const json &j)
{
UI_item::from_json(j);
this->m_min = j.at("min");
this->m_max = j.at("max");
this->m_value = j.at("value");
this->m_unit = j.at("unit");
}
json UI_slider::to_json(size_t id) const
{
json j = UI_item::to_json(id);
j["min"] = this->m_min;
j["max"] = this->m_max;
j["value"] = this->m_value;
j["unit"] = this->m_unit;
return j;
}