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;
|
bool on_event(mouse_wheel const & e) override;
|
||||||
|
|
||||||
virtual geom::interval<int> value_range() const { return value_range_; }
|
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 int value() const { return value_; }
|
||||||
virtual void set_value(int v, bool notify = true);
|
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)>;
|
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:
|
protected:
|
||||||
enum class state_t
|
enum class state_t
|
||||||
|
|
|
||||||
|
|
@ -80,11 +80,11 @@ namespace psemek::ui
|
||||||
return false;
|
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");
|
if (i.empty()) throw std::runtime_error("Empty value range for ui::slider");
|
||||||
value_range_ = i;
|
value_range_ = i;
|
||||||
set_value(value_);
|
set_value(value_, notify);
|
||||||
}
|
}
|
||||||
|
|
||||||
void slider::set_value(int v, bool notify)
|
void slider::set_value(int v, bool notify)
|
||||||
|
|
@ -101,9 +101,10 @@ 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);
|
callback_ = std::move(callback);
|
||||||
|
if (notify)
|
||||||
post_value_changed();
|
post_value_changed();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue