projects
/
ardour.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
a bunch of stuff to make tab/window switching work better, and provide Alt-m to toggl...
[ardour.git]
/
libs
/
gtkmm2ext
/
gtkmm2ext
/
binding_proxy.h
diff --git
a/libs/gtkmm2ext/gtkmm2ext/binding_proxy.h
b/libs/gtkmm2ext/gtkmm2ext/binding_proxy.h
index a26c8ace2a6417e0abf5554a7dde67a2b221a161..7108c46eb2b8af8c66c760b698c09f272511ae65 100644
(file)
--- a/
libs/gtkmm2ext/gtkmm2ext/binding_proxy.h
+++ b/
libs/gtkmm2ext/gtkmm2ext/binding_proxy.h
@@
-22,31
+22,40
@@
#define __binding_proxy__
#include <string>
#define __binding_proxy__
#include <string>
+#include <boost/shared_ptr.hpp>
-#include <gtkmm2ext/popup.h>
+#include "pbd/signals.h"
+
+#include "gtkmm2ext/visibility.h"
+#include "gtkmm2ext/popup.h"
namespace PBD {
class Controllable;
}
namespace PBD {
class Controllable;
}
-class BindingProxy : public sigc::trackable
+class
LIBGTKMM2EXT_API
BindingProxy : public sigc::trackable
{
public:
{
public:
- BindingProxy (PBD::Controllable&);
- virtual ~BindingProxy() {}
-
+ BindingProxy (boost::shared_ptr<PBD::Controllable>);
+ BindingProxy ();
+ virtual ~BindingProxy();
+
void set_bind_button_state (guint button, guint statemask);
void set_bind_button_state (guint button, guint statemask);
- void get_bind_button_state (guint &button, guint &statemask);
+ static bool is_bind_action (GdkEventButton *);
bool button_press_handler (GdkEventButton *);
bool button_press_handler (GdkEventButton *);
+ boost::shared_ptr<PBD::Controllable> get_controllable() const { return controllable; }
+ void set_controllable (boost::shared_ptr<PBD::Controllable>);
+
protected:
protected:
+ Gtkmm2ext::PopUp* prompter;
+ boost::shared_ptr<PBD::Controllable> controllable;
+
+ static guint bind_button;
+ static guint bind_statemask;
- Gtkmm2ext::PopUp prompter;
- PBD::Controllable& controllable;
- guint bind_button;
- guint bind_statemask;
- sigc::connection learning_connection;
+ PBD::ScopedConnection learning_connection;
void learning_finished ();
bool prompter_hiding (GdkEventAny *);
};
void learning_finished ();
bool prompter_hiding (GdkEventAny *);
};