summaryrefslogtreecommitdiff
path: root/gtk2_ardour/ardour_knob.h
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-07-11 03:45:13 +0200
committerRobin Gareus <robin@gareus.org>2016-07-11 03:45:13 +0200
commitd43d220f1f32b623e9ee9e49839cf2703306ca1a (patch)
tree0edd1dc01e3fcd225f0c62e7c8f79d7494a1cf4d /gtk2_ardour/ardour_knob.h
parentbcfe7c2daac45df87dba931095c705c7011acb9c (diff)
extend ArdourKnob ToolTips
allow to set/change tooltip-prefix and set a "printer" in preparation for properly using the Knob in Plugin UIs
Diffstat (limited to 'gtk2_ardour/ardour_knob.h')
-rw-r--r--gtk2_ardour/ardour_knob.h14
1 files changed, 9 insertions, 5 deletions
diff --git a/gtk2_ardour/ardour_knob.h b/gtk2_ardour/ardour_knob.h
index d9a9c94209..ede200f4b1 100644
--- a/gtk2_ardour/ardour_knob.h
+++ b/gtk2_ardour/ardour_knob.h
@@ -25,6 +25,8 @@
#include <gtkmm/action.h>
#include "pbd/signals.h"
+#include "ardour/automatable.h"
+
#include "gtkmm2ext/binding_proxy.h"
#include "gtkmm2ext/activatable.h"
#include "gtkmm2ext/cairo_widget.h"
@@ -74,7 +76,7 @@ public:
void add_elements (Element);
static Element default_elements;
- void set_tooltip_prefix (std::string pfx) { _tooltip_prefix = pfx; }
+ void set_tooltip_prefix (std::string pfx) { _tooltip_prefix = pfx; controllable_changed (true); }
boost::shared_ptr<PBD::Controllable> get_controllable() { return binding_proxy.get_controllable(); }
void set_controllable (boost::shared_ptr<PBD::Controllable> c);
@@ -84,6 +86,8 @@ public:
bool on_scroll_event (GdkEventScroll* ev);
bool on_motion_notify_event (GdkEventMotion *ev) ;
+ void set_printer (boost::shared_ptr<ARDOUR::Automatable> p) { _printer = p; controllable_changed (true); }
+
void color_handler ();
protected:
@@ -97,14 +101,14 @@ public:
bool on_focus_in_event (GdkEventFocus*);
bool on_focus_out_event (GdkEventFocus*);
- void controllable_changed ();
+ void controllable_changed (bool force_update = false);
PBD::ScopedConnection watch_connection;
private:
- Element _elements;
-
- BindingProxy binding_proxy;
+ Element _elements;
+ BindingProxy binding_proxy;
+ boost::shared_ptr<ARDOUR::Automatable> _printer;
bool _hovering;
float _grabbed_x;