13
0

Add control-focus notifications from bindable widgets.

This commit is contained in:
Robin Gareus 2017-07-02 18:18:22 +02:00
parent 6f986173f3
commit c4fcb12d12
2 changed files with 21 additions and 0 deletions

View File

@ -54,6 +54,8 @@ class LIBGTKMM2EXT_API SliderController : public Gtkmm2ext::PixFader
protected:
bool on_button_press_event (GdkEventButton *ev);
bool on_enter_notify_event (GdkEventCrossing* ev);
bool on_leave_notify_event (GdkEventCrossing* ev);
void ctrl_adjusted();
void spin_adjusted();

View File

@ -65,6 +65,25 @@ SliderController::on_button_press_event (GdkEventButton *ev)
return PixFader::on_button_press_event (ev);
}
bool
SliderController::on_enter_notify_event (GdkEventCrossing* ev)
{
boost::shared_ptr<PBD::Controllable> c (_binding_proxy.get_controllable ());
if (c) {
PBD::Controllable::GUIFocusChanged (boost::weak_ptr<PBD::Controllable> (c));
}
return PixFader::on_enter_notify_event (ev);
}
bool
SliderController::on_leave_notify_event (GdkEventCrossing* ev)
{
if (_binding_proxy.get_controllable()) {
PBD::Controllable::GUIFocusChanged (boost::weak_ptr<PBD::Controllable> ());
}
return PixFader::on_leave_notify_event (ev);
}
void
SliderController::ctrl_adjusted ()
{