X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fgtkmm2ext%2Fgtkmm2ext%2Fbinding_proxy.h;h=b541582f6f669fb82a80ce7eb49ca245c7981463;hb=5e5c71614664d02e1160454f080505fbcc2078aa;hp=a26c8ace2a6417e0abf5554a7dde67a2b221a161;hpb=26843b34fdd62e6f80630868c5eb3f8fee0c17f1;p=ardour.git diff --git a/libs/gtkmm2ext/gtkmm2ext/binding_proxy.h b/libs/gtkmm2ext/gtkmm2ext/binding_proxy.h index a26c8ace2a..b541582f6f 100644 --- a/libs/gtkmm2ext/gtkmm2ext/binding_proxy.h +++ b/libs/gtkmm2ext/gtkmm2ext/binding_proxy.h @@ -22,8 +22,9 @@ #define __binding_proxy__ #include - #include +#include +#include "pbd/signals.h" namespace PBD { class Controllable; @@ -32,21 +33,24 @@ namespace PBD { class BindingProxy : public sigc::trackable { public: - BindingProxy (PBD::Controllable&); - virtual ~BindingProxy() {} + BindingProxy (boost::shared_ptr); + BindingProxy (); + virtual ~BindingProxy(); void set_bind_button_state (guint button, guint statemask); void get_bind_button_state (guint &button, guint &statemask); bool button_press_handler (GdkEventButton *); - protected: + boost::shared_ptr get_controllable() const { return controllable; } + void set_controllable (boost::shared_ptr); - Gtkmm2ext::PopUp prompter; - PBD::Controllable& controllable; + protected: + Gtkmm2ext::PopUp* prompter; + boost::shared_ptr controllable; guint bind_button; guint bind_statemask; - sigc::connection learning_connection; + PBD::ScopedConnection learning_connection; void learning_finished (); bool prompter_hiding (GdkEventAny *); };