Support ui::slider::set_value without issuing callback

This commit is contained in:
Nikita Lisitsa 2021-07-20 14:03:28 +03:00
parent 25a52ed407
commit 5f70c61723
2 changed files with 4 additions and 3 deletions

View file

@ -18,7 +18,7 @@ namespace psemek::ui
virtual void set_value_range(geom::interval<int> i); virtual void set_value_range(geom::interval<int> i);
virtual int value() const { return value_; } virtual int value() const { return value_; }
virtual void set_value(int v); virtual void set_value(int v, bool notify = true);
using on_value_changed_callback = std::function<void(int)>; using on_value_changed_callback = std::function<void(int)>;

View file

@ -83,13 +83,14 @@ namespace psemek::ui
set_value(value_); set_value(value_);
} }
void slider::set_value(int v) void slider::set_value(int v, bool notify)
{ {
v = geom::clamp(v, value_range_); v = geom::clamp(v, value_range_);
if (value_ != v) if (value_ != v)
{ {
value_ = v; value_ = v;
post_value_changed(); if (notify)
post_value_changed();
} }
} }