diff options
author | Hans Baier <hansfbaier@googlemail.com> | 2012-10-11 03:22:17 +0000 |
---|---|---|
committer | Hans Baier <hansfbaier@googlemail.com> | 2012-10-11 03:22:17 +0000 |
commit | 97c23848d7d4126dc948caac47476317d6752e4d (patch) | |
tree | 1c5eaa7d4d1041bab6bf9b97d9b4ee552c5e12d8 /gtk2_ardour/canvas-sysex.cc | |
parent | 9707a0e8271a54dd21e49d6ca9ae98378ac4f8a5 (diff) |
implement deleting of sysex events
git-svn-id: svn://localhost/ardour2/branches/3.0@13238 d708f5d6-7413-0410-9779-e7cbd77b26cf
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; } |