summaryrefslogtreecommitdiff
path: root/gtk2_ardour/panner_interface.cc
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2012-06-06 11:47:09 +0000
committerCarl Hetherington <carl@carlh.net>2012-06-06 11:47:09 +0000
commit46e448252f74ce35f37a1a41bb3ebe0f0312cd5d (patch)
tree727768ad3569c3e4becb9694e93fbf6f1b909691 /gtk2_ardour/panner_interface.cc
parent31f94b9b048f55b06b7de8fa0b8612b0fa2ea274 (diff)
Provide dialogs to edit pan values numerically, at least for
mono and stereo panners. git-svn-id: svn://localhost/ardour2/branches/3.0@12577 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/panner_interface.cc')
-rw-r--r--gtk2_ardour/panner_interface.cc32
1 files changed, 32 insertions, 0 deletions
diff --git a/gtk2_ardour/panner_interface.cc b/gtk2_ardour/panner_interface.cc
index 53a7535f4d..09155c6b79 100644
--- a/gtk2_ardour/panner_interface.cc
+++ b/gtk2_ardour/panner_interface.cc
@@ -20,6 +20,7 @@
#include <gtkmm.h>
#include "gtkmm2ext/keyboard.h"
#include "panner_interface.h"
+#include "panner_editor.h"
#include "global_signals.h"
#include "i18n.h"
@@ -34,6 +35,7 @@ PannerInterface::PannerInterface (boost::shared_ptr<Panner> p)
, _drag_data_window (0)
, _drag_data_label (0)
, _dragging (false)
+ , _editor (0)
{
set_flags (Gtk::CAN_FOCUS);
@@ -48,6 +50,7 @@ PannerInterface::PannerInterface (boost::shared_ptr<Panner> p)
PannerInterface::~PannerInterface ()
{
delete _drag_data_window;
+ delete _editor;
}
void
@@ -135,3 +138,32 @@ PannerInterface::value_change ()
queue_draw ();
}
+bool
+PannerInterface::on_button_press_event (GdkEventButton* ev)
+{
+ if (Gtkmm2ext::Keyboard::is_edit_event (ev)) {
+ edit ();
+ return true;
+ }
+
+ return false;
+}
+
+bool
+PannerInterface::on_button_release_event (GdkEventButton* ev)
+{
+ if (Gtkmm2ext::Keyboard::is_edit_event (ev)) {
+ /* We edited on the press, so claim the release */
+ return true;
+ }
+
+ return false;
+}
+
+void
+PannerInterface::edit ()
+{
+ delete _editor;
+ _editor = editor ();
+ _editor->show ();
+}