Add non-notifying versions of slider methods
This commit is contained in:
parent
22b3f1d67f
commit
343894d06b
2 changed files with 7 additions and 6 deletions
|
|
@ -15,7 +15,7 @@ namespace psemek::ui
|
|||
bool on_event(mouse_wheel const & e) override;
|
||||
|
||||
virtual geom::interval<int> value_range() const { return value_range_; }
|
||||
virtual void set_value_range(geom::interval<int> i);
|
||||
virtual void set_value_range(geom::interval<int> i, bool notify = true);
|
||||
|
||||
virtual int value() const { return value_; }
|
||||
virtual void set_value(int v, bool notify = true);
|
||||
|
|
@ -25,7 +25,7 @@ namespace psemek::ui
|
|||
|
||||
using on_value_changed_callback = std::function<void(int)>;
|
||||
|
||||
void on_value_changed(on_value_changed_callback callback);
|
||||
void on_value_changed(on_value_changed_callback callback, bool notify = true);
|
||||
|
||||
protected:
|
||||
enum class state_t
|
||||
|
|
|
|||
|
|
@ -80,11 +80,11 @@ namespace psemek::ui
|
|||
return false;
|
||||
}
|
||||
|
||||
void slider::set_value_range(geom::interval<int> i)
|
||||
void slider::set_value_range(geom::interval<int> i, bool notify)
|
||||
{
|
||||
if (i.empty()) throw std::runtime_error("Empty value range for ui::slider");
|
||||
value_range_ = i;
|
||||
set_value(value_);
|
||||
set_value(value_, notify);
|
||||
}
|
||||
|
||||
void slider::set_value(int v, bool notify)
|
||||
|
|
@ -101,10 +101,11 @@ namespace psemek::ui
|
|||
}
|
||||
}
|
||||
|
||||
void slider::on_value_changed(on_value_changed_callback callback)
|
||||
void slider::on_value_changed(on_value_changed_callback callback, bool notify)
|
||||
{
|
||||
callback_ = std::move(callback);
|
||||
post_value_changed();
|
||||
if (notify)
|
||||
post_value_changed();
|
||||
}
|
||||
|
||||
geom::interval<float> slider::slider_range() const
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue