summaryrefslogtreecommitdiff
path: root/gtk2_ardour/canvas-sysex.cc
diff options
context:
space:
mode:
authorHans Baier <hansfbaier@googlemail.com>2012-10-11 03:22:17 +0000
committerHans Baier <hansfbaier@googlemail.com>2012-10-11 03:22:17 +0000
commit97c23848d7d4126dc948caac47476317d6752e4d (patch)
tree1c5eaa7d4d1041bab6bf9b97d9b4ee552c5e12d8 /gtk2_ardour/canvas-sysex.cc
parent9707a0e8271a54dd21e49d6ca9ae98378ac4f8a5 (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.cc30
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;
}