diff options
Diffstat (limited to 'gtk2_ardour/canvas-sysex.cc')
-rw-r--r-- | gtk2_ardour/canvas-sysex.cc | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/gtk2_ardour/canvas-sysex.cc b/gtk2_ardour/canvas-sysex.cc index 667b493d5c..f8948d596e 100644 --- a/gtk2_ardour/canvas-sysex.cc +++ b/gtk2_ardour/canvas-sysex.cc @@ -21,6 +21,7 @@ #include "ardour_ui.h" +#include "midi_region_view.h" #include "canvas-sysex.h" using namespace Gnome::Canvas; @@ -32,7 +33,8 @@ CanvasSysEx::CanvasSysEx( string& text, double height, double x, - double y) + double y, + const ARDOUR::MidiModel::SysExPtr sysex) : CanvasFlag( region, parent, @@ -40,7 +42,8 @@ CanvasSysEx::CanvasSysEx( ARDOUR_UI::config()->canvasvar_MidiSysExOutline.get(), ARDOUR_UI::config()->canvasvar_MidiSysExFill.get(), x, - y) + y), + _sysex(sysex) { set_text(text); } @@ -67,6 +70,29 @@ CanvasSysEx::on_event(GdkEvent* ev) } break; + case GDK_KEY_PRESS: + switch (ev->key.keyval) { + + case GDK_Delete: + case GDK_BackSpace: + _region.delete_sysex (this); + break; + default: + break; + } + break; + + case GDK_ENTER_NOTIFY: + grab_focus(); + return true; + break; + + case GDK_LEAVE_NOTIFY: + /* focus will transfer back via the enter-notify + * event sent to the midi region view. + */ + break; + default: break; } |